kandown 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/tui.js +9 -1
- package/dist/favicon-16x16.png +0 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/favicon-48x48.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/favicon.svg +24 -10
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/templates/kandown.json +2 -1
package/dist/index.html
CHANGED
|
@@ -82,7 +82,7 @@ Error generating stack: `+y.message+`
|
|
|
82
82
|
${S}px !important;
|
|
83
83
|
${E}px !important;
|
|
84
84
|
}
|
|
85
|
-
`),()=>{o.current?.removeAttribute("data-motion-pop-id"),L.contains(P)&&L.removeChild(P)}},[t]),_.jsx(Kie,{isPresent:t,childRef:o,sizeRef:c,pop:r,children:r===!1?e:$.cloneElement(e,{ref:m})})}const Xie=({children:e,initial:t,isPresent:n,onExitComplete:a,custom:i,presenceAffectsLayout:r,mode:s,anchorX:o,anchorY:c,root:p})=>{const d=_h(Qie),m=$.useId();let f=!0,h=$.useMemo(()=>(f=!1,{id:m,initial:t,isPresent:n,custom:i,onExitComplete:b=>{d.set(b,!0);for(const k of d.values())if(!k)return;a&&a()},register:b=>(d.set(b,!1),()=>d.delete(b))}),[n,d,a]);return r&&f&&(h={...h}),$.useMemo(()=>{d.forEach((b,k)=>d.set(k,!1))},[n]),$.useEffect(()=>{!n&&!d.size&&a&&a()},[n]),e=_.jsx(Yie,{pop:s==="popLayout",isPresent:n,anchorX:o,anchorY:c,root:p,children:e}),_.jsx(B1.Provider,{value:h,children:e})};function Qie(){return new Map}function HF(e=!0){const t=$.useContext(B1);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:a,register:i}=t,r=$.useId();$.useEffect(()=>{if(e)return i(r)},[e]);const s=$.useCallback(()=>e&&a&&a(r),[r,a,e]);return!n&&a?[!1,s]:[!0]}const xv=e=>e.key||"";function M9(e){const t=[];return $.Children.forEach(e,n=>{$.isValidElement(n)&&t.push(n)}),t}const ps=({children:e,custom:t,initial:n=!0,onExitComplete:a,presenceAffectsLayout:i=!0,mode:r="sync",propagate:s=!1,anchorX:o="left",anchorY:c="top",root:p})=>{const[d,m]=HF(s),f=$.useMemo(()=>M9(e),[e]),h=s&&!d?[]:f.map(xv),b=$.useRef(!0),k=$.useRef(f),w=_h(()=>new Map),x=$.useRef(new Set),[S,E]=$.useState(f),[P,L]=$.useState(f);g4(()=>{b.current=!1,k.current=f;for(let z=0;z<P.length;z++){const R=xv(P[z]);h.includes(R)?(w.delete(R),x.current.delete(R)):w.get(R)!==!0&&w.set(R,!1)}},[P,h.length,h.join("-")]);const j=[];if(f!==S){let z=[...f];for(let R=0;R<P.length;R++){const M=P[R],K=xv(M);h.includes(K)||(z.splice(R,0,M),j.push(M))}return r==="wait"&&j.length&&(z=j),L(M9(z)),E(f),null}const{forceRender:F}=$.useContext(f4);return _.jsx(_.Fragment,{children:P.map(z=>{const R=xv(z),M=s&&!d?!1:f===P||h.includes(R),K=()=>{if(x.current.has(R))return;if(w.has(R))x.current.add(R),w.set(R,!0);else return;let J=!0;w.forEach(W=>{W||(J=!1)}),J&&(F?.(),L(k.current),s&&m?.(),a&&a())};return _.jsx(Xie,{isPresent:M,initial:!b.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:r,root:p,onExitComplete:M?void 0:K,anchorX:o,anchorY:c,children:z},R)})})},BF=$.createContext({strict:!1}),j9={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let D9=!1;function Jie(){if(D9)return;const e={};for(const t in j9)e[t]={isEnabled:n=>j9[t].some(a=>!!n[a])};bF(e),D9=!0}function qF(){return Jie(),Rae()}function ere(e){const t=qF();for(const n in e)t[n]={...t[n],...e[n]};bF(t)}const tre=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function m_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||tre.has(e)}let UF=e=>!m_(e);function nre(e){typeof e=="function"&&(UF=t=>t.startsWith("on")?!m_(t):e(t))}try{nre(require("@emotion/is-prop-valid").default)}catch{}function are(e,t,n){const a={};for(const i in e)i==="values"&&typeof e.values=="object"||aa(e[i])||(UF(i)||n===!0&&m_(i)||!t&&!m_(i)||e.draggable&&i.startsWith("onDrag"))&&(a[i]=e[i]);return a}const Z1=$.createContext({});function ire(e,t){if(V1(e)){const{initial:n,animate:a}=e;return{initial:n===!1||Tg(n)?n:void 0,animate:Tg(a)?a:void 0}}return e.inherit!==!1?t:{}}function rre(e){const{initial:t,animate:n}=ire(e,$.useContext(Z1));return $.useMemo(()=>({initial:t,animate:n}),[I9(t),I9(n)])}function I9(e){return Array.isArray(e)?e.join(" "):e}const z4=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function VF(e,t,n){for(const a in t)!aa(t[a])&&!AF(a,n)&&(e[a]=t[a])}function sre({transformTemplate:e},t){return $.useMemo(()=>{const n=z4();return O4(n,t,e),Object.assign({},n.vars,n.style)},[t])}function ore(e,t){const n=e.style||{},a={};return VF(a,n,e),Object.assign(a,sre(e,t)),a}function cre(e,t){const n={},a=ore(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,a.userSelect=a.WebkitUserSelect=a.WebkitTouchCallout="none",a.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=a,n}const ZF=()=>({...z4(),attrs:{}});function pre(e,t,n,a){const i=$.useMemo(()=>{const r=ZF();return CF(r,t,SF(a),e.transformTemplate,e.style),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};VF(r,e.style,e),i.style={...r,...i.style}}return i}const lre=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function H4(e){return typeof e!="string"||e.includes("-")?!1:!!(lre.indexOf(e)>-1||/[A-Z]/u.test(e))}function dre(e,t,n,{latestValues:a},i,r=!1,s){const c=(s??H4(e)?pre:cre)(t,a,i,e),p=are(t,typeof e=="string",r),d=e!==$.Fragment?{...p,...c,ref:n}:{},{children:m}=t,f=$.useMemo(()=>aa(m)?m.get():m,[m]);return $.createElement(e,{...d,children:f})}function ure({scrapeMotionValuesFromProps:e,createRenderState:t},n,a,i){return{latestValues:mre(n,a,i,e),renderState:t()}}function mre(e,t,n,a){const i={},r=a(e,{});for(const f in r)i[f]=Ny(r[f]);let{initial:s,animate:o}=e;const c=V1(e),p=gF(e);t&&p&&!c&&e.inherit!==!1&&(s===void 0&&(s=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const m=d?o:s;if(m&&typeof m!="boolean"&&!U1(m)){const f=Array.isArray(m)?m:[m];for(let h=0;h<f.length;h++){const b=P4(e,f[h]);if(b){const{transitionEnd:k,transition:w,...x}=b;for(const S in x){let E=x[S];if(Array.isArray(E)){const P=d?E.length-1:0;E=E[P]}E!==null&&(i[S]=E)}for(const S in k)i[S]=k[S]}}}return i}const GF=e=>(t,n)=>{const a=$.useContext(Z1),i=$.useContext(B1),r=()=>ure(e,t,a,i);return n?r():_h(r)},fre=GF({scrapeMotionValuesFromProps:F4,createRenderState:z4}),gre=GF({scrapeMotionValuesFromProps:$F,createRenderState:ZF}),hre=Symbol.for("motionComponentSymbol");function bre(e,t,n){const a=$.useRef(n);$.useInsertionEffect(()=>{a.current=n});const i=$.useRef(null);return $.useCallback(r=>{r&&e.onMount?.(r);const s=a.current;if(typeof s=="function")if(r){const o=s(r);typeof o=="function"&&(i.current=o)}else i.current?(i.current(),i.current=null):s(r);else s&&(s.current=r);t&&(r?t.mount(r):t.unmount())},[t])}const WF=$.createContext({});function Jd(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function vre(e,t,n,a,i,r){const{visualElement:s}=$.useContext(Z1),o=$.useContext(BF),c=$.useContext(B1),p=$.useContext(Ah),d=p.reducedMotion,m=p.skipAnimations,f=$.useRef(null),h=$.useRef(!1);a=a||o.renderer,!f.current&&a&&(f.current=a(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:d,skipAnimations:m,isSVG:r}),h.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));const b=f.current,k=$.useContext(WF);b&&!b.projection&&i&&(b.type==="html"||b.type==="svg")&&yre(f.current,n,i,k);const w=$.useRef(!1);$.useInsertionEffect(()=>{b&&w.current&&b.update(n,c)});const x=n[nF],S=$.useRef(!!x&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(x)&&window.MotionHasOptimisedAnimation?.(x));return g4(()=>{h.current=!0,b&&(w.current=!0,window.MotionIsMounted=!0,b.updateFeatures(),b.scheduleRenderMicrotask(),S.current&&b.animationState&&b.animationState.animateChanges())}),$.useEffect(()=>{b&&(!S.current&&b.animationState&&b.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(x)}),S.current=!1),b.enteringChildren=void 0)}),b}function yre(e,t,n,a){const{layoutId:i,layout:r,drag:s,dragConstraints:o,layoutScroll:c,layoutRoot:p,layoutAnchor:d,layoutCrossfade:m}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:KF(e.parent)),e.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!s||o&&Jd(o),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:a,crossfade:m,layoutScroll:c,layoutRoot:p,layoutAnchor:d})}function KF(e){if(e)return e.options.allowProjection!==!1?e.projection:KF(e.parent)}function u2(e,{forwardMotionProps:t=!1,type:n}={},a,i){a&&ere(a);const r=n?n==="svg":H4(e),s=r?gre:fre;function o(p,d){let m;const f={...$.useContext(Ah),...p,layoutId:_re(p)},{isStatic:h}=f,b=rre(p),k=s(p,h);if(!h&&typeof window<"u"){kre();const w=wre(f);m=w.MeasureLayout,b.visualElement=vre(e,k,f,i,w.ProjectionNode,r)}return _.jsxs(Z1.Provider,{value:b,children:[m&&b.visualElement?_.jsx(m,{visualElement:b.visualElement,...f}):null,dre(e,p,bre(k,b.visualElement,d),k,h,t,r)]})}o.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const c=$.forwardRef(o);return c[hre]=e,c}function _re({layoutId:e}){const t=$.useContext(f4).id;return t&&e!==void 0?t+"-"+e:e}function kre(e,t){$.useContext(BF).strict}function wre(e){const t=qF(),{drag:n,layout:a}=t;if(!n&&!a)return{};const i={...n,...a};return{MeasureLayout:n?.isEnabled(e)||a?.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function xre(e,t){if(typeof Proxy>"u")return u2;const n=new Map,a=(r,s)=>u2(r,s,e,t),i=(r,s)=>a(r,s);return new Proxy(i,{get:(r,s)=>s==="create"?a:(n.has(s)||n.set(s,u2(s,void 0,e,t)),n.get(s))})}const Are=(e,t)=>t.isSVG??H4(e)?new eie(t):new Wae(t,{allowProjection:e!==$.Fragment});class Cre extends fp{constructor(t){super(t),t.animationState||(t.animationState=rie(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();U1(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Nre=0;class Sre extends fp{constructor(){super(...arguments),this.id=Nre++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===a)return;if(t&&a===!1){if(this.isExitComplete){const{initial:r,custom:s}=this.node.getProps();if(typeof r=="string"){const o=gl(this.node,r,s);if(o){const{transition:c,transitionEnd:p,...d}=o;for(const m in d)this.node.getValue(m)?.jump(d[m])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>{this.isExitComplete=!0,n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const $re={animation:{Feature:Cre},exit:{Feature:Sre}};function Ch(e){return{point:{x:e.pageX,y:e.pageY}}}const Ere=e=>t=>j4(t)&&e(t,Ch(t));function rg(e,t,n,a){return Lg(e,t,Ere(n),a)}const YF=({current:e})=>e?e.ownerDocument.defaultView:null,R9=(e,t)=>Math.abs(e-t);function Pre(e,t){const n=R9(e.x,t.x),a=R9(e.y,t.y);return Math.sqrt(n**2+a**2)}const O9=new Set(["auto","scroll"]);class XF{constructor(t,n,{transformPagePoint:a,contextWindow:i=window,dragSnapToOrigin:r=!1,distanceThreshold:s=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=h=>{this.handleScroll(h.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Av(this.lastRawMoveEventInfo,this.transformPagePoint));const h=m2(this.lastMoveEventInfo,this.history),b=this.startEvent!==null,k=Pre(h.offset,{x:0,y:0})>=this.distanceThreshold;if(!b&&!k)return;const{point:w}=h,{timestamp:x}=Na;this.history.push({...w,timestamp:x});const{onStart:S,onMove:E}=this.handlers;b||(S&&S(this.lastMoveEvent,h),this.startEvent=this.lastMoveEvent),E&&E(this.lastMoveEvent,h)},this.handlePointerMove=(h,b)=>{this.lastMoveEvent=h,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=Av(b,this.transformPagePoint),qt.update(this.updatePoint,!0)},this.handlePointerUp=(h,b)=>{this.end();const{onEnd:k,onSessionEnd:w,resumeAnimation:x}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&x&&x(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const S=m2(h.type==="pointercancel"?this.lastMoveEventInfo:Av(b,this.transformPagePoint),this.history);this.startEvent&&k&&k(h,S),w&&w(h,S)},!j4(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=a,this.distanceThreshold=s,this.contextWindow=i||window;const c=Ch(t),p=Av(c,this.transformPagePoint),{point:d}=p,{timestamp:m}=Na;this.history=[{...d,timestamp:m}];const{onSessionStart:f}=n;f&&f(t,m2(p,this.history)),this.removeListeners=kh(rg(this.contextWindow,"pointermove",this.handlePointerMove),rg(this.contextWindow,"pointerup",this.handlePointerUp),rg(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(t){let n=t.parentElement;for(;n;){const a=getComputedStyle(n);(O9.has(a.overflowX)||O9.has(a.overflowY))&&this.scrollPositions.set(n,{x:n.scrollLeft,y:n.scrollTop}),n=n.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const n=this.scrollPositions.get(t);if(!n)return;const a=t===window,i=a?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},r={x:i.x-n.x,y:i.y-n.y};r.x===0&&r.y===0||(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=r.x,this.lastMoveEventInfo.point.y+=r.y):this.history.length>0&&(this.history[0].x-=r.x,this.history[0].y-=r.y),this.scrollPositions.set(t,i),qt.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Zo(this.updatePoint)}}function Av(e,t){return t?{point:t(e.point)}:e}function F9(e,t){return{x:e.x-t.x,y:e.y-t.y}}function m2({point:e},t){return{point:e,delta:F9(e,QF(t)),offset:F9(e,Tre(t)),velocity:Lre(t,.1)}}function Tre(e){return e[0]}function QF(e){return e[e.length-1]}function Lre(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,a=null;const i=QF(e);for(;n>=0&&(a=e[n],!(i.timestamp-a.timestamp>Yi(t)));)n--;if(!a)return{x:0,y:0};a===e[0]&&e.length>2&&i.timestamp-a.timestamp>Yi(t)*2&&(a=e[1]);const r=Ar(i.timestamp-a.timestamp);if(r===0)return{x:0,y:0};const s={x:(i.x-a.x)/r,y:(i.y-a.y)/r};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Mre(e,{min:t,max:n},a){return t!==void 0&&e<t?e=a?vn(t,e,a.min):Math.max(e,t):n!==void 0&&e>n&&(e=a?vn(n,e,a.max):Math.min(e,n)),e}function z9(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function jre(e,{top:t,left:n,bottom:a,right:i}){return{x:z9(e.x,n,i),y:z9(e.y,t,a)}}function H9(e,t){let n=t.min-e.min,a=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,a]=[a,n]),{min:n,max:a}}function Dre(e,t){return{x:H9(e.x,t.x),y:H9(e.y,t.y)}}function Ire(e,t){let n=.5;const a=si(e),i=si(t);return i>a?n=$g(t.min,t.max-a,e.min):a>i&&(n=$g(e.min,e.max-i,t.min)),Zs(0,1,n)}function Rre(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const n3=.35;function Ore(e=n3){return e===!1?e=0:e===!0&&(e=n3),{x:B9(e,"left","right"),y:B9(e,"top","bottom")}}function B9(e,t,n){return{min:q9(e,t),max:q9(e,n)}}function q9(e,t){return typeof e=="number"?e:e[t]||0}const Fre=new WeakMap;class zre{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=ea(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:a}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=m=>{n&&this.snapToCursor(Ch(m).point),this.stopAnimation()},s=(m,f)=>{const{drag:h,dragPropagation:b,onDragStart:k}=this.getProps();if(h&&!b&&(this.openDragLock&&this.openDragLock(),this.openDragLock=dae(h),!this.openDragLock))return;this.latestPointerEvent=m,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ts(x=>{let S=this.getAxisMotionValue(x).get()||0;if(zs.test(S)){const{projection:E}=this.visualElement;if(E&&E.layout){const P=E.layout.layoutBox[x];P&&(S=si(P)*(parseFloat(S)/100))}}this.originPoint[x]=S}),k&&qt.update(()=>k(m,f),!1,!0),GC(this.visualElement,"transform");const{animationState:w}=this.visualElement;w&&w.setActive("whileDrag",!0)},o=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f;const{dragPropagation:h,dragDirectionLock:b,onDirectionLock:k,onDrag:w}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:x}=f;if(b&&this.currentDirection===null){this.currentDirection=Bre(x),this.currentDirection!==null&&k&&k(this.currentDirection);return}this.updateAxis("x",f.point,x),this.updateAxis("y",f.point,x),this.visualElement.render(),w&&qt.update(()=>w(m,f),!1,!0)},c=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f,this.stop(m,f),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:m}=this.getProps();(m||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:d}=this.getProps();this.panSession=new XF(t,{onSessionStart:r,onStart:s,onMove:o,onSessionEnd:c,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,distanceThreshold:a,contextWindow:YF(this.visualElement),element:this.visualElement.current})}stop(t,n){const a=t||this.latestPointerEvent,i=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!i||!a)return;const{velocity:s}=i;this.startAnimation(s);const{onDragEnd:o}=this.getProps();o&&qt.postRender(()=>o(a,i))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,n,a){const{drag:i}=this.getProps();if(!a||!Cv(t,i,this.currentDirection))return;const r=this.getAxisMotionValue(t);let s=this.originPoint[t]+a[t];this.constraints&&this.constraints[t]&&(s=Mre(s,this.constraints[t],this.elastic[t])),r.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;t&&Jd(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&a?this.constraints=jre(a.layoutBox,t):this.constraints=!1,this.elastic=Ore(n),i!==this.constraints&&!Jd(t)&&a&&this.constraints&&!this.hasMutatedConstraints&&Ts(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=Rre(a.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Jd(t))return!1;const a=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=Bae(a,i.root,this.visualElement.getTransformPagePoint());let s=Dre(i.layout.layoutBox,r);if(n){const o=n(Fae(s));this.hasMutatedConstraints=!!o,o&&(s=yF(o))}return s}startAnimation(t){const{drag:n,dragMomentum:a,dragElastic:i,dragTransition:r,dragSnapToOrigin:s,onDragTransitionEnd:o}=this.getProps(),c=this.constraints||{},p=Ts(d=>{if(!Cv(d,n,this.currentDirection))return;let m=c&&c[d]||{};(s===!0||s===d)&&(m={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,b={type:"inertia",velocity:a?t[d]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...r,...m};return this.startAxisValueAnimation(d,b)});return Promise.all(p).then(o)}startAxisValueAnimation(t,n){const a=this.getAxisMotionValue(t);return GC(this.visualElement,t),a.start(E4(t,a,0,n,this.visualElement,!1))}stopAnimation(){Ts(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,a=this.visualElement.getProps(),i=a[n];return i||this.visualElement.getValue(t,(a.initial?a.initial[t]:void 0)||0)}snapToCursor(t){Ts(n=>{const{drag:a}=this.getProps();if(!Cv(n,a,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:o}=i.layout.layoutBox[n],c=r.get()||0;r.set(t[n]-vn(s,o,.5)+c)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:a}=this.visualElement;if(!Jd(n)||!a||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Ts(s=>{const o=this.getAxisMotionValue(s);if(o&&this.constraints!==!1){const c=o.get();i[s]=Ire({min:c,max:c},this.constraints[s])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),Ts(s=>{if(!Cv(s,t,null))return;const o=this.getAxisMotionValue(s),{min:c,max:p}=this.constraints[s];o.set(vn(c,p,i[s]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Fre.set(this.visualElement,this);const t=this.visualElement.current,n=rg(t,"pointerdown",p=>{const{drag:d,dragListener:m=!0}=this.getProps(),f=p.target,h=f!==t&&bae(f);d&&m&&!h&&this.start(p)});let a;const i=()=>{const{dragConstraints:p}=this.getProps();Jd(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),a||(a=Hre(t,p.current,()=>this.scalePositionWithinConstraints())))},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),qt.read(i);const o=Lg(window,"resize",()=>this.scalePositionWithinConstraints()),c=r.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:d})=>{this.isDragging&&d&&(Ts(m=>{const f=this.getAxisMotionValue(m);f&&(this.originPoint[m]+=p[m].translate,f.set(f.get()+p[m].translate))}),this.visualElement.render())}));return()=>{o(),n(),s(),c&&c(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:a=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:s=n3,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:a,dragPropagation:i,dragConstraints:r,dragElastic:s,dragMomentum:o}}}function U9(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Hre(e,t,n){const a=YM(e,U9(n)),i=YM(t,U9(n));return()=>{a(),i()}}function Cv(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Bre(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class qre extends fp{constructor(t){super(t),this.removeGroupControls=Nr,this.removeListeners=Nr,this.controls=new zre(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Nr}update(){const{dragControls:t}=this.node.getProps(),{dragControls:n}=this.node.prevProps||{};t!==n&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const f2=e=>(t,n)=>{e&&qt.update(()=>e(t,n),!1,!0)};class Ure extends fp{constructor(){super(...arguments),this.removePointerDownListener=Nr}onPointerDown(t){this.session=new XF(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:YF(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:a,onPanEnd:i}=this.node.getProps();return{onSessionStart:f2(t),onStart:f2(n),onMove:f2(a),onEnd:(r,s)=>{delete this.session,i&&qt.postRender(()=>i(r,s))}}}mount(){this.removePointerDownListener=rg(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let g2=!1;class Vre extends $.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:a,layoutId:i}=this.props,{projection:r}=t;r&&(n.group&&n.group.add(r),a&&a.register&&i&&a.register(r),g2&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Sy.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:a,drag:i,isPresent:r}=this.props,{projection:s}=a;return s&&(s.isPresent=r,t.layoutDependency!==n&&s.setOptions({...s.options,layoutDependency:n}),g2=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==r?s.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?s.promote():s.relegate()||qt.postRender(()=>{const o=s.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:n}=this.props,{projection:a}=t;a&&(a.options.layoutAnchor=n,a.root.didUpdate(),M4.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:a}=this.props,{projection:i}=t;g2=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),a&&a.deregister&&a.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function JF(e){const[t,n]=HF(),a=$.useContext(f4);return _.jsx(Vre,{...e,layoutGroup:a,switchLayoutGroup:$.useContext(WF),isPresent:t,safeToRemove:n})}const Zre={pan:{Feature:Ure},drag:{Feature:qre,ProjectionNode:zF,MeasureLayout:JF}};function V9(e,t,n){const{props:a}=e;e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=a[i];r&&qt.postRender(()=>r(t,Ch(t)))}class Gre extends fp{mount(){const{current:t}=this.node;t&&(this.unmount=mae(t,(n,a)=>(V9(this.node,a,"Start"),i=>V9(this.node,i,"End"))))}unmount(){}}class Wre extends fp{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=kh(Lg(this.node.current,"focus",()=>this.onFocus()),Lg(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Z9(e,t,n){const{props:a}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&a.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=a[i];r&&qt.postRender(()=>r(t,Ch(t)))}class Kre extends fp{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:n,propagate:a}=this.node.props;this.unmount=yae(t,(i,r)=>(Z9(this.node,r,"Start"),(s,{success:o})=>Z9(this.node,s,o?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:a?.tap===!1})}unmount(){}}const a3=new WeakMap,h2=new WeakMap,Yre=e=>{const t=a3.get(e.target);t&&t(e)},Xre=e=>{e.forEach(Yre)};function Qre({root:e,...t}){const n=e||document;h2.has(n)||h2.set(n,{});const a=h2.get(n),i=JSON.stringify(t);return a[i]||(a[i]=new IntersectionObserver(Xre,{root:e,...t})),a[i]}function Jre(e,t,n){const a=Qre(t);return a3.set(e,n),a.observe(e),()=>{a3.delete(e),a.unobserve(e)}}const ese={some:0,all:1};class tse extends fp{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:t={}}=this.node.getProps(),{root:n,margin:a,amount:i="some",once:r}=t,s={root:n?n.current:void 0,rootMargin:a,threshold:typeof i=="number"?i:ese[i]},o=c=>{const{isIntersecting:p}=c;if(this.isInView===p||(this.isInView=p,r&&!p&&this.hasEnteredView))return;p&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",p);const{onViewportEnter:d,onViewportLeave:m}=this.node.getProps(),f=p?d:m;f&&f(c)};this.stopObserver=Jre(this.node.current,s,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(nse(t,n))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function nse({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const ase={inView:{Feature:tse},tap:{Feature:Kre},focus:{Feature:Wre},hover:{Feature:Gre}},ise={layout:{ProjectionNode:zF,MeasureLayout:JF}},rse={...$re,...ase,...Zre,...ise},_t=xre(rse,Are);function ez(e){const t=_h(()=>Cl(e)),{isStatic:n}=$.useContext(Ah);if(n){const[,a]=$.useState(e);$.useEffect(()=>t.on("change",a),[])}return t}function tz(e,t){const n=ez(t()),a=()=>n.set(t());return a(),g4(()=>{const i=()=>qt.preRender(a,!1,!0),r=e.map(s=>s.on("change",i));return()=>{r.forEach(s=>s()),Zo(a)}}),n}function sse(e){ag.current=[],e();const t=tz(ag.current,e);return ag.current=void 0,t}function nz(e,t,n,a){if(typeof e=="function")return sse(e);const r=typeof t=="function"?t:Eae(t,n,a),s=Array.isArray(e)?G9(e,r):G9([e],([c])=>r(c)),o=Array.isArray(e)?void 0:e.accelerate;return o&&!o.isTransformed&&typeof t!="function"&&Array.isArray(n)&&a?.clamp!==!1&&(s.accelerate={...o,times:t,keyframes:n,isTransformed:!0}),s}function G9(e,t){const n=_h(()=>[]);return tz(e,()=>{n.length=0;const a=e.length;for(let i=0;i<a;i++)n[i]=e[i].get();return t(n)})}function ose(e,t={}){const{isStatic:n}=$.useContext(Ah),a=()=>aa(e)?e.get():e;if(n)return nz(a);const i=ez(a());return $.useInsertionEffect(()=>Pae(i,e,t),[i,JSON.stringify(t)]),i}function cse(e,t={}){return ose(e,{type:"spring",...t})}const on={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"},Zn={Plus:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 5v14M5 12h14"})}),X:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M18 6 6 18M6 6l12 12"})}),Search:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("circle",{cx:"11",cy:"11",r:"8"}),_.jsx("path",{d:"m21 21-4.35-4.35"})]}),Refresh:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M21 12a9 9 0 0 1-15 6.5L3 16m0 0v5m0-5h5M3 12a9 9 0 0 1 15-6.5L21 8m0 0V3m0 5h-5"})}),Trash:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h14"})}),Archive:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),_.jsx("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),_.jsx("path",{d:"M10 12h4"})]}),ArchiveRestore:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),_.jsx("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),_.jsx("path",{d:"M12 18v-5m0 0-2 2m2-2 2 2"})]}),ChevronDown:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"m6 9 6 6 6-6"})}),Command:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"})}),LayoutBoard:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"3",y:"3",width:"7",height:"18",rx:"1"}),_.jsx("rect",{x:"14",y:"3",width:"7",height:"12",rx:"1"})]}),LayoutList:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"})}),Density:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M4 6h16M4 12h16M4 18h16"})}),Folder:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})}),Check:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M20 6 9 17l-5-5"})}),Circle:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("circle",{cx:"12",cy:"12",r:"9"})}),Arrow:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M5 12h14M12 5l7 7-7 7"})}),ArrowLeft:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M19 12H5M12 19l-7-7 7-7"})}),Settings:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),LinkBreak:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),_.jsx("path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),_.jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),_.jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),_.jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),_.jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]}),Pencil:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"})}),Edit:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 20h9M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})}),Eye:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),EyeOff:({size:e=12,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"}),_.jsx("path",{d:"M3 3l18 18"})]}),Sun:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("circle",{cx:"12",cy:"12",r:"4"}),_.jsx("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"})]}),Moon:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"})}),Keyboard:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"6",width:"20",height:"12",rx:"2"}),_.jsx("path",{d:"M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4"})]})};function W9(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pse(...e){return t=>{let n=!1;const a=e.map(i=>{const r=W9(i,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;i<a.length;i++){const r=a[i];typeof r=="function"?r():W9(e[i],null)}}}}var lse=Symbol.for("react.lazy"),f_=m4[" use ".trim().toString()];function dse(e){return typeof e=="object"&&e!==null&&"then"in e}function az(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===lse&&"_payload"in e&&dse(e._payload)}function use(e){const t=fse(e),n=$.forwardRef((a,i)=>{let{children:r,...s}=a;az(r)&&typeof f_=="function"&&(r=f_(r._payload));const o=$.Children.toArray(r),c=o.find(hse);if(c){const p=c.props.children,d=o.map(m=>m===c?$.Children.count(p)>1?$.Children.only(null):$.isValidElement(p)?p.props.children:null:m);return _.jsx(t,{...s,ref:i,children:$.isValidElement(p)?$.cloneElement(p,void 0,d):null})}return _.jsx(t,{...s,ref:i,children:r})});return n.displayName=`${e}.Slot`,n}var mse=use("Slot");function fse(e){const t=$.forwardRef((n,a)=>{let{children:i,...r}=n;if(az(i)&&typeof f_=="function"&&(i=f_(i._payload)),$.isValidElement(i)){const s=vse(i),o=bse(r,i.props);return i.type!==$.Fragment&&(o.ref=a?pse(a,s):s),$.cloneElement(i,o)}return $.Children.count(i)>1?$.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gse=Symbol("radix.slottable");function hse(e){return $.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gse}function bse(e,t){const n={...t};for(const a in t){const i=e[a],r=t[a];/^on[A-Z]/.test(a)?i&&r?n[a]=(...o)=>{const c=r(...o);return i(...o),c}:i&&(n[a]=i):a==="style"?n[a]={...i,...r}:a==="className"&&(n[a]=[i,r].filter(Boolean).join(" "))}return{...e,...n}}function vse(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function iz(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=iz(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function hs(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=iz(e))&&(a&&(a+=" "),a+=t);return a}const K9=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Y9=hs,yse=(e,t)=>n=>{var a;if(t?.variants==null)return Y9(e,n?.class,n?.className);const{variants:i,defaultVariants:r}=t,s=Object.keys(i).map(p=>{const d=n?.[p],m=r?.[p];if(d===null)return null;const f=K9(d)||K9(m);return i[p][f]}),o=n&&Object.entries(n).reduce((p,d)=>{let[m,f]=d;return f===void 0||(p[m]=f),p},{}),c=t==null||(a=t.compoundVariants)===null||a===void 0?void 0:a.reduce((p,d)=>{let{class:m,className:f,...h}=d;return Object.entries(h).every(b=>{let[k,w]=b;return Array.isArray(w)?w.includes({...r,...o}[k]):{...r,...o}[k]===w})?[...p,m,f]:p},[]);return Y9(e,s,c,n?.class,n?.className)},_se=(e,t)=>{const n=new Array(e.length+t.length);for(let a=0;a<e.length;a++)n[a]=e[a];for(let a=0;a<t.length;a++)n[e.length+a]=t[a];return n},kse=(e,t)=>({classGroupId:e,validator:t}),rz=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),g_="-",X9=[],wse="arbitrary..",xse=e=>{const t=Cse(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Ase(s);const o=s.split(g_),c=o[0]===""&&o.length>1?1:0;return sz(o,c,t)},getConflictingClassGroupIds:(s,o)=>{if(o){const c=a[s],p=n[s];return c?p?_se(p,c):c:p||X9}return n[s]||X9}}},sz=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],r=n.nextPart.get(i);if(r){const p=sz(e,t+1,r);if(p)return p}const s=n.validators;if(s===null)return;const o=t===0?e.join(g_):e.slice(t).join(g_),c=s.length;for(let p=0;p<c;p++){const d=s[p];if(d.validator(o))return d.classGroupId}},Ase=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),a=t.slice(0,n);return a?wse+a:void 0})(),Cse=e=>{const{theme:t,classGroups:n}=e;return Nse(n,t)},Nse=(e,t)=>{const n=rz();for(const a in e){const i=e[a];B4(i,n,a,t)}return n},B4=(e,t,n,a)=>{const i=e.length;for(let r=0;r<i;r++){const s=e[r];Sse(s,t,n,a)}},Sse=(e,t,n,a)=>{if(typeof e=="string"){$se(e,t,n);return}if(typeof e=="function"){Ese(e,t,n,a);return}Pse(e,t,n,a)},$se=(e,t,n)=>{const a=e===""?t:oz(t,e);a.classGroupId=n},Ese=(e,t,n,a)=>{if(Tse(e)){B4(e(a),t,n,a);return}t.validators===null&&(t.validators=[]),t.validators.push(kse(n,e))},Pse=(e,t,n,a)=>{const i=Object.entries(e),r=i.length;for(let s=0;s<r;s++){const[o,c]=i[s];B4(c,oz(t,o),n,a)}},oz=(e,t)=>{let n=e;const a=t.split(g_),i=a.length;for(let r=0;r<i;r++){const s=a[r];let o=n.nextPart.get(s);o||(o=rz(),n.nextPart.set(s,o)),n=o}return n},Tse=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Lse=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),a=Object.create(null);const i=(r,s)=>{n[r]=s,t++,t>e&&(t=0,a=n,n=Object.create(null))};return{get(r){let s=n[r];if(s!==void 0)return s;if((s=a[r])!==void 0)return i(r,s),s},set(r,s){r in n?n[r]=s:i(r,s)}}},i3="!",Q9=":",Mse=[],J9=(e,t,n,a,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:a,isExternal:i}),jse=e=>{const{prefix:t,experimentalParseClassName:n}=e;let a=i=>{const r=[];let s=0,o=0,c=0,p;const d=i.length;for(let k=0;k<d;k++){const w=i[k];if(s===0&&o===0){if(w===Q9){r.push(i.slice(c,k)),c=k+1;continue}if(w==="/"){p=k;continue}}w==="["?s++:w==="]"?s--:w==="("?o++:w===")"&&o--}const m=r.length===0?i:i.slice(c);let f=m,h=!1;m.endsWith(i3)?(f=m.slice(0,-1),h=!0):m.startsWith(i3)&&(f=m.slice(1),h=!0);const b=p&&p>c?p-c:void 0;return J9(r,h,f,b)};if(t){const i=t+Q9,r=a;a=s=>s.startsWith(i)?r(s.slice(i.length)):J9(Mse,!1,s,void 0,!0)}if(n){const i=a;a=r=>n({className:r,parseClassName:i})}return a},Dse=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,a)=>{t.set(n,1e6+a)}),n=>{const a=[];let i=[];for(let r=0;r<n.length;r++){const s=n[r],o=s[0]==="[",c=t.has(s);o||c?(i.length>0&&(i.sort(),a.push(...i),i=[]),a.push(s)):i.push(s)}return i.length>0&&(i.sort(),a.push(...i)),a}},Ise=e=>({cache:Lse(e.cacheSize),parseClassName:jse(e),sortModifiers:Dse(e),...xse(e)}),Rse=/\s+/,Ose=(e,t)=>{const{parseClassName:n,getClassGroupId:a,getConflictingClassGroupIds:i,sortModifiers:r}=t,s=[],o=e.trim().split(Rse);let c="";for(let p=o.length-1;p>=0;p-=1){const d=o[p],{isExternal:m,modifiers:f,hasImportantModifier:h,baseClassName:b,maybePostfixModifierPosition:k}=n(d);if(m){c=d+(c.length>0?" "+c:c);continue}let w=!!k,x=a(w?b.substring(0,k):b);if(!x){if(!w){c=d+(c.length>0?" "+c:c);continue}if(x=a(b),!x){c=d+(c.length>0?" "+c:c);continue}w=!1}const S=f.length===0?"":f.length===1?f[0]:r(f).join(":"),E=h?S+i3:S,P=E+x;if(s.indexOf(P)>-1)continue;s.push(P);const L=i(x,w);for(let j=0;j<L.length;++j){const F=L[j];s.push(E+F)}c=d+(c.length>0?" "+c:c)}return c},Fse=(...e)=>{let t=0,n,a,i="";for(;t<e.length;)(n=e[t++])&&(a=cz(n))&&(i&&(i+=" "),i+=a);return i},cz=e=>{if(typeof e=="string")return e;let t,n="";for(let a=0;a<e.length;a++)e[a]&&(t=cz(e[a]))&&(n&&(n+=" "),n+=t);return n},zse=(e,...t)=>{let n,a,i,r;const s=c=>{const p=t.reduce((d,m)=>m(d),e());return n=Ise(p),a=n.cache.get,i=n.cache.set,r=o,o(c)},o=c=>{const p=a(c);if(p)return p;const d=Ose(c,n);return i(c,d),d};return r=s,(...c)=>r(Fse(...c))},Hse=[],Jn=e=>{const t=n=>n[e]||Hse;return t.isThemeGetter=!0,t},pz=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,lz=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Bse=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,qse=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Use=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Vse=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zse=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Gse=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Nc=e=>Bse.test(e),pt=e=>!!e&&!Number.isNaN(Number(e)),Sc=e=>!!e&&Number.isInteger(Number(e)),b2=e=>e.endsWith("%")&&pt(e.slice(0,-1)),wo=e=>qse.test(e),dz=()=>!0,Wse=e=>Use.test(e)&&!Vse.test(e),q4=()=>!1,Kse=e=>Zse.test(e),Yse=e=>Gse.test(e),Xse=e=>!Me(e)&&!De(e),Qse=e=>gp(e,fz,q4),Me=e=>pz.test(e),Kp=e=>gp(e,gz,Wse),ej=e=>gp(e,soe,pt),Jse=e=>gp(e,bz,dz),eoe=e=>gp(e,hz,q4),tj=e=>gp(e,uz,q4),toe=e=>gp(e,mz,Yse),Nv=e=>gp(e,vz,Kse),De=e=>lz.test(e),Nf=e=>Vl(e,gz),noe=e=>Vl(e,hz),nj=e=>Vl(e,uz),aoe=e=>Vl(e,fz),ioe=e=>Vl(e,mz),Sv=e=>Vl(e,vz,!0),roe=e=>Vl(e,bz,!0),gp=(e,t,n)=>{const a=pz.exec(e);return a?a[1]?t(a[1]):n(a[2]):!1},Vl=(e,t,n=!1)=>{const a=lz.exec(e);return a?a[1]?t(a[1]):n:!1},uz=e=>e==="position"||e==="percentage",mz=e=>e==="image"||e==="url",fz=e=>e==="length"||e==="size"||e==="bg-size",gz=e=>e==="length",soe=e=>e==="number",hz=e=>e==="family-name",bz=e=>e==="number"||e==="weight",vz=e=>e==="shadow",ooe=()=>{const e=Jn("color"),t=Jn("font"),n=Jn("text"),a=Jn("font-weight"),i=Jn("tracking"),r=Jn("leading"),s=Jn("breakpoint"),o=Jn("container"),c=Jn("spacing"),p=Jn("radius"),d=Jn("shadow"),m=Jn("inset-shadow"),f=Jn("text-shadow"),h=Jn("drop-shadow"),b=Jn("blur"),k=Jn("perspective"),w=Jn("aspect"),x=Jn("ease"),S=Jn("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...P(),De,Me],j=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],z=()=>[De,Me,c],R=()=>[Nc,"full","auto",...z()],M=()=>[Sc,"none","subgrid",De,Me],K=()=>["auto",{span:["full",Sc,De,Me]},Sc,De,Me],J=()=>[Sc,"auto",De,Me],W=()=>["auto","min","max","fr",De,Me],B=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],H=()=>["auto",...z()],U=()=>[Nc,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],Y=()=>[Nc,"screen","full","dvw","lvw","svw","min","max","fit",...z()],ae=()=>[Nc,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],D=()=>[e,De,Me],Z=()=>[...P(),nj,tj,{position:[De,Me]}],te=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",aoe,Qse,{size:[De,Me]}],he=()=>[b2,Nf,Kp],be=()=>["","none","full",p,De,Me],ke=()=>["",pt,Nf,Kp],Pe=()=>["solid","dashed","dotted","double"],Re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ne=()=>[pt,b2,nj,tj],ht=()=>["","none",b,De,Me],Et=()=>["none",pt,De,Me],Le=()=>["none",pt,De,Me],Ee=()=>[pt,De,Me],Oe=()=>[Nc,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[wo],breakpoint:[wo],color:[dz],container:[wo],"drop-shadow":[wo],ease:["in","out","in-out"],font:[Xse],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[wo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[wo],shadow:[wo],spacing:["px",pt],text:[wo],"text-shadow":[wo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Nc,Me,De,w]}],container:["container"],columns:[{columns:[pt,Me,De,o]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{"inset-s":R(),start:R()}],end:[{"inset-e":R(),end:R()}],"inset-bs":[{"inset-bs":R()}],"inset-be":[{"inset-be":R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[Sc,"auto",De,Me]}],basis:[{basis:[Nc,"full","auto",o,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[pt,Nc,"auto","initial","none",Me]}],grow:[{grow:["",pt,De,Me]}],shrink:[{shrink:["",pt,De,Me]}],order:[{order:[Sc,"first","last","none",De,Me]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:K()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:K()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...B(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...B()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":B()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:H()}],mx:[{mx:H()}],my:[{my:H()}],ms:[{ms:H()}],me:[{me:H()}],mbs:[{mbs:H()}],mbe:[{mbe:H()}],mt:[{mt:H()}],mr:[{mr:H()}],mb:[{mb:H()}],ml:[{ml:H()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],"inline-size":[{inline:["auto",...Y()]}],"min-inline-size":[{"min-inline":["auto",...Y()]}],"max-inline-size":[{"max-inline":["none",...Y()]}],"block-size":[{block:["auto",...ae()]}],"min-block-size":[{"min-block":["auto",...ae()]}],"max-block-size":[{"max-block":["none",...ae()]}],w:[{w:[o,"screen",...U()]}],"min-w":[{"min-w":[o,"screen","none",...U()]}],"max-w":[{"max-w":[o,"screen","none","prose",{screen:[s]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",n,Nf,Kp]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,roe,Jse]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",b2,Me]}],"font-family":[{font:[noe,eoe,t]}],"font-features":[{"font-features":[Me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,De,Me]}],"line-clamp":[{"line-clamp":[pt,"none",De,ej]}],leading:[{leading:[r,...z()]}],"list-image":[{"list-image":["none",De,Me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",De,Me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[pt,"from-font","auto",De,Kp]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[pt,"auto",De,Me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",De,Me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",De,Me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Z()}],"bg-repeat":[{bg:te()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Sc,De,Me],radial:["",De,Me],conic:[Sc,De,Me]},ioe,toe]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:he()}],"gradient-via-pos":[{via:he()}],"gradient-to-pos":[{to:he()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:be()}],"rounded-s":[{"rounded-s":be()}],"rounded-e":[{"rounded-e":be()}],"rounded-t":[{"rounded-t":be()}],"rounded-r":[{"rounded-r":be()}],"rounded-b":[{"rounded-b":be()}],"rounded-l":[{"rounded-l":be()}],"rounded-ss":[{"rounded-ss":be()}],"rounded-se":[{"rounded-se":be()}],"rounded-ee":[{"rounded-ee":be()}],"rounded-es":[{"rounded-es":be()}],"rounded-tl":[{"rounded-tl":be()}],"rounded-tr":[{"rounded-tr":be()}],"rounded-br":[{"rounded-br":be()}],"rounded-bl":[{"rounded-bl":be()}],"border-w":[{border:ke()}],"border-w-x":[{"border-x":ke()}],"border-w-y":[{"border-y":ke()}],"border-w-s":[{"border-s":ke()}],"border-w-e":[{"border-e":ke()}],"border-w-bs":[{"border-bs":ke()}],"border-w-be":[{"border-be":ke()}],"border-w-t":[{"border-t":ke()}],"border-w-r":[{"border-r":ke()}],"border-w-b":[{"border-b":ke()}],"border-w-l":[{"border-l":ke()}],"divide-x":[{"divide-x":ke()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ke()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Pe(),"hidden","none"]}],"divide-style":[{divide:[...Pe(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...Pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[pt,De,Me]}],"outline-w":[{outline:["",pt,Nf,Kp]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,Sv,Nv]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",m,Sv,Nv]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:ke()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[pt,Kp]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":ke()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",f,Sv,Nv]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[pt,De,Me]}],"mix-blend":[{"mix-blend":[...Re(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Re()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[pt]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ne()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":Ne()}],"mask-image-t-to-pos":[{"mask-t-to":Ne()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":Ne()}],"mask-image-r-to-pos":[{"mask-r-to":Ne()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":Ne()}],"mask-image-b-to-pos":[{"mask-b-to":Ne()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":Ne()}],"mask-image-l-to-pos":[{"mask-l-to":Ne()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":Ne()}],"mask-image-x-to-pos":[{"mask-x-to":Ne()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":Ne()}],"mask-image-y-to-pos":[{"mask-y-to":Ne()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[De,Me]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ne()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[pt]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ne()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Z()}],"mask-repeat":[{mask:te()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",De,Me]}],filter:[{filter:["","none",De,Me]}],blur:[{blur:ht()}],brightness:[{brightness:[pt,De,Me]}],contrast:[{contrast:[pt,De,Me]}],"drop-shadow":[{"drop-shadow":["","none",h,Sv,Nv]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",pt,De,Me]}],"hue-rotate":[{"hue-rotate":[pt,De,Me]}],invert:[{invert:["",pt,De,Me]}],saturate:[{saturate:[pt,De,Me]}],sepia:[{sepia:["",pt,De,Me]}],"backdrop-filter":[{"backdrop-filter":["","none",De,Me]}],"backdrop-blur":[{"backdrop-blur":ht()}],"backdrop-brightness":[{"backdrop-brightness":[pt,De,Me]}],"backdrop-contrast":[{"backdrop-contrast":[pt,De,Me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",pt,De,Me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[pt,De,Me]}],"backdrop-invert":[{"backdrop-invert":["",pt,De,Me]}],"backdrop-opacity":[{"backdrop-opacity":[pt,De,Me]}],"backdrop-saturate":[{"backdrop-saturate":[pt,De,Me]}],"backdrop-sepia":[{"backdrop-sepia":["",pt,De,Me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",De,Me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[pt,"initial",De,Me]}],ease:[{ease:["linear","initial",x,De,Me]}],delay:[{delay:[pt,De,Me]}],animate:[{animate:["none",S,De,Me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,De,Me]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Et()}],"rotate-x":[{"rotate-x":Et()}],"rotate-y":[{"rotate-y":Et()}],"rotate-z":[{"rotate-z":Et()}],scale:[{scale:Le()}],"scale-x":[{"scale-x":Le()}],"scale-y":[{"scale-y":Le()}],"scale-z":[{"scale-z":Le()}],"scale-3d":["scale-3d"],skew:[{skew:Ee()}],"skew-x":[{"skew-x":Ee()}],"skew-y":[{"skew-y":Ee()}],transform:[{transform:[De,Me,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Oe()}],"translate-x":[{"translate-x":Oe()}],"translate-y":[{"translate-y":Oe()}],"translate-z":[{"translate-z":Oe()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",De,Me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",De,Me]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[pt,Nf,Kp,ej]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},coe=zse(ooe);function r3(...e){return coe(hs(e))}const poe=yse("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[10px] text-[15px] font-semibold transition-all outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring/70 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground border border-primary hover:bg-primary/90 hover:border-primary/90 shadow-sm",destructive:"bg-transparent text-danger border border-border-strong hover:bg-danger/10 hover:border-danger shadow-sm",outline:"bg-transparent text-fg border border-border-strong hover:bg-bg-2 hover:border-border-focus",secondary:"bg-transparent text-fg-dim border border-transparent hover:bg-bg-2 hover:text-fg",ghost:"bg-transparent text-fg-dim border border-transparent hover:bg-bg-2 hover:text-fg",link:"text-primary underline-offset-4 hover:underline",icon:"w-11 h-11 p-0 text-fg-dim bg-transparent border border-transparent hover:bg-bg-2 hover:text-fg"},size:{default:"h-11 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-11 w-11"}},defaultVariants:{variant:"default",size:"default"}}),hu=$.forwardRef(({className:e,variant:t,size:n,asChild:a=!1,...i},r)=>{const s=a?mse:"button";return _.jsx(s,{className:r3(poe({variant:t,size:n,className:e})),ref:r,...i})});hu.displayName="Button";function da({onClick:e,variant:t="secondary",icon:n,label:a,shortcut:i,title:r,className:s="",disabled:o=!1,type:c="button",isIconOnly:p=!1,iconSize:d=22}){const m=n?Zn[n]:null;let f="secondary";switch(t){case"primary":f="default";break;case"secondary":f="outline";break;case"ghost":f="ghost";break;case"danger":f="destructive";break;case"icon":f="icon";break}const h=t==="primary"?{color:"rgba(0,0,0,0.7)",background:"rgba(0,0,0,0.15)",borderColor:"rgba(0,0,0,0.2)"}:void 0;return p||t==="icon"?_.jsx(hu,{type:c,variant:"icon",size:"icon",onClick:e,disabled:o,title:r,className:s,children:m&&_.jsx(m,{size:d})}):_.jsxs(hu,{type:c,variant:f,onClick:e,disabled:o,title:r,className:s,children:[m&&_.jsx(m,{size:d,className:"-ms-1 me-2 opacity-60"}),a&&_.jsx("span",{children:a}),i&&_.jsx("kbd",{className:"-me-1 ms-3 inline-flex h-5 max-h-full items-center rounded border border-border bg-background px-1 font-[inherit] text-[0.625rem] font-medium text-muted-foreground/70",style:h,children:i})]})}const aj=e=>{let t;const n=new Set,a=(p,d)=>{const m=typeof p=="function"?p(t):p;if(!Object.is(m,t)){const f=t;t=d??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(h=>h(t,f))}},i=()=>t,o={setState:a,getState:i,getInitialState:()=>c,subscribe:p=>(n.add(p),()=>n.delete(p))},c=t=e(a,i,o);return o},loe=(e=>e?aj(e):aj),doe=e=>e;function uoe(e,t=doe){const n=na.useSyncExternalStore(e.subscribe,na.useCallback(()=>t(e.getState()),[e,t]),na.useCallback(()=>t(e.getInitialState()),[e,t]));return na.useDebugValue(n),n}const ij=e=>{const t=loe(e),n=a=>uoe(t,a);return Object.assign(n,t),n},moe=(e=>e?ij(e):ij),s3=["Backlog","Todo","In Progress","Review","Done"],Ci={ui:{language:"en",theme:"auto",skin:"kandown",font:"inter",background:"solid"},agent:{suggestFollowUp:!1,maxSuggestions:3},board:{columns:s3,defaultPriority:"P3",defaultOwnerType:"human",columnColors:{backlog:"red",todo:"blue","in progress":"orange",review:"violet",done:"green"}},fields:{priority:!1,assignee:!1,tags:!1,dueDate:!1,ownerType:!1,tools:!1},notifications:{browser:!1,sound:!1,soundId:"soft",statusChanges:!0,taskEdits:!0,subtaskCompletions:!0,editDebounceMs:2e3}};function U4(e,t){const n=["---"];if(e&&typeof e=="object"){for(const[a,i]of Object.entries(e))if(!(i==null||i===""))if(Array.isArray(i)){if(i.length===0)continue;n.push(`${a}: [${i.join(", ")}]`)}else typeof i=="string"&&i.includes(`
|
|
85
|
+
`),()=>{o.current?.removeAttribute("data-motion-pop-id"),L.contains(P)&&L.removeChild(P)}},[t]),_.jsx(Kie,{isPresent:t,childRef:o,sizeRef:c,pop:r,children:r===!1?e:$.cloneElement(e,{ref:m})})}const Xie=({children:e,initial:t,isPresent:n,onExitComplete:a,custom:i,presenceAffectsLayout:r,mode:s,anchorX:o,anchorY:c,root:p})=>{const d=_h(Qie),m=$.useId();let f=!0,h=$.useMemo(()=>(f=!1,{id:m,initial:t,isPresent:n,custom:i,onExitComplete:b=>{d.set(b,!0);for(const k of d.values())if(!k)return;a&&a()},register:b=>(d.set(b,!1),()=>d.delete(b))}),[n,d,a]);return r&&f&&(h={...h}),$.useMemo(()=>{d.forEach((b,k)=>d.set(k,!1))},[n]),$.useEffect(()=>{!n&&!d.size&&a&&a()},[n]),e=_.jsx(Yie,{pop:s==="popLayout",isPresent:n,anchorX:o,anchorY:c,root:p,children:e}),_.jsx(B1.Provider,{value:h,children:e})};function Qie(){return new Map}function HF(e=!0){const t=$.useContext(B1);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:a,register:i}=t,r=$.useId();$.useEffect(()=>{if(e)return i(r)},[e]);const s=$.useCallback(()=>e&&a&&a(r),[r,a,e]);return!n&&a?[!1,s]:[!0]}const xv=e=>e.key||"";function M9(e){const t=[];return $.Children.forEach(e,n=>{$.isValidElement(n)&&t.push(n)}),t}const ps=({children:e,custom:t,initial:n=!0,onExitComplete:a,presenceAffectsLayout:i=!0,mode:r="sync",propagate:s=!1,anchorX:o="left",anchorY:c="top",root:p})=>{const[d,m]=HF(s),f=$.useMemo(()=>M9(e),[e]),h=s&&!d?[]:f.map(xv),b=$.useRef(!0),k=$.useRef(f),w=_h(()=>new Map),x=$.useRef(new Set),[S,E]=$.useState(f),[P,L]=$.useState(f);g4(()=>{b.current=!1,k.current=f;for(let z=0;z<P.length;z++){const R=xv(P[z]);h.includes(R)?(w.delete(R),x.current.delete(R)):w.get(R)!==!0&&w.set(R,!1)}},[P,h.length,h.join("-")]);const j=[];if(f!==S){let z=[...f];for(let R=0;R<P.length;R++){const M=P[R],K=xv(M);h.includes(K)||(z.splice(R,0,M),j.push(M))}return r==="wait"&&j.length&&(z=j),L(M9(z)),E(f),null}const{forceRender:F}=$.useContext(f4);return _.jsx(_.Fragment,{children:P.map(z=>{const R=xv(z),M=s&&!d?!1:f===P||h.includes(R),K=()=>{if(x.current.has(R))return;if(w.has(R))x.current.add(R),w.set(R,!0);else return;let J=!0;w.forEach(W=>{W||(J=!1)}),J&&(F?.(),L(k.current),s&&m?.(),a&&a())};return _.jsx(Xie,{isPresent:M,initial:!b.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:r,root:p,onExitComplete:M?void 0:K,anchorX:o,anchorY:c,children:z},R)})})},BF=$.createContext({strict:!1}),j9={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let D9=!1;function Jie(){if(D9)return;const e={};for(const t in j9)e[t]={isEnabled:n=>j9[t].some(a=>!!n[a])};bF(e),D9=!0}function qF(){return Jie(),Rae()}function ere(e){const t=qF();for(const n in e)t[n]={...t[n],...e[n]};bF(t)}const tre=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function m_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||tre.has(e)}let UF=e=>!m_(e);function nre(e){typeof e=="function"&&(UF=t=>t.startsWith("on")?!m_(t):e(t))}try{nre(require("@emotion/is-prop-valid").default)}catch{}function are(e,t,n){const a={};for(const i in e)i==="values"&&typeof e.values=="object"||aa(e[i])||(UF(i)||n===!0&&m_(i)||!t&&!m_(i)||e.draggable&&i.startsWith("onDrag"))&&(a[i]=e[i]);return a}const Z1=$.createContext({});function ire(e,t){if(V1(e)){const{initial:n,animate:a}=e;return{initial:n===!1||Tg(n)?n:void 0,animate:Tg(a)?a:void 0}}return e.inherit!==!1?t:{}}function rre(e){const{initial:t,animate:n}=ire(e,$.useContext(Z1));return $.useMemo(()=>({initial:t,animate:n}),[I9(t),I9(n)])}function I9(e){return Array.isArray(e)?e.join(" "):e}const z4=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function VF(e,t,n){for(const a in t)!aa(t[a])&&!AF(a,n)&&(e[a]=t[a])}function sre({transformTemplate:e},t){return $.useMemo(()=>{const n=z4();return O4(n,t,e),Object.assign({},n.vars,n.style)},[t])}function ore(e,t){const n=e.style||{},a={};return VF(a,n,e),Object.assign(a,sre(e,t)),a}function cre(e,t){const n={},a=ore(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,a.userSelect=a.WebkitUserSelect=a.WebkitTouchCallout="none",a.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=a,n}const ZF=()=>({...z4(),attrs:{}});function pre(e,t,n,a){const i=$.useMemo(()=>{const r=ZF();return CF(r,t,SF(a),e.transformTemplate,e.style),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};VF(r,e.style,e),i.style={...r,...i.style}}return i}const lre=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function H4(e){return typeof e!="string"||e.includes("-")?!1:!!(lre.indexOf(e)>-1||/[A-Z]/u.test(e))}function dre(e,t,n,{latestValues:a},i,r=!1,s){const c=(s??H4(e)?pre:cre)(t,a,i,e),p=are(t,typeof e=="string",r),d=e!==$.Fragment?{...p,...c,ref:n}:{},{children:m}=t,f=$.useMemo(()=>aa(m)?m.get():m,[m]);return $.createElement(e,{...d,children:f})}function ure({scrapeMotionValuesFromProps:e,createRenderState:t},n,a,i){return{latestValues:mre(n,a,i,e),renderState:t()}}function mre(e,t,n,a){const i={},r=a(e,{});for(const f in r)i[f]=Ny(r[f]);let{initial:s,animate:o}=e;const c=V1(e),p=gF(e);t&&p&&!c&&e.inherit!==!1&&(s===void 0&&(s=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const m=d?o:s;if(m&&typeof m!="boolean"&&!U1(m)){const f=Array.isArray(m)?m:[m];for(let h=0;h<f.length;h++){const b=P4(e,f[h]);if(b){const{transitionEnd:k,transition:w,...x}=b;for(const S in x){let E=x[S];if(Array.isArray(E)){const P=d?E.length-1:0;E=E[P]}E!==null&&(i[S]=E)}for(const S in k)i[S]=k[S]}}}return i}const GF=e=>(t,n)=>{const a=$.useContext(Z1),i=$.useContext(B1),r=()=>ure(e,t,a,i);return n?r():_h(r)},fre=GF({scrapeMotionValuesFromProps:F4,createRenderState:z4}),gre=GF({scrapeMotionValuesFromProps:$F,createRenderState:ZF}),hre=Symbol.for("motionComponentSymbol");function bre(e,t,n){const a=$.useRef(n);$.useInsertionEffect(()=>{a.current=n});const i=$.useRef(null);return $.useCallback(r=>{r&&e.onMount?.(r);const s=a.current;if(typeof s=="function")if(r){const o=s(r);typeof o=="function"&&(i.current=o)}else i.current?(i.current(),i.current=null):s(r);else s&&(s.current=r);t&&(r?t.mount(r):t.unmount())},[t])}const WF=$.createContext({});function Jd(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function vre(e,t,n,a,i,r){const{visualElement:s}=$.useContext(Z1),o=$.useContext(BF),c=$.useContext(B1),p=$.useContext(Ah),d=p.reducedMotion,m=p.skipAnimations,f=$.useRef(null),h=$.useRef(!1);a=a||o.renderer,!f.current&&a&&(f.current=a(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:d,skipAnimations:m,isSVG:r}),h.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));const b=f.current,k=$.useContext(WF);b&&!b.projection&&i&&(b.type==="html"||b.type==="svg")&&yre(f.current,n,i,k);const w=$.useRef(!1);$.useInsertionEffect(()=>{b&&w.current&&b.update(n,c)});const x=n[nF],S=$.useRef(!!x&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(x)&&window.MotionHasOptimisedAnimation?.(x));return g4(()=>{h.current=!0,b&&(w.current=!0,window.MotionIsMounted=!0,b.updateFeatures(),b.scheduleRenderMicrotask(),S.current&&b.animationState&&b.animationState.animateChanges())}),$.useEffect(()=>{b&&(!S.current&&b.animationState&&b.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(x)}),S.current=!1),b.enteringChildren=void 0)}),b}function yre(e,t,n,a){const{layoutId:i,layout:r,drag:s,dragConstraints:o,layoutScroll:c,layoutRoot:p,layoutAnchor:d,layoutCrossfade:m}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:KF(e.parent)),e.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!s||o&&Jd(o),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:a,crossfade:m,layoutScroll:c,layoutRoot:p,layoutAnchor:d})}function KF(e){if(e)return e.options.allowProjection!==!1?e.projection:KF(e.parent)}function u2(e,{forwardMotionProps:t=!1,type:n}={},a,i){a&&ere(a);const r=n?n==="svg":H4(e),s=r?gre:fre;function o(p,d){let m;const f={...$.useContext(Ah),...p,layoutId:_re(p)},{isStatic:h}=f,b=rre(p),k=s(p,h);if(!h&&typeof window<"u"){kre();const w=wre(f);m=w.MeasureLayout,b.visualElement=vre(e,k,f,i,w.ProjectionNode,r)}return _.jsxs(Z1.Provider,{value:b,children:[m&&b.visualElement?_.jsx(m,{visualElement:b.visualElement,...f}):null,dre(e,p,bre(k,b.visualElement,d),k,h,t,r)]})}o.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const c=$.forwardRef(o);return c[hre]=e,c}function _re({layoutId:e}){const t=$.useContext(f4).id;return t&&e!==void 0?t+"-"+e:e}function kre(e,t){$.useContext(BF).strict}function wre(e){const t=qF(),{drag:n,layout:a}=t;if(!n&&!a)return{};const i={...n,...a};return{MeasureLayout:n?.isEnabled(e)||a?.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function xre(e,t){if(typeof Proxy>"u")return u2;const n=new Map,a=(r,s)=>u2(r,s,e,t),i=(r,s)=>a(r,s);return new Proxy(i,{get:(r,s)=>s==="create"?a:(n.has(s)||n.set(s,u2(s,void 0,e,t)),n.get(s))})}const Are=(e,t)=>t.isSVG??H4(e)?new eie(t):new Wae(t,{allowProjection:e!==$.Fragment});class Cre extends fp{constructor(t){super(t),t.animationState||(t.animationState=rie(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();U1(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Nre=0;class Sre extends fp{constructor(){super(...arguments),this.id=Nre++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===a)return;if(t&&a===!1){if(this.isExitComplete){const{initial:r,custom:s}=this.node.getProps();if(typeof r=="string"){const o=gl(this.node,r,s);if(o){const{transition:c,transitionEnd:p,...d}=o;for(const m in d)this.node.getValue(m)?.jump(d[m])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>{this.isExitComplete=!0,n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const $re={animation:{Feature:Cre},exit:{Feature:Sre}};function Ch(e){return{point:{x:e.pageX,y:e.pageY}}}const Ere=e=>t=>j4(t)&&e(t,Ch(t));function rg(e,t,n,a){return Lg(e,t,Ere(n),a)}const YF=({current:e})=>e?e.ownerDocument.defaultView:null,R9=(e,t)=>Math.abs(e-t);function Pre(e,t){const n=R9(e.x,t.x),a=R9(e.y,t.y);return Math.sqrt(n**2+a**2)}const O9=new Set(["auto","scroll"]);class XF{constructor(t,n,{transformPagePoint:a,contextWindow:i=window,dragSnapToOrigin:r=!1,distanceThreshold:s=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=h=>{this.handleScroll(h.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Av(this.lastRawMoveEventInfo,this.transformPagePoint));const h=m2(this.lastMoveEventInfo,this.history),b=this.startEvent!==null,k=Pre(h.offset,{x:0,y:0})>=this.distanceThreshold;if(!b&&!k)return;const{point:w}=h,{timestamp:x}=Na;this.history.push({...w,timestamp:x});const{onStart:S,onMove:E}=this.handlers;b||(S&&S(this.lastMoveEvent,h),this.startEvent=this.lastMoveEvent),E&&E(this.lastMoveEvent,h)},this.handlePointerMove=(h,b)=>{this.lastMoveEvent=h,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=Av(b,this.transformPagePoint),qt.update(this.updatePoint,!0)},this.handlePointerUp=(h,b)=>{this.end();const{onEnd:k,onSessionEnd:w,resumeAnimation:x}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&x&&x(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const S=m2(h.type==="pointercancel"?this.lastMoveEventInfo:Av(b,this.transformPagePoint),this.history);this.startEvent&&k&&k(h,S),w&&w(h,S)},!j4(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=a,this.distanceThreshold=s,this.contextWindow=i||window;const c=Ch(t),p=Av(c,this.transformPagePoint),{point:d}=p,{timestamp:m}=Na;this.history=[{...d,timestamp:m}];const{onSessionStart:f}=n;f&&f(t,m2(p,this.history)),this.removeListeners=kh(rg(this.contextWindow,"pointermove",this.handlePointerMove),rg(this.contextWindow,"pointerup",this.handlePointerUp),rg(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(t){let n=t.parentElement;for(;n;){const a=getComputedStyle(n);(O9.has(a.overflowX)||O9.has(a.overflowY))&&this.scrollPositions.set(n,{x:n.scrollLeft,y:n.scrollTop}),n=n.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const n=this.scrollPositions.get(t);if(!n)return;const a=t===window,i=a?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},r={x:i.x-n.x,y:i.y-n.y};r.x===0&&r.y===0||(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=r.x,this.lastMoveEventInfo.point.y+=r.y):this.history.length>0&&(this.history[0].x-=r.x,this.history[0].y-=r.y),this.scrollPositions.set(t,i),qt.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Zo(this.updatePoint)}}function Av(e,t){return t?{point:t(e.point)}:e}function F9(e,t){return{x:e.x-t.x,y:e.y-t.y}}function m2({point:e},t){return{point:e,delta:F9(e,QF(t)),offset:F9(e,Tre(t)),velocity:Lre(t,.1)}}function Tre(e){return e[0]}function QF(e){return e[e.length-1]}function Lre(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,a=null;const i=QF(e);for(;n>=0&&(a=e[n],!(i.timestamp-a.timestamp>Yi(t)));)n--;if(!a)return{x:0,y:0};a===e[0]&&e.length>2&&i.timestamp-a.timestamp>Yi(t)*2&&(a=e[1]);const r=Ar(i.timestamp-a.timestamp);if(r===0)return{x:0,y:0};const s={x:(i.x-a.x)/r,y:(i.y-a.y)/r};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Mre(e,{min:t,max:n},a){return t!==void 0&&e<t?e=a?vn(t,e,a.min):Math.max(e,t):n!==void 0&&e>n&&(e=a?vn(n,e,a.max):Math.min(e,n)),e}function z9(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function jre(e,{top:t,left:n,bottom:a,right:i}){return{x:z9(e.x,n,i),y:z9(e.y,t,a)}}function H9(e,t){let n=t.min-e.min,a=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,a]=[a,n]),{min:n,max:a}}function Dre(e,t){return{x:H9(e.x,t.x),y:H9(e.y,t.y)}}function Ire(e,t){let n=.5;const a=si(e),i=si(t);return i>a?n=$g(t.min,t.max-a,e.min):a>i&&(n=$g(e.min,e.max-i,t.min)),Zs(0,1,n)}function Rre(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const n3=.35;function Ore(e=n3){return e===!1?e=0:e===!0&&(e=n3),{x:B9(e,"left","right"),y:B9(e,"top","bottom")}}function B9(e,t,n){return{min:q9(e,t),max:q9(e,n)}}function q9(e,t){return typeof e=="number"?e:e[t]||0}const Fre=new WeakMap;class zre{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=ea(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:a}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=m=>{n&&this.snapToCursor(Ch(m).point),this.stopAnimation()},s=(m,f)=>{const{drag:h,dragPropagation:b,onDragStart:k}=this.getProps();if(h&&!b&&(this.openDragLock&&this.openDragLock(),this.openDragLock=dae(h),!this.openDragLock))return;this.latestPointerEvent=m,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ts(x=>{let S=this.getAxisMotionValue(x).get()||0;if(zs.test(S)){const{projection:E}=this.visualElement;if(E&&E.layout){const P=E.layout.layoutBox[x];P&&(S=si(P)*(parseFloat(S)/100))}}this.originPoint[x]=S}),k&&qt.update(()=>k(m,f),!1,!0),GC(this.visualElement,"transform");const{animationState:w}=this.visualElement;w&&w.setActive("whileDrag",!0)},o=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f;const{dragPropagation:h,dragDirectionLock:b,onDirectionLock:k,onDrag:w}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:x}=f;if(b&&this.currentDirection===null){this.currentDirection=Bre(x),this.currentDirection!==null&&k&&k(this.currentDirection);return}this.updateAxis("x",f.point,x),this.updateAxis("y",f.point,x),this.visualElement.render(),w&&qt.update(()=>w(m,f),!1,!0)},c=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f,this.stop(m,f),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:m}=this.getProps();(m||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:d}=this.getProps();this.panSession=new XF(t,{onSessionStart:r,onStart:s,onMove:o,onSessionEnd:c,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,distanceThreshold:a,contextWindow:YF(this.visualElement),element:this.visualElement.current})}stop(t,n){const a=t||this.latestPointerEvent,i=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!i||!a)return;const{velocity:s}=i;this.startAnimation(s);const{onDragEnd:o}=this.getProps();o&&qt.postRender(()=>o(a,i))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,n,a){const{drag:i}=this.getProps();if(!a||!Cv(t,i,this.currentDirection))return;const r=this.getAxisMotionValue(t);let s=this.originPoint[t]+a[t];this.constraints&&this.constraints[t]&&(s=Mre(s,this.constraints[t],this.elastic[t])),r.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;t&&Jd(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&a?this.constraints=jre(a.layoutBox,t):this.constraints=!1,this.elastic=Ore(n),i!==this.constraints&&!Jd(t)&&a&&this.constraints&&!this.hasMutatedConstraints&&Ts(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=Rre(a.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Jd(t))return!1;const a=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=Bae(a,i.root,this.visualElement.getTransformPagePoint());let s=Dre(i.layout.layoutBox,r);if(n){const o=n(Fae(s));this.hasMutatedConstraints=!!o,o&&(s=yF(o))}return s}startAnimation(t){const{drag:n,dragMomentum:a,dragElastic:i,dragTransition:r,dragSnapToOrigin:s,onDragTransitionEnd:o}=this.getProps(),c=this.constraints||{},p=Ts(d=>{if(!Cv(d,n,this.currentDirection))return;let m=c&&c[d]||{};(s===!0||s===d)&&(m={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,b={type:"inertia",velocity:a?t[d]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...r,...m};return this.startAxisValueAnimation(d,b)});return Promise.all(p).then(o)}startAxisValueAnimation(t,n){const a=this.getAxisMotionValue(t);return GC(this.visualElement,t),a.start(E4(t,a,0,n,this.visualElement,!1))}stopAnimation(){Ts(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,a=this.visualElement.getProps(),i=a[n];return i||this.visualElement.getValue(t,(a.initial?a.initial[t]:void 0)||0)}snapToCursor(t){Ts(n=>{const{drag:a}=this.getProps();if(!Cv(n,a,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:o}=i.layout.layoutBox[n],c=r.get()||0;r.set(t[n]-vn(s,o,.5)+c)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:a}=this.visualElement;if(!Jd(n)||!a||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Ts(s=>{const o=this.getAxisMotionValue(s);if(o&&this.constraints!==!1){const c=o.get();i[s]=Ire({min:c,max:c},this.constraints[s])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),Ts(s=>{if(!Cv(s,t,null))return;const o=this.getAxisMotionValue(s),{min:c,max:p}=this.constraints[s];o.set(vn(c,p,i[s]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Fre.set(this.visualElement,this);const t=this.visualElement.current,n=rg(t,"pointerdown",p=>{const{drag:d,dragListener:m=!0}=this.getProps(),f=p.target,h=f!==t&&bae(f);d&&m&&!h&&this.start(p)});let a;const i=()=>{const{dragConstraints:p}=this.getProps();Jd(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),a||(a=Hre(t,p.current,()=>this.scalePositionWithinConstraints())))},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),qt.read(i);const o=Lg(window,"resize",()=>this.scalePositionWithinConstraints()),c=r.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:d})=>{this.isDragging&&d&&(Ts(m=>{const f=this.getAxisMotionValue(m);f&&(this.originPoint[m]+=p[m].translate,f.set(f.get()+p[m].translate))}),this.visualElement.render())}));return()=>{o(),n(),s(),c&&c(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:a=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:s=n3,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:a,dragPropagation:i,dragConstraints:r,dragElastic:s,dragMomentum:o}}}function U9(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Hre(e,t,n){const a=YM(e,U9(n)),i=YM(t,U9(n));return()=>{a(),i()}}function Cv(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Bre(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class qre extends fp{constructor(t){super(t),this.removeGroupControls=Nr,this.removeListeners=Nr,this.controls=new zre(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Nr}update(){const{dragControls:t}=this.node.getProps(),{dragControls:n}=this.node.prevProps||{};t!==n&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const f2=e=>(t,n)=>{e&&qt.update(()=>e(t,n),!1,!0)};class Ure extends fp{constructor(){super(...arguments),this.removePointerDownListener=Nr}onPointerDown(t){this.session=new XF(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:YF(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:a,onPanEnd:i}=this.node.getProps();return{onSessionStart:f2(t),onStart:f2(n),onMove:f2(a),onEnd:(r,s)=>{delete this.session,i&&qt.postRender(()=>i(r,s))}}}mount(){this.removePointerDownListener=rg(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let g2=!1;class Vre extends $.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:a,layoutId:i}=this.props,{projection:r}=t;r&&(n.group&&n.group.add(r),a&&a.register&&i&&a.register(r),g2&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Sy.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:a,drag:i,isPresent:r}=this.props,{projection:s}=a;return s&&(s.isPresent=r,t.layoutDependency!==n&&s.setOptions({...s.options,layoutDependency:n}),g2=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==r?s.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?s.promote():s.relegate()||qt.postRender(()=>{const o=s.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:n}=this.props,{projection:a}=t;a&&(a.options.layoutAnchor=n,a.root.didUpdate(),M4.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:a}=this.props,{projection:i}=t;g2=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),a&&a.deregister&&a.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function JF(e){const[t,n]=HF(),a=$.useContext(f4);return _.jsx(Vre,{...e,layoutGroup:a,switchLayoutGroup:$.useContext(WF),isPresent:t,safeToRemove:n})}const Zre={pan:{Feature:Ure},drag:{Feature:qre,ProjectionNode:zF,MeasureLayout:JF}};function V9(e,t,n){const{props:a}=e;e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=a[i];r&&qt.postRender(()=>r(t,Ch(t)))}class Gre extends fp{mount(){const{current:t}=this.node;t&&(this.unmount=mae(t,(n,a)=>(V9(this.node,a,"Start"),i=>V9(this.node,i,"End"))))}unmount(){}}class Wre extends fp{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=kh(Lg(this.node.current,"focus",()=>this.onFocus()),Lg(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Z9(e,t,n){const{props:a}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&a.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=a[i];r&&qt.postRender(()=>r(t,Ch(t)))}class Kre extends fp{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:n,propagate:a}=this.node.props;this.unmount=yae(t,(i,r)=>(Z9(this.node,r,"Start"),(s,{success:o})=>Z9(this.node,s,o?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:a?.tap===!1})}unmount(){}}const a3=new WeakMap,h2=new WeakMap,Yre=e=>{const t=a3.get(e.target);t&&t(e)},Xre=e=>{e.forEach(Yre)};function Qre({root:e,...t}){const n=e||document;h2.has(n)||h2.set(n,{});const a=h2.get(n),i=JSON.stringify(t);return a[i]||(a[i]=new IntersectionObserver(Xre,{root:e,...t})),a[i]}function Jre(e,t,n){const a=Qre(t);return a3.set(e,n),a.observe(e),()=>{a3.delete(e),a.unobserve(e)}}const ese={some:0,all:1};class tse extends fp{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:t={}}=this.node.getProps(),{root:n,margin:a,amount:i="some",once:r}=t,s={root:n?n.current:void 0,rootMargin:a,threshold:typeof i=="number"?i:ese[i]},o=c=>{const{isIntersecting:p}=c;if(this.isInView===p||(this.isInView=p,r&&!p&&this.hasEnteredView))return;p&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",p);const{onViewportEnter:d,onViewportLeave:m}=this.node.getProps(),f=p?d:m;f&&f(c)};this.stopObserver=Jre(this.node.current,s,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(nse(t,n))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function nse({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const ase={inView:{Feature:tse},tap:{Feature:Kre},focus:{Feature:Wre},hover:{Feature:Gre}},ise={layout:{ProjectionNode:zF,MeasureLayout:JF}},rse={...$re,...ase,...Zre,...ise},_t=xre(rse,Are);function ez(e){const t=_h(()=>Cl(e)),{isStatic:n}=$.useContext(Ah);if(n){const[,a]=$.useState(e);$.useEffect(()=>t.on("change",a),[])}return t}function tz(e,t){const n=ez(t()),a=()=>n.set(t());return a(),g4(()=>{const i=()=>qt.preRender(a,!1,!0),r=e.map(s=>s.on("change",i));return()=>{r.forEach(s=>s()),Zo(a)}}),n}function sse(e){ag.current=[],e();const t=tz(ag.current,e);return ag.current=void 0,t}function nz(e,t,n,a){if(typeof e=="function")return sse(e);const r=typeof t=="function"?t:Eae(t,n,a),s=Array.isArray(e)?G9(e,r):G9([e],([c])=>r(c)),o=Array.isArray(e)?void 0:e.accelerate;return o&&!o.isTransformed&&typeof t!="function"&&Array.isArray(n)&&a?.clamp!==!1&&(s.accelerate={...o,times:t,keyframes:n,isTransformed:!0}),s}function G9(e,t){const n=_h(()=>[]);return tz(e,()=>{n.length=0;const a=e.length;for(let i=0;i<a;i++)n[i]=e[i].get();return t(n)})}function ose(e,t={}){const{isStatic:n}=$.useContext(Ah),a=()=>aa(e)?e.get():e;if(n)return nz(a);const i=ez(a());return $.useInsertionEffect(()=>Pae(i,e,t),[i,JSON.stringify(t)]),i}function cse(e,t={}){return ose(e,{type:"spring",...t})}const on={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"},Zn={Plus:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 5v14M5 12h14"})}),X:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M18 6 6 18M6 6l12 12"})}),Search:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("circle",{cx:"11",cy:"11",r:"8"}),_.jsx("path",{d:"m21 21-4.35-4.35"})]}),Refresh:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M21 12a9 9 0 0 1-15 6.5L3 16m0 0v5m0-5h5M3 12a9 9 0 0 1 15-6.5L21 8m0 0V3m0 5h-5"})}),Trash:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h14"})}),Archive:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),_.jsx("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),_.jsx("path",{d:"M10 12h4"})]}),ArchiveRestore:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),_.jsx("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),_.jsx("path",{d:"M12 18v-5m0 0-2 2m2-2 2 2"})]}),ChevronDown:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"m6 9 6 6 6-6"})}),Command:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"})}),LayoutBoard:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"3",y:"3",width:"7",height:"18",rx:"1"}),_.jsx("rect",{x:"14",y:"3",width:"7",height:"12",rx:"1"})]}),LayoutList:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"})}),Density:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M4 6h16M4 12h16M4 18h16"})}),Folder:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})}),Check:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M20 6 9 17l-5-5"})}),Circle:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("circle",{cx:"12",cy:"12",r:"9"})}),Arrow:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M5 12h14M12 5l7 7-7 7"})}),ArrowLeft:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M19 12H5M12 19l-7-7 7-7"})}),Settings:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),LinkBreak:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),_.jsx("path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),_.jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),_.jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),_.jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),_.jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]}),Pencil:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"})}),Edit:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 20h9M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})}),Eye:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),EyeOff:({size:e=12,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"}),_.jsx("path",{d:"M3 3l18 18"})]}),Sun:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("circle",{cx:"12",cy:"12",r:"4"}),_.jsx("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"})]}),Moon:({size:e=14,...t})=>_.jsx("svg",{...on,width:e,height:e,...t,children:_.jsx("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"})}),Keyboard:({size:e=14,...t})=>_.jsxs("svg",{...on,width:e,height:e,...t,children:[_.jsx("rect",{x:"2",y:"6",width:"20",height:"12",rx:"2"}),_.jsx("path",{d:"M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4"})]})};function W9(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pse(...e){return t=>{let n=!1;const a=e.map(i=>{const r=W9(i,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;i<a.length;i++){const r=a[i];typeof r=="function"?r():W9(e[i],null)}}}}var lse=Symbol.for("react.lazy"),f_=m4[" use ".trim().toString()];function dse(e){return typeof e=="object"&&e!==null&&"then"in e}function az(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===lse&&"_payload"in e&&dse(e._payload)}function use(e){const t=fse(e),n=$.forwardRef((a,i)=>{let{children:r,...s}=a;az(r)&&typeof f_=="function"&&(r=f_(r._payload));const o=$.Children.toArray(r),c=o.find(hse);if(c){const p=c.props.children,d=o.map(m=>m===c?$.Children.count(p)>1?$.Children.only(null):$.isValidElement(p)?p.props.children:null:m);return _.jsx(t,{...s,ref:i,children:$.isValidElement(p)?$.cloneElement(p,void 0,d):null})}return _.jsx(t,{...s,ref:i,children:r})});return n.displayName=`${e}.Slot`,n}var mse=use("Slot");function fse(e){const t=$.forwardRef((n,a)=>{let{children:i,...r}=n;if(az(i)&&typeof f_=="function"&&(i=f_(i._payload)),$.isValidElement(i)){const s=vse(i),o=bse(r,i.props);return i.type!==$.Fragment&&(o.ref=a?pse(a,s):s),$.cloneElement(i,o)}return $.Children.count(i)>1?$.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gse=Symbol("radix.slottable");function hse(e){return $.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gse}function bse(e,t){const n={...t};for(const a in t){const i=e[a],r=t[a];/^on[A-Z]/.test(a)?i&&r?n[a]=(...o)=>{const c=r(...o);return i(...o),c}:i&&(n[a]=i):a==="style"?n[a]={...i,...r}:a==="className"&&(n[a]=[i,r].filter(Boolean).join(" "))}return{...e,...n}}function vse(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function iz(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=iz(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function hs(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=iz(e))&&(a&&(a+=" "),a+=t);return a}const K9=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Y9=hs,yse=(e,t)=>n=>{var a;if(t?.variants==null)return Y9(e,n?.class,n?.className);const{variants:i,defaultVariants:r}=t,s=Object.keys(i).map(p=>{const d=n?.[p],m=r?.[p];if(d===null)return null;const f=K9(d)||K9(m);return i[p][f]}),o=n&&Object.entries(n).reduce((p,d)=>{let[m,f]=d;return f===void 0||(p[m]=f),p},{}),c=t==null||(a=t.compoundVariants)===null||a===void 0?void 0:a.reduce((p,d)=>{let{class:m,className:f,...h}=d;return Object.entries(h).every(b=>{let[k,w]=b;return Array.isArray(w)?w.includes({...r,...o}[k]):{...r,...o}[k]===w})?[...p,m,f]:p},[]);return Y9(e,s,c,n?.class,n?.className)},_se=(e,t)=>{const n=new Array(e.length+t.length);for(let a=0;a<e.length;a++)n[a]=e[a];for(let a=0;a<t.length;a++)n[e.length+a]=t[a];return n},kse=(e,t)=>({classGroupId:e,validator:t}),rz=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),g_="-",X9=[],wse="arbitrary..",xse=e=>{const t=Cse(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Ase(s);const o=s.split(g_),c=o[0]===""&&o.length>1?1:0;return sz(o,c,t)},getConflictingClassGroupIds:(s,o)=>{if(o){const c=a[s],p=n[s];return c?p?_se(p,c):c:p||X9}return n[s]||X9}}},sz=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],r=n.nextPart.get(i);if(r){const p=sz(e,t+1,r);if(p)return p}const s=n.validators;if(s===null)return;const o=t===0?e.join(g_):e.slice(t).join(g_),c=s.length;for(let p=0;p<c;p++){const d=s[p];if(d.validator(o))return d.classGroupId}},Ase=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),a=t.slice(0,n);return a?wse+a:void 0})(),Cse=e=>{const{theme:t,classGroups:n}=e;return Nse(n,t)},Nse=(e,t)=>{const n=rz();for(const a in e){const i=e[a];B4(i,n,a,t)}return n},B4=(e,t,n,a)=>{const i=e.length;for(let r=0;r<i;r++){const s=e[r];Sse(s,t,n,a)}},Sse=(e,t,n,a)=>{if(typeof e=="string"){$se(e,t,n);return}if(typeof e=="function"){Ese(e,t,n,a);return}Pse(e,t,n,a)},$se=(e,t,n)=>{const a=e===""?t:oz(t,e);a.classGroupId=n},Ese=(e,t,n,a)=>{if(Tse(e)){B4(e(a),t,n,a);return}t.validators===null&&(t.validators=[]),t.validators.push(kse(n,e))},Pse=(e,t,n,a)=>{const i=Object.entries(e),r=i.length;for(let s=0;s<r;s++){const[o,c]=i[s];B4(c,oz(t,o),n,a)}},oz=(e,t)=>{let n=e;const a=t.split(g_),i=a.length;for(let r=0;r<i;r++){const s=a[r];let o=n.nextPart.get(s);o||(o=rz(),n.nextPart.set(s,o)),n=o}return n},Tse=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Lse=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),a=Object.create(null);const i=(r,s)=>{n[r]=s,t++,t>e&&(t=0,a=n,n=Object.create(null))};return{get(r){let s=n[r];if(s!==void 0)return s;if((s=a[r])!==void 0)return i(r,s),s},set(r,s){r in n?n[r]=s:i(r,s)}}},i3="!",Q9=":",Mse=[],J9=(e,t,n,a,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:a,isExternal:i}),jse=e=>{const{prefix:t,experimentalParseClassName:n}=e;let a=i=>{const r=[];let s=0,o=0,c=0,p;const d=i.length;for(let k=0;k<d;k++){const w=i[k];if(s===0&&o===0){if(w===Q9){r.push(i.slice(c,k)),c=k+1;continue}if(w==="/"){p=k;continue}}w==="["?s++:w==="]"?s--:w==="("?o++:w===")"&&o--}const m=r.length===0?i:i.slice(c);let f=m,h=!1;m.endsWith(i3)?(f=m.slice(0,-1),h=!0):m.startsWith(i3)&&(f=m.slice(1),h=!0);const b=p&&p>c?p-c:void 0;return J9(r,h,f,b)};if(t){const i=t+Q9,r=a;a=s=>s.startsWith(i)?r(s.slice(i.length)):J9(Mse,!1,s,void 0,!0)}if(n){const i=a;a=r=>n({className:r,parseClassName:i})}return a},Dse=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,a)=>{t.set(n,1e6+a)}),n=>{const a=[];let i=[];for(let r=0;r<n.length;r++){const s=n[r],o=s[0]==="[",c=t.has(s);o||c?(i.length>0&&(i.sort(),a.push(...i),i=[]),a.push(s)):i.push(s)}return i.length>0&&(i.sort(),a.push(...i)),a}},Ise=e=>({cache:Lse(e.cacheSize),parseClassName:jse(e),sortModifiers:Dse(e),...xse(e)}),Rse=/\s+/,Ose=(e,t)=>{const{parseClassName:n,getClassGroupId:a,getConflictingClassGroupIds:i,sortModifiers:r}=t,s=[],o=e.trim().split(Rse);let c="";for(let p=o.length-1;p>=0;p-=1){const d=o[p],{isExternal:m,modifiers:f,hasImportantModifier:h,baseClassName:b,maybePostfixModifierPosition:k}=n(d);if(m){c=d+(c.length>0?" "+c:c);continue}let w=!!k,x=a(w?b.substring(0,k):b);if(!x){if(!w){c=d+(c.length>0?" "+c:c);continue}if(x=a(b),!x){c=d+(c.length>0?" "+c:c);continue}w=!1}const S=f.length===0?"":f.length===1?f[0]:r(f).join(":"),E=h?S+i3:S,P=E+x;if(s.indexOf(P)>-1)continue;s.push(P);const L=i(x,w);for(let j=0;j<L.length;++j){const F=L[j];s.push(E+F)}c=d+(c.length>0?" "+c:c)}return c},Fse=(...e)=>{let t=0,n,a,i="";for(;t<e.length;)(n=e[t++])&&(a=cz(n))&&(i&&(i+=" "),i+=a);return i},cz=e=>{if(typeof e=="string")return e;let t,n="";for(let a=0;a<e.length;a++)e[a]&&(t=cz(e[a]))&&(n&&(n+=" "),n+=t);return n},zse=(e,...t)=>{let n,a,i,r;const s=c=>{const p=t.reduce((d,m)=>m(d),e());return n=Ise(p),a=n.cache.get,i=n.cache.set,r=o,o(c)},o=c=>{const p=a(c);if(p)return p;const d=Ose(c,n);return i(c,d),d};return r=s,(...c)=>r(Fse(...c))},Hse=[],Jn=e=>{const t=n=>n[e]||Hse;return t.isThemeGetter=!0,t},pz=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,lz=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Bse=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,qse=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Use=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Vse=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zse=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Gse=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Nc=e=>Bse.test(e),pt=e=>!!e&&!Number.isNaN(Number(e)),Sc=e=>!!e&&Number.isInteger(Number(e)),b2=e=>e.endsWith("%")&&pt(e.slice(0,-1)),wo=e=>qse.test(e),dz=()=>!0,Wse=e=>Use.test(e)&&!Vse.test(e),q4=()=>!1,Kse=e=>Zse.test(e),Yse=e=>Gse.test(e),Xse=e=>!Me(e)&&!De(e),Qse=e=>gp(e,fz,q4),Me=e=>pz.test(e),Kp=e=>gp(e,gz,Wse),ej=e=>gp(e,soe,pt),Jse=e=>gp(e,bz,dz),eoe=e=>gp(e,hz,q4),tj=e=>gp(e,uz,q4),toe=e=>gp(e,mz,Yse),Nv=e=>gp(e,vz,Kse),De=e=>lz.test(e),Nf=e=>Vl(e,gz),noe=e=>Vl(e,hz),nj=e=>Vl(e,uz),aoe=e=>Vl(e,fz),ioe=e=>Vl(e,mz),Sv=e=>Vl(e,vz,!0),roe=e=>Vl(e,bz,!0),gp=(e,t,n)=>{const a=pz.exec(e);return a?a[1]?t(a[1]):n(a[2]):!1},Vl=(e,t,n=!1)=>{const a=lz.exec(e);return a?a[1]?t(a[1]):n:!1},uz=e=>e==="position"||e==="percentage",mz=e=>e==="image"||e==="url",fz=e=>e==="length"||e==="size"||e==="bg-size",gz=e=>e==="length",soe=e=>e==="number",hz=e=>e==="family-name",bz=e=>e==="number"||e==="weight",vz=e=>e==="shadow",ooe=()=>{const e=Jn("color"),t=Jn("font"),n=Jn("text"),a=Jn("font-weight"),i=Jn("tracking"),r=Jn("leading"),s=Jn("breakpoint"),o=Jn("container"),c=Jn("spacing"),p=Jn("radius"),d=Jn("shadow"),m=Jn("inset-shadow"),f=Jn("text-shadow"),h=Jn("drop-shadow"),b=Jn("blur"),k=Jn("perspective"),w=Jn("aspect"),x=Jn("ease"),S=Jn("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...P(),De,Me],j=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],z=()=>[De,Me,c],R=()=>[Nc,"full","auto",...z()],M=()=>[Sc,"none","subgrid",De,Me],K=()=>["auto",{span:["full",Sc,De,Me]},Sc,De,Me],J=()=>[Sc,"auto",De,Me],W=()=>["auto","min","max","fr",De,Me],B=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],H=()=>["auto",...z()],U=()=>[Nc,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],Y=()=>[Nc,"screen","full","dvw","lvw","svw","min","max","fit",...z()],ae=()=>[Nc,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],D=()=>[e,De,Me],Z=()=>[...P(),nj,tj,{position:[De,Me]}],te=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",aoe,Qse,{size:[De,Me]}],he=()=>[b2,Nf,Kp],be=()=>["","none","full",p,De,Me],ke=()=>["",pt,Nf,Kp],Pe=()=>["solid","dashed","dotted","double"],Re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ne=()=>[pt,b2,nj,tj],ht=()=>["","none",b,De,Me],Et=()=>["none",pt,De,Me],Le=()=>["none",pt,De,Me],Ee=()=>[pt,De,Me],Oe=()=>[Nc,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[wo],breakpoint:[wo],color:[dz],container:[wo],"drop-shadow":[wo],ease:["in","out","in-out"],font:[Xse],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[wo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[wo],shadow:[wo],spacing:["px",pt],text:[wo],"text-shadow":[wo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Nc,Me,De,w]}],container:["container"],columns:[{columns:[pt,Me,De,o]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{"inset-s":R(),start:R()}],end:[{"inset-e":R(),end:R()}],"inset-bs":[{"inset-bs":R()}],"inset-be":[{"inset-be":R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[Sc,"auto",De,Me]}],basis:[{basis:[Nc,"full","auto",o,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[pt,Nc,"auto","initial","none",Me]}],grow:[{grow:["",pt,De,Me]}],shrink:[{shrink:["",pt,De,Me]}],order:[{order:[Sc,"first","last","none",De,Me]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:K()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:K()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...B(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...B()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":B()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:H()}],mx:[{mx:H()}],my:[{my:H()}],ms:[{ms:H()}],me:[{me:H()}],mbs:[{mbs:H()}],mbe:[{mbe:H()}],mt:[{mt:H()}],mr:[{mr:H()}],mb:[{mb:H()}],ml:[{ml:H()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],"inline-size":[{inline:["auto",...Y()]}],"min-inline-size":[{"min-inline":["auto",...Y()]}],"max-inline-size":[{"max-inline":["none",...Y()]}],"block-size":[{block:["auto",...ae()]}],"min-block-size":[{"min-block":["auto",...ae()]}],"max-block-size":[{"max-block":["none",...ae()]}],w:[{w:[o,"screen",...U()]}],"min-w":[{"min-w":[o,"screen","none",...U()]}],"max-w":[{"max-w":[o,"screen","none","prose",{screen:[s]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",n,Nf,Kp]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,roe,Jse]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",b2,Me]}],"font-family":[{font:[noe,eoe,t]}],"font-features":[{"font-features":[Me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,De,Me]}],"line-clamp":[{"line-clamp":[pt,"none",De,ej]}],leading:[{leading:[r,...z()]}],"list-image":[{"list-image":["none",De,Me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",De,Me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[pt,"from-font","auto",De,Kp]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[pt,"auto",De,Me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",De,Me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",De,Me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Z()}],"bg-repeat":[{bg:te()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Sc,De,Me],radial:["",De,Me],conic:[Sc,De,Me]},ioe,toe]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:he()}],"gradient-via-pos":[{via:he()}],"gradient-to-pos":[{to:he()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:be()}],"rounded-s":[{"rounded-s":be()}],"rounded-e":[{"rounded-e":be()}],"rounded-t":[{"rounded-t":be()}],"rounded-r":[{"rounded-r":be()}],"rounded-b":[{"rounded-b":be()}],"rounded-l":[{"rounded-l":be()}],"rounded-ss":[{"rounded-ss":be()}],"rounded-se":[{"rounded-se":be()}],"rounded-ee":[{"rounded-ee":be()}],"rounded-es":[{"rounded-es":be()}],"rounded-tl":[{"rounded-tl":be()}],"rounded-tr":[{"rounded-tr":be()}],"rounded-br":[{"rounded-br":be()}],"rounded-bl":[{"rounded-bl":be()}],"border-w":[{border:ke()}],"border-w-x":[{"border-x":ke()}],"border-w-y":[{"border-y":ke()}],"border-w-s":[{"border-s":ke()}],"border-w-e":[{"border-e":ke()}],"border-w-bs":[{"border-bs":ke()}],"border-w-be":[{"border-be":ke()}],"border-w-t":[{"border-t":ke()}],"border-w-r":[{"border-r":ke()}],"border-w-b":[{"border-b":ke()}],"border-w-l":[{"border-l":ke()}],"divide-x":[{"divide-x":ke()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ke()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Pe(),"hidden","none"]}],"divide-style":[{divide:[...Pe(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...Pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[pt,De,Me]}],"outline-w":[{outline:["",pt,Nf,Kp]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,Sv,Nv]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",m,Sv,Nv]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:ke()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[pt,Kp]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":ke()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",f,Sv,Nv]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[pt,De,Me]}],"mix-blend":[{"mix-blend":[...Re(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Re()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[pt]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ne()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":Ne()}],"mask-image-t-to-pos":[{"mask-t-to":Ne()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":Ne()}],"mask-image-r-to-pos":[{"mask-r-to":Ne()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":Ne()}],"mask-image-b-to-pos":[{"mask-b-to":Ne()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":Ne()}],"mask-image-l-to-pos":[{"mask-l-to":Ne()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":Ne()}],"mask-image-x-to-pos":[{"mask-x-to":Ne()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":Ne()}],"mask-image-y-to-pos":[{"mask-y-to":Ne()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[De,Me]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ne()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[pt]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ne()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Z()}],"mask-repeat":[{mask:te()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",De,Me]}],filter:[{filter:["","none",De,Me]}],blur:[{blur:ht()}],brightness:[{brightness:[pt,De,Me]}],contrast:[{contrast:[pt,De,Me]}],"drop-shadow":[{"drop-shadow":["","none",h,Sv,Nv]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",pt,De,Me]}],"hue-rotate":[{"hue-rotate":[pt,De,Me]}],invert:[{invert:["",pt,De,Me]}],saturate:[{saturate:[pt,De,Me]}],sepia:[{sepia:["",pt,De,Me]}],"backdrop-filter":[{"backdrop-filter":["","none",De,Me]}],"backdrop-blur":[{"backdrop-blur":ht()}],"backdrop-brightness":[{"backdrop-brightness":[pt,De,Me]}],"backdrop-contrast":[{"backdrop-contrast":[pt,De,Me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",pt,De,Me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[pt,De,Me]}],"backdrop-invert":[{"backdrop-invert":["",pt,De,Me]}],"backdrop-opacity":[{"backdrop-opacity":[pt,De,Me]}],"backdrop-saturate":[{"backdrop-saturate":[pt,De,Me]}],"backdrop-sepia":[{"backdrop-sepia":["",pt,De,Me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",De,Me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[pt,"initial",De,Me]}],ease:[{ease:["linear","initial",x,De,Me]}],delay:[{delay:[pt,De,Me]}],animate:[{animate:["none",S,De,Me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,De,Me]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Et()}],"rotate-x":[{"rotate-x":Et()}],"rotate-y":[{"rotate-y":Et()}],"rotate-z":[{"rotate-z":Et()}],scale:[{scale:Le()}],"scale-x":[{"scale-x":Le()}],"scale-y":[{"scale-y":Le()}],"scale-z":[{"scale-z":Le()}],"scale-3d":["scale-3d"],skew:[{skew:Ee()}],"skew-x":[{"skew-x":Ee()}],"skew-y":[{"skew-y":Ee()}],transform:[{transform:[De,Me,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Oe()}],"translate-x":[{"translate-x":Oe()}],"translate-y":[{"translate-y":Oe()}],"translate-z":[{"translate-z":Oe()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",De,Me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",De,Me]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[pt,Nf,Kp,ej]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},coe=zse(ooe);function r3(...e){return coe(hs(e))}const poe=yse("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[10px] text-[15px] font-semibold transition-all outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring/70 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground border border-primary hover:bg-primary/90 hover:border-primary/90 shadow-sm",destructive:"bg-transparent text-danger border border-border-strong hover:bg-danger/10 hover:border-danger shadow-sm",outline:"bg-transparent text-fg border border-border-strong hover:bg-bg-2 hover:border-border-focus",secondary:"bg-transparent text-fg-dim border border-transparent hover:bg-bg-2 hover:text-fg",ghost:"bg-transparent text-fg-dim border border-transparent hover:bg-bg-2 hover:text-fg",link:"text-primary underline-offset-4 hover:underline",icon:"w-11 h-11 p-0 text-fg-dim bg-transparent border border-transparent hover:bg-bg-2 hover:text-fg"},size:{default:"h-11 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-11 w-11"}},defaultVariants:{variant:"default",size:"default"}}),hu=$.forwardRef(({className:e,variant:t,size:n,asChild:a=!1,...i},r)=>{const s=a?mse:"button";return _.jsx(s,{className:r3(poe({variant:t,size:n,className:e})),ref:r,...i})});hu.displayName="Button";function da({onClick:e,variant:t="secondary",icon:n,label:a,shortcut:i,title:r,className:s="",disabled:o=!1,type:c="button",isIconOnly:p=!1,iconSize:d=22}){const m=n?Zn[n]:null;let f="secondary";switch(t){case"primary":f="default";break;case"secondary":f="outline";break;case"ghost":f="ghost";break;case"danger":f="destructive";break;case"icon":f="icon";break}const h=t==="primary"?{color:"rgba(0,0,0,0.7)",background:"rgba(0,0,0,0.15)",borderColor:"rgba(0,0,0,0.2)"}:void 0;return p||t==="icon"?_.jsx(hu,{type:c,variant:"icon",size:"icon",onClick:e,disabled:o,title:r,className:s,children:m&&_.jsx(m,{size:d})}):_.jsxs(hu,{type:c,variant:f,onClick:e,disabled:o,title:r,className:s,children:[m&&_.jsx(m,{size:d,className:"-ms-1 me-2 opacity-60"}),a&&_.jsx("span",{children:a}),i&&_.jsx("kbd",{className:"-me-1 ms-3 inline-flex h-5 max-h-full items-center rounded border border-border bg-background px-1 font-[inherit] text-[0.625rem] font-medium text-muted-foreground/70",style:h,children:i})]})}const aj=e=>{let t;const n=new Set,a=(p,d)=>{const m=typeof p=="function"?p(t):p;if(!Object.is(m,t)){const f=t;t=d??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(h=>h(t,f))}},i=()=>t,o={setState:a,getState:i,getInitialState:()=>c,subscribe:p=>(n.add(p),()=>n.delete(p))},c=t=e(a,i,o);return o},loe=(e=>e?aj(e):aj),doe=e=>e;function uoe(e,t=doe){const n=na.useSyncExternalStore(e.subscribe,na.useCallback(()=>t(e.getState()),[e,t]),na.useCallback(()=>t(e.getInitialState()),[e,t]));return na.useDebugValue(n),n}const ij=e=>{const t=loe(e),n=a=>uoe(t,a);return Object.assign(n,t),n},moe=(e=>e?ij(e):ij),s3=["Backlog","Todo","In Progress","Review","Done"],Ci={ui:{language:"en",theme:"auto",skin:"kandown",font:"inter",background:"solid"},agent:{suggestFollowUp:!1,maxSuggestions:3},board:{columns:s3,defaultPriority:"P3",defaultOwnerType:"human",columnColors:{backlog:"red",todo:"blue","in progress":"orange",review:"violet",done:"green"},stackDefaultState:"collapsed"},fields:{priority:!1,assignee:!1,tags:!1,dueDate:!1,ownerType:!1,tools:!1},notifications:{browser:!1,sound:!1,soundId:"soft",statusChanges:!0,taskEdits:!0,subtaskCompletions:!0,editDebounceMs:2e3}};function U4(e,t){const n=["---"];if(e&&typeof e=="object"){for(const[a,i]of Object.entries(e))if(!(i==null||i===""))if(Array.isArray(i)){if(i.length===0)continue;n.push(`${a}: [${i.join(", ")}]`)}else typeof i=="string"&&i.includes(`
|
|
86
86
|
`)?(n.push(`${a}: |`),n.push(...i.split(`
|
|
87
87
|
`).map(r=>r===""?"":` ${r}`))):(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&n.push(`${a}: ${i}`)}return n.push("---"),n.push(""),n.push((t??"").trim()),n.push(""),n.join(`
|
|
88
88
|
`)}function foe(e){const t={};if(!e||typeof e!="string")return t;const n=e.split(`
|
|
@@ -113,7 +113,7 @@ Error generating stack: `+y.message+`
|
|
|
113
113
|
|
|
114
114
|
## Subtasks
|
|
115
115
|
|
|
116
|
-
`}}async function joe(e,t){try{return await(await(await(await e.getDirectoryHandle("archive",{create:!1})).getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}}async function Doe(e,t){try{return await(await e.getDirectoryHandle("archive",{create:!1})).getFileHandle(`${t}.md`),!0}catch{return!1}}async function Nz(e,t){try{return await e.getDirectoryHandle("archive",{create:t})}catch{return null}}async function Ioe(e){if(Qt())return V4();const t=new Set;for await(const n of e.values())n.kind==="file"&&n.name.endsWith(".md")&&t.add(n.name.slice(0,-3));try{const n=await e.getDirectoryHandle("archive",{create:!1});for await(const a of n.values())a.kind==="file"&&a.name.endsWith(".md")&&t.add(a.name.slice(0,-3))}catch{}return[...t].sort((n,a)=>n.localeCompare(a,void 0,{numeric:!0}))}async function Wr(e,t){if(Qt())try{const i=await Cz(t);return o3(i)}catch{return oj(t)}const a=await(async i=>{try{return await(await(await i.getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}})(e)??await joe(e,t);return a!==null?o3(a):oj(t)}async function eu(e,t,n,a){const i=U4(n,a);if(Qt())return Noe(t,i);const o=await(await(await Doe(e,t)?await Nz(e,!0):e).getFileHandle(`${t}.md`,{create:!0})).createWritable();await o.write(i),await o.close()}async function cj(e,t){if(Qt())return Soe(t);try{await e.removeEntry(`${t}.md`)}catch{}try{await(await e.getDirectoryHandle("archive",{create:!1})).removeEntry(`${t}.md`)}catch{}}async function Roe(e,t){await bs(`/api/tasks/${encodeURIComponent(e)}/archive`,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})}async function Ooe(e,t){await bs(`/api/tasks/${encodeURIComponent(e)}/unarchive`,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})}async function Foe(e,t,n,a){const i=U4(n,a);if(Qt())return Roe(t,i);const o=await(await(await Nz(e,!0)).getFileHandle(`${t}.md`,{create:!0})).createWritable();await o.write(i),await o.close();try{await e.removeEntry(`${t}.md`)}catch{}}async function zoe(e,t,n,a){const i=U4(n,a);if(Qt())return Ooe(t,i);const s=await(await e.getFileHandle(`${t}.md`,{create:!0})).createWritable();await s.write(i),await s.close();try{await(await e.getDirectoryHandle("archive",{create:!1})).removeEntry(`${t}.md`)}catch{}}const Hoe="kanban-md",Boe=1,Mu="recentProjects";function Sz(){return new Promise((e,t)=>{const n=indexedDB.open(Hoe,Boe);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{const a=n.result;a.objectStoreNames.contains(Mu)||a.createObjectStore(Mu,{keyPath:"id"})}})}async function k2(e){const t=await Sz();return new Promise((n,a)=>{const i=t.transaction(Mu,"readwrite");i.objectStore(Mu).put(e),i.oncomplete=()=>n(),i.onerror=()=>a(i.error)})}async function l3(){const e=await Sz();return new Promise((t,n)=>{const i=e.transaction(Mu,"readonly").objectStore(Mu).getAll();i.onsuccess=()=>{const r=i.result||[];r.sort((s,o)=>o.lastOpened-s.lastOpened),t(r.slice(0,10))},i.onerror=()=>n(i.error)})}async function pj(e,t=!0){const n={mode:t?"readwrite":"read"};return await e.queryPermission(n)==="granted"||await e.requestPermission(n)==="granted"}function $z(e=Ci){const t=e.board.columns;return t[t.length-1]??"Done"}function qoe(e,t=Ci){return e===$z(t)||e.toLowerCase()==="archived"}class Uoe{dirHandle=null;tasksDirHandle=null;intervalId=null;configHash=null;taskHashes=new Map;knownTaskIds=new Set;listeners=new Map;debounceTimers=new Map;debounceDelay=150;start(t,n){this.dirHandle=t,this.tasksDirHandle=n,this.initHashes(),this.intervalId=setInterval(()=>void this.tick(),300)}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.configHash=null,this.taskHashes.clear(),this.knownTaskIds.clear(),this.listeners.clear(),this.debounceTimers.forEach(t=>clearTimeout(t)),this.debounceTimers.clear()}on(t,n){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(n),()=>{this.listeners.get(t)?.delete(n)}}getKnownTaskIds(){return Array.from(this.knownTaskIds)}async initHashes(){if(!this.dirHandle||!this.tasksDirHandle)return;const t=await lj(this.dirHandle);t!==null&&(this.configHash=await this.hash(t)),await this.syncTaskDir(!1)}async tick(){if(!this.dirHandle||!this.tasksDirHandle)return;const t=await lj(this.dirHandle);if(t!==null){const n=await this.hash(t);this.configHash!==null&&n!==this.configHash&&(this.configHash=n,this.debouncedEmit("configChanged"))}for(const n of this.knownTaskIds){const a=await dj(this.tasksDirHandle,n);if(a!==null){const i=await this.hash(a),r=this.taskHashes.get(n);r!==void 0&&i!==r&&(this.taskHashes.set(n,i),this.debouncedEmit("taskChanged",n))}}await this.syncTaskDir(!0)}debouncedEmit(t,...n){const a=t+JSON.stringify(n),i=this.debounceTimers.get(a);i&&clearTimeout(i);const r=setTimeout(()=>{this.debounceTimers.delete(a),this.emit(t,...n)},this.debounceDelay);this.debounceTimers.set(a,r)}async syncTaskDir(t){if(this.tasksDirHandle){for await(const n of this.tasksDirHandle.values())if(n.kind==="file"&&n.name.endsWith(".md")){const a=n.name.replace(".md","");if(!this.knownTaskIds.has(a)){this.knownTaskIds.add(a);const i=await dj(this.tasksDirHandle,a);i!==null&&(this.taskHashes.set(a,await this.hash(i)),t&&this.debouncedEmit("newTaskDetected",a))}}}}async hash(t){const a=new TextEncoder().encode(t),i=await crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(i)).map(s=>s.toString(16).padStart(2,"0")).join("")}emit(t,...n){this.listeners.get(t)?.forEach(i=>{if(t==="configChanged"){i();return}if(t==="taskChanged"){const[s]=n;i(s);return}const[r]=n;i(r)})}}async function lj(e){try{return await(await(await e.getFileHandle("kandown.json")).getFile()).text()}catch{return null}}async function dj(e,t){try{return await(await(await e.getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}}const tu=new Uoe,Voe={soft:[{frequency:520,durationMs:90,delayMs:0,type:"sine"},{frequency:720,durationMs:120,delayMs:95,type:"sine"}],chime:[{frequency:660,durationMs:120,delayMs:0,type:"triangle"},{frequency:880,durationMs:160,delayMs:125,type:"triangle"}],ping:[{frequency:920,durationMs:110,delayMs:0,type:"sine"}],pop:[{frequency:260,durationMs:55,delayMs:0,type:"square"},{frequency:520,durationMs:80,delayMs:60,type:"square"}]};let uj=null;function Ez(){return"Notification"in window?Notification.permission:"unsupported"}async function Zoe(){return"Notification"in window?await Notification.requestPermission():"unsupported"}function w2({title:e,body:t,config:n}){if(n.notifications.sound&&Goe(n.notifications.soundId),!(!n.notifications.browser||Ez()!=="granted"))try{new Notification(e,{body:t})}catch{}}function Goe(e){const t=Voe[e],n=window.AudioContext??window.webkitAudioContext;if(!(!n||t.length===0))try{uj??=new n;const a=uj;a.state==="suspended"&&a.resume();const i=a.currentTime+.01;t.forEach(r=>{const s=a.createOscillator(),o=a.createGain(),c=i+r.delayMs/1e3,p=c+r.durationMs/1e3;s.type=r.type??"sine",s.frequency.setValueAtTime(r.frequency,c),o.gain.setValueAtTime(1e-4,c),o.gain.exponentialRampToValueAtTime(.08,c+.01),o.gain.exponentialRampToValueAtTime(1e-4,p),s.connect(o),o.connect(a.destination),s.start(c),s.stop(p+.02)})}catch{}}function Woe(e){let t=-1;for(const n of e)for(const a of n.tasks){const i=a.id.match(/^t(\d+)$/);if(i){const r=parseInt(i[1],10);r>t&&(t=r)}}return"t"+(t+1)}async function Koe(){const e=await V4();return await Promise.all(e.map(async n=>{const{frontmatter:a,body:i}=await Az(n),r={...a,id:a.id||n,status:a.status||"Backlog"},{subtasks:s,bodyWithoutSubtasks:o}=Ds(i);return{id:n,frontmatter:r,body:o,subtasks:s}}))}async function Yoe(e){const t=await Ioe(e);return await Promise.all(t.map(async a=>{const{frontmatter:i,body:r}=await Wr(e,a),s={...i,id:i.id||a,status:i.status||"Backlog"},{subtasks:o,bodyWithoutSubtasks:c}=Ds(r);return{id:a,frontmatter:s,body:c,subtasks:o}}))}async function mj(e,t,n){const a=[];for(const i of t){const r=i.name;i.tasks.forEach((s,o)=>{a.push((async()=>{const{frontmatter:c,body:p}=await Wr(e,s.id);await eu(e,s.id,{...c,id:s.id,status:r,order:o},p)})())})}await Promise.all(a)}function nl(e){woe(e.ui.theme,e.ui.skin,e.ui.font,e.ui.background)}function d3(e){return{title:e.frontmatter.title||e.id,status:e.frontmatter.status||"Backlog",body:e.body,subtasks:e.subtasks}}function x2(e){du.clear(),e.forEach(t=>{du.set(t.id,d3(t))})}function Xoe(e){const t=e.split(/[\\/]+/).filter(Boolean),n=t[t.length-1];return n===".kandown"?t[t.length-2]??"Project":n??"Project"}function Qoe(e,t){return t.reduce((n,a,i)=>{const r=e[i]?.done??!1;return n+(a.done&&!r?1:0)},0)}function Joe(e,t){const n=e.subtasks.map(i=>({text:i.text,description:i.description??"",report:i.report??""})),a=t.subtasks.map(i=>({text:i.text,description:i.description??"",report:i.report??""}));return e.title!==t.title||e.body!==t.body||JSON.stringify(n)!==JSON.stringify(a)}let ece=0;const du=new Map,Ef=new Map;let A2=null;const fe=moe((e,t)=>({isOpen:!1,loading:!1,dirHandle:null,projectName:null,tasksDirHandle:null,boardTitle:"Project Kanban",columns:[],archivedTasks:[],showArchives:!1,showMetadata:!0,taskContents:new Map,searchMatches:new Map,viewMode:localStorage.getItem("kandown:view")||"board",density:localStorage.getItem("kandown:density")||"comfortable",filters:{search:"",priority:null,tag:null,assignee:null,ownerType:null},commandOpen:!1,cheatsheetOpen:!1,drawerTaskId:null,drawerData:null,currentPage:"board",config:Ci,recentProjects:[],toasts:[],agentHook:null,drawerBaseVersion:null,conflictState:null,showConflictModal:!1,openFolder:async()=>{const n=await Toe();if(!n)return;const{projectHandle:a,kandownHandle:i,tasksHandle:r}=n,s=a.name;e({dirHandle:i,tasksDirHandle:r,projectName:s}),window.history.pushState({},"",`?p=${encodeURIComponent(s)}`);const o=Qt()?_2():null;await k2({id:a.name,name:a.name,handle:a,lastOpened:Date.now(),...o?{kandownDir:o}:{}}),await t().loadConfig(),await t().reloadBoard();const c=await l3();e({recentProjects:c}),t().setupWatcher()},openRecentProject:async n=>{if(!await pj(n.handle,!0)){t().toast("Permission denied","error");return}const i=await c3(n.handle),r=await p3(n.handle),s=n.handle.name;e({dirHandle:i,tasksDirHandle:r,projectName:s}),window.history.pushState({},"",`?p=${encodeURIComponent(s)}`),await k2({...n,lastOpened:Date.now()}),await t().loadConfig(),await t().reloadBoard(),t().setupWatcher()},openServerProject:async()=>{e({loading:!0});try{const n=_2();if(!n)throw new Error("No server root");await sj();const a=Xoe(n),i=await xz();nl(i);const r=await V4(),s=await Promise.all(r.map(async f=>{const{frontmatter:h,body:b}=await Az(f),k={...h,id:h.id||f,status:h.status||"Backlog"},{subtasks:w,bodyWithoutSubtasks:x}=Ds(b);return{id:f,frontmatter:k,body:x,subtasks:w}}));x2(s);const o=s.map(f=>({frontmatter:f.frontmatter,body:zd(f.body,f.subtasks)})),c=v2(o,i.board.columns),p=y2(o),d=c.reduce((f,h)=>f+h.tasks.length,0),m=new Map;if(d<=10)for(const f of s)m.set(f.frontmatter.id,{frontmatter:f.frontmatter,subtasks:f.subtasks,body:f.body});e({loading:!1,isOpen:!0,config:i,columns:c,archivedTasks:p,boardTitle:"Project Kanban",projectName:a,taskContents:m,searchMatches:new Map}),window.history.pushState({},"",`?p=${encodeURIComponent(a)}`),t().setupWatcher(),t().refreshAgentHook()}catch{e({loading:!1,isOpen:!1}),t().toast("Impossible de charger le projet. Relancez `kandown`.","error")}},tryAutoOpenServerProject:async()=>{if(!Qt())return;const n=_2();if(!n)return;await sj();const a=await l3(),i=a.find(p=>p.kandownDir===n);if(!i){await t().openServerProject();return}if(!await pj(i.handle,!0)){await t().openServerProject();return}const s=await c3(i.handle),o=await p3(i.handle),c=i.handle.name;e({dirHandle:s,tasksDirHandle:o,projectName:c,recentProjects:a,isOpen:!0}),window.history.pushState({},"",`?p=${encodeURIComponent(c)}`),await k2({...i,lastOpened:Date.now()}),await t().loadConfig(),await t().reloadBoard(),t().setupWatcher()},loadConfig:async()=>{const{dirHandle:n}=t();if(!(!n&&!Qt()))try{const a=await Loe(n);a?(e({config:a}),nl(a)):(e({config:Ci}),nl(Ci))}catch{e({config:Ci}),nl(Ci)}},updateConfig:async n=>{const{dirHandle:a,config:i}=t();if(!a&&!Qt())return;const r=n(i);e({config:r}),nl(r);try{await Moe(a,r)}catch(s){t().toast("Failed to save config: "+s.message,"error")}},reloadBoard:async()=>{const{tasksDirHandle:n,config:a}=t();if(Qt())try{const i=await Koe();x2(i);const r=i.map(d=>({frontmatter:d.frontmatter,body:zd(d.body,d.subtasks)})),s=v2(r,a.board.columns),o=y2(r);e({boardTitle:"Project Kanban",columns:s,archivedTasks:o});const c=s.reduce((d,m)=>d+m.tasks.length,0),p=new Map;if(c<=10)for(const d of i)p.set(d.frontmatter.id,{frontmatter:d.frontmatter,subtasks:d.subtasks,body:d.body});e({taskContents:p,searchMatches:new Map})}catch(i){t().toast("Failed to load board: "+i.message,"error")}else if(n)try{const i=await Yoe(n);x2(i);const r=i.map(d=>({frontmatter:d.frontmatter,body:zd(d.body,d.subtasks)})),s=v2(r,a.board.columns),o=y2(r);e({boardTitle:"Project Kanban",columns:s,archivedTasks:o});const c=s.reduce((d,m)=>d+m.tasks.length,0),p=new Map;if(c<=10)for(const d of i)p.set(d.frontmatter.id,{frontmatter:d.frontmatter,subtasks:d.subtasks,body:d.body});e({taskContents:p,searchMatches:new Map})}catch(i){t().toast("Failed to load board: "+i.message,"error")}},moveTask:async(n,a,i,r)=>{const{columns:s,config:o}=t(),c=Qt();if(!c&&!t().tasksDirHandle)return;const p=s.find(x=>x.name===a),d=s.find(x=>x.name===i);if(!p||!d)return;const m=p.tasks.findIndex(x=>x.id===n);if(m===-1)return;const f=p.tasks[m];if(!f)return;if(qoe(i,o)){const x=new Map,S=$z(o).toLowerCase();for(const P of s)for(const L of P.tasks){const j=L.frontmatter&&(L.frontmatter.archived===!0||L.frontmatter.archived==="true");x.set(L.id,{exists:!0,resolved:j||L.id===n||P.name.toLowerCase()===S})}const E=[];for(const P of f.dependsOn){if(typeof P!="string"||!P.trim()||P===n)continue;const L=x.get(P);(!L||!L.resolved)&&E.push(P)}if(E.length>0){const P=E.length===1?E[0]:`${E.slice(0,-1).join(", ")} and ${E[E.length-1]}`;t().toast(`Cannot move ${n} to ${i}: blocked by ${P}`,"error");return}}const h=s.map(x=>({...x,tasks:[...x.tasks]})),b=h.find(x=>x.name===a),k=h.find(x=>x.name===i),[w]=b.tasks.splice(m,1);/done|termin|closed|complet/i.test(i)?w.checked=!0:w.checked=!1,r!==void 0?k.tasks.splice(r,0,w):k.tasks.push(w),e({columns:h});try{const{tasksDirHandle:x}=t();if(!x&&!c)return;const S=a===i?h.filter(E=>E.name===i):h.filter(E=>E.name===a||E.name===i);await mj(x??null,S,o.board.columns)}catch(x){t().toast("Failed to save: "+x.message,"error"),e({columns:s})}},reorderInColumn:async(n,a,i)=>{const{columns:r,tasksDirHandle:s,config:o}=t();if(!s&&!Qt())return;const c=r.map(m=>({...m,tasks:[...m.tasks]})),p=c.find(m=>m.name===n);if(!p)return;const[d]=p.tasks.splice(a,1);p.tasks.splice(i,0,d),e({columns:c});try{const{tasksDirHandle:m}=t(),f=Qt();if(!m&&!f)return;await mj(m??null,[p],o.board.columns)}catch(m){t().toast("Failed to save: "+m.message,"error"),e({columns:r})}},addColumn:async n=>{const a=n.trim();if(!a)return;const{config:i}=t();i.board.columns.some(r=>r.toLowerCase()===a.toLowerCase())||(await t().updateConfig(r=>({...r,board:{...r.board,columns:[...r.board.columns,a]}})),await t().reloadBoard())},renameColumn:async(n,a)=>{const i=a.trim(),{columns:r,tasksDirHandle:s,config:o}=t();if(!s||!i||i.toLowerCase()===n.toLowerCase())return;if(r.some(d=>d.name.toLowerCase()===i.toLowerCase())){t().toast("Column already exists","error");return}const c=r,p=r.map(d=>d.name===n?{...d,name:i}:d);e({columns:p});try{const d=c.find(m=>m.name===n);d&&await Promise.all(d.tasks.map(async(m,f)=>{const{frontmatter:h,body:b}=await Wr(s,m.id);await eu(s,m.id,{...h,id:m.id,status:i,order:f},b)})),await t().updateConfig(m=>{const f={...m.board.columnColors??{}},h=f[n.toLowerCase()];h&&(f[i.toLowerCase()]=h,delete f[n.toLowerCase()]);const b=m.board.columns.some(k=>k.toLowerCase()===n.toLowerCase())?m.board.columns:[...m.board.columns,n];return{...m,board:{...m.board,columns:b.map(k=>k.toLowerCase()===n.toLowerCase()?i:k),columnColors:f}}}),await t().reloadBoard()}catch(d){t().toast("Failed to rename column: "+d.message,"error"),e({columns:c})}},deleteColumn:async n=>{const{columns:a,tasksDirHandle:i}=t();if(!i&&!Qt())return;const r=a.find(o=>o.name===n);if(!r)return;const s=a;e({columns:a.filter(o=>o.name!==n)});try{await Promise.all(r.tasks.map(o=>cj(i,o.id))),await t().updateConfig(o=>{const c={...o.board.columnColors??{}};return delete c[n.toLowerCase()],{...o,board:{...o.board,columns:o.board.columns.filter(p=>p.toLowerCase()!==n.toLowerCase()),columnColors:c}}}),await t().reloadBoard(),t().toast("Column deleted")}catch(o){t().toast("Failed to delete column: "+o.message,"error"),e({columns:s})}},createTask:async n=>{const{columns:a,tasksDirHandle:i,config:r,taskContents:s}=t();if(!i&&!Qt()||!a.length)return null;const o=n||r.board.columns[0]||a[0].name,c=Woe(a),p=a.find(f=>f.name===o)?.tasks.length??0,d={id:c,title:"",checked:!1,dependsOn:[],tags:[],assignee:null,priority:r.fields.priority?r.board.defaultPriority:null,ownerType:r.fields.ownerType?r.board.defaultOwnerType:"",progress:null,frontmatter:{}},m=a.map(f=>f.name===o?{...f,tasks:[...f.tasks,d]}:f);e({columns:m});try{const f={id:c,title:"",status:o,order:p,priority:r.fields.priority?r.board.defaultPriority:"",tags:[],assignee:"",created:new Date().toISOString().slice(0,10),ownerType:r.fields.ownerType?r.board.defaultOwnerType:"",tools:""},h="";await eu(i||null,c,f,h);const k=new Map(s);return k.set(c,{frontmatter:f,subtasks:[],body:h}),e({taskContents:k}),t().toast(`Created ${c.replace(/^t/,"")}`),await t().openDrawer(c),c}catch(f){return t().toast("Failed to create: "+f.message,"error"),e({columns:a}),null}},deleteTask:async n=>{const{columns:a,tasksDirHandle:i,taskContents:r}=t();if(!i&&!Qt())return;const s=a.map(p=>({...p,tasks:p.tasks.filter(d=>d.id!==n)}));e({columns:s});const o=new Map(r);o.delete(n);const c=new Map(t().searchMatches);c.delete(n),e({taskContents:o,searchMatches:c});try{await cj(i||null,n),t().toast("Deleted")}catch(p){t().toast("Failed to delete: "+p.message,"error"),e({columns:a})}},archiveTask:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a||null,n);await Foe(a||null,n,{...i,archived:!0},r),t().drawerTaskId===n&&t().closeDrawer(),await t().reloadBoard(),t().toast("Archived")}catch(i){t().toast("Failed to archive: "+i.message,"error")}},unarchiveTask:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a||null,n),s={...i};delete s.archived,await zoe(a||null,n,s,r),await t().reloadBoard(),t().toast("Restored")}catch(i){t().toast("Failed to restore: "+i.message,"error")}},setShowArchives:n=>e({showArchives:n}),setShowMetadata:n=>e({showMetadata:n}),openDrawer:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a,n),{subtasks:s,bodyWithoutSubtasks:o}=Ds(r),c={frontmatter:i,subtasks:s,body:o,savedAt:Date.now()};e({drawerTaskId:n,drawerData:{frontmatter:i,subtasks:s,body:o},drawerBaseVersion:c,conflictState:null,showConflictModal:!1})}catch(i){t().toast("Failed to open: "+i.message,"error")}},closeDrawer:()=>e({drawerTaskId:null,drawerData:null,drawerBaseVersion:null,conflictState:null,showConflictModal:!1}),updateDrawerData:n=>{const{drawerData:a}=t();a&&e({drawerData:n(a)})},saveDrawer:async()=>{const{drawerTaskId:n,drawerData:a,tasksDirHandle:i,taskContents:r}=t();if(!n||!a)return;const s=zd(a.body,a.subtasks),o={...a.frontmatter,id:n};try{await eu(i||null,n,o,s),t().toast("Saved"),e({drawerTaskId:null,drawerData:null});const c=new Map(r);c.set(n,{frontmatter:o,subtasks:a.subtasks,body:a.body}),e({taskContents:c}),await t().reloadBoard()}catch(c){t().toast("Failed to save: "+c.message,"error")}},saveDrawerMetadata:async()=>{const{drawerTaskId:n,drawerData:a,tasksDirHandle:i,taskContents:r}=t();if(!(!n||!a))try{const s=zd(a.body,a.subtasks),o={...a.frontmatter,id:n};await eu(i||null,n,o,s);const c=new Map(r);c.set(n,{frontmatter:o,subtasks:a.subtasks,body:a.body}),e({taskContents:c}),await t().reloadBoard()}catch(s){t().toast("Failed to save: "+s.message,"error")}},setViewMode:n=>{localStorage.setItem("kandown:view",n),e({viewMode:n})},setDensity:n=>{localStorage.setItem("kandown:density",n),e({density:n})},setFilter:(n,a)=>{if(e(i=>({filters:{...i.filters,[n]:a}})),n==="search"){const{columns:i,tasksDirHandle:r,taskContents:s}=t(),o=a,c=i.flatMap(p=>p.tasks.map(d=>d.id));if(r){const p=c.filter(d=>!s.has(d));p.length>0?t().loadTaskContents(p).then(()=>{t().computeSearchMatches(o)}):t().computeSearchMatches(o)}}},clearFilters:()=>e({filters:{search:"",priority:null,tag:null,assignee:null,ownerType:null},searchMatches:new Map}),setCommandOpen:n=>e({commandOpen:n}),setCheatsheetOpen:n=>e({cheatsheetOpen:n}),refreshAgentHook:async()=>{if(!Qt()){e({agentHook:null});return}const n=await $oe();e({agentHook:n?.agentHook??null})},sendTaskToAgent:async n=>{const a=t().agentHook;if(!a){t().toast("Agent hook not configured","error");return}t().toast(`Sending to ${a.label}…`);const i=await Eoe(n);if(i===null){t().toast("Could not reach the daemon","error");return}i.ok?t().toast(`Sent to ${a.label}`):t().toast(i.error||"Agent hook failed","error")},setCurrentPage:n=>e({currentPage:n}),loadTaskContents:async n=>{const{tasksDirHandle:a}=t();if(!a)return;const i=new Map(t().taskContents);await Promise.all(n.map(async r=>{if(!i.has(r))try{const{frontmatter:s,body:o}=await Wr(a,r),{subtasks:c,bodyWithoutSubtasks:p}=Ds(o);i.set(r,{frontmatter:s,subtasks:c,body:p})}catch{}})),e({taskContents:i})},computeSearchMatches:n=>{if(!n.trim()){e({searchMatches:new Map});return}const{taskContents:a}=t(),i=new Map,r=n.toLowerCase();for(const[s,o]of a){const c=wz(o,r);c.length>0&&i.set(s,c)}e({searchMatches:i})},toast:(n,a="success")=>{const i=++ece;e(r=>({toasts:[...r.toasts,{id:i,message:n,type:a}]})),setTimeout(()=>{e(r=>({toasts:r.toasts.filter(s=>s.id!==i)}))},2500)},dismissToast:n=>e(a=>({toasts:a.toasts.filter(i=>i.id!==n)})),resolveConflict:async n=>{const{conflictState:a,drawerData:i,tasksDirHandle:r,drawerTaskId:s,drawerBaseVersion:o}=t();if(!(!a||!r||!s))if(n==="reload"){const{frontmatter:c,body:p}=await Wr(r,s),{subtasks:d,bodyWithoutSubtasks:m}=Ds(p);e({drawerData:{frontmatter:c,subtasks:d,body:m},drawerBaseVersion:{frontmatter:c,subtasks:d,body:m,savedAt:Date.now()},conflictState:null,showConflictModal:!1}),t().toast("Reloaded from disk")}else if(n==="overwrite"){if(i&&s&&o){const c=zd(i.body,i.subtasks),p={...i.frontmatter,id:s};await eu(r,s,p,c),e({drawerBaseVersion:{...i,savedAt:Date.now()},conflictState:null,showConflictModal:!1}),t().toast("Overwritten remote changes")}}else e({conflictState:null,showConflictModal:!1})},setupWatcher:()=>{if(Qt()){A2&&clearInterval(A2),A2=setInterval(()=>{t().reloadBoard()},2e3);return}const{dirHandle:n,tasksDirHandle:a}=t();if(!n||!a)return;tu.stop(),Ef.forEach(s=>clearTimeout(s)),Ef.clear(),tu.start(n,a);const i=(s,o)=>{const c=Ef.get(s);c&&clearTimeout(c);const p=Math.max(2e3,t().config.notifications.editDebounceMs),d=setTimeout(()=>{Ef.delete(s);const m=t().config;m.notifications.taskEdits&&w2({title:"Task edited",body:`${o} changed on disk.`,config:m})},p);Ef.set(s,d)},r=async s=>{const{tasksDirHandle:o,config:c}=t();if(!o)return;const{frontmatter:p,body:d}=await Wr(o,s),{subtasks:m,bodyWithoutSubtasks:f}=Ds(d),h={id:s,frontmatter:{...p,id:p.id||s,status:p.status||"Backlog"},body:f,subtasks:m},b=d3(h),k=du.get(s);if(!k){du.set(s,b);return}c.notifications.statusChanges&&k.status!==b.status&&w2({title:"Task status changed",body:`${b.title}: ${k.status} → ${b.status}`,config:c});const w=Qoe(k.subtasks,b.subtasks);c.notifications.subtaskCompletions&&w>0&&w2({title:"Subtask completed",body:w===1?`${b.title}: 1 subtask completed.`:`${b.title}: ${w} subtasks completed.`,config:c}),Joe(k,b)&&i(s,b.title),du.set(s,b)};tu.on("configChanged",()=>{t().loadConfig(),t().toast("Settings updated externally","info")}),tu.on("taskChanged",async s=>{const{drawerTaskId:o,drawerBaseVersion:c,tasksDirHandle:p}=t();if(await r(s),o===s&&c&&p){const{frontmatter:d,body:m}=await Wr(p,s),{subtasks:f,bodyWithoutSubtasks:h}=Ds(m),b=c,k=JSON.stringify(b.frontmatter)!==JSON.stringify(d),w=b.body!==h,x=JSON.stringify(b.subtasks)!==JSON.stringify(f);if(!k&&!w&&!x)return;let S="none";k&&(w||x)?S="full":k?S="metadata-only":(w||x)&&(S="body-only"),e({conflictState:{taskId:s,type:S,local:b,remote:{frontmatter:d,body:h,subtasks:f}},showConflictModal:S==="full"})}else t().reloadBoard()}),tu.on("newTaskDetected",async s=>{const{tasksDirHandle:o}=t();if(o){const{frontmatter:c,body:p}=await Wr(o,s),{subtasks:d,bodyWithoutSubtasks:m}=Ds(p);du.set(s,d3({id:s,frontmatter:{...c,id:c.id||s,status:c.status||"Backlog"},body:m,subtasks:d}))}t().reloadBoard()})}}));l3().then(e=>{fe.setState({recentProjects:e})});nl(Ci);window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{nl(fe.getState().config)});function tce(){const e=fe(o=>o.config),t=fe(o=>o.updateConfig),[n,a]=$.useState(!1);if($.useEffect(()=>{a(!0)},[]),!n)return null;const i=e.ui.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.ui.theme,r=i==="dark",s=()=>{const o=r?"light":"dark";t(c=>({...c,ui:{...c.ui,theme:o}}))};return _.jsx(_t.button,{onClick:s,className:r3("relative inline-flex items-center rounded-full transition-all duration-300","border border-black/[0.08] dark:border-white/[0.12]","bg-black/[0.05] dark:bg-white/[0.08]","h-8 w-[52px] px-1"),title:r?"Switch to light mode":"Switch to dark mode",children:_.jsx(_t.div,{className:r3("inline-flex items-center justify-center rounded-full shadow-md",r?"bg-[#1e293b] border border-white/[0.15]":"bg-black border border-black/20","h-[26px] w-[26px]"),animate:{x:r?22:0},transition:{type:"spring",stiffness:500,damping:30},children:_.jsx(_t.div,{initial:{rotate:-90,scale:.5,opacity:0},animate:{rotate:0,scale:1,opacity:1},transition:{duration:.25,ease:"easeOut"},children:r?_.jsx(Zn.Moon,{size:13,className:"text-sky-300"}):_.jsx(Zn.Sun,{size:13,className:"text-amber-400"})},i)})})}function nce(e){const t=cse(e,{stiffness:180,damping:22,mass:.8});return $.useEffect(()=>{t.set(e)},[e,t]),nz(t,a=>Math.round(a).toString())}const u3="0.13.0",ace=({className:e})=>_.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 150 150",className:e,fill:"currentColor",children:[_.jsx("path",{d:"m57.6 64.6 0.1-0.1v-31.3c-0.1-3.5-2.7-5.6-5.7-5.6h-16.3v59.6c0.2-1.3 0.9-2.6 1.7-3.2l20.2-19.4z"}),_.jsx("path",{d:"m87.6 43.8c-3.4 0.1-7.1 1.3-9.9 3.7l-38.5 38.7c-2.1 2.1-3.4 4.8-3.5 7.5v26.7l77.5-76.4v-0.2h-25.6z"}),_.jsx("path",{d:"m108.1 96.4-6 5-22.4-20.8-14.6 14.2 21.1 21.4-5 4.1c-0.6 0.5-0.3 0.9 0.2 0.9h27.6c0.4 0 0.7-0.4 0.7-0.6v-24.8c0-0.7-1.1-0.3-1.6 0.3v0.3z"})]});function ice(){const{t:e}=Rn(),t=fe(V=>V.dirHandle),n=fe(V=>V.isOpen);fe(V=>V.projectName);const a=fe(V=>V.archivedTasks.length),i=fe(V=>V.showArchives),r=fe(V=>V.setShowArchives),s=fe(V=>V.columns),o=fe(V=>V.openFolder),c=fe(V=>V.reloadBoard),p=fe(V=>V.createTask),d=fe(V=>V.setCommandOpen),m=fe(V=>V.viewMode),f=fe(V=>V.setViewMode),h=fe(V=>V.density),b=fe(V=>V.setDensity),k=fe(V=>V.setCurrentPage),w=fe(V=>V.recentProjects),x=fe(V=>V.openRecentProject),S=fe(V=>V.filters),E=fe(V=>V.setFilter),P=fe(V=>V.clearFilters),L=fe(V=>V.config.fields),[j,F]=$.useState(!1),z=$.useRef(null),R=$.useRef(null),M=s.reduce((V,H)=>V+H.tasks.length,0),K=nce(M),J=[];L.priority&&S.priority&&J.push({type:"priority",label:S.priority,value:S.priority}),L.tags&&S.tag&&J.push({type:"tag",label:"#"+S.tag,value:S.tag}),L.assignee&&S.assignee&&J.push({type:"assignee",label:"@"+S.assignee,value:S.assignee});const W=[{label:e("filterBar.ownerAll"),value:""},{label:e("filterBar.ownerHuman"),value:"human"},{label:e("filterBar.ownerAI"),value:"ai"}],B=J.length>0||S.search||L.ownerType&&S.ownerType;return $.useEffect(()=>{if(!j)return;const V=H=>{z.current&&!z.current.contains(H.target)&&F(!1)};return document.addEventListener("mousedown",V),()=>document.removeEventListener("mousedown",V)},[j]),_.jsxs("header",{className:"flex items-center justify-between px-5 h-[64px] border-b border-border bg-card/80 backdrop-blur-xl relative z-10",children:[_.jsxs("div",{className:"flex items-center gap-4 min-w-0",children:[_.jsx("div",{className:"flex items-center gap-2.5 flex-shrink-0",children:_.jsxs("button",{onClick:()=>window.history.pushState({},"",window.location.pathname),className:"flex items-center gap-2 cursor-pointer",children:[_.jsx(ace,{className:"w-[34px] h-[34px] dark:text-white text-black"}),_.jsx("span",{className:"text-[15px] font-semibold tracking-tight text-fg",children:"kandown"}),_.jsxs("span",{className:"inline-flex items-center h-5 px-1.5 text-[10.5px] font-semibold text-red-600 bg-red-50 dark:text-red-400 dark:bg-red-500/15 rounded-md",children:["v",u3]})]})}),t&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"w-px h-[20px] bg-black/[0.08] dark:bg-white/[0.08] flex-shrink-0"}),_.jsxs("div",{className:"flex items-center gap-2 px-3 h-9 bg-secondary/60 border border-border rounded-xl min-w-[200px] max-w-[280px] focus-within:border-border-focus focus-within:bg-secondary transition-all",children:[_.jsx(Zn.Search,{size:14,className:"text-fg-muted/60 flex-shrink-0"}),_.jsx("input",{ref:R,type:"text",placeholder:e("filterBar.searchPlaceholder"),value:S.search,onChange:V=>E("search",V.target.value),className:"bg-transparent border-none outline-none text-fg text-[13px] w-full placeholder:text-fg-muted/60"}),S.search?_.jsx("button",{onClick:()=>E("search",""),className:"text-fg-muted/60 hover:text-fg flex-shrink-0",children:_.jsx(Zn.X,{size:14})}):_.jsx("kbd",{className:"inline-flex items-center h-5 px-1.5 text-[10px] font-medium text-fg-muted/50 bg-black/[0.04] dark:bg-white/[0.08] rounded border border-black/[0.06] dark:border-white/[0.1]",children:"⌘K"})]}),_.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap overflow-hidden",children:[_.jsx(ps,{children:J.map(V=>_.jsxs(_t.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15},onClick:()=>E(V.type,null),className:"inline-flex items-center gap-1 h-6 px-2.5 text-[12px] text-fg bg-black/[0.05] dark:bg-white/[0.1] border border-black/[0.08] dark:border-white/[0.12] rounded-lg hover:bg-black/[0.08] dark:hover:bg-white/[0.15] transition-colors",children:[V.label,_.jsx(Zn.X,{size:10,className:"text-fg-muted/60"})]},V.type+V.value))}),L.ownerType&&_.jsx("div",{className:"flex items-center h-6 border border-black/[0.06] dark:border-white/[0.1] rounded-lg overflow-hidden",children:W.map(V=>_.jsx("button",{onClick:()=>E("ownerType",V.value),className:`h-full px-2.5 text-[12px] transition-colors ${S.ownerType===V.value?"bg-black/[0.06] dark:bg-white/[0.12] text-fg":"text-fg-muted/70 hover:text-fg"}`,children:V.label},V.value))}),B&&_.jsx("button",{onClick:P,className:"text-[12px] text-fg-muted/60 hover:text-fg transition-colors",children:e("filterBar.clearAll")})]})]}),t&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"w-px h-[20px] bg-black/[0.08] dark:bg-white/[0.08] flex-shrink-0"}),_.jsxs("div",{className:"relative flex-shrink-0",ref:z,children:[_.jsxs("button",{onClick:()=>F(V=>!V),className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[13px] text-fg-muted hover:text-fg hover:bg-black/[0.04] dark:hover:bg-white/[0.06] rounded-lg transition-colors border border-transparent hover:border-black/[0.06] dark:hover:border-white/[0.1]",children:[_.jsx(Zn.Folder,{size:13,className:"text-fg-muted/70"}),_.jsxs("span",{className:"font-medium",children:[".",t.name]}),_.jsx(Zn.ChevronDown,{size:11,className:"opacity-50"})]}),_.jsx(ps,{children:j&&_.jsx(_t.div,{initial:{opacity:0,y:-4,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.98},transition:{duration:.12},className:"absolute top-full left-0 mt-2 min-w-[240px] glass rounded-xl shadow-[0_16px_48px_rgba(0,0,0,0.5)] overflow-hidden z-50",children:_.jsxs("div",{className:"py-1.5",children:[w.length>0&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-fg-muted/60",children:e("header.recentProjects")}),w.map(V=>_.jsxs("button",{onClick:()=>{F(!1),x(V)},className:"w-full flex items-center gap-2 px-3 py-2 text-[13.5px] text-left hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors",children:[_.jsx(Zn.Folder,{size:12,className:"text-fg-muted/60"}),_.jsx("span",{className:"truncate",children:V.name}),V.id===t.name&&_.jsx(Zn.Check,{size:12,className:"ml-auto text-emerald-500"})]},V.id)),_.jsx("div",{className:"h-px bg-black/[0.06] dark:bg-white/[0.08] my-1.5 mx-2"})]}),_.jsxs("button",{onClick:()=>{F(!1),o()},className:"w-full flex items-center gap-2 px-3 py-2 text-[13.5px] text-left hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors",children:[_.jsx(Zn.Plus,{size:12,className:"text-fg-muted/60"}),_.jsx("span",{children:e("header.openFolder...")})]})]})})})]})]})]}),_.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:n||t?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"flex items-center gap-2 mr-2 text-[12.5px] text-fg-muted/70",children:[_.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-emerald-500"}),_.jsx(_t.span,{className:"tabular-nums font-medium",children:K}),_.jsx("span",{children:e("header.tasks")})]}),_.jsxs("div",{className:"flex items-center bg-black/[0.04] dark:bg-white/[0.06] border border-black/[0.06] dark:border-white/[0.1] rounded-xl p-0.5 h-10",children:[_.jsx("button",{onClick:()=>f("board"),className:`w-9 h-9 inline-flex items-center justify-center rounded-lg transition-all ${m==="board"?"bg-card text-fg shadow-sm":"text-fg-muted/70 hover:text-fg"}`,title:e("common.board"),children:_.jsx(Zn.LayoutBoard,{size:18})}),_.jsx("button",{onClick:()=>f("list"),className:`w-9 h-9 inline-flex items-center justify-center rounded-lg transition-all ${m==="list"?"bg-card text-fg shadow-sm":"text-fg-muted/70 hover:text-fg"}`,title:e("common.list"),children:_.jsx(Zn.LayoutList,{size:18})})]}),_.jsx(da,{variant:"icon",icon:"Archive",onClick:()=>r(!i),title:i?e("header.backToBoard"):`${e("header.archives")} (${a})`,className:i?"text-accent":""}),_.jsx(da,{variant:"icon",icon:"Density",onClick:()=>b(h==="compact"?"comfortable":"compact"),title:`Density: ${h}`}),_.jsx(da,{variant:"icon",icon:"Settings",onClick:()=>k("settings"),title:e("common.settings")}),_.jsx(tce,{}),_.jsx("div",{className:"w-px h-5 bg-black/[0.08] dark:bg-white/[0.08] mx-1"}),_.jsx(da,{variant:"secondary",icon:"Search",label:e("common.search"),shortcut:"⌘K",onClick:()=>d(!0),title:"Command palette (⌘K)"}),_.jsx(da,{variant:"icon",icon:"Refresh",onClick:c,title:`${e("common.reload")} (R)`}),_.jsx(da,{variant:"primary",icon:"Plus",label:e("common.newTask"),shortcut:"N",onClick:()=>p()})]}):_.jsx(da,{variant:"primary",label:e("common.openFolder"),onClick:o})})]})}/**
|
|
116
|
+
`}}async function joe(e,t){try{return await(await(await(await e.getDirectoryHandle("archive",{create:!1})).getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}}async function Doe(e,t){try{return await(await e.getDirectoryHandle("archive",{create:!1})).getFileHandle(`${t}.md`),!0}catch{return!1}}async function Nz(e,t){try{return await e.getDirectoryHandle("archive",{create:t})}catch{return null}}async function Ioe(e){if(Qt())return V4();const t=new Set;for await(const n of e.values())n.kind==="file"&&n.name.endsWith(".md")&&t.add(n.name.slice(0,-3));try{const n=await e.getDirectoryHandle("archive",{create:!1});for await(const a of n.values())a.kind==="file"&&a.name.endsWith(".md")&&t.add(a.name.slice(0,-3))}catch{}return[...t].sort((n,a)=>n.localeCompare(a,void 0,{numeric:!0}))}async function Wr(e,t){if(Qt())try{const i=await Cz(t);return o3(i)}catch{return oj(t)}const a=await(async i=>{try{return await(await(await i.getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}})(e)??await joe(e,t);return a!==null?o3(a):oj(t)}async function eu(e,t,n,a){const i=U4(n,a);if(Qt())return Noe(t,i);const o=await(await(await Doe(e,t)?await Nz(e,!0):e).getFileHandle(`${t}.md`,{create:!0})).createWritable();await o.write(i),await o.close()}async function cj(e,t){if(Qt())return Soe(t);try{await e.removeEntry(`${t}.md`)}catch{}try{await(await e.getDirectoryHandle("archive",{create:!1})).removeEntry(`${t}.md`)}catch{}}async function Roe(e,t){await bs(`/api/tasks/${encodeURIComponent(e)}/archive`,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})}async function Ooe(e,t){await bs(`/api/tasks/${encodeURIComponent(e)}/unarchive`,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})}async function Foe(e,t,n,a){const i=U4(n,a);if(Qt())return Roe(t,i);const o=await(await(await Nz(e,!0)).getFileHandle(`${t}.md`,{create:!0})).createWritable();await o.write(i),await o.close();try{await e.removeEntry(`${t}.md`)}catch{}}async function zoe(e,t,n,a){const i=U4(n,a);if(Qt())return Ooe(t,i);const s=await(await e.getFileHandle(`${t}.md`,{create:!0})).createWritable();await s.write(i),await s.close();try{await(await e.getDirectoryHandle("archive",{create:!1})).removeEntry(`${t}.md`)}catch{}}const Hoe="kanban-md",Boe=1,Mu="recentProjects";function Sz(){return new Promise((e,t)=>{const n=indexedDB.open(Hoe,Boe);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{const a=n.result;a.objectStoreNames.contains(Mu)||a.createObjectStore(Mu,{keyPath:"id"})}})}async function k2(e){const t=await Sz();return new Promise((n,a)=>{const i=t.transaction(Mu,"readwrite");i.objectStore(Mu).put(e),i.oncomplete=()=>n(),i.onerror=()=>a(i.error)})}async function l3(){const e=await Sz();return new Promise((t,n)=>{const i=e.transaction(Mu,"readonly").objectStore(Mu).getAll();i.onsuccess=()=>{const r=i.result||[];r.sort((s,o)=>o.lastOpened-s.lastOpened),t(r.slice(0,10))},i.onerror=()=>n(i.error)})}async function pj(e,t=!0){const n={mode:t?"readwrite":"read"};return await e.queryPermission(n)==="granted"||await e.requestPermission(n)==="granted"}function $z(e=Ci){const t=e.board.columns;return t[t.length-1]??"Done"}function qoe(e,t=Ci){return e===$z(t)||e.toLowerCase()==="archived"}class Uoe{dirHandle=null;tasksDirHandle=null;intervalId=null;configHash=null;taskHashes=new Map;knownTaskIds=new Set;listeners=new Map;debounceTimers=new Map;debounceDelay=150;start(t,n){this.dirHandle=t,this.tasksDirHandle=n,this.initHashes(),this.intervalId=setInterval(()=>void this.tick(),300)}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.configHash=null,this.taskHashes.clear(),this.knownTaskIds.clear(),this.listeners.clear(),this.debounceTimers.forEach(t=>clearTimeout(t)),this.debounceTimers.clear()}on(t,n){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(n),()=>{this.listeners.get(t)?.delete(n)}}getKnownTaskIds(){return Array.from(this.knownTaskIds)}async initHashes(){if(!this.dirHandle||!this.tasksDirHandle)return;const t=await lj(this.dirHandle);t!==null&&(this.configHash=await this.hash(t)),await this.syncTaskDir(!1)}async tick(){if(!this.dirHandle||!this.tasksDirHandle)return;const t=await lj(this.dirHandle);if(t!==null){const n=await this.hash(t);this.configHash!==null&&n!==this.configHash&&(this.configHash=n,this.debouncedEmit("configChanged"))}for(const n of this.knownTaskIds){const a=await dj(this.tasksDirHandle,n);if(a!==null){const i=await this.hash(a),r=this.taskHashes.get(n);r!==void 0&&i!==r&&(this.taskHashes.set(n,i),this.debouncedEmit("taskChanged",n))}}await this.syncTaskDir(!0)}debouncedEmit(t,...n){const a=t+JSON.stringify(n),i=this.debounceTimers.get(a);i&&clearTimeout(i);const r=setTimeout(()=>{this.debounceTimers.delete(a),this.emit(t,...n)},this.debounceDelay);this.debounceTimers.set(a,r)}async syncTaskDir(t){if(this.tasksDirHandle){for await(const n of this.tasksDirHandle.values())if(n.kind==="file"&&n.name.endsWith(".md")){const a=n.name.replace(".md","");if(!this.knownTaskIds.has(a)){this.knownTaskIds.add(a);const i=await dj(this.tasksDirHandle,a);i!==null&&(this.taskHashes.set(a,await this.hash(i)),t&&this.debouncedEmit("newTaskDetected",a))}}}}async hash(t){const a=new TextEncoder().encode(t),i=await crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(i)).map(s=>s.toString(16).padStart(2,"0")).join("")}emit(t,...n){this.listeners.get(t)?.forEach(i=>{if(t==="configChanged"){i();return}if(t==="taskChanged"){const[s]=n;i(s);return}const[r]=n;i(r)})}}async function lj(e){try{return await(await(await e.getFileHandle("kandown.json")).getFile()).text()}catch{return null}}async function dj(e,t){try{return await(await(await e.getFileHandle(`${t}.md`)).getFile()).text()}catch{return null}}const tu=new Uoe,Voe={soft:[{frequency:520,durationMs:90,delayMs:0,type:"sine"},{frequency:720,durationMs:120,delayMs:95,type:"sine"}],chime:[{frequency:660,durationMs:120,delayMs:0,type:"triangle"},{frequency:880,durationMs:160,delayMs:125,type:"triangle"}],ping:[{frequency:920,durationMs:110,delayMs:0,type:"sine"}],pop:[{frequency:260,durationMs:55,delayMs:0,type:"square"},{frequency:520,durationMs:80,delayMs:60,type:"square"}]};let uj=null;function Ez(){return"Notification"in window?Notification.permission:"unsupported"}async function Zoe(){return"Notification"in window?await Notification.requestPermission():"unsupported"}function w2({title:e,body:t,config:n}){if(n.notifications.sound&&Goe(n.notifications.soundId),!(!n.notifications.browser||Ez()!=="granted"))try{new Notification(e,{body:t})}catch{}}function Goe(e){const t=Voe[e],n=window.AudioContext??window.webkitAudioContext;if(!(!n||t.length===0))try{uj??=new n;const a=uj;a.state==="suspended"&&a.resume();const i=a.currentTime+.01;t.forEach(r=>{const s=a.createOscillator(),o=a.createGain(),c=i+r.delayMs/1e3,p=c+r.durationMs/1e3;s.type=r.type??"sine",s.frequency.setValueAtTime(r.frequency,c),o.gain.setValueAtTime(1e-4,c),o.gain.exponentialRampToValueAtTime(.08,c+.01),o.gain.exponentialRampToValueAtTime(1e-4,p),s.connect(o),o.connect(a.destination),s.start(c),s.stop(p+.02)})}catch{}}function Woe(e){let t=-1;for(const n of e)for(const a of n.tasks){const i=a.id.match(/^t(\d+)$/);if(i){const r=parseInt(i[1],10);r>t&&(t=r)}}return"t"+(t+1)}async function Koe(){const e=await V4();return await Promise.all(e.map(async n=>{const{frontmatter:a,body:i}=await Az(n),r={...a,id:a.id||n,status:a.status||"Backlog"},{subtasks:s,bodyWithoutSubtasks:o}=Ds(i);return{id:n,frontmatter:r,body:o,subtasks:s}}))}async function Yoe(e){const t=await Ioe(e);return await Promise.all(t.map(async a=>{const{frontmatter:i,body:r}=await Wr(e,a),s={...i,id:i.id||a,status:i.status||"Backlog"},{subtasks:o,bodyWithoutSubtasks:c}=Ds(r);return{id:a,frontmatter:s,body:c,subtasks:o}}))}async function mj(e,t,n){const a=[];for(const i of t){const r=i.name;i.tasks.forEach((s,o)=>{a.push((async()=>{const{frontmatter:c,body:p}=await Wr(e,s.id);await eu(e,s.id,{...c,id:s.id,status:r,order:o},p)})())})}await Promise.all(a)}function nl(e){woe(e.ui.theme,e.ui.skin,e.ui.font,e.ui.background)}function d3(e){return{title:e.frontmatter.title||e.id,status:e.frontmatter.status||"Backlog",body:e.body,subtasks:e.subtasks}}function x2(e){du.clear(),e.forEach(t=>{du.set(t.id,d3(t))})}function Xoe(e){const t=e.split(/[\\/]+/).filter(Boolean),n=t[t.length-1];return n===".kandown"?t[t.length-2]??"Project":n??"Project"}function Qoe(e,t){return t.reduce((n,a,i)=>{const r=e[i]?.done??!1;return n+(a.done&&!r?1:0)},0)}function Joe(e,t){const n=e.subtasks.map(i=>({text:i.text,description:i.description??"",report:i.report??""})),a=t.subtasks.map(i=>({text:i.text,description:i.description??"",report:i.report??""}));return e.title!==t.title||e.body!==t.body||JSON.stringify(n)!==JSON.stringify(a)}let ece=0;const du=new Map,Ef=new Map;let A2=null;const fe=moe((e,t)=>({isOpen:!1,loading:!1,dirHandle:null,projectName:null,tasksDirHandle:null,boardTitle:"Project Kanban",columns:[],archivedTasks:[],showArchives:!1,showMetadata:!0,taskContents:new Map,searchMatches:new Map,viewMode:localStorage.getItem("kandown:view")||"board",density:localStorage.getItem("kandown:density")||"comfortable",filters:{search:"",priority:null,tag:null,assignee:null,ownerType:null},commandOpen:!1,cheatsheetOpen:!1,drawerTaskId:null,drawerData:null,currentPage:"board",config:Ci,recentProjects:[],toasts:[],agentHook:null,drawerBaseVersion:null,conflictState:null,showConflictModal:!1,openFolder:async()=>{const n=await Toe();if(!n)return;const{projectHandle:a,kandownHandle:i,tasksHandle:r}=n,s=a.name;e({dirHandle:i,tasksDirHandle:r,projectName:s}),window.history.pushState({},"",`?p=${encodeURIComponent(s)}`);const o=Qt()?_2():null;await k2({id:a.name,name:a.name,handle:a,lastOpened:Date.now(),...o?{kandownDir:o}:{}}),await t().loadConfig(),await t().reloadBoard();const c=await l3();e({recentProjects:c}),t().setupWatcher()},openRecentProject:async n=>{if(!await pj(n.handle,!0)){t().toast("Permission denied","error");return}const i=await c3(n.handle),r=await p3(n.handle),s=n.handle.name;e({dirHandle:i,tasksDirHandle:r,projectName:s}),window.history.pushState({},"",`?p=${encodeURIComponent(s)}`),await k2({...n,lastOpened:Date.now()}),await t().loadConfig(),await t().reloadBoard(),t().setupWatcher()},openServerProject:async()=>{e({loading:!0});try{const n=_2();if(!n)throw new Error("No server root");await sj();const a=Xoe(n),i=await xz();nl(i);const r=await V4(),s=await Promise.all(r.map(async f=>{const{frontmatter:h,body:b}=await Az(f),k={...h,id:h.id||f,status:h.status||"Backlog"},{subtasks:w,bodyWithoutSubtasks:x}=Ds(b);return{id:f,frontmatter:k,body:x,subtasks:w}}));x2(s);const o=s.map(f=>({frontmatter:f.frontmatter,body:zd(f.body,f.subtasks)})),c=v2(o,i.board.columns),p=y2(o),d=c.reduce((f,h)=>f+h.tasks.length,0),m=new Map;if(d<=10)for(const f of s)m.set(f.frontmatter.id,{frontmatter:f.frontmatter,subtasks:f.subtasks,body:f.body});e({loading:!1,isOpen:!0,config:i,columns:c,archivedTasks:p,boardTitle:"Project Kanban",projectName:a,taskContents:m,searchMatches:new Map}),window.history.pushState({},"",`?p=${encodeURIComponent(a)}`),t().setupWatcher(),t().refreshAgentHook()}catch{e({loading:!1,isOpen:!1}),t().toast("Impossible de charger le projet. Relancez `kandown`.","error")}},tryAutoOpenServerProject:async()=>{if(!Qt())return;const n=_2();if(!n)return;await sj();const a=await l3(),i=a.find(p=>p.kandownDir===n);if(!i){await t().openServerProject();return}if(!await pj(i.handle,!0)){await t().openServerProject();return}const s=await c3(i.handle),o=await p3(i.handle),c=i.handle.name;e({dirHandle:s,tasksDirHandle:o,projectName:c,recentProjects:a,isOpen:!0}),window.history.pushState({},"",`?p=${encodeURIComponent(c)}`),await k2({...i,lastOpened:Date.now()}),await t().loadConfig(),await t().reloadBoard(),t().setupWatcher()},loadConfig:async()=>{const{dirHandle:n}=t();if(!(!n&&!Qt()))try{const a=await Loe(n);a?(e({config:a}),nl(a)):(e({config:Ci}),nl(Ci))}catch{e({config:Ci}),nl(Ci)}},updateConfig:async n=>{const{dirHandle:a,config:i}=t();if(!a&&!Qt())return;const r=n(i);e({config:r}),nl(r);try{await Moe(a,r)}catch(s){t().toast("Failed to save config: "+s.message,"error")}},reloadBoard:async()=>{const{tasksDirHandle:n,config:a}=t();if(Qt())try{const i=await Koe();x2(i);const r=i.map(d=>({frontmatter:d.frontmatter,body:zd(d.body,d.subtasks)})),s=v2(r,a.board.columns),o=y2(r);e({boardTitle:"Project Kanban",columns:s,archivedTasks:o});const c=s.reduce((d,m)=>d+m.tasks.length,0),p=new Map;if(c<=10)for(const d of i)p.set(d.frontmatter.id,{frontmatter:d.frontmatter,subtasks:d.subtasks,body:d.body});e({taskContents:p,searchMatches:new Map})}catch(i){t().toast("Failed to load board: "+i.message,"error")}else if(n)try{const i=await Yoe(n);x2(i);const r=i.map(d=>({frontmatter:d.frontmatter,body:zd(d.body,d.subtasks)})),s=v2(r,a.board.columns),o=y2(r);e({boardTitle:"Project Kanban",columns:s,archivedTasks:o});const c=s.reduce((d,m)=>d+m.tasks.length,0),p=new Map;if(c<=10)for(const d of i)p.set(d.frontmatter.id,{frontmatter:d.frontmatter,subtasks:d.subtasks,body:d.body});e({taskContents:p,searchMatches:new Map})}catch(i){t().toast("Failed to load board: "+i.message,"error")}},moveTask:async(n,a,i,r)=>{const{columns:s,config:o}=t(),c=Qt();if(!c&&!t().tasksDirHandle)return;const p=s.find(x=>x.name===a),d=s.find(x=>x.name===i);if(!p||!d)return;const m=p.tasks.findIndex(x=>x.id===n);if(m===-1)return;const f=p.tasks[m];if(!f)return;if(qoe(i,o)){const x=new Map,S=$z(o).toLowerCase();for(const P of s)for(const L of P.tasks){const j=L.frontmatter&&(L.frontmatter.archived===!0||L.frontmatter.archived==="true");x.set(L.id,{exists:!0,resolved:j||L.id===n||P.name.toLowerCase()===S})}const E=[];for(const P of f.dependsOn){if(typeof P!="string"||!P.trim()||P===n)continue;const L=x.get(P);(!L||!L.resolved)&&E.push(P)}if(E.length>0){const P=E.length===1?E[0]:`${E.slice(0,-1).join(", ")} and ${E[E.length-1]}`;t().toast(`Cannot move ${n} to ${i}: blocked by ${P}`,"error");return}}const h=s.map(x=>({...x,tasks:[...x.tasks]})),b=h.find(x=>x.name===a),k=h.find(x=>x.name===i),[w]=b.tasks.splice(m,1);/done|termin|closed|complet/i.test(i)?w.checked=!0:w.checked=!1,r!==void 0?k.tasks.splice(r,0,w):k.tasks.push(w),e({columns:h});try{const{tasksDirHandle:x}=t();if(!x&&!c)return;const S=a===i?h.filter(E=>E.name===i):h.filter(E=>E.name===a||E.name===i);await mj(x??null,S,o.board.columns)}catch(x){t().toast("Failed to save: "+x.message,"error"),e({columns:s})}},reorderInColumn:async(n,a,i)=>{const{columns:r,tasksDirHandle:s,config:o}=t();if(!s&&!Qt())return;const c=r.map(m=>({...m,tasks:[...m.tasks]})),p=c.find(m=>m.name===n);if(!p)return;const[d]=p.tasks.splice(a,1);p.tasks.splice(i,0,d),e({columns:c});try{const{tasksDirHandle:m}=t(),f=Qt();if(!m&&!f)return;await mj(m??null,[p],o.board.columns)}catch(m){t().toast("Failed to save: "+m.message,"error"),e({columns:r})}},addColumn:async n=>{const a=n.trim();if(!a)return;const{config:i}=t();i.board.columns.some(r=>r.toLowerCase()===a.toLowerCase())||(await t().updateConfig(r=>({...r,board:{...r.board,columns:[...r.board.columns,a]}})),await t().reloadBoard())},renameColumn:async(n,a)=>{const i=a.trim(),{columns:r,tasksDirHandle:s,config:o}=t();if(!s||!i||i.toLowerCase()===n.toLowerCase())return;if(r.some(d=>d.name.toLowerCase()===i.toLowerCase())){t().toast("Column already exists","error");return}const c=r,p=r.map(d=>d.name===n?{...d,name:i}:d);e({columns:p});try{const d=c.find(m=>m.name===n);d&&await Promise.all(d.tasks.map(async(m,f)=>{const{frontmatter:h,body:b}=await Wr(s,m.id);await eu(s,m.id,{...h,id:m.id,status:i,order:f},b)})),await t().updateConfig(m=>{const f={...m.board.columnColors??{}},h=f[n.toLowerCase()];h&&(f[i.toLowerCase()]=h,delete f[n.toLowerCase()]);const b=m.board.columns.some(k=>k.toLowerCase()===n.toLowerCase())?m.board.columns:[...m.board.columns,n];return{...m,board:{...m.board,columns:b.map(k=>k.toLowerCase()===n.toLowerCase()?i:k),columnColors:f}}}),await t().reloadBoard()}catch(d){t().toast("Failed to rename column: "+d.message,"error"),e({columns:c})}},deleteColumn:async n=>{const{columns:a,tasksDirHandle:i}=t();if(!i&&!Qt())return;const r=a.find(o=>o.name===n);if(!r)return;const s=a;e({columns:a.filter(o=>o.name!==n)});try{await Promise.all(r.tasks.map(o=>cj(i,o.id))),await t().updateConfig(o=>{const c={...o.board.columnColors??{}};return delete c[n.toLowerCase()],{...o,board:{...o.board,columns:o.board.columns.filter(p=>p.toLowerCase()!==n.toLowerCase()),columnColors:c}}}),await t().reloadBoard(),t().toast("Column deleted")}catch(o){t().toast("Failed to delete column: "+o.message,"error"),e({columns:s})}},createTask:async n=>{const{columns:a,tasksDirHandle:i,config:r,taskContents:s}=t();if(!i&&!Qt()||!a.length)return null;const o=n||r.board.columns[0]||a[0].name,c=Woe(a),p=a.find(f=>f.name===o)?.tasks.length??0,d={id:c,title:"",checked:!1,dependsOn:[],tags:[],assignee:null,priority:r.fields.priority?r.board.defaultPriority:null,ownerType:r.fields.ownerType?r.board.defaultOwnerType:"",progress:null,frontmatter:{}},m=a.map(f=>f.name===o?{...f,tasks:[...f.tasks,d]}:f);e({columns:m});try{const f={id:c,title:"",status:o,order:p,priority:r.fields.priority?r.board.defaultPriority:"",tags:[],assignee:"",created:new Date().toISOString().slice(0,10),ownerType:r.fields.ownerType?r.board.defaultOwnerType:"",tools:""},h="";await eu(i||null,c,f,h);const k=new Map(s);return k.set(c,{frontmatter:f,subtasks:[],body:h}),e({taskContents:k}),t().toast(`Created ${c.replace(/^t/,"")}`),await t().openDrawer(c),c}catch(f){return t().toast("Failed to create: "+f.message,"error"),e({columns:a}),null}},deleteTask:async n=>{const{columns:a,tasksDirHandle:i,taskContents:r}=t();if(!i&&!Qt())return;const s=a.map(p=>({...p,tasks:p.tasks.filter(d=>d.id!==n)}));e({columns:s});const o=new Map(r);o.delete(n);const c=new Map(t().searchMatches);c.delete(n),e({taskContents:o,searchMatches:c});try{await cj(i||null,n),t().toast("Deleted")}catch(p){t().toast("Failed to delete: "+p.message,"error"),e({columns:a})}},archiveTask:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a||null,n);await Foe(a||null,n,{...i,archived:!0},r),t().drawerTaskId===n&&t().closeDrawer(),await t().reloadBoard(),t().toast("Archived")}catch(i){t().toast("Failed to archive: "+i.message,"error")}},unarchiveTask:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a||null,n),s={...i};delete s.archived,await zoe(a||null,n,s,r),await t().reloadBoard(),t().toast("Restored")}catch(i){t().toast("Failed to restore: "+i.message,"error")}},setShowArchives:n=>e({showArchives:n}),setShowMetadata:n=>e({showMetadata:n}),openDrawer:async n=>{const{tasksDirHandle:a}=t();if(!(!a&&!Qt()))try{const{frontmatter:i,body:r}=await Wr(a,n),{subtasks:s,bodyWithoutSubtasks:o}=Ds(r),c={frontmatter:i,subtasks:s,body:o,savedAt:Date.now()};e({drawerTaskId:n,drawerData:{frontmatter:i,subtasks:s,body:o},drawerBaseVersion:c,conflictState:null,showConflictModal:!1})}catch(i){t().toast("Failed to open: "+i.message,"error")}},closeDrawer:()=>e({drawerTaskId:null,drawerData:null,drawerBaseVersion:null,conflictState:null,showConflictModal:!1}),updateDrawerData:n=>{const{drawerData:a}=t();a&&e({drawerData:n(a)})},saveDrawer:async()=>{const{drawerTaskId:n,drawerData:a,tasksDirHandle:i,taskContents:r}=t();if(!n||!a)return;const s=zd(a.body,a.subtasks),o={...a.frontmatter,id:n};try{await eu(i||null,n,o,s),t().toast("Saved"),e({drawerTaskId:null,drawerData:null});const c=new Map(r);c.set(n,{frontmatter:o,subtasks:a.subtasks,body:a.body}),e({taskContents:c}),await t().reloadBoard()}catch(c){t().toast("Failed to save: "+c.message,"error")}},saveDrawerMetadata:async()=>{const{drawerTaskId:n,drawerData:a,tasksDirHandle:i,taskContents:r}=t();if(!(!n||!a))try{const s=zd(a.body,a.subtasks),o={...a.frontmatter,id:n};await eu(i||null,n,o,s);const c=new Map(r);c.set(n,{frontmatter:o,subtasks:a.subtasks,body:a.body}),e({taskContents:c}),await t().reloadBoard()}catch(s){t().toast("Failed to save: "+s.message,"error")}},setViewMode:n=>{localStorage.setItem("kandown:view",n),e({viewMode:n})},setDensity:n=>{localStorage.setItem("kandown:density",n),e({density:n})},setFilter:(n,a)=>{if(e(i=>({filters:{...i.filters,[n]:a}})),n==="search"){const{columns:i,tasksDirHandle:r,taskContents:s}=t(),o=a,c=i.flatMap(p=>p.tasks.map(d=>d.id));if(r){const p=c.filter(d=>!s.has(d));p.length>0?t().loadTaskContents(p).then(()=>{t().computeSearchMatches(o)}):t().computeSearchMatches(o)}}},clearFilters:()=>e({filters:{search:"",priority:null,tag:null,assignee:null,ownerType:null},searchMatches:new Map}),setCommandOpen:n=>e({commandOpen:n}),setCheatsheetOpen:n=>e({cheatsheetOpen:n}),refreshAgentHook:async()=>{if(!Qt()){e({agentHook:null});return}const n=await $oe();e({agentHook:n?.agentHook??null})},sendTaskToAgent:async n=>{const a=t().agentHook;if(!a){t().toast("Agent hook not configured","error");return}t().toast(`Sending to ${a.label}…`);const i=await Eoe(n);if(i===null){t().toast("Could not reach the daemon","error");return}i.ok?t().toast(`Sent to ${a.label}`):t().toast(i.error||"Agent hook failed","error")},setCurrentPage:n=>e({currentPage:n}),loadTaskContents:async n=>{const{tasksDirHandle:a}=t();if(!a)return;const i=new Map(t().taskContents);await Promise.all(n.map(async r=>{if(!i.has(r))try{const{frontmatter:s,body:o}=await Wr(a,r),{subtasks:c,bodyWithoutSubtasks:p}=Ds(o);i.set(r,{frontmatter:s,subtasks:c,body:p})}catch{}})),e({taskContents:i})},computeSearchMatches:n=>{if(!n.trim()){e({searchMatches:new Map});return}const{taskContents:a}=t(),i=new Map,r=n.toLowerCase();for(const[s,o]of a){const c=wz(o,r);c.length>0&&i.set(s,c)}e({searchMatches:i})},toast:(n,a="success")=>{const i=++ece;e(r=>({toasts:[...r.toasts,{id:i,message:n,type:a}]})),setTimeout(()=>{e(r=>({toasts:r.toasts.filter(s=>s.id!==i)}))},2500)},dismissToast:n=>e(a=>({toasts:a.toasts.filter(i=>i.id!==n)})),resolveConflict:async n=>{const{conflictState:a,drawerData:i,tasksDirHandle:r,drawerTaskId:s,drawerBaseVersion:o}=t();if(!(!a||!r||!s))if(n==="reload"){const{frontmatter:c,body:p}=await Wr(r,s),{subtasks:d,bodyWithoutSubtasks:m}=Ds(p);e({drawerData:{frontmatter:c,subtasks:d,body:m},drawerBaseVersion:{frontmatter:c,subtasks:d,body:m,savedAt:Date.now()},conflictState:null,showConflictModal:!1}),t().toast("Reloaded from disk")}else if(n==="overwrite"){if(i&&s&&o){const c=zd(i.body,i.subtasks),p={...i.frontmatter,id:s};await eu(r,s,p,c),e({drawerBaseVersion:{...i,savedAt:Date.now()},conflictState:null,showConflictModal:!1}),t().toast("Overwritten remote changes")}}else e({conflictState:null,showConflictModal:!1})},setupWatcher:()=>{if(Qt()){A2&&clearInterval(A2),A2=setInterval(()=>{t().reloadBoard()},2e3);return}const{dirHandle:n,tasksDirHandle:a}=t();if(!n||!a)return;tu.stop(),Ef.forEach(s=>clearTimeout(s)),Ef.clear(),tu.start(n,a);const i=(s,o)=>{const c=Ef.get(s);c&&clearTimeout(c);const p=Math.max(2e3,t().config.notifications.editDebounceMs),d=setTimeout(()=>{Ef.delete(s);const m=t().config;m.notifications.taskEdits&&w2({title:"Task edited",body:`${o} changed on disk.`,config:m})},p);Ef.set(s,d)},r=async s=>{const{tasksDirHandle:o,config:c}=t();if(!o)return;const{frontmatter:p,body:d}=await Wr(o,s),{subtasks:m,bodyWithoutSubtasks:f}=Ds(d),h={id:s,frontmatter:{...p,id:p.id||s,status:p.status||"Backlog"},body:f,subtasks:m},b=d3(h),k=du.get(s);if(!k){du.set(s,b);return}c.notifications.statusChanges&&k.status!==b.status&&w2({title:"Task status changed",body:`${b.title}: ${k.status} → ${b.status}`,config:c});const w=Qoe(k.subtasks,b.subtasks);c.notifications.subtaskCompletions&&w>0&&w2({title:"Subtask completed",body:w===1?`${b.title}: 1 subtask completed.`:`${b.title}: ${w} subtasks completed.`,config:c}),Joe(k,b)&&i(s,b.title),du.set(s,b)};tu.on("configChanged",()=>{t().loadConfig(),t().toast("Settings updated externally","info")}),tu.on("taskChanged",async s=>{const{drawerTaskId:o,drawerBaseVersion:c,tasksDirHandle:p}=t();if(await r(s),o===s&&c&&p){const{frontmatter:d,body:m}=await Wr(p,s),{subtasks:f,bodyWithoutSubtasks:h}=Ds(m),b=c,k=JSON.stringify(b.frontmatter)!==JSON.stringify(d),w=b.body!==h,x=JSON.stringify(b.subtasks)!==JSON.stringify(f);if(!k&&!w&&!x)return;let S="none";k&&(w||x)?S="full":k?S="metadata-only":(w||x)&&(S="body-only"),e({conflictState:{taskId:s,type:S,local:b,remote:{frontmatter:d,body:h,subtasks:f}},showConflictModal:S==="full"})}else t().reloadBoard()}),tu.on("newTaskDetected",async s=>{const{tasksDirHandle:o}=t();if(o){const{frontmatter:c,body:p}=await Wr(o,s),{subtasks:d,bodyWithoutSubtasks:m}=Ds(p);du.set(s,d3({id:s,frontmatter:{...c,id:c.id||s,status:c.status||"Backlog"},body:m,subtasks:d}))}t().reloadBoard()})}}));l3().then(e=>{fe.setState({recentProjects:e})});nl(Ci);window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{nl(fe.getState().config)});function tce(){const e=fe(o=>o.config),t=fe(o=>o.updateConfig),[n,a]=$.useState(!1);if($.useEffect(()=>{a(!0)},[]),!n)return null;const i=e.ui.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.ui.theme,r=i==="dark",s=()=>{const o=r?"light":"dark";t(c=>({...c,ui:{...c.ui,theme:o}}))};return _.jsx(_t.button,{onClick:s,className:r3("relative inline-flex items-center rounded-full transition-all duration-300","border border-black/[0.08] dark:border-white/[0.12]","bg-black/[0.05] dark:bg-white/[0.08]","h-8 w-[52px] px-1"),title:r?"Switch to light mode":"Switch to dark mode",children:_.jsx(_t.div,{className:r3("inline-flex items-center justify-center rounded-full shadow-md",r?"bg-[#1e293b] border border-white/[0.15]":"bg-black border border-black/20","h-[26px] w-[26px]"),animate:{x:r?22:0},transition:{type:"spring",stiffness:500,damping:30},children:_.jsx(_t.div,{initial:{rotate:-90,scale:.5,opacity:0},animate:{rotate:0,scale:1,opacity:1},transition:{duration:.25,ease:"easeOut"},children:r?_.jsx(Zn.Moon,{size:13,className:"text-sky-300"}):_.jsx(Zn.Sun,{size:13,className:"text-amber-400"})},i)})})}function nce(e){const t=cse(e,{stiffness:180,damping:22,mass:.8});return $.useEffect(()=>{t.set(e)},[e,t]),nz(t,a=>Math.round(a).toString())}const u3="0.14.0",ace=({className:e})=>_.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 150 150",className:e,fill:"currentColor",children:[_.jsx("path",{d:"m57.6 64.6 0.1-0.1v-31.3c-0.1-3.5-2.7-5.6-5.7-5.6h-16.3v59.6c0.2-1.3 0.9-2.6 1.7-3.2l20.2-19.4z"}),_.jsx("path",{d:"m87.6 43.8c-3.4 0.1-7.1 1.3-9.9 3.7l-38.5 38.7c-2.1 2.1-3.4 4.8-3.5 7.5v26.7l77.5-76.4v-0.2h-25.6z"}),_.jsx("path",{d:"m108.1 96.4-6 5-22.4-20.8-14.6 14.2 21.1 21.4-5 4.1c-0.6 0.5-0.3 0.9 0.2 0.9h27.6c0.4 0 0.7-0.4 0.7-0.6v-24.8c0-0.7-1.1-0.3-1.6 0.3v0.3z"})]});function ice(){const{t:e}=Rn(),t=fe(V=>V.dirHandle),n=fe(V=>V.isOpen);fe(V=>V.projectName);const a=fe(V=>V.archivedTasks.length),i=fe(V=>V.showArchives),r=fe(V=>V.setShowArchives),s=fe(V=>V.columns),o=fe(V=>V.openFolder),c=fe(V=>V.reloadBoard),p=fe(V=>V.createTask),d=fe(V=>V.setCommandOpen),m=fe(V=>V.viewMode),f=fe(V=>V.setViewMode),h=fe(V=>V.density),b=fe(V=>V.setDensity),k=fe(V=>V.setCurrentPage),w=fe(V=>V.recentProjects),x=fe(V=>V.openRecentProject),S=fe(V=>V.filters),E=fe(V=>V.setFilter),P=fe(V=>V.clearFilters),L=fe(V=>V.config.fields),[j,F]=$.useState(!1),z=$.useRef(null),R=$.useRef(null),M=s.reduce((V,H)=>V+H.tasks.length,0),K=nce(M),J=[];L.priority&&S.priority&&J.push({type:"priority",label:S.priority,value:S.priority}),L.tags&&S.tag&&J.push({type:"tag",label:"#"+S.tag,value:S.tag}),L.assignee&&S.assignee&&J.push({type:"assignee",label:"@"+S.assignee,value:S.assignee});const W=[{label:e("filterBar.ownerAll"),value:""},{label:e("filterBar.ownerHuman"),value:"human"},{label:e("filterBar.ownerAI"),value:"ai"}],B=J.length>0||S.search||L.ownerType&&S.ownerType;return $.useEffect(()=>{if(!j)return;const V=H=>{z.current&&!z.current.contains(H.target)&&F(!1)};return document.addEventListener("mousedown",V),()=>document.removeEventListener("mousedown",V)},[j]),_.jsxs("header",{className:"flex items-center justify-between px-5 h-[64px] border-b border-border bg-card/80 backdrop-blur-xl relative z-10",children:[_.jsxs("div",{className:"flex items-center gap-4 min-w-0",children:[_.jsx("div",{className:"flex items-center gap-2.5 flex-shrink-0",children:_.jsxs("button",{onClick:()=>window.history.pushState({},"",window.location.pathname),className:"flex items-center gap-2 cursor-pointer",children:[_.jsx(ace,{className:"w-[34px] h-[34px] dark:text-white text-black"}),_.jsx("span",{className:"text-[15px] font-semibold tracking-tight text-fg",children:"kandown"}),_.jsxs("span",{className:"inline-flex items-center h-5 px-1.5 text-[10.5px] font-semibold text-red-600 bg-red-50 dark:text-red-400 dark:bg-red-500/15 rounded-md",children:["v",u3]})]})}),t&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"w-px h-[20px] bg-black/[0.08] dark:bg-white/[0.08] flex-shrink-0"}),_.jsxs("div",{className:"flex items-center gap-2 px-3 h-9 bg-secondary/60 border border-border rounded-xl min-w-[200px] max-w-[280px] focus-within:border-border-focus focus-within:bg-secondary transition-all",children:[_.jsx(Zn.Search,{size:14,className:"text-fg-muted/60 flex-shrink-0"}),_.jsx("input",{ref:R,type:"text",placeholder:e("filterBar.searchPlaceholder"),value:S.search,onChange:V=>E("search",V.target.value),className:"bg-transparent border-none outline-none text-fg text-[13px] w-full placeholder:text-fg-muted/60"}),S.search?_.jsx("button",{onClick:()=>E("search",""),className:"text-fg-muted/60 hover:text-fg flex-shrink-0",children:_.jsx(Zn.X,{size:14})}):_.jsx("kbd",{className:"inline-flex items-center h-5 px-1.5 text-[10px] font-medium text-fg-muted/50 bg-black/[0.04] dark:bg-white/[0.08] rounded border border-black/[0.06] dark:border-white/[0.1]",children:"⌘K"})]}),_.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap overflow-hidden",children:[_.jsx(ps,{children:J.map(V=>_.jsxs(_t.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15},onClick:()=>E(V.type,null),className:"inline-flex items-center gap-1 h-6 px-2.5 text-[12px] text-fg bg-black/[0.05] dark:bg-white/[0.1] border border-black/[0.08] dark:border-white/[0.12] rounded-lg hover:bg-black/[0.08] dark:hover:bg-white/[0.15] transition-colors",children:[V.label,_.jsx(Zn.X,{size:10,className:"text-fg-muted/60"})]},V.type+V.value))}),L.ownerType&&_.jsx("div",{className:"flex items-center h-6 border border-black/[0.06] dark:border-white/[0.1] rounded-lg overflow-hidden",children:W.map(V=>_.jsx("button",{onClick:()=>E("ownerType",V.value),className:`h-full px-2.5 text-[12px] transition-colors ${S.ownerType===V.value?"bg-black/[0.06] dark:bg-white/[0.12] text-fg":"text-fg-muted/70 hover:text-fg"}`,children:V.label},V.value))}),B&&_.jsx("button",{onClick:P,className:"text-[12px] text-fg-muted/60 hover:text-fg transition-colors",children:e("filterBar.clearAll")})]})]}),t&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"w-px h-[20px] bg-black/[0.08] dark:bg-white/[0.08] flex-shrink-0"}),_.jsxs("div",{className:"relative flex-shrink-0",ref:z,children:[_.jsxs("button",{onClick:()=>F(V=>!V),className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[13px] text-fg-muted hover:text-fg hover:bg-black/[0.04] dark:hover:bg-white/[0.06] rounded-lg transition-colors border border-transparent hover:border-black/[0.06] dark:hover:border-white/[0.1]",children:[_.jsx(Zn.Folder,{size:13,className:"text-fg-muted/70"}),_.jsxs("span",{className:"font-medium",children:[".",t.name]}),_.jsx(Zn.ChevronDown,{size:11,className:"opacity-50"})]}),_.jsx(ps,{children:j&&_.jsx(_t.div,{initial:{opacity:0,y:-4,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.98},transition:{duration:.12},className:"absolute top-full left-0 mt-2 min-w-[240px] glass rounded-xl shadow-[0_16px_48px_rgba(0,0,0,0.5)] overflow-hidden z-50",children:_.jsxs("div",{className:"py-1.5",children:[w.length>0&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-fg-muted/60",children:e("header.recentProjects")}),w.map(V=>_.jsxs("button",{onClick:()=>{F(!1),x(V)},className:"w-full flex items-center gap-2 px-3 py-2 text-[13.5px] text-left hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors",children:[_.jsx(Zn.Folder,{size:12,className:"text-fg-muted/60"}),_.jsx("span",{className:"truncate",children:V.name}),V.id===t.name&&_.jsx(Zn.Check,{size:12,className:"ml-auto text-emerald-500"})]},V.id)),_.jsx("div",{className:"h-px bg-black/[0.06] dark:bg-white/[0.08] my-1.5 mx-2"})]}),_.jsxs("button",{onClick:()=>{F(!1),o()},className:"w-full flex items-center gap-2 px-3 py-2 text-[13.5px] text-left hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors",children:[_.jsx(Zn.Plus,{size:12,className:"text-fg-muted/60"}),_.jsx("span",{children:e("header.openFolder...")})]})]})})})]})]})]}),_.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:n||t?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"flex items-center gap-2 mr-2 text-[12.5px] text-fg-muted/70",children:[_.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-emerald-500"}),_.jsx(_t.span,{className:"tabular-nums font-medium",children:K}),_.jsx("span",{children:e("header.tasks")})]}),_.jsxs("div",{className:"flex items-center bg-black/[0.04] dark:bg-white/[0.06] border border-black/[0.06] dark:border-white/[0.1] rounded-xl p-0.5 h-10",children:[_.jsx("button",{onClick:()=>f("board"),className:`w-9 h-9 inline-flex items-center justify-center rounded-lg transition-all ${m==="board"?"bg-card text-fg shadow-sm":"text-fg-muted/70 hover:text-fg"}`,title:e("common.board"),children:_.jsx(Zn.LayoutBoard,{size:18})}),_.jsx("button",{onClick:()=>f("list"),className:`w-9 h-9 inline-flex items-center justify-center rounded-lg transition-all ${m==="list"?"bg-card text-fg shadow-sm":"text-fg-muted/70 hover:text-fg"}`,title:e("common.list"),children:_.jsx(Zn.LayoutList,{size:18})})]}),_.jsx(da,{variant:"icon",icon:"Archive",onClick:()=>r(!i),title:i?e("header.backToBoard"):`${e("header.archives")} (${a})`,className:i?"text-accent":""}),_.jsx(da,{variant:"icon",icon:"Density",onClick:()=>b(h==="compact"?"comfortable":"compact"),title:`Density: ${h}`}),_.jsx(da,{variant:"icon",icon:"Settings",onClick:()=>k("settings"),title:e("common.settings")}),_.jsx(tce,{}),_.jsx("div",{className:"w-px h-5 bg-black/[0.08] dark:bg-white/[0.08] mx-1"}),_.jsx(da,{variant:"secondary",icon:"Search",label:e("common.search"),shortcut:"⌘K",onClick:()=>d(!0),title:"Command palette (⌘K)"}),_.jsx(da,{variant:"icon",icon:"Refresh",onClick:c,title:`${e("common.reload")} (R)`}),_.jsx(da,{variant:"primary",icon:"Plus",label:e("common.newTask"),shortcut:"N",onClick:()=>p()})]}):_.jsx(da,{variant:"primary",label:e("common.openFolder"),onClick:o})})]})}/**
|
|
117
117
|
* @license @tabler/icons-react v3.41.1 - MIT
|
|
118
118
|
*
|
|
119
119
|
* This source code is licensed under the MIT license.
|
|
@@ -228,7 +228,7 @@ Error generating stack: `+y.message+`
|
|
|
228
228
|
*
|
|
229
229
|
* This source code is licensed under the MIT license.
|
|
230
230
|
* See the LICENSE file in the root directory of this source tree.
|
|
231
|
-
*/const Fce=[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]],zce=On("outline","trash","Trash",Fce),Hce={priority:"Priority",assignee:"Assignee",tags:"Tags",due:"Due",ownerType:"Owner",tools:"Tools"},Bce=new Set(["report"]);function qce(e){return Hce[e]??e.charAt(0).toUpperCase()+e.slice(1).replace(/_/g," ")}function Uce(e){if(!/^\d{4}-\d{2}-\d{2}/.test(e))return!1;const t=new Date(e);return!isNaN(t.getTime())}function Vce(e,t){if(t==null)return null;if(Array.isArray(t))return _.jsx("span",{className:"flex flex-wrap gap-1",children:t.map((n,a)=>_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 rounded bg-black/[0.04] dark:bg-white/[0.08] border border-border/60 text-fg-dim",children:String(n)},a))});if(typeof t=="string"){if(e==="due"||Uce(t)){const n=new Date(t);if(!isNaN(n.getTime()))return _.jsx("span",{className:"text-fg-dim",children:n.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})}return _.jsx("span",{className:"text-fg-dim break-words",children:t})}return typeof t=="boolean"?_.jsx("span",{className:"text-fg-dim",children:t?"yes":"no"}):typeof t=="number"?_.jsx("span",{className:"text-fg-dim",children:t}):_.jsx("span",{className:"text-fg-dim",children:String(t)})}function Zce({frontmatter:e,hidden:t}){if(t)return null;const n=Object.entries(e).filter(([a,i])=>!(Bce.has(a)||i==null||i===""||Array.isArray(i)&&i.length===0));return n.length===0?null:_.jsx("div",{className:"mt-2.5 pt-2 border-t border-border/60 space-y-1",children:n.map(([a,i])=>_.jsxs("div",{className:"flex items-start gap-2 text-[11.5px] leading-snug",children:[_.jsx("span",{className:"text-fg-muted/80 font-medium flex-shrink-0 min-w-[64px]",children:qce(a)}),_.jsx("span",{className:"flex-1 min-w-0",children:Vce(a,i)})]},a))})}function Gce({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function Lz({task:e,searchMatches:t=[],density:n,onDragStart:a,onDragEnd:i,columnName:r,doneTags:s}){const{t:o}=Rn(),c=fe(R=>R.openDrawer),p=fe(R=>R.deleteTask),d=fe(R=>R.showMetadata),[m,f]=$.useState(!1),[h,b]=$.useState(!1),k=$.useRef(!0),w=n==="compact",x=e.progress&&e.progress.total>0?Math.round(e.progress.done/e.progress.total*100):0,S=e.progress&&e.progress.done===e.progress.total,E={onDragStart:a,onDragEnd:i},P=e.title.match(/^\[([^\]]+)\]\s*/),L=P?`[${P[1]}]`:"",j=P?e.title.slice(P[0].length):e.title,F=t.length>0&&!w;$.useEffect(()=>()=>{k.current=!1},[]),$.useEffect(()=>{if(!m)return;const R=window.setTimeout(()=>f(!1),2400);return()=>window.clearTimeout(R)},[m]);const z=async R=>{if(R.stopPropagation(),R.preventDefault(),!h){if(!m){f(!0);return}b(!0),await p(e.id),k.current&&(b(!1),f(!1))}};return _.jsxs(_t.div,{layout:!0,layoutId:e.id,transition:{type:"spring",stiffness:500,damping:40,mass:.8},initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95,transition:{duration:.12}},whileHover:{y:-1},whileTap:{scale:.99},draggable:!0,...E,onClick:()=>c(e.id),onMouseLeave:()=>f(!1),"data-task-id":e.id,"data-col":r,className:`group relative cursor-pointer rounded-lg border border-border bg-card shadow-[0_1px_2px_rgba(0,0,0,0.04)] transition-all duration-150 hover:border-border-strong hover:shadow-[0_2px_8px_rgba(0,0,0,0.06)] ${e.checked?"opacity-70":""}`,children:[_.jsx("div",{className:"absolute left-1.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-40 transition-opacity cursor-grab active:cursor-grabbing",children:_.jsxs("svg",{width:"10",height:"16",viewBox:"0 0 10 16",fill:"currentColor",className:"text-fg-muted",children:[_.jsx("circle",{cx:"3",cy:"2",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"2",r:"1.5"}),_.jsx("circle",{cx:"3",cy:"8",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"8",r:"1.5"}),_.jsx("circle",{cx:"3",cy:"14",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"14",r:"1.5"})]})}),_.jsx("button",{type:"button",draggable:!1,"aria-label":o(m?"card.confirmDelete":"card.delete"),title:o(m?"card.confirmDelete":"card.delete"),disabled:h,onClick:z,onPointerDown:R=>R.stopPropagation(),onBlur:()=>f(!1),className:`absolute right-2 top-2 z-10 inline-flex h-6 w-6 items-center justify-center rounded-md border transition-all ${m?"border-red-500 bg-red-500 text-white opacity-100 shadow-sm":"border-border bg-card/80 text-fg-muted opacity-0 hover:border-red-500/60 hover:bg-card hover:text-red-500 group-hover:opacity-100"} ${h?"pointer-events-none opacity-60":""}`,children:m?_.jsx(Oce,{size:14,stroke:1.9}):_.jsx(zce,{size:14,stroke:1.8})}),_.jsxs("div",{className:"px-3.5 pt-3 pb-1.5",children:[_.jsx("span",{className:"font-mono text-[11.5px] font-medium text-fg-faint tabular-nums",children:e.id.replace(/^t/,"#")}),e.dependsOn&&e.dependsOn.length>0&&_.jsxs("span",{className:"ml-1.5 inline-flex items-center gap-0.5 px-1.5 h-[16px] rounded text-[10.5px] font-semibold text-amber-700 dark:text-amber-300 bg-amber-500/10 border border-amber-500/20",title:o("card.blockedBy",{ids:e.dependsOn.join(", ")}),"aria-label":o("card.blockedBy",{ids:e.dependsOn.join(", ")}),children:["↪",e.dependsOn.length]})]}),_.jsxs("div",{className:"px-3.5 pb-1.5",children:[_.jsx("div",{className:`text-[13.5px] leading-snug font-medium ${e.checked?"line-through text-fg-muted":"text-fg"} ${w?"line-clamp-1":"line-clamp-2"}`,children:j}),L&&_.jsx("div",{className:"mt-1.5",children:_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 text-[10.5px] font-semibold tracking-wide text-fg-muted uppercase rounded bg-black/[0.04] dark:bg-white/10",children:L})}),F&&_.jsx("div",{className:"mt-2.5 space-y-1",children:t.slice(0,2).map((R,M)=>_.jsxs("div",{className:"text-[12px] text-fg-dim bg-black/[0.03] dark:bg-white/[0.04] rounded-lg px-2.5 py-1.5 border border-black/[0.05] dark:border-white/[0.08]",children:[_.jsx("span",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wide mr-1.5",children:o(`sectionLabels.${R.section}`)||R.section}),_.jsx(Gce,{text:R.snippet,keyword:R.keyword})]},M))}),!w&&e.progress&&e.progress.total>0&&_.jsxs("div",{className:"mt-2.5 flex items-center gap-2 ",children:[_.jsx("div",{className:"flex-1 h-[3px] bg-black/[0.06] dark:bg-white/[0.1] rounded-full overflow-hidden",children:_.jsx(_t.div,{className:"h-full rounded-full",style:{backgroundColor:S?"#22c55e":"#737078"},initial:!1,animate:{width:`${x}%`},transition:{type:"spring",stiffness:160,damping:22}})}),_.jsxs("span",{className:"font-mono text-[11px] text-fg-muted tabular-nums",children:[e.progress.done,"/",e.progress.total]})]}),_.jsx(Zce,{frontmatter:e.frontmatter,hidden:d})]})]})}function Wce({group:e,searchMatches:t,density:n,columnName:a,onCardDragStart:i,onCardDragEnd:r,defaultExpanded:s=!1,doneTags:o}){const{t:c}=Rn(),[p,d]=$.useState(s);$.useEffect(()=>{d(s)},[s]);const m=e.tasks.length,f=e.tasks[0],h=f.title.replace(/^\[([^\]]+)\]\s*/,"").replace(/#\w+\s*/,"").trim()||f.title;return p?_.jsxs(_t.div,{layout:!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,scale:.95,transition:{duration:.12}},className:"flex flex-col gap-2",children:[_.jsxs("button",{type:"button",onClick:()=>d(!1),className:"flex items-center gap-1.5 px-2 py-1 rounded-md text-[11px] font-semibold text-fg-muted/70 uppercase tracking-wide hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors w-fit",children:[_.jsx(gce,{size:13,stroke:2}),_.jsx("span",{children:e.displayKey}),_.jsx("span",{className:"font-normal text-fg-muted/40",children:m})]}),_.jsx(ps,{mode:"popLayout",children:e.tasks.map(b=>_.jsx(Lz,{task:b,searchMatches:t.get(b.id)||[],density:n,columnName:a,doneTags:o,onDragStart:()=>i(b.id,a),onDragEnd:r},b.id))})]}):_.jsxs(_t.div,{layout:!0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95,transition:{duration:.12}},transition:{type:"spring",stiffness:500,damping:40,mass:.8},onClick:()=>d(!0),className:"relative cursor-pointer pb-3",children:[m>2&&_.jsx("div",{className:"absolute inset-0 rounded-lg border border-border bg-card/40 pointer-events-none",style:{transform:"translateY(8px) scale(0.94)",zIndex:0}}),_.jsx("div",{className:"absolute inset-0 rounded-lg border border-border bg-card/60 pointer-events-none",style:{transform:"translateY(4px) scale(0.97)",zIndex:1}}),_.jsx(_t.div,{whileHover:{y:-1},whileTap:{scale:.99},className:"relative z-10 rounded-lg border border-border bg-card shadow-[0_1px_2px_rgba(0,0,0,0.04)] transition-all hover:border-border-strong hover:shadow-[0_2px_8px_rgba(0,0,0,0.06)]",children:_.jsxs("div",{className:"px-3.5 pt-3 pb-2.5",children:[_.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[_.jsxs("div",{className:"flex items-center gap-1.5",children:[_.jsx(jce,{size:12,stroke:1.8,className:"text-fg-muted/60"}),_.jsx("span",{className:"text-[11px] font-semibold tracking-wide text-fg-muted uppercase",children:e.displayKey})]}),_.jsxs("div",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 text-[10.5px] font-medium rounded-md text-fg-muted tabular-nums",children:m}),_.jsx(dce,{size:12,stroke:2,className:"text-fg-muted/50"})]})]}),_.jsxs("div",{className:"text-[13.5px] leading-snug font-medium text-fg line-clamp-1",children:[h,m>1&&_.jsxs("span",{className:"text-fg-muted/50 ml-1.5",children:["+",m-1]})]})]})})]})}const Kce=/^\[([^\]]+)\]\s*/,Yce=/#(\w+)/;function Mz(e){const t=e.match(Kce);if(t)return`[${t[1].toLowerCase()}]`;const n=e.match(Yce);return n?`#${n[1].toLowerCase()}`:null}function Xce(e){return e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1):e}function Qce(e){const t=new Map,n=new Map;for(const r of e){const s=Mz(r.title);t.set(r.id,s),s&&n.set(s,(n.get(s)??0)+1)}const a=[],i=new Map;for(const r of e){const s=t.get(r.id)??null;if(!s||(n.get(s)??0)<2){a.push({type:"single",task:r});continue}const o=i.get(s);if(o)o.tasks.push(r);else{const c={type:"stack",groupKey:s,displayKey:Xce(s),tasks:[r]};i.set(s,c),a.push(c)}}return a}const Jce={backlog:fj,icebox:fj,todo:N2,"to do":N2,ready:N2,doing:$v,progress:$v,"in progress":$v,active:$v,review:S2,qa:S2,verify:S2,done:C2,complete:C2,completed:C2};function epe(e){const t=e.trim().toLowerCase();return Jce[t]??Cce}const gj={red:"rgba(239,68,68,0.06)",orange:"rgba(249,115,22,0.06)",amber:"rgba(245,158,11,0.06)",yellow:"rgba(234,179,8,0.06)",lime:"rgba(132,204,22,0.06)",green:"rgba(34,197,94,0.06)",emerald:"rgba(16,185,129,0.06)",teal:"rgba(20,184,166,0.06)",cyan:"rgba(6,182,212,0.06)",sky:"rgba(14,165,233,0.06)",blue:"rgba(59,130,246,0.06)",indigo:"rgba(99,102,241,0.06)",violet:"rgba(139,92,246,0.06)",purple:"rgba(168,85,247,0.06)",fuchsia:"rgba(217,70,239,0.06)",pink:"rgba(236,72,153,0.06)",rose:"rgba(244,63,94,0.06)",slate:"rgba(100,116,139,0.05)",gray:"rgba(255,255,255,0.025)",zinc:"rgba(113,113,122,0.05)",black:"rgba(0,0,0,0.24)",blackTransparent:"rgba(0,0,0,0.1)"},tpe=[{key:"red",label:"Red",color:"rgba(239,68,68,0.9)"},{key:"orange",label:"Orange",color:"rgba(249,115,22,0.9)"},{key:"amber",label:"Amber",color:"rgba(245,158,11,0.9)"},{key:"yellow",label:"Yellow",color:"rgba(234,179,8,0.9)"},{key:"lime",label:"Lime",color:"rgba(132,204,22,0.9)"},{key:"green",label:"Green",color:"rgba(34,197,94,0.9)"},{key:"emerald",label:"Emerald",color:"rgba(16,185,129,0.9)"},{key:"teal",label:"Teal",color:"rgba(20,184,166,0.9)"},{key:"cyan",label:"Cyan",color:"rgba(6,182,212,0.9)"},{key:"sky",label:"Sky",color:"rgba(14,165,233,0.9)"},{key:"blue",label:"Blue",color:"rgba(59,130,246,0.9)"},{key:"indigo",label:"Indigo",color:"rgba(99,102,241,0.9)"},{key:"violet",label:"Violet",color:"rgba(139,92,246,0.9)"},{key:"purple",label:"Purple",color:"rgba(168,85,247,0.9)"},{key:"fuchsia",label:"Fuchsia",color:"rgba(217,70,239,0.9)"},{key:"pink",label:"Pink",color:"rgba(236,72,153,0.9)"},{key:"rose",label:"Rose",color:"rgba(244,63,94,0.9)"},{key:"slate",label:"Slate",color:"rgba(100,116,139,0.9)"},{key:"gray",label:"Gray",color:"rgba(156,163,175,0.9)"},{key:"zinc",label:"Zinc",color:"rgba(113,113,122,0.9)"},{key:"black",label:"Black",color:"rgba(0,0,0,0.9)"},{key:"blackTransparent",label:"Black 50%",color:"rgba(0,0,0,0.5)"}];function npe({columnName:e,currentColor:t,onSelect:n}){const{t:a}=Rn(),[i,r]=$.useState(!1),s=$.useRef(null);return $.useEffect(()=>{if(!i)return;const o=c=>{s.current&&!s.current.contains(c.target)&&r(!1)};return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[i]),_.jsxs("div",{ref:s,className:"relative",children:[_.jsx("button",{onClick:o=>{o.stopPropagation(),r(c=>!c)},className:"w-5 h-5 inline-flex items-center justify-center text-fg-muted hover:bg-bg-3 hover:text-fg rounded-[4px] transition-colors",title:a("column.columnColor"),children:_.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-60",children:[_.jsx("circle",{cx:"3",cy:"2",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"2",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"3",cy:"6",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"6",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"3",cy:"10",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"10",r:"1.2",fill:"currentColor"})]})}),_.jsx(ps,{children:i&&_.jsxs(_t.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.12},className:"absolute right-0 top-full mt-1 bg-bg-2 border border-border rounded-[6px] shadow-lg p-1.5 z-50 min-w-[152px]",style:{transformOrigin:"top right"},children:[_.jsx("div",{className:"text-[11px] text-fg-muted px-1.5 pb-1.5 font-medium",children:a("column.color")}),_.jsx("div",{className:"grid grid-cols-5 gap-1",children:tpe.map(({key:o,label:c,color:p})=>_.jsx("button",{onClick:d=>{d.stopPropagation(),n(o),r(!1)},title:c,className:`w-6 h-6 rounded-[4px] flex items-center justify-center transition-all ${t===o?"ring-2 ring-offset-1 ring-offset-bg-2 ring-fg":"hover:scale-110"}`,style:{backgroundColor:p},children:t===o&&_.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",className:"text-white",children:_.jsx("path",{d:"M2 5l2.5 2.5L8 3",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})},o))})]})})]})}function ape({column:e,filteredTasks:t,searchMatches:n,density:a,draggedTaskId:i,draggedFromCol:r,onCardDragStart:s,onCardDragEnd:o,onDrop:c}){const{t:p}=Rn(),[d,m]=$.useState(!1),f=fe(H=>H.createTask),h=fe(H=>H.addColumn),b=fe(H=>H.renameColumn),k=fe(H=>H.deleteColumn),w=fe(H=>H.updateConfig),x=fe(H=>H.config),S=fe(H=>H.filters),E=x.board.columns.some(H=>H.toLowerCase()===e.name.toLowerCase()),P=$.useMemo(()=>Qce(t),[t]),L=$.useMemo(()=>{const H=new Map;for(const Y of fe.getState().columns)for(const ae of Y.tasks){const D=Mz(ae.title);D&&(H.has(D)||H.set(D,[]),H.get(D).push(ae))}const U=new Set;for(const[Y,ae]of H)ae.every(D=>D.checked)&&U.add(Y);return U},[]),j=x.board.columnColors?.[e.name.toLowerCase()]??"gray",F=gj[j]??gj.gray,z=H=>{w(U=>({...U,board:{...U.board,columnColors:{...U.board.columnColors??{},[e.name.toLowerCase()]:H}}}))},R=H=>{i&&(H.preventDefault(),H.dataTransfer.dropEffect="move",m(!0))},M=H=>{const U=H.relatedTarget;U&&H.currentTarget.contains(U)||m(!1)},K=H=>{H.preventDefault(),m(!1),i&&r!==e.name&&c(e.name)},J=t.length!==e.tasks.length,W=epe(e.name),B=()=>{const H=window.prompt(p("column.renamePrompt"),e.name)?.trim();!H||H===e.name||b(e.name,H)},V=()=>{const H=p("column.deleteConfirm",{name:e.name,count:e.tasks.length});window.confirm(H)&&k(e.name)};return _.jsxs(_t.div,{layout:!0,initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.3,ease:[.32,.72,.35,1]},onDragOver:R,onDragLeave:M,onDrop:K,"data-column":e.name,className:"group flex flex-col flex-none w-[320px] h-full rounded-xl border border-border transition-colors duration-150",style:{backgroundColor:d?"rgba(255,255,255,0.04)":F},children:[_.jsxs("div",{className:"flex items-center justify-between px-3.5 pt-3 pb-2",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(W,{"aria-hidden":"true",size:14,stroke:1.8,className:"flex-none text-fg-muted"}),_.jsx("span",{className:"text-[12.5px] font-semibold tracking-tight text-fg",children:e.name}),_.jsxs("span",{className:"inline-flex items-center justify-center min-w-[20px] h-[18px] px-1.5 text-[10.5px] font-medium text-fg-muted rounded-md tabular-nums",children:[t.length,J&&_.jsxs("span",{className:"text-fg-faint",children:["/",e.tasks.length]})]})]}),_.jsxs("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[!E&&_.jsx("button",{onClick:()=>h(e.name),className:"h-6 rounded-md px-2 text-[11px] font-medium text-fg-muted transition-colors hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg",title:p("column.addToSettings"),children:p("column.addColumn")}),_.jsx("button",{onClick:()=>f(e.name),className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg rounded-md transition-colors",title:p("column.addTask"),children:_.jsx(Zn.Plus,{size:14})}),_.jsx(npe,{columnName:e.name.toLowerCase(),currentColor:j,onSelect:z}),_.jsx("button",{onClick:B,className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg rounded-md transition-colors",title:p("column.renameColumn"),children:_.jsx("span",{className:"text-[11px] leading-none",children:"✎"})}),_.jsx("button",{onClick:V,className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-red-500/10 hover:text-red-500 rounded-md transition-colors",title:p("column.deleteColumn"),children:_.jsx("span",{className:"text-[13px] leading-none",children:"×"})})]})]}),_.jsx("div",{className:"flex-1 min-h-0 px-2.5 scrollbar-always",style:{overflowY:"scroll"},children:_.jsx("div",{className:"flex flex-col gap-2 py-1",children:_.jsx(ps,{mode:"popLayout",children:P.length===0?_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},className:"flex flex-col items-center justify-center py-10 px-4 text-center",children:[_.jsx("div",{className:"w-10 h-10 rounded-xl bg-black/[0.04] dark:bg-white/[0.08] flex items-center justify-center mb-3",children:_.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-fg-muted/50",children:[_.jsx("path",{d:"M9 11l3 3L22 4"}),_.jsx("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]})}),_.jsx("p",{className:"text-[13px] font-medium text-fg-muted/70",children:"No tasks yet"}),_.jsx("p",{className:"text-[12px] text-fg-muted/50 mt-0.5",children:"Drag tasks here to get started."})]}):P.map(H=>H.type==="single"?_.jsx(Lz,{task:H.task,searchMatches:n.get(H.task.id)||[],density:a,columnName:e.name,doneTags:L,onDragStart:()=>s(H.task.id,e.name),onDragEnd:o},H.task.id):_.jsx(Wce,{group:H,searchMatches:n,density:a,columnName:e.name,doneTags:L,onCardDragStart:s,onCardDragEnd:o,defaultExpanded:!!S.search},`stack-${H.groupKey}`))})})}),_.jsx("div",{className:"flex-none px-2.5 pb-2.5 pt-1",children:_.jsx(da,{variant:"ghost",icon:"Plus",label:p("column.addTask"),onClick:()=>f(e.name),className:"w-full justify-start px-2.5 py-1.5 h-auto text-[12.5px] text-fg-muted hover:text-fg rounded-lg hover:bg-black/[0.04] dark:hover:bg-white/[0.06]"})})]})}function ipe(){const{t:e}=Rn(),t=fe(x=>x.columns),n=fe(x=>x.density),a=fe(x=>x.filters),i=fe(x=>x.moveTask),r=fe(x=>x.addColumn),s=fe(x=>x.searchMatches),o=fe(x=>x.config),[c,p]=$.useState(null),[d,m]=$.useState(null),f=$.useMemo(()=>t.map(x=>{const S=x.tasks.filter(E=>{if(a.search){const P=a.search.toLowerCase(),L=E.title.toLowerCase().includes(P)||E.id.toLowerCase().includes(P),j=s.has(E.id);if(!L&&!j)return!1}return!(o.fields.priority&&a.priority&&E.priority!==a.priority||o.fields.tags&&a.tag&&!(E.tags||[]).includes(a.tag)||o.fields.assignee&&a.assignee&&E.assignee!==a.assignee||o.fields.ownerType&&a.ownerType&&E.ownerType!==a.ownerType)});return{column:x,filtered:S}}),[t,o.fields,a,s]),h=(x,S)=>{p(x),m(S)},b=()=>{p(null),m(null)},k=x=>{c&&d&&i(c,d,x),p(null),m(null)},w=()=>{const x=window.prompt(e("column.createPrompt"))?.trim();x&&r(x)};return _.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.25},className:`flex-1 min-h-0 flex gap-5 p-5 pb-6 overflow-x-auto overflow-y-hidden relative ${o.ui.background==="solid"?"board-bg":""}`,children:[f.map(({column:x,filtered:S},E)=>_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:E*.04,duration:.35,ease:[.32,.72,.35,1]},className:"h-full",children:_.jsx(ape,{column:x,filteredTasks:S,searchMatches:a.search?s:new Map,density:n,draggedTaskId:c,draggedFromCol:d,onCardDragStart:h,onCardDragEnd:b,onDrop:k})},x.name)),_.jsx("button",{type:"button",onClick:w,className:"flex h-[120px] w-[220px] flex-none items-center justify-center rounded-[8px] border border-dashed border-border bg-bg/45 px-4 text-[13px] font-medium text-fg-muted transition-colors hover:border-border-strong hover:bg-bg-2 hover:text-fg",children:e("column.createColumn")})]})}function rpe(){const{t:e}=Rn(),t=fe(r=>r.archivedTasks),n=fe(r=>r.unarchiveTask),a=fe(r=>r.setShowArchives),i=fe(r=>r.openDrawer);return _.jsxs("div",{className:"flex flex-col h-full overflow-y-auto px-[5vw] py-6",children:[_.jsxs("div",{className:"flex items-center justify-between mb-5 max-w-5xl w-full",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(Zn.Archive,{size:18,className:"text-fg-muted"}),_.jsx("h2",{className:"text-[18px] font-semibold tracking-tight",children:e("header.archives")}),_.jsx("span",{className:"text-[13px] text-fg-muted tabular-nums",children:t.length})]}),_.jsx(da,{variant:"secondary",icon:"ArrowLeft",label:e("header.backToBoard"),onClick:()=>a(!1)})]}),t.length===0?_.jsx("div",{className:"text-fg-muted text-[14px] italic px-2 py-8",children:e("archive.empty")}):_.jsx("div",{className:"flex flex-col gap-1 max-w-3xl",children:t.map(r=>_.jsxs("div",{className:"group flex items-center gap-3 px-3 py-2 rounded-[6px] hover:bg-bg-3/80 dark:hover:bg-bg-1/60 transition-colors",children:[_.jsx("button",{onClick:()=>{a(!1),i(r.id)},className:"flex-1 text-left min-w-0",children:_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx("span",{className:"font-mono text-[11.5px] text-fg-muted flex-shrink-0",children:r.id.toUpperCase()}),_.jsx("span",{className:"text-[14px] text-fg truncate",children:r.title})]})}),_.jsx(da,{variant:"ghost",icon:"ArchiveRestore",label:e("drawer.restore"),onClick:()=>void n(r.id)})]},r.id))})]})}const spe={P1:"#e5484d",P2:"#e9a23b",P3:"#3e63dd",P4:"#6e6e6e"};function ope({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function cpe(){const{t:e}=Rn(),t=fe(p=>p.columns),n=fe(p=>p.filters),a=fe(p=>p.openDrawer),i=fe(p=>p.searchMatches),r=fe(p=>p.config.fields),s=$.useMemo(()=>{const p=[];for(const d of t)for(const m of d.tasks){if(n.search){const f=n.search.toLowerCase(),h=m.title.toLowerCase().includes(f)||m.id.toLowerCase().includes(f),b=i.has(m.id);if(!h&&!b)continue}r.priority&&n.priority&&m.priority!==n.priority||r.tags&&n.tag&&!(m.tags||[]).includes(n.tag)||r.assignee&&n.assignee&&m.assignee!==n.assignee||r.ownerType&&n.ownerType&&m.ownerType!==n.ownerType||p.push({task:m,column:d.name})}return p},[t,r,n,i]),c={gridTemplateColumns:["80px",r.priority?"40px":null,"1fr","140px",r.tags?"120px":null,r.assignee?"120px":null,"80px"].filter(Boolean).join("_").replaceAll("_"," ")};return _.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},className:"flex-1 overflow-y-auto",children:_.jsxs("div",{className:"max-w-[1200px] mx-auto",children:[_.jsxs("div",{className:"grid grid-cols-[80px_40px_1fr_140px_120px_120px_80px] gap-3 px-6 py-2 text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint border-b border-border sticky top-0 bg-bg z-10",children:[_.jsx("div",{children:e("listView.id")}),_.jsx("div",{}),_.jsx("div",{children:e("listView.title")}),_.jsx("div",{children:e("listView.status")}),_.jsx("div",{children:e("listView.tags")}),_.jsx("div",{children:e("listView.assignee")}),_.jsx("div",{children:e("listView.progress")})]}),_.jsx(ps,{children:s.map(({task:p,column:d},m)=>{const f=n.search?i.get(p.id)||[]:[],h=f.length>0;return _.jsxs("div",{children:[_.jsxs(_t.button,{layout:!0,initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{delay:Math.min(m*.012,.2),duration:.2},onClick:()=>a(p.id),className:"w-full grid gap-3 px-6 py-2.5 text-[13.5px] border-b border-border hover:bg-bg-1 transition-colors text-left items-center",style:c,children:[_.jsx("span",{className:"font-mono text-[13px] font-bold text-fg-muted",children:p.id.replace(/^t/,"")}),r.priority&&_.jsx("span",{className:"flex items-center gap-1.5",children:p.priority&&_.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:spe[p.priority]},title:p.priority})}),_.jsx("span",{className:`truncate ${p.checked?"line-through text-fg-muted":"text-fg"}`,children:p.title}),_.jsx("span",{className:"text-fg-dim text-[12.5px]",children:d}),r.tags&&_.jsx("span",{className:"flex flex-wrap gap-1",children:p.tags.slice(0,2).map(b=>_.jsx("span",{className:"text-[11.5px] px-1.5 py-0.5 rounded-[3px] bg-bg-2 border border-border text-fg-dim",children:b},b))}),r.assignee&&_.jsx("span",{className:"text-[12.5px] text-fg-dim",children:p.assignee?`@${p.assignee}`:""}),_.jsx("span",{className:"text-[12px] font-mono text-fg-muted tabular-nums",children:p.progress?`${p.progress.done}/${p.progress.total}`:""})]}),h&&_.jsx(_t.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"px-6 pb-2 grid gap-3",style:c,children:_.jsx("div",{className:`${r.priority?"col-start-3":"col-start-2"} flex flex-col gap-1`,children:f.slice(0,2).map((b,k)=>_.jsxs("div",{className:"text-[12px] text-fg-dim bg-bg rounded px-2 py-1 border border-border",children:[_.jsx("span",{className:"text-[10.5px] font-medium text-fg-muted uppercase tracking-wide mr-1.5",children:e(`sectionLabels.${b.section}`)||b.section}),_.jsx(ope,{text:b.snippet,keyword:b.keyword})]},k))})})]},p.id)})}),s.length===0&&_.jsx("div",{className:"py-20 text-center text-[13.5px] text-fg-muted",children:e("listView.noMatchingTasks")})]})})}const ppe=({className:e})=>_.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 150 150",className:e,fill:"currentColor",children:[_.jsx("path",{d:"m57.6 64.6 0.1-0.1v-31.3c-0.1-3.5-2.7-5.6-5.7-5.6h-16.3v59.6c0.2-1.3 0.9-2.6 1.7-3.2l20.2-19.4z"}),_.jsx("path",{d:"m87.6 43.8c-3.4 0.1-7.1 1.3-9.9 3.7l-38.5 38.7c-2.1 2.1-3.4 4.8-3.5 7.5v26.7l77.5-76.4v-0.2h-25.6z"}),_.jsx("path",{d:"m108.1 96.4-6 5-22.4-20.8-14.6 14.2 21.1 21.4-5 4.1c-0.6 0.5-0.3 0.9 0.2 0.9h27.6c0.4 0 0.7-0.4 0.7-0.6v-24.8c0-0.7-1.1-0.3-1.6 0.3v0.3z"})]});function lpe(){const{t:e}=Rn(),t=fe(s=>s.openFolder);fe(s=>s.openServerProject);const n=fe(s=>s.loading),a=fe(s=>s.recentProjects),i=fe(s=>s.openRecentProject);if(fe(s=>s.tryAutoOpenServerProject),!xoe())return _.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-10 text-center",children:[_.jsx("div",{className:"text-[22px] font-semibold tracking-tight text-fg",children:e("emptyState.unsupportedBrowser")}),_.jsx("div",{className:"text-[14px] text-fg-dim max-w-[440px] leading-relaxed",dangerouslySetInnerHTML:{__html:e("emptyState.unsupportedBrowserDesc")}})]});const r=Qt();return r&&n?_.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-10 text-center",children:[_.jsx("div",{className:"text-[22px] font-semibold tracking-tight text-fg",children:"Chargement…"}),_.jsx("div",{className:"text-[14px] text-fg-dim max-w-[440px] leading-relaxed",children:e("emptyState.serverModeLoadingDesc")??"Connexion au serveur…"})]}):_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},className:"flex-1 flex flex-col items-center justify-start pt-32 gap-5 px-10 text-center board-bg relative",children:[_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.05},children:_.jsx(ppe,{className:"w-40 h-40 dark:text-white text-black"})}),_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.05},className:"text-[26px] font-semibold tracking-tight text-fg",children:e("app.name")}),r?_.jsx(_.Fragment,{children:_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",children:e("emptyState.serverModeDesc")??"Kandown est lancé en mode serveur. Le projet va se charger automatiquement."})}):_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",children:e("app.tagline")}),_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",dangerouslySetInnerHTML:{__html:e("emptyState.selectFolderDesc")}}),_.jsx(_t.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{delay:.15},children:_.jsx(da,{variant:"primary",label:e("common.selectFolder"),onClick:t,className:"h-10 px-6 text-[16px]",iconSize:20,icon:"Folder"})})]}),a.length>0&&_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.25},className:"mt-4 flex flex-col items-center gap-2",children:[_.jsx("div",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint",children:e("common.recent")}),_.jsx("div",{className:"flex flex-col gap-1 min-w-[220px]",children:a.slice(0,5).map(s=>_.jsx("button",{onClick:()=>i(s),className:"px-3 py-1.5 text-[13.5px] text-fg-dim hover:text-fg hover:bg-bg-2 rounded-[6px] transition-colors",children:s.name},s.id))})]})]})}const bu=new WeakMap,$y=new WeakMap,b_={current:[]};let $2=!1;const Ev=new Set,hj=new Map;function jz(e){const t=Array.from(e).sort((n,a)=>n instanceof vu&&n.options.deps.includes(a)?1:a instanceof vu&&a.options.deps.includes(n)?-1:0);for(const n of t){if(b_.current.includes(n))continue;b_.current.push(n),n.recompute();const a=$y.get(n);if(a)for(const i of a){const r=bu.get(i);r&&jz(r)}}}function dpe(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function upe(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function mpe(e){if(Ev.add(e),!$2)try{for($2=!0;Ev.size>0;){const t=Array.from(Ev);Ev.clear();for(const n of t){const a=hj.get(n)??n.prevState;n.prevState=a,dpe(n)}for(const n of t){const a=bu.get(n);a&&(b_.current.push(n),jz(a))}for(const n of t){const a=bu.get(n);if(a)for(const i of a)upe(i)}}}finally{$2=!1,b_.current=[],hj.clear()}}function fpe(e){return typeof e=="function"}class m3{constructor(t,n){this.listeners=new Set,this.subscribe=a=>{var i,r;this.listeners.add(a);const s=(r=(i=this.options)==null?void 0:i.onSubscribe)==null?void 0:r.call(i,a,this);return()=>{this.listeners.delete(a),s?.()}},this.prevState=t,this.state=t,this.options=n}setState(t){var n,a,i;this.prevState=this.state,(n=this.options)!=null&&n.updateFn?this.state=this.options.updateFn(this.prevState)(t):fpe(t)?this.state=t(this.prevState):this.state=t,(i=(a=this.options)==null?void 0:a.onUpdate)==null||i.call(a),mpe(this)}}class vu{constructor(t){this.listeners=new Set,this._subscriptions=[],this.lastSeenDepValues=[],this.getDepVals=()=>{const n=this.options.deps.length,a=new Array(n),i=new Array(n);for(let r=0;r<n;r++){const s=this.options.deps[r];a[r]=s.prevState,i[r]=s.state}return this.lastSeenDepValues=i,{prevDepVals:a,currDepVals:i,prevVal:this.prevState??void 0}},this.recompute=()=>{var n,a;this.prevState=this.state;const i=this.getDepVals();this.state=this.options.fn(i),(a=(n=this.options).onUpdate)==null||a.call(n)},this.checkIfRecalculationNeededDeeply=()=>{for(const r of this.options.deps)r instanceof vu&&r.checkIfRecalculationNeededDeeply();let n=!1;const a=this.lastSeenDepValues,{currDepVals:i}=this.getDepVals();for(let r=0;r<i.length;r++)if(i[r]!==a[r]){n=!0;break}n&&this.recompute()},this.mount=()=>(this.registerOnGraph(),this.checkIfRecalculationNeededDeeply(),()=>{this.unregisterFromGraph();for(const n of this._subscriptions)n()}),this.subscribe=n=>{var a,i;this.listeners.add(n);const r=(i=(a=this.options).onSubscribe)==null?void 0:i.call(a,n,this);return()=>{this.listeners.delete(n),r?.()}},this.options=t,this.state=t.fn({prevDepVals:void 0,prevVal:void 0,currDepVals:this.getDepVals().currDepVals})}registerOnGraph(t=this.options.deps){for(const n of t)if(n instanceof vu)n.registerOnGraph(),this.registerOnGraph(n.options.deps);else if(n instanceof m3){let a=bu.get(n);a||(a=new Set,bu.set(n,a)),a.add(this);let i=$y.get(this);i||(i=new Set,$y.set(this,i)),i.add(n)}}unregisterFromGraph(t=this.options.deps){for(const n of t)if(n instanceof vu)this.unregisterFromGraph(n.options.deps);else if(n instanceof m3){const a=bu.get(n);a&&a.delete(this);const i=$y.get(this);i&&i.delete(n)}}}var f3=Symbol("originalFactory");function Lt(e){if(typeof e=="object"&&"key"in e)return function t(){return e[f3]=t,e};if(typeof e!="function")throw Error("factory must be a function");return function t(n){return a=>{let i=e({editor:a.editor,options:n});return i[f3]=t,i}}}function hp(e,t){return new m3(e,t)}function Ca(e){this.content=e}Ca.prototype={constructor:Ca,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var a=n&&n!=e?this.remove(n):this,i=a.find(e),r=a.content.slice();return i==-1?r.push(n||e,t):(r[i+1]=t,n&&(r[i]=n)),new Ca(r)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ca(n)},addToStart:function(e,t){return new Ca([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ca(n)},addBefore:function(e,t,n){var a=this.remove(t),i=a.content.slice(),r=a.find(e);return i.splice(r==-1?i.length:r,0,t,n),new Ca(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ca.from(e),e.size?new Ca(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ca.from(e),e.size?new Ca(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ca.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}};Ca.from=function(e){if(e instanceof Ca)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ca(t)};function Dz(e,t,n){for(let a=0;;a++){if(a==e.childCount||a==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(a),r=t.child(a);if(i==r){n+=i.nodeSize;continue}if(!i.sameMarkup(r))return n;if(i.isText&&i.text!=r.text){for(let s=0;i.text[s]==r.text[s];s++)n++;return n}if(i.content.size||r.content.size){let s=Dz(i.content,r.content,n+1);if(s!=null)return s}n+=i.nodeSize}}function Iz(e,t,n,a){for(let i=e.childCount,r=t.childCount;;){if(i==0||r==0)return i==r?null:{a:n,b:a};let s=e.child(--i),o=t.child(--r),c=s.nodeSize;if(s==o){n-=c,a-=c;continue}if(!s.sameMarkup(o))return{a:n,b:a};if(s.isText&&s.text!=o.text){let p=0,d=Math.min(s.text.length,o.text.length);for(;p<d&&s.text[s.text.length-p-1]==o.text[o.text.length-p-1];)p++,n--,a--;return{a:n,b:a}}if(s.content.size||o.content.size){let p=Iz(s.content,o.content,n-1,a-1);if(p)return p}n-=c,a-=c}}class le{constructor(t,n){if(this.content=t,this.size=n||0,n==null)for(let a=0;a<t.length;a++)this.size+=t[a].nodeSize}nodesBetween(t,n,a,i=0,r){for(let s=0,o=0;o<n;s++){let c=this.content[s],p=o+c.nodeSize;if(p>t&&a(c,i+o,r||null,s)!==!1&&c.content.size){let d=o+1;c.nodesBetween(Math.max(0,t-d),Math.min(c.content.size,n-d),a,i+d)}o=p}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,n,a,i){let r="",s=!0;return this.nodesBetween(t,n,(o,c)=>{let p=o.isText?o.text.slice(Math.max(t,c)-c,n-c):o.isLeaf?i?typeof i=="function"?i(o):i:o.type.spec.leafText?o.type.spec.leafText(o):"":"";o.isBlock&&(o.isLeaf&&p||o.isTextblock)&&a&&(s?s=!1:r+=a),r+=p},0),r}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,a=t.firstChild,i=this.content.slice(),r=0;for(n.isText&&n.sameMarkup(a)&&(i[i.length-1]=n.withText(n.text+a.text),r=1);r<t.content.length;r++)i.push(t.content[r]);return new le(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let a=[],i=0;if(n>t)for(let r=0,s=0;s<n;r++){let o=this.content[r],c=s+o.nodeSize;c>t&&((s<t||c>n)&&(o.isText?o=o.cut(Math.max(0,t-s),Math.min(o.text.length,n-s)):o=o.cut(Math.max(0,t-s-1),Math.min(o.content.size,n-s-1))),a.push(o),i+=o.nodeSize),s=c}return new le(a,i)}cutByIndex(t,n){return t==n?le.empty:t==0&&n==this.content.length?this:new le(this.content.slice(t,n))}replaceChild(t,n){let a=this.content[t];if(a==n)return this;let i=this.content.slice(),r=this.size+n.nodeSize-a.nodeSize;return i[t]=n,new le(i,r)}addToStart(t){return new le([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new le(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(t.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let n=this.content[t];if(!n)throw new RangeError("Index "+t+" out of range for "+this);return n}maybeChild(t){return this.content[t]||null}forEach(t){for(let n=0,a=0;n<this.content.length;n++){let i=this.content[n];t(i,a,n),a+=i.nodeSize}}findDiffStart(t,n=0){return Dz(this,t,n)}findDiffEnd(t,n=this.size,a=t.size){return Iz(this,t,n,a)}findIndex(t){if(t==0)return Pv(0,t);if(t==this.size)return Pv(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,a=0;;n++){let i=this.child(n),r=a+i.nodeSize;if(r>=t)return r==t?Pv(n+1,r):Pv(n,a);a=r}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(t=>t.toJSON()):null}static fromJSON(t,n){if(!n)return le.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new le(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return le.empty;let n,a=0;for(let i=0;i<t.length;i++){let r=t[i];a+=r.nodeSize,i&&r.isText&&t[i-1].sameMarkup(r)?(n||(n=t.slice(0,i)),n[n.length-1]=r.withText(n[n.length-1].text+r.text)):n&&n.push(r)}return new le(n||t,a)}static from(t){if(!t)return le.empty;if(t instanceof le)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new le([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}le.empty=new le([],0);const E2={index:0,offset:0};function Pv(e,t){return E2.index=e,E2.offset=t,E2}function v_(e,t){if(e===t)return!0;if(!(e&&typeof e=="object")||!(t&&typeof t=="object"))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let a=0;a<e.length;a++)if(!v_(e[a],t[a]))return!1}else{for(let a in e)if(!(a in t)||!v_(e[a],t[a]))return!1;for(let a in t)if(!(a in e))return!1}return!0}let en=class g3{constructor(t,n){this.type=t,this.attrs=n}addToSet(t){let n,a=!1;for(let i=0;i<t.length;i++){let r=t[i];if(this.eq(r))return t;if(this.type.excludes(r.type))n||(n=t.slice(0,i));else{if(r.type.excludes(this.type))return t;!a&&r.type.rank>this.type.rank&&(n||(n=t.slice(0,i)),n.push(this),a=!0),n&&n.push(r)}}return n||(n=t.slice()),a||n.push(this),n}removeFromSet(t){for(let n=0;n<t.length;n++)if(this.eq(t[n]))return t.slice(0,n).concat(t.slice(n+1));return t}isInSet(t){for(let n=0;n<t.length;n++)if(this.eq(t[n]))return!0;return!1}eq(t){return this==t||this.type==t.type&&v_(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let a=t.marks[n.type];if(!a)throw new RangeError(`There is no mark type ${n.type} in this schema`);let i=a.create(n.attrs);return a.checkAttrs(i.attrs),i}static sameSet(t,n){if(t==n)return!0;if(t.length!=n.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].eq(n[a]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return g3.none;if(t instanceof g3)return[t];let n=t.slice();return n.sort((a,i)=>a.type.rank-i.type.rank),n}};en.none=[];class y_ extends Error{}class Ae{constructor(t,n,a){this.content=t,this.openStart=n,this.openEnd=a}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let a=Oz(this.content,t+this.openStart,n);return a&&new Ae(a,this.openStart,this.openEnd)}removeBetween(t,n){return new Ae(Rz(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,n){if(!n)return Ae.empty;let a=n.openStart||0,i=n.openEnd||0;if(typeof a!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new Ae(le.fromJSON(t,n.content),a,i)}static maxOpen(t,n=!0){let a=0,i=0;for(let r=t.firstChild;r&&!r.isLeaf&&(n||!r.type.spec.isolating);r=r.firstChild)a++;for(let r=t.lastChild;r&&!r.isLeaf&&(n||!r.type.spec.isolating);r=r.lastChild)i++;return new Ae(t,a,i)}}Ae.empty=new Ae(le.empty,0,0);function Rz(e,t,n){let{index:a,offset:i}=e.findIndex(t),r=e.maybeChild(a),{index:s,offset:o}=e.findIndex(n);if(i==t||r.isText){if(o!=n&&!e.child(s).isText)throw new RangeError("Removing non-flat range");return e.cut(0,t).append(e.cut(n))}if(a!=s)throw new RangeError("Removing non-flat range");return e.replaceChild(a,r.copy(Rz(r.content,t-i-1,n-i-1)))}function Oz(e,t,n,a){let{index:i,offset:r}=e.findIndex(t),s=e.maybeChild(i);if(r==t||s.isText)return a&&!a.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let o=Oz(s.content,t-r-1,n,s);return o&&e.replaceChild(i,s.copy(o))}function gpe(e,t,n){if(n.openStart>e.depth)throw new y_("Inserted content deeper than insertion position");if(e.depth-n.openStart!=t.depth-n.openEnd)throw new y_("Inconsistent open depths");return Fz(e,t,n,0)}function Fz(e,t,n,a){let i=e.index(a),r=e.node(a);if(i==t.index(a)&&a<e.depth-n.openStart){let s=Fz(e,t,n,a+1);return r.copy(r.content.replaceChild(i,s))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&e.depth==a&&t.depth==a){let s=e.parent,o=s.content;return bl(s,o.cut(0,e.parentOffset).append(n.content).append(o.cut(t.parentOffset)))}else{let{start:s,end:o}=hpe(n,e);return bl(r,Hz(e,s,o,t,a))}else return bl(r,__(e,t,a))}function zz(e,t){if(!t.type.compatibleContent(e.type))throw new y_("Cannot join "+t.type.name+" onto "+e.type.name)}function h3(e,t,n){let a=e.node(n);return zz(a,t.node(n)),a}function hl(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function sg(e,t,n,a){let i=(t||e).node(n),r=0,s=t?t.index(n):i.childCount;e&&(r=e.index(n),e.depth>n?r++:e.textOffset&&(hl(e.nodeAfter,a),r++));for(let o=r;o<s;o++)hl(i.child(o),a);t&&t.depth==n&&t.textOffset&&hl(t.nodeBefore,a)}function bl(e,t){return e.type.checkContent(t),e.copy(t)}function Hz(e,t,n,a,i){let r=e.depth>i&&h3(e,t,i+1),s=a.depth>i&&h3(n,a,i+1),o=[];return sg(null,e,i,o),r&&s&&t.index(i)==n.index(i)?(zz(r,s),hl(bl(r,Hz(e,t,n,a,i+1)),o)):(r&&hl(bl(r,__(e,t,i+1)),o),sg(t,n,i,o),s&&hl(bl(s,__(n,a,i+1)),o)),sg(a,null,i,o),new le(o)}function __(e,t,n){let a=[];if(sg(null,e,n,a),e.depth>n){let i=h3(e,t,n+1);hl(bl(i,__(e,t,n+1)),a)}return sg(t,null,n,a),new le(a)}function hpe(e,t){let n=t.depth-e.openStart,i=t.node(n).copy(e.content);for(let r=n-1;r>=0;r--)i=t.node(r).copy(le.from(i));return{start:i.resolveNoCache(e.openStart+n),end:i.resolveNoCache(i.content.size-e.openEnd-n)}}class jg{constructor(t,n,a){this.pos=t,this.path=n,this.parentOffset=a,this.depth=n.length/3-1}resolveDepth(t){return t==null?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){return t=this.resolveDepth(t),t==0?0:this.path[t*3-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,n=this.index(this.depth);if(n==t.childCount)return null;let a=this.pos-this.path[this.path.length-1],i=t.child(n);return a?t.child(n).cut(a):i}get nodeBefore(){let t=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(t).cut(0,n):t==0?null:this.parent.child(t-1)}posAtIndex(t,n){n=this.resolveDepth(n);let a=this.path[n*3],i=n==0?0:this.path[n*3-1]+1;for(let r=0;r<t;r++)i+=a.child(r).nodeSize;return i}marks(){let t=this.parent,n=this.index();if(t.content.size==0)return en.none;if(this.textOffset)return t.child(n).marks;let a=t.maybeChild(n-1),i=t.maybeChild(n);if(!a){let o=a;a=i,i=o}let r=a.marks;for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!i||!r[s].isInSet(i.marks))&&(r=r[s--].removeFromSet(r));return r}marksAcross(t){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let a=n.marks,i=t.parent.maybeChild(t.index());for(var r=0;r<a.length;r++)a[r].type.spec.inclusive===!1&&(!i||!a[r].isInSet(i.marks))&&(a=a[r--].removeFromSet(a));return a}sharedDepth(t){for(let n=this.depth;n>0;n--)if(this.start(n)<=t&&this.end(n)>=t)return n;return 0}blockRange(t=this,n){if(t.pos<this.pos)return t.blockRange(this);for(let a=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);a>=0;a--)if(t.pos<=this.end(a)&&(!n||n(this.node(a))))return new Dg(this,t,a);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let n=1;n<=this.depth;n++)t+=(t?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return t+":"+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw new RangeError("Position "+n+" out of range");let a=[],i=0,r=n;for(let s=t;;){let{index:o,offset:c}=s.content.findIndex(r),p=r-c;if(a.push(s,o,i+c),!p||(s=s.child(o),s.isText))break;r=p-1,i+=c+1}return new jg(n,a,r)}static resolveCached(t,n){let a=bj.get(t);if(a)for(let r=0;r<a.elts.length;r++){let s=a.elts[r];if(s.pos==n)return s}else bj.set(t,a=new bpe);let i=a.elts[a.i]=jg.resolve(t,n);return a.i=(a.i+1)%vpe,i}}class bpe{constructor(){this.elts=[],this.i=0}}const vpe=12,bj=new WeakMap;class Dg{constructor(t,n,a){this.$from=t,this.$to=n,this.depth=a}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const ype=Object.create(null);let Ro=class b3{constructor(t,n,a,i=en.none){this.type=t,this.attrs=n,this.marks=i,this.content=a||le.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,n,a,i=0){this.content.nodesBetween(t,n,a,i,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,n,a,i){return this.content.textBetween(t,n,a,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,n,a){return this.type==t&&v_(this.attrs,n||t.defaultAttrs||ype)&&en.sameSet(this.marks,a||en.none)}copy(t=null){return t==this.content?this:new b3(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new b3(this.type,this.attrs,this.content,t)}cut(t,n=this.content.size){return t==0&&n==this.content.size?this:this.copy(this.content.cut(t,n))}slice(t,n=this.content.size,a=!1){if(t==n)return Ae.empty;let i=this.resolve(t),r=this.resolve(n),s=a?0:i.sharedDepth(n),o=i.start(s),p=i.node(s).content.cut(i.pos-o,r.pos-o);return new Ae(p,i.depth-s,r.depth-s)}replace(t,n,a){return gpe(this.resolve(t),this.resolve(n),a)}nodeAt(t){for(let n=this;;){let{index:a,offset:i}=n.content.findIndex(t);if(n=n.maybeChild(a),!n)return null;if(i==t||n.isText)return n;t-=i+1}}childAfter(t){let{index:n,offset:a}=this.content.findIndex(t);return{node:this.content.maybeChild(n),index:n,offset:a}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:n,offset:a}=this.content.findIndex(t);if(a<t)return{node:this.content.child(n),index:n,offset:a};let i=this.content.child(n-1);return{node:i,index:n-1,offset:a-i.nodeSize}}resolve(t){return jg.resolveCached(this,t)}resolveNoCache(t){return jg.resolve(this,t)}rangeHasMark(t,n,a){let i=!1;return n>t&&this.nodesBetween(t,n,r=>(a.isInSet(r.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),Bz(this.marks,t)}contentMatchAt(t){let n=this.type.contentMatch.matchFragment(this.content,0,t);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(t,n,a=le.empty,i=0,r=a.childCount){let s=this.contentMatchAt(t).matchFragment(a,i,r),o=s&&s.matchFragment(this.content,n);if(!o||!o.validEnd)return!1;for(let c=i;c<r;c++)if(!this.type.allowsMarks(a.child(c).marks))return!1;return!0}canReplaceWith(t,n,a,i){if(i&&!this.type.allowsMarks(i))return!1;let r=this.contentMatchAt(t).matchType(a),s=r&&r.matchFragment(this.content,n);return s?s.validEnd:!1}canAppend(t){return t.content.size?this.canReplace(this.childCount,this.childCount,t.content):this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let t=en.none;for(let n=0;n<this.marks.length;n++){let a=this.marks[n];a.type.checkAttrs(a.attrs),t=a.addToSet(t)}if(!en.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map(n=>n.toJSON())),t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let a;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");a=n.marks.map(t.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(n.text,a)}let i=le.fromJSON(t,n.content),r=t.nodeType(n.type).create(n.attrs,i,a);return r.type.checkAttrs(r.attrs),r}};Ro.prototype.text=void 0;class k_ extends Ro{constructor(t,n,a,i){if(super(t,n,null,i),!a)throw new RangeError("Empty text nodes are not allowed");this.text=a}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Bz(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,n){return this.text.slice(t,n)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new k_(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new k_(this.type,this.attrs,t,this.marks)}cut(t=0,n=this.text.length){return t==0&&n==this.text.length?this:this.withText(this.text.slice(t,n))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}}function Bz(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+"("+t+")";return t}class Nl{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,n){let a=new _pe(t,n);if(a.next==null)return Nl.empty;let i=qz(a);a.next&&a.err("Unexpected trailing text");let r=Spe(Npe(i));return $pe(r,a),r}matchType(t){for(let n=0;n<this.next.length;n++)if(this.next[n].type==t)return this.next[n].next;return null}matchFragment(t,n=0,a=t.childCount){let i=this;for(let r=n;i&&r<a;r++)i=i.matchType(t.child(r).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:n}=this.next[t];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(t){for(let n=0;n<this.next.length;n++)for(let a=0;a<t.next.length;a++)if(this.next[n].type==t.next[a].type)return!0;return!1}fillBefore(t,n=!1,a=0){let i=[this];function r(s,o){let c=s.matchFragment(t,a);if(c&&(!n||c.validEnd))return le.from(o.map(p=>p.createAndFill()));for(let p=0;p<s.next.length;p++){let{type:d,next:m}=s.next[p];if(!(d.isText||d.hasRequiredAttrs())&&i.indexOf(m)==-1){i.push(m);let f=r(m,o.concat(d));if(f)return f}}return null}return r(this,[])}findWrapping(t){for(let a=0;a<this.wrapCache.length;a+=2)if(this.wrapCache[a]==t)return this.wrapCache[a+1];let n=this.computeWrapping(t);return this.wrapCache.push(t,n),n}computeWrapping(t){let n=Object.create(null),a=[{match:this,type:null,via:null}];for(;a.length;){let i=a.shift(),r=i.match;if(r.matchType(t)){let s=[];for(let o=i;o.type;o=o.via)s.push(o.type);return s.reverse()}for(let s=0;s<r.next.length;s++){let{type:o,next:c}=r.next[s];!o.isLeaf&&!o.hasRequiredAttrs()&&!(o.name in n)&&(!i.type||c.validEnd)&&(a.push({match:o.contentMatch,type:o,via:i}),n[o.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function n(a){t.push(a);for(let i=0;i<a.next.length;i++)t.indexOf(a.next[i].next)==-1&&n(a.next[i].next)}return n(this),t.map((a,i)=>{let r=i+(a.validEnd?"*":" ")+" ";for(let s=0;s<a.next.length;s++)r+=(s?", ":"")+a.next[s].type.name+"->"+t.indexOf(a.next[s].next);return r}).join(`
|
|
231
|
+
*/const Fce=[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]],zce=On("outline","trash","Trash",Fce),Hce={priority:"Priority",assignee:"Assignee",tags:"Tags",due:"Due",ownerType:"Owner",tools:"Tools"},Bce=new Set(["report"]);function qce(e){return Hce[e]??e.charAt(0).toUpperCase()+e.slice(1).replace(/_/g," ")}function Uce(e){if(!/^\d{4}-\d{2}-\d{2}/.test(e))return!1;const t=new Date(e);return!isNaN(t.getTime())}function Vce(e,t){if(t==null)return null;if(Array.isArray(t))return _.jsx("span",{className:"flex flex-wrap gap-1",children:t.map((n,a)=>_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 rounded bg-black/[0.04] dark:bg-white/[0.08] border border-border/60 text-fg-dim",children:String(n)},a))});if(typeof t=="string"){if(e==="due"||Uce(t)){const n=new Date(t);if(!isNaN(n.getTime()))return _.jsx("span",{className:"text-fg-dim",children:n.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})}return _.jsx("span",{className:"text-fg-dim break-words",children:t})}return typeof t=="boolean"?_.jsx("span",{className:"text-fg-dim",children:t?"yes":"no"}):typeof t=="number"?_.jsx("span",{className:"text-fg-dim",children:t}):_.jsx("span",{className:"text-fg-dim",children:String(t)})}function Zce({frontmatter:e,hidden:t}){if(t)return null;const n=Object.entries(e).filter(([a,i])=>!(Bce.has(a)||i==null||i===""||Array.isArray(i)&&i.length===0));return n.length===0?null:_.jsx("div",{className:"mt-2.5 pt-2 border-t border-border/60 space-y-1",children:n.map(([a,i])=>_.jsxs("div",{className:"flex items-start gap-2 text-[11.5px] leading-snug",children:[_.jsx("span",{className:"text-fg-muted/80 font-medium flex-shrink-0 min-w-[64px]",children:qce(a)}),_.jsx("span",{className:"flex-1 min-w-0",children:Vce(a,i)})]},a))})}function Gce({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function Lz({task:e,searchMatches:t=[],density:n,onDragStart:a,onDragEnd:i,columnName:r,doneTags:s}){const{t:o}=Rn(),c=fe(R=>R.openDrawer),p=fe(R=>R.deleteTask),d=fe(R=>R.showMetadata),[m,f]=$.useState(!1),[h,b]=$.useState(!1),k=$.useRef(!0),w=n==="compact",x=e.progress&&e.progress.total>0?Math.round(e.progress.done/e.progress.total*100):0,S=e.progress&&e.progress.done===e.progress.total,E={onDragStart:a,onDragEnd:i},P=e.title.match(/^\[([^\]]+)\]\s*/),L=P?`[${P[1]}]`:"",j=P?e.title.slice(P[0].length):e.title,F=t.length>0&&!w;$.useEffect(()=>()=>{k.current=!1},[]),$.useEffect(()=>{if(!m)return;const R=window.setTimeout(()=>f(!1),2400);return()=>window.clearTimeout(R)},[m]);const z=async R=>{if(R.stopPropagation(),R.preventDefault(),!h){if(!m){f(!0);return}b(!0),await p(e.id),k.current&&(b(!1),f(!1))}};return _.jsxs(_t.div,{layout:!0,layoutId:e.id,transition:{type:"spring",stiffness:500,damping:40,mass:.8},initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95,transition:{duration:.12}},whileHover:{y:-1},whileTap:{scale:.99},draggable:!0,...E,onClick:()=>c(e.id),onMouseLeave:()=>f(!1),"data-task-id":e.id,"data-col":r,className:`group relative cursor-pointer rounded-lg border border-border bg-card shadow-[0_1px_2px_rgba(0,0,0,0.04)] transition-all duration-150 hover:border-border-strong hover:shadow-[0_2px_8px_rgba(0,0,0,0.06)] ${e.checked?"opacity-70":""}`,children:[_.jsx("div",{className:"absolute left-1.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-40 transition-opacity cursor-grab active:cursor-grabbing",children:_.jsxs("svg",{width:"10",height:"16",viewBox:"0 0 10 16",fill:"currentColor",className:"text-fg-muted",children:[_.jsx("circle",{cx:"3",cy:"2",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"2",r:"1.5"}),_.jsx("circle",{cx:"3",cy:"8",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"8",r:"1.5"}),_.jsx("circle",{cx:"3",cy:"14",r:"1.5"}),_.jsx("circle",{cx:"7",cy:"14",r:"1.5"})]})}),_.jsx("button",{type:"button",draggable:!1,"aria-label":o(m?"card.confirmDelete":"card.delete"),title:o(m?"card.confirmDelete":"card.delete"),disabled:h,onClick:z,onPointerDown:R=>R.stopPropagation(),onBlur:()=>f(!1),className:`absolute right-2 top-2 z-10 inline-flex h-6 w-6 items-center justify-center rounded-md border transition-all ${m?"border-red-500 bg-red-500 text-white opacity-100 shadow-sm":"border-border bg-card/80 text-fg-muted opacity-0 hover:border-red-500/60 hover:bg-card hover:text-red-500 group-hover:opacity-100"} ${h?"pointer-events-none opacity-60":""}`,children:m?_.jsx(Oce,{size:14,stroke:1.9}):_.jsx(zce,{size:14,stroke:1.8})}),_.jsxs("div",{className:"px-3.5 pt-3 pb-1.5",children:[_.jsx("span",{className:"font-mono text-[11.5px] font-medium text-fg-faint tabular-nums",children:e.id.replace(/^t/,"#")}),e.dependsOn&&e.dependsOn.length>0&&_.jsxs("span",{className:"ml-1.5 inline-flex items-center gap-0.5 px-1.5 h-[16px] rounded text-[10.5px] font-semibold text-amber-700 dark:text-amber-300 bg-amber-500/10 border border-amber-500/20",title:o("card.blockedBy",{ids:e.dependsOn.join(", ")}),"aria-label":o("card.blockedBy",{ids:e.dependsOn.join(", ")}),children:["↪",e.dependsOn.length]})]}),_.jsxs("div",{className:"px-3.5 pb-1.5",children:[_.jsx("div",{className:`text-[13.5px] leading-snug font-medium ${e.checked?"line-through text-fg-muted":"text-fg"} ${w?"line-clamp-1":"line-clamp-2"}`,children:j}),L&&_.jsx("div",{className:"mt-1.5",children:_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 text-[10.5px] font-semibold tracking-wide text-fg-muted uppercase rounded bg-black/[0.04] dark:bg-white/10",children:L})}),F&&_.jsx("div",{className:"mt-2.5 space-y-1",children:t.slice(0,2).map((R,M)=>_.jsxs("div",{className:"text-[12px] text-fg-dim bg-black/[0.03] dark:bg-white/[0.04] rounded-lg px-2.5 py-1.5 border border-black/[0.05] dark:border-white/[0.08]",children:[_.jsx("span",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wide mr-1.5",children:o(`sectionLabels.${R.section}`)||R.section}),_.jsx(Gce,{text:R.snippet,keyword:R.keyword})]},M))}),!w&&e.progress&&e.progress.total>0&&_.jsxs("div",{className:"mt-2.5 flex items-center gap-2 ",children:[_.jsx("div",{className:"flex-1 h-[3px] bg-black/[0.06] dark:bg-white/[0.1] rounded-full overflow-hidden",children:_.jsx(_t.div,{className:"h-full rounded-full",style:{backgroundColor:S?"#22c55e":"#737078"},initial:!1,animate:{width:`${x}%`},transition:{type:"spring",stiffness:160,damping:22}})}),_.jsxs("span",{className:"font-mono text-[11px] text-fg-muted tabular-nums",children:[e.progress.done,"/",e.progress.total]})]}),_.jsx(Zce,{frontmatter:e.frontmatter,hidden:d})]})]})}function Wce({group:e,searchMatches:t,density:n,columnName:a,onCardDragStart:i,onCardDragEnd:r,defaultExpanded:s=!1,doneTags:o}){const{t:c}=Rn(),[p,d]=$.useState(s);$.useEffect(()=>{d(s)},[s]);const m=e.tasks.length,f=e.tasks[0],h=f.title.replace(/^\[([^\]]+)\]\s*/,"").replace(/#\w+\s*/,"").trim()||f.title;return p?_.jsxs(_t.div,{layout:!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,scale:.95,transition:{duration:.12}},className:"flex flex-col gap-2",children:[_.jsxs("button",{type:"button",onClick:()=>d(!1),className:"flex items-center gap-1.5 px-2 py-1 rounded-md text-[11px] font-semibold text-fg-muted/70 uppercase tracking-wide hover:bg-black/[0.04] dark:hover:bg-white/[0.06] transition-colors w-fit",children:[_.jsx(gce,{size:13,stroke:2}),_.jsx("span",{children:e.displayKey}),_.jsx("span",{className:"font-normal text-fg-muted/40",children:m})]}),_.jsx(ps,{mode:"popLayout",children:e.tasks.map(b=>_.jsx(Lz,{task:b,searchMatches:t.get(b.id)||[],density:n,columnName:a,doneTags:o,onDragStart:()=>i(b.id,a),onDragEnd:r},b.id))})]}):_.jsxs(_t.div,{layout:!0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95,transition:{duration:.12}},transition:{type:"spring",stiffness:500,damping:40,mass:.8},onClick:()=>d(!0),className:"relative cursor-pointer pb-3",children:[m>2&&_.jsx("div",{className:"absolute inset-0 rounded-lg border border-border bg-card/40 pointer-events-none",style:{transform:"translateY(8px) scale(0.94)",zIndex:0}}),_.jsx("div",{className:"absolute inset-0 rounded-lg border border-border bg-card/60 pointer-events-none",style:{transform:"translateY(4px) scale(0.97)",zIndex:1}}),_.jsx(_t.div,{whileHover:{y:-1},whileTap:{scale:.99},className:"relative z-10 rounded-lg border border-border bg-card shadow-[0_1px_2px_rgba(0,0,0,0.04)] transition-all hover:border-border-strong hover:shadow-[0_2px_8px_rgba(0,0,0,0.06)]",children:_.jsxs("div",{className:"px-3.5 pt-3 pb-2.5",children:[_.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[_.jsxs("div",{className:"flex items-center gap-1.5",children:[_.jsx(jce,{size:12,stroke:1.8,className:"text-fg-muted/60"}),_.jsx("span",{className:"text-[11px] font-semibold tracking-wide text-fg-muted uppercase",children:e.displayKey})]}),_.jsxs("div",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"inline-flex items-center h-[18px] px-1.5 text-[10.5px] font-medium rounded-md text-fg-muted tabular-nums",children:m}),_.jsx(dce,{size:12,stroke:2,className:"text-fg-muted/50"})]})]}),_.jsxs("div",{className:"text-[13.5px] leading-snug font-medium text-fg line-clamp-1",children:[h,m>1&&_.jsxs("span",{className:"text-fg-muted/50 ml-1.5",children:["+",m-1]})]})]})})]})}const Kce=/^\[([^\]]+)\]\s*/,Yce=/#(\w+)/;function Mz(e){const t=e.match(Kce);if(t)return`[${t[1].toLowerCase()}]`;const n=e.match(Yce);return n?`#${n[1].toLowerCase()}`:null}function Xce(e){return e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1):e}function Qce(e){const t=new Map,n=new Map;for(const r of e){const s=Mz(r.title);t.set(r.id,s),s&&n.set(s,(n.get(s)??0)+1)}const a=[],i=new Map;for(const r of e){const s=t.get(r.id)??null;if(!s||(n.get(s)??0)<2){a.push({type:"single",task:r});continue}const o=i.get(s);if(o)o.tasks.push(r);else{const c={type:"stack",groupKey:s,displayKey:Xce(s),tasks:[r]};i.set(s,c),a.push(c)}}return a}const Jce={backlog:fj,icebox:fj,todo:N2,"to do":N2,ready:N2,doing:$v,progress:$v,"in progress":$v,active:$v,review:S2,qa:S2,verify:S2,done:C2,complete:C2,completed:C2};function epe(e){const t=e.trim().toLowerCase();return Jce[t]??Cce}const gj={red:"rgba(239,68,68,0.06)",orange:"rgba(249,115,22,0.06)",amber:"rgba(245,158,11,0.06)",yellow:"rgba(234,179,8,0.06)",lime:"rgba(132,204,22,0.06)",green:"rgba(34,197,94,0.06)",emerald:"rgba(16,185,129,0.06)",teal:"rgba(20,184,166,0.06)",cyan:"rgba(6,182,212,0.06)",sky:"rgba(14,165,233,0.06)",blue:"rgba(59,130,246,0.06)",indigo:"rgba(99,102,241,0.06)",violet:"rgba(139,92,246,0.06)",purple:"rgba(168,85,247,0.06)",fuchsia:"rgba(217,70,239,0.06)",pink:"rgba(236,72,153,0.06)",rose:"rgba(244,63,94,0.06)",slate:"rgba(100,116,139,0.05)",gray:"rgba(255,255,255,0.025)",zinc:"rgba(113,113,122,0.05)",black:"rgba(0,0,0,0.24)",blackTransparent:"rgba(0,0,0,0.1)"},tpe=[{key:"red",label:"Red",color:"rgba(239,68,68,0.9)"},{key:"orange",label:"Orange",color:"rgba(249,115,22,0.9)"},{key:"amber",label:"Amber",color:"rgba(245,158,11,0.9)"},{key:"yellow",label:"Yellow",color:"rgba(234,179,8,0.9)"},{key:"lime",label:"Lime",color:"rgba(132,204,22,0.9)"},{key:"green",label:"Green",color:"rgba(34,197,94,0.9)"},{key:"emerald",label:"Emerald",color:"rgba(16,185,129,0.9)"},{key:"teal",label:"Teal",color:"rgba(20,184,166,0.9)"},{key:"cyan",label:"Cyan",color:"rgba(6,182,212,0.9)"},{key:"sky",label:"Sky",color:"rgba(14,165,233,0.9)"},{key:"blue",label:"Blue",color:"rgba(59,130,246,0.9)"},{key:"indigo",label:"Indigo",color:"rgba(99,102,241,0.9)"},{key:"violet",label:"Violet",color:"rgba(139,92,246,0.9)"},{key:"purple",label:"Purple",color:"rgba(168,85,247,0.9)"},{key:"fuchsia",label:"Fuchsia",color:"rgba(217,70,239,0.9)"},{key:"pink",label:"Pink",color:"rgba(236,72,153,0.9)"},{key:"rose",label:"Rose",color:"rgba(244,63,94,0.9)"},{key:"slate",label:"Slate",color:"rgba(100,116,139,0.9)"},{key:"gray",label:"Gray",color:"rgba(156,163,175,0.9)"},{key:"zinc",label:"Zinc",color:"rgba(113,113,122,0.9)"},{key:"black",label:"Black",color:"rgba(0,0,0,0.9)"},{key:"blackTransparent",label:"Black 50%",color:"rgba(0,0,0,0.5)"}];function npe({columnName:e,currentColor:t,onSelect:n}){const{t:a}=Rn(),[i,r]=$.useState(!1),s=$.useRef(null);return $.useEffect(()=>{if(!i)return;const o=c=>{s.current&&!s.current.contains(c.target)&&r(!1)};return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[i]),_.jsxs("div",{ref:s,className:"relative",children:[_.jsx("button",{onClick:o=>{o.stopPropagation(),r(c=>!c)},className:"w-5 h-5 inline-flex items-center justify-center text-fg-muted hover:bg-bg-3 hover:text-fg rounded-[4px] transition-colors",title:a("column.columnColor"),children:_.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-60",children:[_.jsx("circle",{cx:"3",cy:"2",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"2",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"3",cy:"6",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"6",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"3",cy:"10",r:"1.2",fill:"currentColor"}),_.jsx("circle",{cx:"9",cy:"10",r:"1.2",fill:"currentColor"})]})}),_.jsx(ps,{children:i&&_.jsxs(_t.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.12},className:"absolute right-0 top-full mt-1 bg-bg-2 border border-border rounded-[6px] shadow-lg p-1.5 z-50 min-w-[152px]",style:{transformOrigin:"top right"},children:[_.jsx("div",{className:"text-[11px] text-fg-muted px-1.5 pb-1.5 font-medium",children:a("column.color")}),_.jsx("div",{className:"grid grid-cols-5 gap-1",children:tpe.map(({key:o,label:c,color:p})=>_.jsx("button",{onClick:d=>{d.stopPropagation(),n(o),r(!1)},title:c,className:`w-6 h-6 rounded-[4px] flex items-center justify-center transition-all ${t===o?"ring-2 ring-offset-1 ring-offset-bg-2 ring-fg":"hover:scale-110"}`,style:{backgroundColor:p},children:t===o&&_.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",className:"text-white",children:_.jsx("path",{d:"M2 5l2.5 2.5L8 3",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})},o))})]})})]})}function ape({column:e,filteredTasks:t,searchMatches:n,density:a,draggedTaskId:i,draggedFromCol:r,onCardDragStart:s,onCardDragEnd:o,onDrop:c}){const{t:p}=Rn(),[d,m]=$.useState(!1),f=fe(H=>H.createTask),h=fe(H=>H.addColumn),b=fe(H=>H.renameColumn),k=fe(H=>H.deleteColumn),w=fe(H=>H.updateConfig),x=fe(H=>H.config),S=fe(H=>H.filters),E=x.board.columns.some(H=>H.toLowerCase()===e.name.toLowerCase()),P=$.useMemo(()=>Qce(t),[t]),L=$.useMemo(()=>{const H=new Map;for(const Y of fe.getState().columns)for(const ae of Y.tasks){const D=Mz(ae.title);D&&(H.has(D)||H.set(D,[]),H.get(D).push(ae))}const U=new Set;for(const[Y,ae]of H)ae.every(D=>D.checked)&&U.add(Y);return U},[]),j=x.board.columnColors?.[e.name.toLowerCase()]??"gray",F=gj[j]??gj.gray,z=H=>{w(U=>({...U,board:{...U.board,columnColors:{...U.board.columnColors??{},[e.name.toLowerCase()]:H}}}))},R=H=>{i&&(H.preventDefault(),H.dataTransfer.dropEffect="move",m(!0))},M=H=>{const U=H.relatedTarget;U&&H.currentTarget.contains(U)||m(!1)},K=H=>{H.preventDefault(),m(!1),i&&r!==e.name&&c(e.name)},J=t.length!==e.tasks.length,W=epe(e.name),B=()=>{const H=window.prompt(p("column.renamePrompt"),e.name)?.trim();!H||H===e.name||b(e.name,H)},V=()=>{const H=p("column.deleteConfirm",{name:e.name,count:e.tasks.length});window.confirm(H)&&k(e.name)};return _.jsxs(_t.div,{layout:!0,initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.3,ease:[.32,.72,.35,1]},onDragOver:R,onDragLeave:M,onDrop:K,"data-column":e.name,className:"group flex flex-col flex-none w-[320px] h-full rounded-xl border border-border transition-colors duration-150",style:{backgroundColor:d?"rgba(255,255,255,0.04)":F},children:[_.jsxs("div",{className:"flex items-center justify-between px-3.5 pt-3 pb-2",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(W,{"aria-hidden":"true",size:14,stroke:1.8,className:"flex-none text-fg-muted"}),_.jsx("span",{className:"text-[12.5px] font-semibold tracking-tight text-fg",children:e.name}),_.jsxs("span",{className:"inline-flex items-center justify-center min-w-[20px] h-[18px] px-1.5 text-[10.5px] font-medium text-fg-muted rounded-md tabular-nums",children:[t.length,J&&_.jsxs("span",{className:"text-fg-faint",children:["/",e.tasks.length]})]})]}),_.jsxs("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[!E&&_.jsx("button",{onClick:()=>h(e.name),className:"h-6 rounded-md px-2 text-[11px] font-medium text-fg-muted transition-colors hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg",title:p("column.addToSettings"),children:p("column.addColumn")}),_.jsx("button",{onClick:()=>f(e.name),className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg rounded-md transition-colors",title:p("column.addTask"),children:_.jsx(Zn.Plus,{size:14})}),_.jsx(npe,{columnName:e.name.toLowerCase(),currentColor:j,onSelect:z}),_.jsx("button",{onClick:B,className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-black/[0.05] dark:hover:bg-white/[0.1] hover:text-fg rounded-md transition-colors",title:p("column.renameColumn"),children:_.jsx("span",{className:"text-[11px] leading-none",children:"✎"})}),_.jsx("button",{onClick:V,className:"w-6 h-6 inline-flex items-center justify-center text-fg-muted hover:bg-red-500/10 hover:text-red-500 rounded-md transition-colors",title:p("column.deleteColumn"),children:_.jsx("span",{className:"text-[13px] leading-none",children:"×"})})]})]}),_.jsx("div",{className:"flex-1 min-h-0 px-2.5 scrollbar-always",style:{overflowY:"scroll"},children:_.jsx("div",{className:"flex flex-col gap-2 py-1",children:_.jsx(ps,{mode:"popLayout",children:P.length===0?_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},className:"flex flex-col items-center justify-center py-10 px-4 text-center",children:[_.jsx("div",{className:"w-10 h-10 rounded-xl bg-black/[0.04] dark:bg-white/[0.08] flex items-center justify-center mb-3",children:_.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-fg-muted/50",children:[_.jsx("path",{d:"M9 11l3 3L22 4"}),_.jsx("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]})}),_.jsx("p",{className:"text-[13px] font-medium text-fg-muted/70",children:"No tasks yet"}),_.jsx("p",{className:"text-[12px] text-fg-muted/50 mt-0.5",children:"Drag tasks here to get started."})]}):P.map(H=>H.type==="single"?_.jsx(Lz,{task:H.task,searchMatches:n.get(H.task.id)||[],density:a,columnName:e.name,doneTags:L,onDragStart:()=>s(H.task.id,e.name),onDragEnd:o},H.task.id):_.jsx(Wce,{group:H,searchMatches:n,density:a,columnName:e.name,doneTags:L,onCardDragStart:s,onCardDragEnd:o,defaultExpanded:x.board.stackDefaultState==="expanded"||!!S.search},`stack-${H.groupKey}`))})})}),_.jsx("div",{className:"flex-none px-2.5 pb-2.5 pt-1",children:_.jsx(da,{variant:"ghost",icon:"Plus",label:p("column.addTask"),onClick:()=>f(e.name),className:"w-full justify-start px-2.5 py-1.5 h-auto text-[12.5px] text-fg-muted hover:text-fg rounded-lg hover:bg-black/[0.04] dark:hover:bg-white/[0.06]"})})]})}function ipe(){const{t:e}=Rn(),t=fe(x=>x.columns),n=fe(x=>x.density),a=fe(x=>x.filters),i=fe(x=>x.moveTask),r=fe(x=>x.addColumn),s=fe(x=>x.searchMatches),o=fe(x=>x.config),[c,p]=$.useState(null),[d,m]=$.useState(null),f=$.useMemo(()=>t.map(x=>{const S=x.tasks.filter(E=>{if(a.search){const P=a.search.toLowerCase(),L=E.title.toLowerCase().includes(P)||E.id.toLowerCase().includes(P),j=s.has(E.id);if(!L&&!j)return!1}return!(o.fields.priority&&a.priority&&E.priority!==a.priority||o.fields.tags&&a.tag&&!(E.tags||[]).includes(a.tag)||o.fields.assignee&&a.assignee&&E.assignee!==a.assignee||o.fields.ownerType&&a.ownerType&&E.ownerType!==a.ownerType)});return{column:x,filtered:S}}),[t,o.fields,a,s]),h=(x,S)=>{p(x),m(S)},b=()=>{p(null),m(null)},k=x=>{c&&d&&i(c,d,x),p(null),m(null)},w=()=>{const x=window.prompt(e("column.createPrompt"))?.trim();x&&r(x)};return _.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.25},className:`flex-1 min-h-0 flex gap-5 p-5 pb-6 overflow-x-auto overflow-y-hidden relative ${o.ui.background==="solid"?"board-bg":""}`,children:[f.map(({column:x,filtered:S},E)=>_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:E*.04,duration:.35,ease:[.32,.72,.35,1]},className:"h-full",children:_.jsx(ape,{column:x,filteredTasks:S,searchMatches:a.search?s:new Map,density:n,draggedTaskId:c,draggedFromCol:d,onCardDragStart:h,onCardDragEnd:b,onDrop:k})},x.name)),_.jsx("button",{type:"button",onClick:w,className:"flex h-[120px] w-[220px] flex-none items-center justify-center rounded-[8px] border border-dashed border-border bg-bg/45 px-4 text-[13px] font-medium text-fg-muted transition-colors hover:border-border-strong hover:bg-bg-2 hover:text-fg",children:e("column.createColumn")})]})}function rpe(){const{t:e}=Rn(),t=fe(r=>r.archivedTasks),n=fe(r=>r.unarchiveTask),a=fe(r=>r.setShowArchives),i=fe(r=>r.openDrawer);return _.jsxs("div",{className:"flex flex-col h-full overflow-y-auto px-[5vw] py-6",children:[_.jsxs("div",{className:"flex items-center justify-between mb-5 max-w-5xl w-full",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(Zn.Archive,{size:18,className:"text-fg-muted"}),_.jsx("h2",{className:"text-[18px] font-semibold tracking-tight",children:e("header.archives")}),_.jsx("span",{className:"text-[13px] text-fg-muted tabular-nums",children:t.length})]}),_.jsx(da,{variant:"secondary",icon:"ArrowLeft",label:e("header.backToBoard"),onClick:()=>a(!1)})]}),t.length===0?_.jsx("div",{className:"text-fg-muted text-[14px] italic px-2 py-8",children:e("archive.empty")}):_.jsx("div",{className:"flex flex-col gap-1 max-w-3xl",children:t.map(r=>_.jsxs("div",{className:"group flex items-center gap-3 px-3 py-2 rounded-[6px] hover:bg-bg-3/80 dark:hover:bg-bg-1/60 transition-colors",children:[_.jsx("button",{onClick:()=>{a(!1),i(r.id)},className:"flex-1 text-left min-w-0",children:_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx("span",{className:"font-mono text-[11.5px] text-fg-muted flex-shrink-0",children:r.id.toUpperCase()}),_.jsx("span",{className:"text-[14px] text-fg truncate",children:r.title})]})}),_.jsx(da,{variant:"ghost",icon:"ArchiveRestore",label:e("drawer.restore"),onClick:()=>void n(r.id)})]},r.id))})]})}const spe={P1:"#e5484d",P2:"#e9a23b",P3:"#3e63dd",P4:"#6e6e6e"};function ope({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function cpe(){const{t:e}=Rn(),t=fe(p=>p.columns),n=fe(p=>p.filters),a=fe(p=>p.openDrawer),i=fe(p=>p.searchMatches),r=fe(p=>p.config.fields),s=$.useMemo(()=>{const p=[];for(const d of t)for(const m of d.tasks){if(n.search){const f=n.search.toLowerCase(),h=m.title.toLowerCase().includes(f)||m.id.toLowerCase().includes(f),b=i.has(m.id);if(!h&&!b)continue}r.priority&&n.priority&&m.priority!==n.priority||r.tags&&n.tag&&!(m.tags||[]).includes(n.tag)||r.assignee&&n.assignee&&m.assignee!==n.assignee||r.ownerType&&n.ownerType&&m.ownerType!==n.ownerType||p.push({task:m,column:d.name})}return p},[t,r,n,i]),c={gridTemplateColumns:["80px",r.priority?"40px":null,"1fr","140px",r.tags?"120px":null,r.assignee?"120px":null,"80px"].filter(Boolean).join("_").replaceAll("_"," ")};return _.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},className:"flex-1 overflow-y-auto",children:_.jsxs("div",{className:"max-w-[1200px] mx-auto",children:[_.jsxs("div",{className:"grid grid-cols-[80px_40px_1fr_140px_120px_120px_80px] gap-3 px-6 py-2 text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint border-b border-border sticky top-0 bg-bg z-10",children:[_.jsx("div",{children:e("listView.id")}),_.jsx("div",{}),_.jsx("div",{children:e("listView.title")}),_.jsx("div",{children:e("listView.status")}),_.jsx("div",{children:e("listView.tags")}),_.jsx("div",{children:e("listView.assignee")}),_.jsx("div",{children:e("listView.progress")})]}),_.jsx(ps,{children:s.map(({task:p,column:d},m)=>{const f=n.search?i.get(p.id)||[]:[],h=f.length>0;return _.jsxs("div",{children:[_.jsxs(_t.button,{layout:!0,initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{delay:Math.min(m*.012,.2),duration:.2},onClick:()=>a(p.id),className:"w-full grid gap-3 px-6 py-2.5 text-[13.5px] border-b border-border hover:bg-bg-1 transition-colors text-left items-center",style:c,children:[_.jsx("span",{className:"font-mono text-[13px] font-bold text-fg-muted",children:p.id.replace(/^t/,"")}),r.priority&&_.jsx("span",{className:"flex items-center gap-1.5",children:p.priority&&_.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:spe[p.priority]},title:p.priority})}),_.jsx("span",{className:`truncate ${p.checked?"line-through text-fg-muted":"text-fg"}`,children:p.title}),_.jsx("span",{className:"text-fg-dim text-[12.5px]",children:d}),r.tags&&_.jsx("span",{className:"flex flex-wrap gap-1",children:p.tags.slice(0,2).map(b=>_.jsx("span",{className:"text-[11.5px] px-1.5 py-0.5 rounded-[3px] bg-bg-2 border border-border text-fg-dim",children:b},b))}),r.assignee&&_.jsx("span",{className:"text-[12.5px] text-fg-dim",children:p.assignee?`@${p.assignee}`:""}),_.jsx("span",{className:"text-[12px] font-mono text-fg-muted tabular-nums",children:p.progress?`${p.progress.done}/${p.progress.total}`:""})]}),h&&_.jsx(_t.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"px-6 pb-2 grid gap-3",style:c,children:_.jsx("div",{className:`${r.priority?"col-start-3":"col-start-2"} flex flex-col gap-1`,children:f.slice(0,2).map((b,k)=>_.jsxs("div",{className:"text-[12px] text-fg-dim bg-bg rounded px-2 py-1 border border-border",children:[_.jsx("span",{className:"text-[10.5px] font-medium text-fg-muted uppercase tracking-wide mr-1.5",children:e(`sectionLabels.${b.section}`)||b.section}),_.jsx(ope,{text:b.snippet,keyword:b.keyword})]},k))})})]},p.id)})}),s.length===0&&_.jsx("div",{className:"py-20 text-center text-[13.5px] text-fg-muted",children:e("listView.noMatchingTasks")})]})})}const ppe=({className:e})=>_.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 150 150",className:e,fill:"currentColor",children:[_.jsx("path",{d:"m57.6 64.6 0.1-0.1v-31.3c-0.1-3.5-2.7-5.6-5.7-5.6h-16.3v59.6c0.2-1.3 0.9-2.6 1.7-3.2l20.2-19.4z"}),_.jsx("path",{d:"m87.6 43.8c-3.4 0.1-7.1 1.3-9.9 3.7l-38.5 38.7c-2.1 2.1-3.4 4.8-3.5 7.5v26.7l77.5-76.4v-0.2h-25.6z"}),_.jsx("path",{d:"m108.1 96.4-6 5-22.4-20.8-14.6 14.2 21.1 21.4-5 4.1c-0.6 0.5-0.3 0.9 0.2 0.9h27.6c0.4 0 0.7-0.4 0.7-0.6v-24.8c0-0.7-1.1-0.3-1.6 0.3v0.3z"})]});function lpe(){const{t:e}=Rn(),t=fe(s=>s.openFolder);fe(s=>s.openServerProject);const n=fe(s=>s.loading),a=fe(s=>s.recentProjects),i=fe(s=>s.openRecentProject);if(fe(s=>s.tryAutoOpenServerProject),!xoe())return _.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-10 text-center",children:[_.jsx("div",{className:"text-[22px] font-semibold tracking-tight text-fg",children:e("emptyState.unsupportedBrowser")}),_.jsx("div",{className:"text-[14px] text-fg-dim max-w-[440px] leading-relaxed",dangerouslySetInnerHTML:{__html:e("emptyState.unsupportedBrowserDesc")}})]});const r=Qt();return r&&n?_.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-10 text-center",children:[_.jsx("div",{className:"text-[22px] font-semibold tracking-tight text-fg",children:"Chargement…"}),_.jsx("div",{className:"text-[14px] text-fg-dim max-w-[440px] leading-relaxed",children:e("emptyState.serverModeLoadingDesc")??"Connexion au serveur…"})]}):_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},className:"flex-1 flex flex-col items-center justify-start pt-32 gap-5 px-10 text-center board-bg relative",children:[_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.05},children:_.jsx(ppe,{className:"w-40 h-40 dark:text-white text-black"})}),_.jsx(_t.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.05},className:"text-[26px] font-semibold tracking-tight text-fg",children:e("app.name")}),r?_.jsx(_.Fragment,{children:_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",children:e("emptyState.serverModeDesc")??"Kandown est lancé en mode serveur. Le projet va se charger automatiquement."})}):_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",children:e("app.tagline")}),_.jsx(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.1},className:"text-[14.5px] text-fg-dim max-w-[480px] leading-relaxed",dangerouslySetInnerHTML:{__html:e("emptyState.selectFolderDesc")}}),_.jsx(_t.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{delay:.15},children:_.jsx(da,{variant:"primary",label:e("common.selectFolder"),onClick:t,className:"h-10 px-6 text-[16px]",iconSize:20,icon:"Folder"})})]}),a.length>0&&_.jsxs(_t.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.25},className:"mt-4 flex flex-col items-center gap-2",children:[_.jsx("div",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint",children:e("common.recent")}),_.jsx("div",{className:"flex flex-col gap-1 min-w-[220px]",children:a.slice(0,5).map(s=>_.jsx("button",{onClick:()=>i(s),className:"px-3 py-1.5 text-[13.5px] text-fg-dim hover:text-fg hover:bg-bg-2 rounded-[6px] transition-colors",children:s.name},s.id))})]})]})}const bu=new WeakMap,$y=new WeakMap,b_={current:[]};let $2=!1;const Ev=new Set,hj=new Map;function jz(e){const t=Array.from(e).sort((n,a)=>n instanceof vu&&n.options.deps.includes(a)?1:a instanceof vu&&a.options.deps.includes(n)?-1:0);for(const n of t){if(b_.current.includes(n))continue;b_.current.push(n),n.recompute();const a=$y.get(n);if(a)for(const i of a){const r=bu.get(i);r&&jz(r)}}}function dpe(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function upe(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function mpe(e){if(Ev.add(e),!$2)try{for($2=!0;Ev.size>0;){const t=Array.from(Ev);Ev.clear();for(const n of t){const a=hj.get(n)??n.prevState;n.prevState=a,dpe(n)}for(const n of t){const a=bu.get(n);a&&(b_.current.push(n),jz(a))}for(const n of t){const a=bu.get(n);if(a)for(const i of a)upe(i)}}}finally{$2=!1,b_.current=[],hj.clear()}}function fpe(e){return typeof e=="function"}class m3{constructor(t,n){this.listeners=new Set,this.subscribe=a=>{var i,r;this.listeners.add(a);const s=(r=(i=this.options)==null?void 0:i.onSubscribe)==null?void 0:r.call(i,a,this);return()=>{this.listeners.delete(a),s?.()}},this.prevState=t,this.state=t,this.options=n}setState(t){var n,a,i;this.prevState=this.state,(n=this.options)!=null&&n.updateFn?this.state=this.options.updateFn(this.prevState)(t):fpe(t)?this.state=t(this.prevState):this.state=t,(i=(a=this.options)==null?void 0:a.onUpdate)==null||i.call(a),mpe(this)}}class vu{constructor(t){this.listeners=new Set,this._subscriptions=[],this.lastSeenDepValues=[],this.getDepVals=()=>{const n=this.options.deps.length,a=new Array(n),i=new Array(n);for(let r=0;r<n;r++){const s=this.options.deps[r];a[r]=s.prevState,i[r]=s.state}return this.lastSeenDepValues=i,{prevDepVals:a,currDepVals:i,prevVal:this.prevState??void 0}},this.recompute=()=>{var n,a;this.prevState=this.state;const i=this.getDepVals();this.state=this.options.fn(i),(a=(n=this.options).onUpdate)==null||a.call(n)},this.checkIfRecalculationNeededDeeply=()=>{for(const r of this.options.deps)r instanceof vu&&r.checkIfRecalculationNeededDeeply();let n=!1;const a=this.lastSeenDepValues,{currDepVals:i}=this.getDepVals();for(let r=0;r<i.length;r++)if(i[r]!==a[r]){n=!0;break}n&&this.recompute()},this.mount=()=>(this.registerOnGraph(),this.checkIfRecalculationNeededDeeply(),()=>{this.unregisterFromGraph();for(const n of this._subscriptions)n()}),this.subscribe=n=>{var a,i;this.listeners.add(n);const r=(i=(a=this.options).onSubscribe)==null?void 0:i.call(a,n,this);return()=>{this.listeners.delete(n),r?.()}},this.options=t,this.state=t.fn({prevDepVals:void 0,prevVal:void 0,currDepVals:this.getDepVals().currDepVals})}registerOnGraph(t=this.options.deps){for(const n of t)if(n instanceof vu)n.registerOnGraph(),this.registerOnGraph(n.options.deps);else if(n instanceof m3){let a=bu.get(n);a||(a=new Set,bu.set(n,a)),a.add(this);let i=$y.get(this);i||(i=new Set,$y.set(this,i)),i.add(n)}}unregisterFromGraph(t=this.options.deps){for(const n of t)if(n instanceof vu)this.unregisterFromGraph(n.options.deps);else if(n instanceof m3){const a=bu.get(n);a&&a.delete(this);const i=$y.get(this);i&&i.delete(n)}}}var f3=Symbol("originalFactory");function Lt(e){if(typeof e=="object"&&"key"in e)return function t(){return e[f3]=t,e};if(typeof e!="function")throw Error("factory must be a function");return function t(n){return a=>{let i=e({editor:a.editor,options:n});return i[f3]=t,i}}}function hp(e,t){return new m3(e,t)}function Ca(e){this.content=e}Ca.prototype={constructor:Ca,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var a=n&&n!=e?this.remove(n):this,i=a.find(e),r=a.content.slice();return i==-1?r.push(n||e,t):(r[i+1]=t,n&&(r[i]=n)),new Ca(r)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ca(n)},addToStart:function(e,t){return new Ca([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ca(n)},addBefore:function(e,t,n){var a=this.remove(t),i=a.content.slice(),r=a.find(e);return i.splice(r==-1?i.length:r,0,t,n),new Ca(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ca.from(e),e.size?new Ca(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ca.from(e),e.size?new Ca(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ca.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}};Ca.from=function(e){if(e instanceof Ca)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ca(t)};function Dz(e,t,n){for(let a=0;;a++){if(a==e.childCount||a==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(a),r=t.child(a);if(i==r){n+=i.nodeSize;continue}if(!i.sameMarkup(r))return n;if(i.isText&&i.text!=r.text){for(let s=0;i.text[s]==r.text[s];s++)n++;return n}if(i.content.size||r.content.size){let s=Dz(i.content,r.content,n+1);if(s!=null)return s}n+=i.nodeSize}}function Iz(e,t,n,a){for(let i=e.childCount,r=t.childCount;;){if(i==0||r==0)return i==r?null:{a:n,b:a};let s=e.child(--i),o=t.child(--r),c=s.nodeSize;if(s==o){n-=c,a-=c;continue}if(!s.sameMarkup(o))return{a:n,b:a};if(s.isText&&s.text!=o.text){let p=0,d=Math.min(s.text.length,o.text.length);for(;p<d&&s.text[s.text.length-p-1]==o.text[o.text.length-p-1];)p++,n--,a--;return{a:n,b:a}}if(s.content.size||o.content.size){let p=Iz(s.content,o.content,n-1,a-1);if(p)return p}n-=c,a-=c}}class le{constructor(t,n){if(this.content=t,this.size=n||0,n==null)for(let a=0;a<t.length;a++)this.size+=t[a].nodeSize}nodesBetween(t,n,a,i=0,r){for(let s=0,o=0;o<n;s++){let c=this.content[s],p=o+c.nodeSize;if(p>t&&a(c,i+o,r||null,s)!==!1&&c.content.size){let d=o+1;c.nodesBetween(Math.max(0,t-d),Math.min(c.content.size,n-d),a,i+d)}o=p}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,n,a,i){let r="",s=!0;return this.nodesBetween(t,n,(o,c)=>{let p=o.isText?o.text.slice(Math.max(t,c)-c,n-c):o.isLeaf?i?typeof i=="function"?i(o):i:o.type.spec.leafText?o.type.spec.leafText(o):"":"";o.isBlock&&(o.isLeaf&&p||o.isTextblock)&&a&&(s?s=!1:r+=a),r+=p},0),r}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,a=t.firstChild,i=this.content.slice(),r=0;for(n.isText&&n.sameMarkup(a)&&(i[i.length-1]=n.withText(n.text+a.text),r=1);r<t.content.length;r++)i.push(t.content[r]);return new le(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let a=[],i=0;if(n>t)for(let r=0,s=0;s<n;r++){let o=this.content[r],c=s+o.nodeSize;c>t&&((s<t||c>n)&&(o.isText?o=o.cut(Math.max(0,t-s),Math.min(o.text.length,n-s)):o=o.cut(Math.max(0,t-s-1),Math.min(o.content.size,n-s-1))),a.push(o),i+=o.nodeSize),s=c}return new le(a,i)}cutByIndex(t,n){return t==n?le.empty:t==0&&n==this.content.length?this:new le(this.content.slice(t,n))}replaceChild(t,n){let a=this.content[t];if(a==n)return this;let i=this.content.slice(),r=this.size+n.nodeSize-a.nodeSize;return i[t]=n,new le(i,r)}addToStart(t){return new le([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new le(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(t.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let n=this.content[t];if(!n)throw new RangeError("Index "+t+" out of range for "+this);return n}maybeChild(t){return this.content[t]||null}forEach(t){for(let n=0,a=0;n<this.content.length;n++){let i=this.content[n];t(i,a,n),a+=i.nodeSize}}findDiffStart(t,n=0){return Dz(this,t,n)}findDiffEnd(t,n=this.size,a=t.size){return Iz(this,t,n,a)}findIndex(t){if(t==0)return Pv(0,t);if(t==this.size)return Pv(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,a=0;;n++){let i=this.child(n),r=a+i.nodeSize;if(r>=t)return r==t?Pv(n+1,r):Pv(n,a);a=r}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(t=>t.toJSON()):null}static fromJSON(t,n){if(!n)return le.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new le(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return le.empty;let n,a=0;for(let i=0;i<t.length;i++){let r=t[i];a+=r.nodeSize,i&&r.isText&&t[i-1].sameMarkup(r)?(n||(n=t.slice(0,i)),n[n.length-1]=r.withText(n[n.length-1].text+r.text)):n&&n.push(r)}return new le(n||t,a)}static from(t){if(!t)return le.empty;if(t instanceof le)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new le([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}le.empty=new le([],0);const E2={index:0,offset:0};function Pv(e,t){return E2.index=e,E2.offset=t,E2}function v_(e,t){if(e===t)return!0;if(!(e&&typeof e=="object")||!(t&&typeof t=="object"))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let a=0;a<e.length;a++)if(!v_(e[a],t[a]))return!1}else{for(let a in e)if(!(a in t)||!v_(e[a],t[a]))return!1;for(let a in t)if(!(a in e))return!1}return!0}let en=class g3{constructor(t,n){this.type=t,this.attrs=n}addToSet(t){let n,a=!1;for(let i=0;i<t.length;i++){let r=t[i];if(this.eq(r))return t;if(this.type.excludes(r.type))n||(n=t.slice(0,i));else{if(r.type.excludes(this.type))return t;!a&&r.type.rank>this.type.rank&&(n||(n=t.slice(0,i)),n.push(this),a=!0),n&&n.push(r)}}return n||(n=t.slice()),a||n.push(this),n}removeFromSet(t){for(let n=0;n<t.length;n++)if(this.eq(t[n]))return t.slice(0,n).concat(t.slice(n+1));return t}isInSet(t){for(let n=0;n<t.length;n++)if(this.eq(t[n]))return!0;return!1}eq(t){return this==t||this.type==t.type&&v_(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let a=t.marks[n.type];if(!a)throw new RangeError(`There is no mark type ${n.type} in this schema`);let i=a.create(n.attrs);return a.checkAttrs(i.attrs),i}static sameSet(t,n){if(t==n)return!0;if(t.length!=n.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].eq(n[a]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return g3.none;if(t instanceof g3)return[t];let n=t.slice();return n.sort((a,i)=>a.type.rank-i.type.rank),n}};en.none=[];class y_ extends Error{}class Ae{constructor(t,n,a){this.content=t,this.openStart=n,this.openEnd=a}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let a=Oz(this.content,t+this.openStart,n);return a&&new Ae(a,this.openStart,this.openEnd)}removeBetween(t,n){return new Ae(Rz(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,n){if(!n)return Ae.empty;let a=n.openStart||0,i=n.openEnd||0;if(typeof a!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new Ae(le.fromJSON(t,n.content),a,i)}static maxOpen(t,n=!0){let a=0,i=0;for(let r=t.firstChild;r&&!r.isLeaf&&(n||!r.type.spec.isolating);r=r.firstChild)a++;for(let r=t.lastChild;r&&!r.isLeaf&&(n||!r.type.spec.isolating);r=r.lastChild)i++;return new Ae(t,a,i)}}Ae.empty=new Ae(le.empty,0,0);function Rz(e,t,n){let{index:a,offset:i}=e.findIndex(t),r=e.maybeChild(a),{index:s,offset:o}=e.findIndex(n);if(i==t||r.isText){if(o!=n&&!e.child(s).isText)throw new RangeError("Removing non-flat range");return e.cut(0,t).append(e.cut(n))}if(a!=s)throw new RangeError("Removing non-flat range");return e.replaceChild(a,r.copy(Rz(r.content,t-i-1,n-i-1)))}function Oz(e,t,n,a){let{index:i,offset:r}=e.findIndex(t),s=e.maybeChild(i);if(r==t||s.isText)return a&&!a.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let o=Oz(s.content,t-r-1,n,s);return o&&e.replaceChild(i,s.copy(o))}function gpe(e,t,n){if(n.openStart>e.depth)throw new y_("Inserted content deeper than insertion position");if(e.depth-n.openStart!=t.depth-n.openEnd)throw new y_("Inconsistent open depths");return Fz(e,t,n,0)}function Fz(e,t,n,a){let i=e.index(a),r=e.node(a);if(i==t.index(a)&&a<e.depth-n.openStart){let s=Fz(e,t,n,a+1);return r.copy(r.content.replaceChild(i,s))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&e.depth==a&&t.depth==a){let s=e.parent,o=s.content;return bl(s,o.cut(0,e.parentOffset).append(n.content).append(o.cut(t.parentOffset)))}else{let{start:s,end:o}=hpe(n,e);return bl(r,Hz(e,s,o,t,a))}else return bl(r,__(e,t,a))}function zz(e,t){if(!t.type.compatibleContent(e.type))throw new y_("Cannot join "+t.type.name+" onto "+e.type.name)}function h3(e,t,n){let a=e.node(n);return zz(a,t.node(n)),a}function hl(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function sg(e,t,n,a){let i=(t||e).node(n),r=0,s=t?t.index(n):i.childCount;e&&(r=e.index(n),e.depth>n?r++:e.textOffset&&(hl(e.nodeAfter,a),r++));for(let o=r;o<s;o++)hl(i.child(o),a);t&&t.depth==n&&t.textOffset&&hl(t.nodeBefore,a)}function bl(e,t){return e.type.checkContent(t),e.copy(t)}function Hz(e,t,n,a,i){let r=e.depth>i&&h3(e,t,i+1),s=a.depth>i&&h3(n,a,i+1),o=[];return sg(null,e,i,o),r&&s&&t.index(i)==n.index(i)?(zz(r,s),hl(bl(r,Hz(e,t,n,a,i+1)),o)):(r&&hl(bl(r,__(e,t,i+1)),o),sg(t,n,i,o),s&&hl(bl(s,__(n,a,i+1)),o)),sg(a,null,i,o),new le(o)}function __(e,t,n){let a=[];if(sg(null,e,n,a),e.depth>n){let i=h3(e,t,n+1);hl(bl(i,__(e,t,n+1)),a)}return sg(t,null,n,a),new le(a)}function hpe(e,t){let n=t.depth-e.openStart,i=t.node(n).copy(e.content);for(let r=n-1;r>=0;r--)i=t.node(r).copy(le.from(i));return{start:i.resolveNoCache(e.openStart+n),end:i.resolveNoCache(i.content.size-e.openEnd-n)}}class jg{constructor(t,n,a){this.pos=t,this.path=n,this.parentOffset=a,this.depth=n.length/3-1}resolveDepth(t){return t==null?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){return t=this.resolveDepth(t),t==0?0:this.path[t*3-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,n=this.index(this.depth);if(n==t.childCount)return null;let a=this.pos-this.path[this.path.length-1],i=t.child(n);return a?t.child(n).cut(a):i}get nodeBefore(){let t=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(t).cut(0,n):t==0?null:this.parent.child(t-1)}posAtIndex(t,n){n=this.resolveDepth(n);let a=this.path[n*3],i=n==0?0:this.path[n*3-1]+1;for(let r=0;r<t;r++)i+=a.child(r).nodeSize;return i}marks(){let t=this.parent,n=this.index();if(t.content.size==0)return en.none;if(this.textOffset)return t.child(n).marks;let a=t.maybeChild(n-1),i=t.maybeChild(n);if(!a){let o=a;a=i,i=o}let r=a.marks;for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!i||!r[s].isInSet(i.marks))&&(r=r[s--].removeFromSet(r));return r}marksAcross(t){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let a=n.marks,i=t.parent.maybeChild(t.index());for(var r=0;r<a.length;r++)a[r].type.spec.inclusive===!1&&(!i||!a[r].isInSet(i.marks))&&(a=a[r--].removeFromSet(a));return a}sharedDepth(t){for(let n=this.depth;n>0;n--)if(this.start(n)<=t&&this.end(n)>=t)return n;return 0}blockRange(t=this,n){if(t.pos<this.pos)return t.blockRange(this);for(let a=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);a>=0;a--)if(t.pos<=this.end(a)&&(!n||n(this.node(a))))return new Dg(this,t,a);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let n=1;n<=this.depth;n++)t+=(t?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return t+":"+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw new RangeError("Position "+n+" out of range");let a=[],i=0,r=n;for(let s=t;;){let{index:o,offset:c}=s.content.findIndex(r),p=r-c;if(a.push(s,o,i+c),!p||(s=s.child(o),s.isText))break;r=p-1,i+=c+1}return new jg(n,a,r)}static resolveCached(t,n){let a=bj.get(t);if(a)for(let r=0;r<a.elts.length;r++){let s=a.elts[r];if(s.pos==n)return s}else bj.set(t,a=new bpe);let i=a.elts[a.i]=jg.resolve(t,n);return a.i=(a.i+1)%vpe,i}}class bpe{constructor(){this.elts=[],this.i=0}}const vpe=12,bj=new WeakMap;class Dg{constructor(t,n,a){this.$from=t,this.$to=n,this.depth=a}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const ype=Object.create(null);let Ro=class b3{constructor(t,n,a,i=en.none){this.type=t,this.attrs=n,this.marks=i,this.content=a||le.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,n,a,i=0){this.content.nodesBetween(t,n,a,i,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,n,a,i){return this.content.textBetween(t,n,a,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,n,a){return this.type==t&&v_(this.attrs,n||t.defaultAttrs||ype)&&en.sameSet(this.marks,a||en.none)}copy(t=null){return t==this.content?this:new b3(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new b3(this.type,this.attrs,this.content,t)}cut(t,n=this.content.size){return t==0&&n==this.content.size?this:this.copy(this.content.cut(t,n))}slice(t,n=this.content.size,a=!1){if(t==n)return Ae.empty;let i=this.resolve(t),r=this.resolve(n),s=a?0:i.sharedDepth(n),o=i.start(s),p=i.node(s).content.cut(i.pos-o,r.pos-o);return new Ae(p,i.depth-s,r.depth-s)}replace(t,n,a){return gpe(this.resolve(t),this.resolve(n),a)}nodeAt(t){for(let n=this;;){let{index:a,offset:i}=n.content.findIndex(t);if(n=n.maybeChild(a),!n)return null;if(i==t||n.isText)return n;t-=i+1}}childAfter(t){let{index:n,offset:a}=this.content.findIndex(t);return{node:this.content.maybeChild(n),index:n,offset:a}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:n,offset:a}=this.content.findIndex(t);if(a<t)return{node:this.content.child(n),index:n,offset:a};let i=this.content.child(n-1);return{node:i,index:n-1,offset:a-i.nodeSize}}resolve(t){return jg.resolveCached(this,t)}resolveNoCache(t){return jg.resolve(this,t)}rangeHasMark(t,n,a){let i=!1;return n>t&&this.nodesBetween(t,n,r=>(a.isInSet(r.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),Bz(this.marks,t)}contentMatchAt(t){let n=this.type.contentMatch.matchFragment(this.content,0,t);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(t,n,a=le.empty,i=0,r=a.childCount){let s=this.contentMatchAt(t).matchFragment(a,i,r),o=s&&s.matchFragment(this.content,n);if(!o||!o.validEnd)return!1;for(let c=i;c<r;c++)if(!this.type.allowsMarks(a.child(c).marks))return!1;return!0}canReplaceWith(t,n,a,i){if(i&&!this.type.allowsMarks(i))return!1;let r=this.contentMatchAt(t).matchType(a),s=r&&r.matchFragment(this.content,n);return s?s.validEnd:!1}canAppend(t){return t.content.size?this.canReplace(this.childCount,this.childCount,t.content):this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let t=en.none;for(let n=0;n<this.marks.length;n++){let a=this.marks[n];a.type.checkAttrs(a.attrs),t=a.addToSet(t)}if(!en.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map(n=>n.toJSON())),t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let a;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");a=n.marks.map(t.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(n.text,a)}let i=le.fromJSON(t,n.content),r=t.nodeType(n.type).create(n.attrs,i,a);return r.type.checkAttrs(r.attrs),r}};Ro.prototype.text=void 0;class k_ extends Ro{constructor(t,n,a,i){if(super(t,n,null,i),!a)throw new RangeError("Empty text nodes are not allowed");this.text=a}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Bz(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,n){return this.text.slice(t,n)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new k_(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new k_(this.type,this.attrs,t,this.marks)}cut(t=0,n=this.text.length){return t==0&&n==this.text.length?this:this.withText(this.text.slice(t,n))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}}function Bz(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+"("+t+")";return t}class Nl{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,n){let a=new _pe(t,n);if(a.next==null)return Nl.empty;let i=qz(a);a.next&&a.err("Unexpected trailing text");let r=Spe(Npe(i));return $pe(r,a),r}matchType(t){for(let n=0;n<this.next.length;n++)if(this.next[n].type==t)return this.next[n].next;return null}matchFragment(t,n=0,a=t.childCount){let i=this;for(let r=n;i&&r<a;r++)i=i.matchType(t.child(r).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:n}=this.next[t];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(t){for(let n=0;n<this.next.length;n++)for(let a=0;a<t.next.length;a++)if(this.next[n].type==t.next[a].type)return!0;return!1}fillBefore(t,n=!1,a=0){let i=[this];function r(s,o){let c=s.matchFragment(t,a);if(c&&(!n||c.validEnd))return le.from(o.map(p=>p.createAndFill()));for(let p=0;p<s.next.length;p++){let{type:d,next:m}=s.next[p];if(!(d.isText||d.hasRequiredAttrs())&&i.indexOf(m)==-1){i.push(m);let f=r(m,o.concat(d));if(f)return f}}return null}return r(this,[])}findWrapping(t){for(let a=0;a<this.wrapCache.length;a+=2)if(this.wrapCache[a]==t)return this.wrapCache[a+1];let n=this.computeWrapping(t);return this.wrapCache.push(t,n),n}computeWrapping(t){let n=Object.create(null),a=[{match:this,type:null,via:null}];for(;a.length;){let i=a.shift(),r=i.match;if(r.matchType(t)){let s=[];for(let o=i;o.type;o=o.via)s.push(o.type);return s.reverse()}for(let s=0;s<r.next.length;s++){let{type:o,next:c}=r.next[s];!o.isLeaf&&!o.hasRequiredAttrs()&&!(o.name in n)&&(!i.type||c.validEnd)&&(a.push({match:o.contentMatch,type:o,via:i}),n[o.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function n(a){t.push(a);for(let i=0;i<a.next.length;i++)t.indexOf(a.next[i].next)==-1&&n(a.next[i].next)}return n(this),t.map((a,i)=>{let r=i+(a.validEnd?"*":" ")+" ";for(let s=0;s<a.next.length;s++)r+=(s?", ":"")+a.next[s].type.name+"->"+t.indexOf(a.next[s].next);return r}).join(`
|
|
232
232
|
`)}}Nl.empty=new Nl(!0);class _pe{constructor(t,n){this.string=t,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function qz(e){let t=[];do t.push(kpe(e));while(e.eat("|"));return t.length==1?t[0]:{type:"choice",exprs:t}}function kpe(e){let t=[];do t.push(wpe(e));while(e.next&&e.next!=")"&&e.next!="|");return t.length==1?t[0]:{type:"seq",exprs:t}}function wpe(e){let t=Cpe(e);for(;;)if(e.eat("+"))t={type:"plus",expr:t};else if(e.eat("*"))t={type:"star",expr:t};else if(e.eat("?"))t={type:"opt",expr:t};else if(e.eat("{"))t=xpe(e,t);else break;return t}function vj(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");let t=Number(e.next);return e.pos++,t}function xpe(e,t){let n=vj(e),a=n;return e.eat(",")&&(e.next!="}"?a=vj(e):a=-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:n,max:a,expr:t}}function Ape(e,t){let n=e.nodeTypes,a=n[t];if(a)return[a];let i=[];for(let r in n){let s=n[r];s.isInGroup(t)&&i.push(s)}return i.length==0&&e.err("No node type or group '"+t+"' found"),i}function Cpe(e){if(e.eat("(")){let t=qz(e);return e.eat(")")||e.err("Missing closing paren"),t}else if(/\W/.test(e.next))e.err("Unexpected token '"+e.next+"'");else{let t=Ape(e,e.next).map(n=>(e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}));return e.pos++,t.length==1?t[0]:{type:"choice",exprs:t}}}function Npe(e){let t=[[]];return i(r(e,0),n()),t;function n(){return t.push([])-1}function a(s,o,c){let p={term:c,to:o};return t[s].push(p),p}function i(s,o){s.forEach(c=>c.to=o)}function r(s,o){if(s.type=="choice")return s.exprs.reduce((c,p)=>c.concat(r(p,o)),[]);if(s.type=="seq")for(let c=0;;c++){let p=r(s.exprs[c],o);if(c==s.exprs.length-1)return p;i(p,o=n())}else if(s.type=="star"){let c=n();return a(o,c),i(r(s.expr,c),c),[a(c)]}else if(s.type=="plus"){let c=n();return i(r(s.expr,o),c),i(r(s.expr,c),c),[a(c)]}else{if(s.type=="opt")return[a(o)].concat(r(s.expr,o));if(s.type=="range"){let c=o;for(let p=0;p<s.min;p++){let d=n();i(r(s.expr,c),d),c=d}if(s.max==-1)i(r(s.expr,c),c);else for(let p=s.min;p<s.max;p++){let d=n();a(c,d),i(r(s.expr,c),d),c=d}return[a(c)]}else{if(s.type=="name")return[a(o,void 0,s.value)];throw new Error("Unknown expr type")}}}}function Uz(e,t){return t-e}function yj(e,t){let n=[];return a(t),n.sort(Uz);function a(i){let r=e[i];if(r.length==1&&!r[0].term)return a(r[0].to);n.push(i);for(let s=0;s<r.length;s++){let{term:o,to:c}=r[s];!o&&n.indexOf(c)==-1&&a(c)}}}function Spe(e){let t=Object.create(null);return n(yj(e,0));function n(a){let i=[];a.forEach(s=>{e[s].forEach(({term:o,to:c})=>{if(!o)return;let p;for(let d=0;d<i.length;d++)i[d][0]==o&&(p=i[d][1]);yj(e,c).forEach(d=>{p||i.push([o,p=[]]),p.indexOf(d)==-1&&p.push(d)})})});let r=t[a.join(",")]=new Nl(a.indexOf(e.length-1)>-1);for(let s=0;s<i.length;s++){let o=i[s][1].sort(Uz);r.next.push({type:i[s][0],next:t[o.join(",")]||n(o)})}return r}}function $pe(e,t){for(let n=0,a=[e];n<a.length;n++){let i=a[n],r=!i.validEnd,s=[];for(let o=0;o<i.next.length;o++){let{type:c,next:p}=i.next[o];s.push(c.name),r&&!(c.isText||c.hasRequiredAttrs())&&(r=!1),a.indexOf(p)==-1&&a.push(p)}r&&t.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function Vz(e){let t=Object.create(null);for(let n in e){let a=e[n];if(!a.hasDefault)return null;t[n]=a.default}return t}function Zz(e,t){let n=Object.create(null);for(let a in e){let i=t&&t[a];if(i===void 0){let r=e[a];if(r.hasDefault)i=r.default;else throw new RangeError("No value supplied for attribute "+a)}n[a]=i}return n}function Gz(e,t,n,a){for(let i in t)if(!(i in e))throw new RangeError(`Unsupported attribute ${i} for ${n} of type ${i}`);for(let i in e){let r=e[i];r.validate&&r.validate(t[i])}}function Wz(e,t){let n=Object.create(null);if(t)for(let a in t)n[a]=new Ppe(e,a,t[a]);return n}let _j=class Kz{constructor(t,n,a){this.name=t,this.schema=n,this.spec=a,this.markSet=null,this.groups=a.group?a.group.split(" "):[],this.attrs=Wz(t,a.attrs),this.defaultAttrs=Vz(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(a.inline||t=="text"),this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Nl.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(t){return this.groups.indexOf(t)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){return!t&&this.defaultAttrs?this.defaultAttrs:Zz(this.attrs,t)}create(t=null,n,a){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Ro(this,this.computeAttrs(t),le.from(n),en.setFrom(a))}createChecked(t=null,n,a){return n=le.from(n),this.checkContent(n),new Ro(this,this.computeAttrs(t),n,en.setFrom(a))}createAndFill(t=null,n,a){if(t=this.computeAttrs(t),n=le.from(n),n.size){let s=this.contentMatch.fillBefore(n);if(!s)return null;n=s.append(n)}let i=this.contentMatch.matchFragment(n),r=i&&i.fillBefore(le.empty,!0);return r?new Ro(this,t,n.append(r),en.setFrom(a)):null}validContent(t){let n=this.contentMatch.matchFragment(t);if(!n||!n.validEnd)return!1;for(let a=0;a<t.childCount;a++)if(!this.allowsMarks(t.child(a).marks))return!1;return!0}checkContent(t){if(!this.validContent(t))throw new RangeError(`Invalid content for node ${this.name}: ${t.toString().slice(0,50)}`)}checkAttrs(t){Gz(this.attrs,t,"node",this.name)}allowsMarkType(t){return this.markSet==null||this.markSet.indexOf(t)>-1}allowsMarks(t){if(this.markSet==null)return!0;for(let n=0;n<t.length;n++)if(!this.allowsMarkType(t[n].type))return!1;return!0}allowedMarks(t){if(this.markSet==null)return t;let n;for(let a=0;a<t.length;a++)this.allowsMarkType(t[a].type)?n&&n.push(t[a]):n||(n=t.slice(0,a));return n?n.length?n:en.none:t}static compile(t,n){let a=Object.create(null);t.forEach((r,s)=>a[r]=new Kz(r,n,s));let i=n.spec.topNode||"doc";if(!a[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!a.text)throw new RangeError("Every schema needs a 'text' type");for(let r in a.text.attrs)throw new RangeError("The text node type should not have attributes");return a}};function Epe(e,t,n){let a=n.split("|");return i=>{let r=i===null?"null":typeof i;if(a.indexOf(r)<0)throw new RangeError(`Expected value of type ${a} for attribute ${t} on type ${e}, got ${r}`)}}class Ppe{constructor(t,n,a){this.hasDefault=Object.prototype.hasOwnProperty.call(a,"default"),this.default=a.default,this.validate=typeof a.validate=="string"?Epe(t,n,a.validate):a.validate}get isRequired(){return!this.hasDefault}}class G1{constructor(t,n,a,i){this.name=t,this.rank=n,this.schema=a,this.spec=i,this.attrs=Wz(t,i.attrs),this.excluded=null;let r=Vz(this.attrs);this.instance=r?new en(this,r):null}create(t=null){return!t&&this.instance?this.instance:new en(this,Zz(this.attrs,t))}static compile(t,n){let a=Object.create(null),i=0;return t.forEach((r,s)=>a[r]=new G1(r,i++,n,s)),a}removeFromSet(t){for(var n=0;n<t.length;n++)t[n].type==this&&(t=t.slice(0,n).concat(t.slice(n+1)),n--);return t}isInSet(t){for(let n=0;n<t.length;n++)if(t[n].type==this)return t[n]}checkAttrs(t){Gz(this.attrs,t,"mark",this.name)}excludes(t){return this.excluded.indexOf(t)>-1}}let Yz=class{constructor(t){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let i in t)n[i]=t[i];n.nodes=Ca.from(t.nodes),n.marks=Ca.from(t.marks||{}),this.nodes=_j.compile(this.spec.nodes,this),this.marks=G1.compile(this.spec.marks,this);let a=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let r=this.nodes[i],s=r.spec.content||"",o=r.spec.marks;if(r.contentMatch=a[s]||(a[s]=Nl.parse(s,this.nodes)),r.inlineContent=r.contentMatch.inlineContent,r.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!r.isInline||!r.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=r}r.markSet=o=="_"?null:o?kj(this,o.split(" ")):o==""||!r.inlineContent?[]:null}for(let i in this.marks){let r=this.marks[i],s=r.spec.excludes;r.excluded=s==null?[r]:s==""?[]:kj(this,s.split(" "))}this.nodeFromJSON=i=>Ro.fromJSON(this,i),this.markFromJSON=i=>en.fromJSON(this,i),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,n=null,a,i){if(typeof t=="string")t=this.nodeType(t);else if(t instanceof _j){if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}else throw new RangeError("Invalid node type: "+t);return t.createChecked(n,a,i)}text(t,n){let a=this.nodes.text;return new k_(a,a.defaultAttrs,t,en.setFrom(n))}mark(t,n){return typeof t=="string"&&(t=this.marks[t]),t.create(n)}nodeType(t){let n=this.nodes[t];if(!n)throw new RangeError("Unknown node type: "+t);return n}};function kj(e,t){let n=[];for(let a=0;a<t.length;a++){let i=t[a],r=e.marks[i],s=r;if(r)n.push(r);else for(let o in e.marks){let c=e.marks[o];(i=="_"||c.spec.group&&c.spec.group.split(" ").indexOf(i)>-1)&&n.push(s=c)}if(!s)throw new SyntaxError("Unknown mark type: '"+t[a]+"'")}return n}function Tpe(e){return e.tag!=null}function Lpe(e){return e.style!=null}let Sr=class v3{constructor(t,n){this.schema=t,this.rules=n,this.tags=[],this.styles=[];let a=this.matchedStyles=[];n.forEach(i=>{if(Tpe(i))this.tags.push(i);else if(Lpe(i)){let r=/[^=]*/.exec(i.style)[0];a.indexOf(r)<0&&a.push(r),this.styles.push(i)}}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let r=t.nodes[i.node];return r.contentMatch.matchType(r)})}parse(t,n={}){let a=new xj(this,n,!1);return a.addAll(t,en.none,n.from,n.to),a.finish()}parseSlice(t,n={}){let a=new xj(this,n,!0);return a.addAll(t,en.none,n.from,n.to),Ae.maxOpen(a.finish())}matchTag(t,n,a){for(let i=a?this.tags.indexOf(a)+1:0;i<this.tags.length;i++){let r=this.tags[i];if(Dpe(t,r.tag)&&(r.namespace===void 0||t.namespaceURI==r.namespace)&&(!r.context||n.matchesContext(r.context))){if(r.getAttrs){let s=r.getAttrs(t);if(s===!1)continue;r.attrs=s||void 0}return r}}}matchStyle(t,n,a,i){for(let r=i?this.styles.indexOf(i)+1:0;r<this.styles.length;r++){let s=this.styles[r],o=s.style;if(!(o.indexOf(t)!=0||s.context&&!a.matchesContext(s.context)||o.length>t.length&&(o.charCodeAt(t.length)!=61||o.slice(t.length+1)!=n))){if(s.getAttrs){let c=s.getAttrs(n);if(c===!1)continue;s.attrs=c||void 0}return s}}}static schemaRules(t){let n=[];function a(i){let r=i.priority==null?50:i.priority,s=0;for(;s<n.length;s++){let o=n[s];if((o.priority==null?50:o.priority)<r)break}n.splice(s,0,i)}for(let i in t.marks){let r=t.marks[i].spec.parseDOM;r&&r.forEach(s=>{a(s=Aj(s)),s.mark||s.ignore||s.clearMark||(s.mark=i)})}for(let i in t.nodes){let r=t.nodes[i].spec.parseDOM;r&&r.forEach(s=>{a(s=Aj(s)),s.node||s.ignore||s.mark||(s.node=i)})}return n}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new v3(t,v3.schemaRules(t)))}};const Xz={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Mpe={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Qz={ol:!0,ul:!0},Ig=1,y3=2,og=4;function wj(e,t,n){return t!=null?(t?Ig:0)|(t==="full"?y3:0):e&&e.whitespace=="pre"?Ig|y3:n&~og}class Tv{constructor(t,n,a,i,r,s){this.type=t,this.attrs=n,this.marks=a,this.solid=i,this.options=s,this.content=[],this.activeMarks=en.none,this.match=r||(s&og?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(le.from(t));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let a=this.type.contentMatch,i;return(i=a.findWrapping(t.type))?(this.match=a,i):null}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&Ig)){let a=this.content[this.content.length-1],i;if(a&&a.isText&&(i=/[ \t\r\n\u000c]+$/.exec(a.text))){let r=a;a.text.length==i[0].length?this.content.pop():this.content[this.content.length-1]=r.withText(r.text.slice(0,r.text.length-i[0].length))}}let n=le.from(this.content);return!t&&this.match&&(n=n.append(this.match.fillBefore(le.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(t){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:t.parentNode&&!Xz.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class xj{constructor(t,n,a){this.parser=t,this.options=n,this.isOpen=a,this.open=0,this.localPreserveWS=!1;let i=n.topNode,r,s=wj(null,n.preserveWhitespace,0)|(a?og:0);i?r=new Tv(i.type,i.attrs,en.none,!0,n.topMatch||i.type.contentMatch,s):a?r=new Tv(null,null,en.none,!0,null,s):r=new Tv(t.schema.topNodeType,null,en.none,!0,null,s),this.nodes=[r],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(t,n){t.nodeType==3?this.addTextNode(t,n):t.nodeType==1&&this.addElement(t,n)}addTextNode(t,n){let a=t.nodeValue,i=this.top,r=i.options&y3?"full":this.localPreserveWS||(i.options&Ig)>0,{schema:s}=this.parser;if(r==="full"||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(a)){if(r)if(r==="full")a=a.replace(/\r\n?/g,`
|
|
233
233
|
`);else if(s.linebreakReplacement&&/[\r\n]/.test(a)&&this.top.findWrapping(s.linebreakReplacement.create())){let o=a.split(/\r?\n|\r/);for(let c=0;c<o.length;c++)c&&this.insertNode(s.linebreakReplacement.create(),n,!0),o[c]&&this.insertNode(s.text(o[c]),n,!/\S/.test(o[c]));a=""}else a=a.replace(/\r?\n|\r/g," ");else if(a=a.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(a)&&this.open==this.nodes.length-1){let o=i.content[i.content.length-1],c=t.previousSibling;(!o||c&&c.nodeName=="BR"||o.isText&&/[ \t\r\n\u000c]$/.test(o.text))&&(a=a.slice(1))}a&&this.insertNode(s.text(a),n,!/\S/.test(a)),this.findInText(t)}else this.findInside(t)}addElement(t,n,a){let i=this.localPreserveWS,r=this.top;(t.tagName=="PRE"||/pre/.test(t.style&&t.style.whiteSpace))&&(this.localPreserveWS=!0);let s=t.nodeName.toLowerCase(),o;Qz.hasOwnProperty(s)&&this.parser.normalizeLists&&jpe(t);let c=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(o=this.parser.matchTag(t,this,a));e:if(c?c.ignore:Mpe.hasOwnProperty(s))this.findInside(t),this.ignoreFallback(t,n);else if(!c||c.skip||c.closeParent){c&&c.closeParent?this.open=Math.max(0,this.open-1):c&&c.skip.nodeType&&(t=c.skip);let p,d=this.needsBlock;if(Xz.hasOwnProperty(s))r.content.length&&r.content[0].isInline&&this.open&&(this.open--,r=this.top),p=!0,r.type||(this.needsBlock=!0);else if(!t.firstChild){this.leafFallback(t,n);break e}let m=c&&c.skip?n:this.readStyles(t,n);m&&this.addAll(t,m),p&&this.sync(r),this.needsBlock=d}else{let p=this.readStyles(t,n);p&&this.addElementByRule(t,c,p,c.consuming===!1?o:void 0)}this.localPreserveWS=i}leafFallback(t,n){t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode(`
|
|
234
234
|
`),n)}ignoreFallback(t,n){t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(t,n){let a=t.style;if(a&&a.length)for(let i=0;i<this.parser.matchedStyles.length;i++){let r=this.parser.matchedStyles[i],s=a.getPropertyValue(r);if(s)for(let o=void 0;;){let c=this.parser.matchStyle(r,s,this,o);if(!c)break;if(c.ignore)return null;if(c.clearMark?n=n.filter(p=>!c.clearMark(p)):n=n.concat(this.parser.schema.marks[c.mark].create(c.attrs)),c.consuming===!1)o=c;else break}}return n}addElementByRule(t,n,a,i){let r,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),a,t.nodeName=="BR")||this.leafFallback(t,a);else{let c=this.enter(s,n.attrs||null,a,n.preserveWhitespace);c&&(r=!0,a=c)}else{let c=this.parser.schema.marks[n.mark];a=a.concat(c.create(n.attrs))}let o=this.top;if(s&&s.isLeaf)this.findInside(t);else if(i)this.addElement(t,a,i);else if(n.getContent)this.findInside(t),n.getContent(t,this.parser.schema).forEach(c=>this.insertNode(c,a,!1));else{let c=t;typeof n.contentElement=="string"?c=t.querySelector(n.contentElement):typeof n.contentElement=="function"?c=n.contentElement(t):n.contentElement&&(c=n.contentElement),this.findAround(t,c,!0),this.addAll(c,a),this.findAround(t,c,!1)}r&&this.sync(o)&&this.open--}addAll(t,n,a,i){let r=a||0;for(let s=a?t.childNodes[a]:t.firstChild,o=i==null?null:t.childNodes[i];s!=o;s=s.nextSibling,++r)this.findAtPoint(t,r),this.addDOM(s,n);this.findAtPoint(t,r)}findPlace(t,n,a){let i,r;for(let s=this.open,o=0;s>=0;s--){let c=this.nodes[s],p=c.findWrapping(t);if(p&&(!i||i.length>p.length+o)&&(i=p,r=c,!p.length))break;if(c.solid){if(a)break;o+=2}}if(!i)return null;this.sync(r);for(let s=0;s<i.length;s++)n=this.enterInner(i[s],null,n,!1);return n}insertNode(t,n,a){if(t.isInline&&this.needsBlock&&!this.top.type){let r=this.textblockFromContext();r&&(n=this.enterInner(r,null,n))}let i=this.findPlace(t,n,a);if(i){this.closeExtra();let r=this.top;r.match&&(r.match=r.match.matchType(t.type));let s=en.none;for(let o of i.concat(t.marks))(r.type?r.type.allowsMarkType(o.type):Cj(o.type,t.type))&&(s=o.addToSet(s));return r.content.push(t.mark(s)),!0}return!1}enter(t,n,a,i){let r=this.findPlace(t.create(n),a,!1);return r&&(r=this.enterInner(t,n,a,!0,i)),r}enterInner(t,n,a,i=!1,r){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(t);let o=wj(t,r,s.options);s.options&og&&s.content.length==0&&(o|=og);let c=en.none;return a=a.filter(p=>(s.type?s.type.allowsMarkType(p.type):Cj(p.type,t))?(c=p.addToSet(c),!1):!0),this.nodes.push(new Tv(t,n,c,i,null,o)),this.open++,a}closeExtra(t=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(t){for(let n=this.open;n>=0;n--){if(this.nodes[n]==t)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=Ig)}return!1}get currentPos(){this.closeExtra();let t=0;for(let n=this.open;n>=0;n--){let a=this.nodes[n].content;for(let i=a.length-1;i>=0;i--)t+=a[i].nodeSize;n&&t++}return t}findAtPoint(t,n){if(this.find)for(let a=0;a<this.find.length;a++)this.find[a].node==t&&this.find[a].offset==n&&(this.find[a].pos=this.currentPos)}findInside(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&t.nodeType==1&&t.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(t,n,a){if(t!=n&&this.find)for(let i=0;i<this.find.length;i++)this.find[i].pos==null&&t.nodeType==1&&t.contains(this.find[i].node)&&n.compareDocumentPosition(this.find[i].node)&(a?2:4)&&(this.find[i].pos=this.currentPos)}findInText(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==t&&(this.find[n].pos=this.currentPos-(t.nodeValue.length-this.find[n].offset))}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let n=t.split("/"),a=this.options.context,i=!this.isOpen&&(!a||a.parent.type==this.nodes[0].type),r=-(a?a.depth+1:0)+(i?0:1),s=(o,c)=>{for(;o>=0;o--){let p=n[o];if(p==""){if(o==n.length-1||o==0)continue;for(;c>=r;c--)if(s(o-1,c))return!0;return!1}else{let d=c>0||c==0&&i?this.nodes[c].type:a&&c>=r?a.node(c-r).type:null;if(!d||d.name!=p&&!d.isInGroup(p))return!1;c--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let n=t.depth;n>=0;n--){let a=t.node(n).contentMatchAt(t.indexAfter(n)).defaultType;if(a&&a.isTextblock&&a.defaultAttrs)return a}for(let n in this.parser.schema.nodes){let a=this.parser.schema.nodes[n];if(a.isTextblock&&a.defaultAttrs)return a}}}function jpe(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let a=t.nodeType==1?t.nodeName.toLowerCase():null;a&&Qz.hasOwnProperty(a)&&n?(n.appendChild(t),t=n):a=="li"?n=t:a&&(n=null)}}function Dpe(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function Aj(e){let t={};for(let n in e)t[n]=e[n];return t}function Cj(e,t){let n=t.schema.nodes;for(let a in n){let i=n[a];if(!i.allowsMarkType(e))continue;let r=[],s=o=>{r.push(o);for(let c=0;c<o.edgeCount;c++){let{type:p,next:d}=o.edge(c);if(p==t||r.indexOf(d)<0&&s(d))return!0}};if(s(i.contentMatch))return!0}}class Ji{constructor(t,n){this.nodes=t,this.marks=n}serializeFragment(t,n={},a){a||(a=P2(n).createDocumentFragment());let i=a,r=[];return t.forEach(s=>{if(r.length||s.marks.length){let o=0,c=0;for(;o<r.length&&c<s.marks.length;){let p=s.marks[c];if(!this.marks[p.type.name]){c++;continue}if(!p.eq(r[o][0])||p.type.spec.spanning===!1)break;o++,c++}for(;o<r.length;)i=r.pop()[1];for(;c<s.marks.length;){let p=s.marks[c++],d=this.serializeMark(p,s.isInline,n);d&&(r.push([p,i]),i.appendChild(d.dom),i=d.contentDOM||d.dom)}}i.appendChild(this.serializeNodeInner(s,n))}),a}serializeNodeInner(t,n){let{dom:a,contentDOM:i}=Ey(P2(n),this.nodes[t.type.name](t),null,t.attrs);if(i){if(t.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(t.content,n,i)}return a}serializeNode(t,n={}){let a=this.serializeNodeInner(t,n);for(let i=t.marks.length-1;i>=0;i--){let r=this.serializeMark(t.marks[i],t.isInline,n);r&&((r.contentDOM||r.dom).appendChild(a),a=r.dom)}return a}serializeMark(t,n,a={}){let i=this.marks[t.type.name];return i&&Ey(P2(a),i(t,n),null,t.attrs)}static renderSpec(t,n,a=null,i){return Ey(t,n,a,i)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new Ji(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let n=Nj(t.nodes);return n.text||(n.text=a=>a.text),n}static marksFromSchema(t){return Nj(t.marks)}}function Nj(e){let t={};for(let n in e){let a=e[n].spec.toDOM;a&&(t[n]=a)}return t}function P2(e){return e.document||window.document}const Sj=new WeakMap;function Ipe(e){let t=Sj.get(e);return t===void 0&&Sj.set(e,t=Rpe(e)),t}function Rpe(e){let t=null;function n(a){if(a&&typeof a=="object")if(Array.isArray(a))if(typeof a[0]=="string")t||(t=[]),t.push(a);else for(let i=0;i<a.length;i++)n(a[i]);else for(let i in a)n(a[i])}return n(e),t}function Ey(e,t,n,a){if(typeof t=="string")return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],r;if(typeof i!="string")throw new RangeError("Invalid array passed to renderSpec");if(a&&(r=Ipe(a))&&r.indexOf(t)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=i.indexOf(" ");s>0&&(n=i.slice(0,s),i=i.slice(s+1));let o,c=n?e.createElementNS(n,i):e.createElement(i),p=t[1],d=1;if(p&&typeof p=="object"&&p.nodeType==null&&!Array.isArray(p)){d=2;for(let m in p)if(p[m]!=null){let f=m.indexOf(" ");f>0?c.setAttributeNS(m.slice(0,f),m.slice(f+1),p[m]):m=="style"&&c.style?c.style.cssText=p[m]:c.setAttribute(m,p[m])}}for(let m=d;m<t.length;m++){let f=t[m];if(f===0){if(m<t.length-1||m>d)throw new RangeError("Content hole must be the only child of its parent node");return{dom:c,contentDOM:c}}else{let{dom:h,contentDOM:b}=Ey(e,f,n,a);if(c.appendChild(h),b){if(o)throw new RangeError("Multiple content holes");o=b}}}return{dom:c,contentDOM:o}}const Jz=65535,eH=Math.pow(2,16);function Ope(e,t){return e+t*eH}function $j(e){return e&Jz}function Fpe(e){return(e-(e&Jz))/eH}const tH=1,nH=2,Py=4,aH=8;class _3{constructor(t,n,a){this.pos=t,this.delInfo=n,this.recover=a}get deleted(){return(this.delInfo&aH)>0}get deletedBefore(){return(this.delInfo&(tH|Py))>0}get deletedAfter(){return(this.delInfo&(nH|Py))>0}get deletedAcross(){return(this.delInfo&Py)>0}}class Wi{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&Wi.empty)return Wi.empty}recover(t){let n=0,a=$j(t);if(!this.inverted)for(let i=0;i<a;i++)n+=this.ranges[i*3+2]-this.ranges[i*3+1];return this.ranges[a*3]+n+Fpe(t)}mapResult(t,n=1){return this._map(t,n,!1)}map(t,n=1){return this._map(t,n,!0)}_map(t,n,a){let i=0,r=this.inverted?2:1,s=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let c=this.ranges[o]-(this.inverted?i:0);if(c>t)break;let p=this.ranges[o+r],d=this.ranges[o+s],m=c+p;if(t<=m){let f=p?t==c?-1:t==m?1:n:n,h=c+i+(f<0?0:d);if(a)return h;let b=t==(n<0?c:m)?null:Ope(o/3,t-c),k=t==c?nH:t==m?tH:Py;return(n<0?t!=c:t!=m)&&(k|=aH),new _3(h,k,b)}i+=d-p}return a?t+i:new _3(t+i,0,null)}touches(t,n){let a=0,i=$j(n),r=this.inverted?2:1,s=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let c=this.ranges[o]-(this.inverted?a:0);if(c>t)break;let p=this.ranges[o+r],d=c+p;if(t<=d&&o==i*3)return!0;a+=this.ranges[o+s]-p}return!1}forEach(t){let n=this.inverted?2:1,a=this.inverted?1:2;for(let i=0,r=0;i<this.ranges.length;i+=3){let s=this.ranges[i],o=s-(this.inverted?r:0),c=s+(this.inverted?0:r),p=this.ranges[i+n],d=this.ranges[i+a];t(o,o+p,c,c+d),r+=d-p}}invert(){return new Wi(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Wi.empty:new Wi(t<0?[0,-t,0]:[0,0,t])}}Wi.empty=new Wi([]);class ju{constructor(t,n,a=0,i=t?t.length:0){this.mirror=n,this.from=a,this.to=i,this._maps=t||[],this.ownData=!(t||n)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new ju(this._maps,this.mirror,t,n)}appendMap(t,n){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(t),n!=null&&this.setMirror(this._maps.length-1,n)}appendMapping(t){for(let n=0,a=this._maps.length;n<t._maps.length;n++){let i=t.getMirror(n);this.appendMap(t._maps[n],i!=null&&i<n?a+i:void 0)}}getMirror(t){if(this.mirror){for(let n=0;n<this.mirror.length;n++)if(this.mirror[n]==t)return this.mirror[n+(n%2?-1:1)]}}setMirror(t,n){this.mirror||(this.mirror=[]),this.mirror.push(t,n)}appendMappingInverted(t){for(let n=t.maps.length-1,a=this._maps.length+t._maps.length;n>=0;n--){let i=t.getMirror(n);this.appendMap(t._maps[n].invert(),i!=null&&i>n?a-i-1:void 0)}}invert(){let t=new ju;return t.appendMappingInverted(this),t}map(t,n=1){if(this.mirror)return this._map(t,n,!0);for(let a=this.from;a<this.to;a++)t=this._maps[a].map(t,n);return t}mapResult(t,n=1){return this._map(t,n,!1)}_map(t,n,a){let i=0;for(let r=this.from;r<this.to;r++){let s=this._maps[r],o=s.mapResult(t,n);if(o.recover!=null){let c=this.getMirror(r);if(c!=null&&c>r&&c<this.to){r=c,t=this._maps[c].recover(o.recover);continue}}i|=o.delInfo,t=o.pos}return a?t:new _3(t,i,null)}}const T2=Object.create(null);class Ka{getMap(){return Wi.empty}merge(t){return null}static fromJSON(t,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");let a=T2[n.stepType];if(!a)throw new RangeError(`No step type ${n.stepType} defined`);return a.fromJSON(t,n)}static jsonID(t,n){if(t in T2)throw new RangeError("Duplicate use of step JSON ID "+t);return T2[t]=n,n.prototype.jsonID=t,n}}class Gn{constructor(t,n){this.doc=t,this.failed=n}static ok(t){return new Gn(t,null)}static fail(t){return new Gn(null,t)}static fromReplace(t,n,a,i){try{return Gn.ok(t.replace(n,a,i))}catch(r){if(r instanceof y_)return Gn.fail(r.message);throw r}}}function Z4(e,t,n){let a=[];for(let i=0;i<e.childCount;i++){let r=e.child(i);r.content.size&&(r=r.copy(Z4(r.content,t,r))),r.isInline&&(r=t(r,n,i)),a.push(r)}return le.fromArray(a)}class Bc extends Ka{constructor(t,n,a){super(),this.from=t,this.to=n,this.mark=a}apply(t){let n=t.slice(this.from,this.to),a=t.resolve(this.from),i=a.node(a.sharedDepth(this.to)),r=new Ae(Z4(n.content,(s,o)=>!s.isAtom||!o.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),i),n.openStart,n.openEnd);return Gn.fromReplace(t,this.from,this.to,r)}invert(){return new Qr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),a=t.mapResult(this.to,-1);return n.deleted&&a.deleted||n.pos>=a.pos?null:new Bc(n.pos,a.pos,this.mark)}merge(t){return t instanceof Bc&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new Bc(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Bc(n.from,n.to,t.markFromJSON(n.mark))}}Ka.jsonID("addMark",Bc);class Qr extends Ka{constructor(t,n,a){super(),this.from=t,this.to=n,this.mark=a}apply(t){let n=t.slice(this.from,this.to),a=new Ae(Z4(n.content,i=>i.mark(this.mark.removeFromSet(i.marks)),t),n.openStart,n.openEnd);return Gn.fromReplace(t,this.from,this.to,a)}invert(){return new Bc(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),a=t.mapResult(this.to,-1);return n.deleted&&a.deleted||n.pos>=a.pos?null:new Qr(n.pos,a.pos,this.mark)}merge(t){return t instanceof Qr&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new Qr(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Qr(n.from,n.to,t.markFromJSON(n.mark))}}Ka.jsonID("removeMark",Qr);class qc extends Ka{constructor(t,n){super(),this.pos=t,this.mark=n}apply(t){let n=t.nodeAt(this.pos);if(!n)return Gn.fail("No node at mark step's position");let a=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return Gn.fromReplace(t,this.pos,this.pos+1,new Ae(le.from(a),0,n.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let a=this.mark.addToSet(n.marks);if(a.length==n.marks.length){for(let i=0;i<n.marks.length;i++)if(!n.marks[i].isInSet(a))return new qc(this.pos,n.marks[i]);return new qc(this.pos,this.mark)}}return new Sl(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new qc(n.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new qc(n.pos,t.markFromJSON(n.mark))}}Ka.jsonID("addNodeMark",qc);class Sl extends Ka{constructor(t,n){super(),this.pos=t,this.mark=n}apply(t){let n=t.nodeAt(this.pos);if(!n)return Gn.fail("No node at mark step's position");let a=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return Gn.fromReplace(t,this.pos,this.pos+1,new Ae(le.from(a),0,n.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);return!n||!this.mark.isInSet(n.marks)?this:new qc(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new Sl(n.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Sl(n.pos,t.markFromJSON(n.mark))}}Ka.jsonID("removeNodeMark",Sl);class En extends Ka{constructor(t,n,a,i=!1){super(),this.from=t,this.to=n,this.slice=a,this.structure=i}apply(t){return this.structure&&k3(t,this.from,this.to)?Gn.fail("Structure replace would overwrite content"):Gn.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Wi([this.from,this.to-this.from,this.slice.size])}invert(t){return new En(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.to,-1),a=this.from==this.to&&En.MAP_BIAS<0?n:t.mapResult(this.from,1);return a.deletedAcross&&n.deletedAcross?null:new En(a.pos,Math.max(a.pos,n.pos),this.slice,this.structure)}merge(t){if(!(t instanceof En)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?Ae.empty:new Ae(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new En(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?Ae.empty:new Ae(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new En(t.from,this.to,n,this.structure)}else return null}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new En(n.from,n.to,Ae.fromJSON(t,n.slice),!!n.structure)}}En.MAP_BIAS=1;Ka.jsonID("replace",En);class Tn extends Ka{constructor(t,n,a,i,r,s,o=!1){super(),this.from=t,this.to=n,this.gapFrom=a,this.gapTo=i,this.slice=r,this.insert=s,this.structure=o}apply(t){if(this.structure&&(k3(t,this.from,this.gapFrom)||k3(t,this.gapTo,this.to)))return Gn.fail("Structure gap-replace would overwrite content");let n=t.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return Gn.fail("Gap is not a flat range");let a=this.slice.insertAt(this.insert,n.content);return a?Gn.fromReplace(t,this.from,this.to,a):Gn.fail("Content does not fit in gap")}getMap(){return new Wi([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new Tn(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),a=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),r=this.to==this.gapTo?a.pos:t.map(this.gapTo,1);return n.deletedAcross&&a.deletedAcross||i<n.pos||r>a.pos?null:new Tn(n.pos,a.pos,i,r,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Tn(n.from,n.to,n.gapFrom,n.gapTo,Ae.fromJSON(t,n.slice),n.insert,!!n.structure)}}Ka.jsonID("replaceAround",Tn);function k3(e,t,n){let a=e.resolve(t),i=n-t,r=a.depth;for(;i>0&&r>0&&a.indexAfter(r)==a.node(r).childCount;)r--,i--;if(i>0){let s=a.node(r).maybeChild(a.indexAfter(r));for(;i>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,i--}}return!1}function zpe(e,t,n,a){let i=[],r=[],s,o;e.doc.nodesBetween(t,n,(c,p,d)=>{if(!c.isInline)return;let m=c.marks;if(!a.isInSet(m)&&d.type.allowsMarkType(a.type)){let f=Math.max(p,t),h=Math.min(p+c.nodeSize,n),b=a.addToSet(m);for(let k=0;k<m.length;k++)m[k].isInSet(b)||(s&&s.to==f&&s.mark.eq(m[k])?s.to=h:i.push(s=new Qr(f,h,m[k])));o&&o.to==f?o.to=h:r.push(o=new Bc(f,h,a))}}),i.forEach(c=>e.step(c)),r.forEach(c=>e.step(c))}function Hpe(e,t,n,a){let i=[],r=0;e.doc.nodesBetween(t,n,(s,o)=>{if(!s.isInline)return;r++;let c=null;if(a instanceof G1){let p=s.marks,d;for(;d=a.isInSet(p);)(c||(c=[])).push(d),p=d.removeFromSet(p)}else a?a.isInSet(s.marks)&&(c=[a]):c=s.marks;if(c&&c.length){let p=Math.min(o+s.nodeSize,n);for(let d=0;d<c.length;d++){let m=c[d],f;for(let h=0;h<i.length;h++){let b=i[h];b.step==r-1&&m.eq(i[h].style)&&(f=b)}f?(f.to=p,f.step=r):i.push({style:m,from:Math.max(o,t),to:p,step:r})}}}),i.forEach(s=>e.step(new Qr(s.from,s.to,s.style)))}function G4(e,t,n,a=n.contentMatch,i=!0){let r=e.doc.nodeAt(t),s=[],o=t+1;for(let c=0;c<r.childCount;c++){let p=r.child(c),d=o+p.nodeSize,m=a.matchType(p.type);if(!m)s.push(new En(o,d,Ae.empty));else{a=m;for(let f=0;f<p.marks.length;f++)n.allowsMarkType(p.marks[f].type)||e.step(new Qr(o,d,p.marks[f]));if(i&&p.isText&&n.whitespace!="pre"){let f,h=/\r?\n|\r/g,b;for(;f=h.exec(p.text);)b||(b=new Ae(le.from(n.schema.text(" ",n.allowedMarks(p.marks))),0,0)),s.push(new En(o+f.index,o+f.index+f[0].length,b))}}o=d}if(!a.validEnd){let c=a.fillBefore(le.empty,!0);e.replace(o,o,new Ae(c,0,0))}for(let c=s.length-1;c>=0;c--)e.step(s[c])}function Bpe(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function Zl(e){let n=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let a=e.depth,i=0,r=0;;--a){let s=e.$from.node(a),o=e.$from.index(a)+i,c=e.$to.indexAfter(a)-r;if(a<e.depth&&s.canReplace(o,c,n))return a;if(a==0||s.type.spec.isolating||!Bpe(s,o,c))break;o&&(i=1),c<s.childCount&&(r=1)}return null}function qpe(e,t,n){let{$from:a,$to:i,depth:r}=t,s=a.before(r+1),o=i.after(r+1),c=s,p=o,d=le.empty,m=0;for(let b=r,k=!1;b>n;b--)k||a.index(b)>0?(k=!0,d=le.from(a.node(b).copy(d)),m++):c--;let f=le.empty,h=0;for(let b=r,k=!1;b>n;b--)k||i.after(b+1)<i.end(b)?(k=!0,f=le.from(i.node(b).copy(f)),h++):p++;e.step(new Tn(c,p,s,o,new Ae(d.append(f),m,h),d.size-m,!0))}function iH(e,t,n=null,a=e){let i=Upe(e,t),r=i&&Vpe(a,t);return r?i.map(Ej).concat({type:t,attrs:n}).concat(r.map(Ej)):null}function Ej(e){return{type:e,attrs:null}}function Upe(e,t){let{parent:n,startIndex:a,endIndex:i}=e,r=n.contentMatchAt(a).findWrapping(t);if(!r)return null;let s=r.length?r[0]:t;return n.canReplaceWith(a,i,s)?r:null}function Vpe(e,t){let{parent:n,startIndex:a,endIndex:i}=e,r=n.child(a),s=t.contentMatch.findWrapping(r.type);if(!s)return null;let c=(s.length?s[s.length-1]:t).contentMatch;for(let p=a;c&&p<i;p++)c=c.matchType(n.child(p).type);return!c||!c.validEnd?null:s}function Zpe(e,t,n){let a=le.empty;for(let s=n.length-1;s>=0;s--){if(a.size){let o=n[s].type.contentMatch.matchFragment(a);if(!o||!o.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}a=le.from(n[s].type.create(n[s].attrs,a))}let i=t.start,r=t.end;e.step(new Tn(i,r,i,r,new Ae(a,0,0),n.length,!0))}function Gpe(e,t,n,a,i){if(!a.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let r=e.steps.length;e.doc.nodesBetween(t,n,(s,o)=>{let c=typeof i=="function"?i(s):i;if(s.isTextblock&&!s.hasMarkup(a,c)&&Wpe(e.doc,e.mapping.slice(r).map(o),a)){let p=null;if(a.schema.linebreakReplacement){let h=a.whitespace=="pre",b=!!a.contentMatch.matchType(a.schema.linebreakReplacement);h&&!b?p=!1:!h&&b&&(p=!0)}p===!1&&sH(e,s,o,r),G4(e,e.mapping.slice(r).map(o,1),a,void 0,p===null);let d=e.mapping.slice(r),m=d.map(o,1),f=d.map(o+s.nodeSize,1);return e.step(new Tn(m,f,m+1,f-1,new Ae(le.from(a.create(c,null,s.marks)),0,0),1,!0)),p===!0&&rH(e,s,o,r),!1}})}function rH(e,t,n,a){t.forEach((i,r)=>{if(i.isText){let s,o=/\r?\n|\r/g;for(;s=o.exec(i.text);){let c=e.mapping.slice(a).map(n+1+r+s.index);e.replaceWith(c,c+1,t.type.schema.linebreakReplacement.create())}}})}function sH(e,t,n,a){t.forEach((i,r)=>{if(i.type==i.type.schema.linebreakReplacement){let s=e.mapping.slice(a).map(n+1+r);e.replaceWith(s,s+1,t.type.schema.text(`
|
|
@@ -562,7 +562,7 @@ XID_Continue XIDC
|
|
|
562
562
|
XID_Start XIDS`.split(/\s/).map(e=>[C0(e),e])),tOe=new Map([["s",ta(383)],[ta(383),"s"]]),nOe=new Map([[ta(223),ta(7838)],[ta(107),ta(8490)],[ta(229),ta(8491)],[ta(969),ta(8486)]]),aOe=new Map([Mc(453),Mc(456),Mc(459),Mc(498),...yC(8072,8079),...yC(8088,8095),...yC(8104,8111),Mc(8124),Mc(8140),Mc(8188)]),iOe=new Map([["alnum",et`[\p{Alpha}\p{Nd}]`],["alpha",et`\p{Alpha}`],["ascii",et`\p{ASCII}`],["blank",et`[\p{Zs}\t]`],["cntrl",et`\p{Cc}`],["digit",et`\p{Nd}`],["graph",et`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",et`\p{Lower}`],["print",et`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",et`[\p{P}\p{S}]`],["space",et`\p{space}`],["upper",et`\p{Upper}`],["word",et`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",et`\p{AHex}`]]);function rOe(e,t){const n=[];for(let a=e;a<=t;a++)n.push(a);return n}function Mc(e){const t=ta(e);return[t.toLowerCase(),t]}function yC(e,t){return rOe(e,t).map(n=>Mc(n))}var eX=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function sOe(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};tX(e);const a={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:r4(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};Cg(e,oOe,a);const i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};Cg(e,cOe,r);const s={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return Cg(e,pOe,s),e._originMap=r.groupOriginByCopy,e._strategy=a.strategy,e}var oOe={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:a,kind:i}=e;if(i==="repeater"){const r=Xr();r.body[0].body.push(rl({negate:!0,body:a}),ou("Any"));const s=Xr();s.body[0].body.push(ZY("greedy",0,1/0,r)),n(Dn(s,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:a}){const i=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r<t.body.length;r++){const s=t.body[r];bh(a,s,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){const n=aX(t.get(e));if(n){const a=Xr({flags:n});a.body[0].body=e.body,e.body=[Dn(a,e)]}}}},Assertion({node:e,parent:t,key:n,container:a,root:i,remove:r,replaceWith:s},o){const{kind:c,negate:p}=e,{asciiWordBoundaries:d,avoidSubclass:m,supportedGNodes:f,wordIsAscii:h}=o;if(c==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${p?"Y":"y"}"`);if(c==="line_end")s(Dn(rl({body:[Ul({body:[t4("string_end")]}),Ul({body:[A0(10)]})]}),t));else if(c==="line_start")s(Dn(No(et`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c==="search_start")if(f.has(e))i.flags.sticky=!0,r();else{const b=a[n-1];if(b&&gOe(b))s(Dn(rl({negate:!0}),t));else{if(m)throw new Error(et`Uses "\G" in a way that requires a subclass`);s(jc(t4("string_start"),t)),o.strategy="clip_search"}}else if(!(c==="string_end"||c==="string_start"))if(c==="string_end_newline")s(Dn(No(et`(?=\n?\z)`),t));else if(c==="word_boundary"){if(!h&&!d){const b=`(?:(?<=${Co})(?!${Co})|(?<!${Co})(?=${Co}))`,k=`(?:(?<=${Co})(?=${Co})|(?<!${Co})(?!${Co}))`;s(Dn(No(p?k:b),t))}}else throw new Error(`Unexpected assertion kind "${c}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!kC(n)&&(n=_C(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:a}=e;a&&!kC(a)&&(a=_C(a,t),e.name=a),n.set(e.number,e),a&&n.set(a,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){if(t.kind==="intersection"){const a=Jy({body:[e]});n(Dn(a,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:a,minTargetEs2024:i,digitIsAscii:r,spaceIsAscii:s,wordIsAscii:o}){const{kind:c,negate:p,value:d}=e;if(r&&(c==="digit"||d==="digit")){n(jc(a4("digit",{negate:p}),t));return}if(s&&(c==="space"||d==="space")){n(Dn(wC(No(JRe),p),t));return}if(o&&(c==="word"||d==="word")){n(jc(a4("word",{negate:p}),t));return}if(c==="any")n(jc(ou("Any"),t));else if(c==="digit")n(jc(ou("Nd",{negate:p}),t));else if(c!=="dot")if(c==="text_segment"){if(a==="strict")throw new Error(et`Use of "\X" requires non-strict accuracy`);const m="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=et`\p{RI}{2}|${m}(?:\u200D${m})*`;n(Dn(No(et`(?>\r\n|${i?et`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c==="hex")n(jc(ou("AHex",{negate:p}),t));else if(c==="newline")n(Dn(No(p?`[^
|
|
563
563
|
]`:`(?>\r
|
|
564
564
|
?|[
|
|
565
|
-
\v\f
\u2028\u2029])`),t));else if(c==="posix")if(!i&&(d==="graph"||d==="print")){if(a==="strict")throw new Error(`POSIX class "${d}" requires min target ES2024 or non-strict accuracy`);let m={graph:"!-~",print:" -~"}[d];p&&(m=`\0-${ta(m.codePointAt(0)-1)}${ta(m.codePointAt(2)+1)}-`),n(Dn(No(`[${m}]`),t))}else n(Dn(wC(No(iOe.get(d)),p),t));else if(c==="property")YE.has(C0(d))||(e.key="sc");else if(c==="space")n(jc(ou("space",{negate:p}),t));else if(c==="word")n(Dn(wC(No(Co),p),t));else throw new Error(`Unexpected character set kind "${c}"`)},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){const{kind:o,flags:c}=e;if(o==="flags")if(!c.enable&&!c.disable)a();else{const p=Xr({flags:c});p.body[0].body=s(),i(Dn(p,t),{traverse:!0})}else if(o==="keep"){const p=n.body[0],m=n.body.length===1&&qY(p,{type:"Group"})&&p.body[0].body.length===1?p.body[0]:n;if(t.parent!==m||m.body.length>1)throw new Error(et`Uses "\K" in a way that's unsupported`);const f=rl({behind:!0});f.body[0].body=r(),i(Dn(f,t))}else throw new Error(`Unexpected directive kind "${o}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:a}=e;if(a==="fail")n(Dn(rl({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${a.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Xr();t.body[0].body.push(e.body),e.body=Dn(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let a=!1,i=!1;for(const r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{const s=rX(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error(et`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!kC(n)&&(n=_C(n,t),e.ref=n)}},cOe={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:o,reffedNodesByReferencer:c}){const p=i.get(e);if(p&&o.has(e.number)){const m=jc(fR(e.number),t);c.set(m,o.get(e.number)),n(m);return}o.set(e.number,e),s.set(e.number,[]),e.name&&bh(s,e.name,[]);const d=s.get(e.name??e.number);for(let m=0;m<d.length;m++){const f=d[m];if(p===f.node||p&&p===f.origin||e===f.origin){d.splice(m,1);break}}if(s.get(e.number).push({node:e,origin:p}),e.name&&s.get(e.name).push({node:e,origin:p}),e.name){const m=bh(r,e.name,new Map);let f=!1;if(p)f=!0;else for(const h of m.values())if(!h.hasDuplicateNameToRemove){f=!0;break}r.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=j1(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},a){const{isRecursive:i,ref:r}=e;if(i){let d=t;for(;(d=d.parent)&&!(d.type==="CapturingGroup"&&(d.name===r||d.number===r)););a.reffedNodesByReferencer.set(e,d);return}const s=a.subroutineRefMap.get(r),o=r===0,c=o?fR(0):nX(s,a.groupOriginByCopy,null);let p=c;if(!o){const d=aX(uOe(s,f=>f.type==="Group"&&!!f.flags)),m=d?j1(a.globalFlags,d):a.globalFlags;lOe(m,a.currentFlags)||(p=Xr({flags:mOe(m)}),p.body[0].body.push(c))}n(Dn(p,t),{traverse:!o})}},pOe={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}const r=a.reffedNodesByReferencer.get(e).filter(s=>dOe(s,e));if(!r.length)n(Dn(rl({negate:!0}),t));else if(r.length>1){const s=Xr({atomic:!0,body:r.reverse().map(o=>Ul({body:[n4(o.number)]}))});n(Dn(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a<n;a++){const i=VY();e.body.at(-1).body.push(i)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function tX(e){Cg(e,{"*"({node:t,parent:n}){t.parent=n}})}function lOe(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function dOe(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const a=iX(n.parent);for(const i of a){if(i===n)break;if(i===e||sX(i,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function nX(e,t,n,a){const i=Array.isArray(e)?[]:{};for(const[r,s]of Object.entries(e))r==="parent"?i.parent=Array.isArray(n)?a:n:s&&typeof s=="object"?i[r]=nX(s,t,i,n):(r==="type"&&s==="CapturingGroup"&&t.set(i,t.get(e)??e),i[r]=s);return i}function fR(e){const t=GY(e);return t.isRecursive=!0,t}function uOe(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function _C(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function aX(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:a})=>{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function mOe({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function iX(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function rX(e){const t=e.find(n=>n.kind==="search_start"||hOe(n,{negate:!1})||!fOe(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const a of t.body){const i=rX(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function sX(e,t){const n=iX(e)??[];for(const a of n)if(a===t||sX(a,t))return!0;return!1}function fOe({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function gOe(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function hOe(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&qY(e.body[0],{type:"Assertion",kind:"search_start"})}function kC(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function No(e,t){const a=UY(e,{...t,unicodePropertyMap:YE}).body;return a.length>1||a[0].body.length>1?Xr({body:a}):a[0].body[0]}function wC(e,t){return e.negate=t,e}function jc(e,t){return e.parent=t,e}function Dn(e,t){return tX(e),e.parent=t,e}function bOe(e,t){const n=QY(t),a=r4(n.target,"ES2024"),i=r4(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,o=null;if(!i){const h=[e.flags.ignoreCase];Cg(e,vOe,{getCurrentModI:()=>h.at(-1),popModI(){h.pop()},pushModI(b){h.push(b)},setHasCasedChar(){h.at(-1)?s=!0:o=!0}})}const c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!o)};let p=e;const d={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:p,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&o),useFlagMods:i,useFlagV:a,verbose:n.verbose};function m(h){return d.lastNode=p,p=h,XRe(yOe[h.type],`Unexpected node type "${h.type}"`)(h,d,m)}const f={pattern:e.body.map(m).join("|"),flags:m(e.flags),options:{...e.options}};return a||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],d.captureMap.forEach((h,b)=>{h.hidden&&f._hiddenCaptures.push(b),h.transferTo&&bh(f._captureTransfers,h.transferTo,[]).push(b)}),f}var vOe={"*":{enter({node:e},t){if(hR(e)){const n=t.getCurrentModI();t.pushModI(e.flags?j1({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){hR(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){XE(ta(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),oX(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&eX.has(e.value)&&t.setHasCasedChar()}},yOe={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?et`\B`:et`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},o=t.originMap.get(e);return o&&(s.hidden=!0,r>o.number&&(s.transferTo=o.number)),t.captureMap.set(r,s),`(${i?`?<${i}>`:""}${a.map(n).join("|")})`},Character({value:e},t){const n=ta(e),a=Qd(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&XE(n)){const i=JY(n);return t.inCharClass?i.join(""):i.length>1?`[${i.join("")}]`:i[0]}return n},CharacterClass(e,t,n){const{kind:a,negate:i,parent:r}=e;let{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");cs.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(bR)&&(s=[A0(45),...s.filter(p=>!bR(p))]);const o=()=>`[${i?"^":""}${s.map(n).join(a==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||cs.bugNestedClassIgnoresNegation)&&!i){const d=s.filter(m=>m.type==="CharacterClass"&&m.kind==="union"&&m.negate);if(d.length){const m=Xr(),f=m.body[0];return m.parent=r,f.parent=m,s=s.filter(h=>!d.includes(h)),e.body=s,s.length?(e.parent=f,f.body.push(e)):m.body.pop(),d.forEach(h=>{const b=Ul({body:[h]});h.parent=b,b.parent=m,m.body.push(b)}),n(m)}}t.inCharClass=!0;const p=o();return t.inCharClass=!1,p}const c=s[0];if(a==="union"&&!i&&c&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(cs.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&c.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return o()},CharacterClassRange(e,t){const n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=Qd(n,i),s=Qd(a,i),o=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const c=oX(e);AOe(c).forEach(d=>{o.add(Array.isArray(d)?`${Qd(d[0],i)}-${Qd(d[1],i)}`:Qd(d,i))})}return`${r}-${s}${[...o].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":et`[^\n]`;if(e==="digit")return t?et`\D`:et`\d`;if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&eX.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?et`\P`:et`\p`}{${a?`${a}=`:""}${n}}`}if(e==="word")return t?et`\W`:et`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){const s=i.currentFlags;n&&(i.currentFlags=j1(s,n));const o=t.map(r).join("|"),c=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?o:`(?${COe(e,n,i.useFlagMods)}${o})`;return i.currentFlags=s,c},LookaroundAssertion({body:e,kind:t,negate:n},a,i){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(i).join("|")})`},Quantifier(e,t,n){return n(e.body)+NOe(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const a=n.recursionLimit;return t===0?`(?R=${a})`:et`\g<${t}&R=${a}>`}},_Oe=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),kOe=new Set(["-","\\","]","^","["]),wOe=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),gR=new Map([[9,et`\t`],[10,et`\n`],[11,et`\v`],[12,et`\f`],[13,et`\r`],[8232,et`\u2028`],[8233,et`\u2029`],[65279,et`\uFEFF`]]),xOe=/^\p{Cased}$/u;function XE(e){return xOe.test(e)}function oX(e,t){const n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){const o=ta(s);if(!XE(o))continue;const c=JY(o).filter(p=>{const d=p.codePointAt(0);return d<a||d>i});if(c.length&&(r.push(...c),n))break}return r}function Qd(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(gR.has(e))return gR.get(e);if(e<32||e>126&&e<160||e>262143||t&&SOe(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const i=n?a?wOe:kOe:_Oe,r=ta(e);return(i.has(r)?"\\":"")+r}function AOe(e){const t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[];let a=null;for(let i=0;i<t.length;i++)t[i+1]===t[i]+1?a??=t[i]:a===null?n.push(t[i]):(n.push([a,t[i]]),a=null);return n}function COe(e,t,n){if(e)return">";let a="";if(t&&n){const{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return`${a}:`}function NOe({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a=`{${n}}`:a=`{${n},${t===1/0?"":t}}`,a+{greedy:"",lazy:"?",possessive:"+"}[e]}function hR({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function SOe(e){return e>47&&e<58}function bR({type:e,value:t}){return e==="Character"&&t===45}var v=class s4 extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){const i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");const r=t;super(r,n),this.#a=r.source,r instanceof s4&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{const r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=EOe(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:i,...r}=this.rawOptions;this.#e=new s4(this.#a,this.flags,r)}const n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;const i=this.#r(t.slice(a));return i&&($Oe(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;const n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;const a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);const r=[0];for(let s=1;s<a.length;s++){const{hidden:o,transferTo:c}=this.#t.get(s)??{};if(o?r.push(null):(r.push(n.length),n.push(a[s]),this.hasIndices&&n.indices.push(i[s])),c&&a[s]!==void 0){const p=r[c];if(!p)throw new Error(`Invalid capture transfer to "${p}"`);if(n[p]=a[s],this.hasIndices&&(n.indices[p]=i[s]),n.groups){this.#n||(this.#n=POe(this.source));const d=this.#n.get(c);d&&(n.groups[d]=a[s],this.hasIndices&&(n.indices.groups[d]=i[s]))}}}return n}};function $Oe(e,t,n,a){if(e.index+=t,e.input=n,a){const i=e.indices;for(let s=0;s<i.length;s++){const o=i[s];o&&(i[s]=[o[0]+t,o[1]+t])}const r=i.groups;r&&Object.keys(r).forEach(s=>{const o=r[s];o&&(r[s]=[o[0]+t,o[1]+t])})}}function EOe(e,t){const n=new Map;for(const a of e)n.set(a,{hidden:!0});for(const[a,i]of t)for(const r of i)bh(n,r,{}).transferTo=a;return n}function POe(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let a=0,i=0,r;for(;r=t.exec(e);){const{0:s,groups:{capture:o,name:c}}=r;s==="["?a++:a?s==="]"&&a--:o&&(i++,c&&n.set(i,c))}return n}function TOe(e,t){const n=LOe(e,t);return n.options?new v(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function LOe(e,t){const n=QY(t),a=UY(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:YE}),i=sOe(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=bOe(i,n),s=KRe(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),o=GRe(s.pattern),c=ZRe(o.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),p={pattern:c.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${r.flags}${r.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const d=c.hiddenCaptures.sort((b,k)=>b-k),m=Array.from(c.captureTransfers),f=i._strategy,h=p.pattern.length>=n.lazyCompileLength;(d.length||m.length||f||h)&&(p.options={...d.length&&{hiddenCaptures:d},...m.length&&{transfers:m},...f&&{strategy:f},...h&&{lazyCompile:h}})}return p}function MOe(e,t){return TOe(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function jOe(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=n=>MOe(n,{target:t.target}),{createScanner(n){return new YIe(n,t)},createString(n){return{content:n}}}}var DOe=KIe({langs:{c:()=>Se(()=>Promise.resolve().then(()=>Jet),void 0,import.meta.url),cpp:()=>Se(()=>Promise.resolve().then(()=>ZR),void 0,import.meta.url),"c++":()=>Se(()=>Promise.resolve().then(()=>ZR),void 0,import.meta.url),css:()=>Se(()=>Promise.resolve().then(()=>ptt),void 0,import.meta.url),glsl:()=>Se(()=>Promise.resolve().then(()=>ntt),void 0,import.meta.url),graphql:()=>Se(()=>Promise.resolve().then(()=>YR),void 0,import.meta.url),gql:()=>Se(()=>Promise.resolve().then(()=>YR),void 0,import.meta.url),haml:()=>Se(()=>Promise.resolve().then(()=>btt),void 0,import.meta.url),html:()=>Se(()=>Promise.resolve().then(()=>ytt),void 0,import.meta.url),java:()=>Se(()=>Promise.resolve().then(()=>ktt),void 0,import.meta.url),javascript:()=>Se(()=>Promise.resolve().then(()=>GR),void 0,import.meta.url),js:()=>Se(()=>Promise.resolve().then(()=>GR),void 0,import.meta.url),json:()=>Se(()=>Promise.resolve().then(()=>xtt),void 0,import.meta.url),jsonc:()=>Se(()=>Promise.resolve().then(()=>Ntt),void 0,import.meta.url),jsonl:()=>Se(()=>Promise.resolve().then(()=>Ett),void 0,import.meta.url),jsx:()=>Se(()=>Promise.resolve().then(()=>mtt),void 0,import.meta.url),julia:()=>Se(()=>Promise.resolve().then(()=>QR),void 0,import.meta.url),jl:()=>Se(()=>Promise.resolve().then(()=>QR),void 0,import.meta.url),less:()=>Se(()=>Promise.resolve().then(()=>Rtt),void 0,import.meta.url),markdown:()=>Se(()=>Promise.resolve().then(()=>JR),void 0,import.meta.url),md:()=>Se(()=>Promise.resolve().then(()=>JR),void 0,import.meta.url),mdx:()=>Se(()=>Promise.resolve().then(()=>Btt),void 0,import.meta.url),php:()=>Se(()=>Promise.resolve().then(()=>Gtt),void 0,import.meta.url),postcss:()=>Se(()=>Promise.resolve().then(()=>Ktt),void 0,import.meta.url),pug:()=>Se(()=>Promise.resolve().then(()=>eO),void 0,import.meta.url),jade:()=>Se(()=>Promise.resolve().then(()=>eO),void 0,import.meta.url),python:()=>Se(()=>Promise.resolve().then(()=>XR),void 0,import.meta.url),py:()=>Se(()=>Promise.resolve().then(()=>XR),void 0,import.meta.url),r:()=>Se(()=>Promise.resolve().then(()=>Ltt),void 0,import.meta.url),regexp:()=>Se(()=>Promise.resolve().then(()=>VR),void 0,import.meta.url),regex:()=>Se(()=>Promise.resolve().then(()=>VR),void 0,import.meta.url),sass:()=>Se(()=>Promise.resolve().then(()=>ent),void 0,import.meta.url),scss:()=>Se(()=>Promise.resolve().then(()=>ant),void 0,import.meta.url),shellscript:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),bash:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),sh:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),shell:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),zsh:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),sql:()=>Se(()=>Promise.resolve().then(()=>itt),void 0,import.meta.url),svelte:()=>Se(()=>Promise.resolve().then(()=>ont),void 0,import.meta.url),typescript:()=>Se(()=>Promise.resolve().then(()=>WR),void 0,import.meta.url),ts:()=>Se(()=>Promise.resolve().then(()=>WR),void 0,import.meta.url),vue:()=>Se(()=>Promise.resolve().then(()=>_nt),void 0,import.meta.url),"vue-html":()=>Se(()=>Promise.resolve().then(()=>xnt),void 0,import.meta.url),wasm:()=>Se(()=>Promise.resolve().then(()=>Nnt),void 0,import.meta.url),wgsl:()=>Se(()=>Promise.resolve().then(()=>Ent),void 0,import.meta.url),xml:()=>Se(()=>Promise.resolve().then(()=>Utt),void 0,import.meta.url),yaml:()=>Se(()=>Promise.resolve().then(()=>tO),void 0,import.meta.url),yml:()=>Se(()=>Promise.resolve().then(()=>tO),void 0,import.meta.url),tsx:()=>Se(()=>Promise.resolve().then(()=>KR),void 0,import.meta.url),typescriptreact:()=>Se(()=>Promise.resolve().then(()=>KR),void 0,import.meta.url),haskell:()=>Se(()=>Promise.resolve().then(()=>nO),void 0,import.meta.url),hs:()=>Se(()=>Promise.resolve().then(()=>nO),void 0,import.meta.url),"c#":()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),csharp:()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),cs:()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),latex:()=>Se(()=>Promise.resolve().then(()=>Fnt),void 0,import.meta.url),lua:()=>Se(()=>Promise.resolve().then(()=>Hnt),void 0,import.meta.url),mermaid:()=>Se(()=>Promise.resolve().then(()=>aO),void 0,import.meta.url),mmd:()=>Se(()=>Promise.resolve().then(()=>aO),void 0,import.meta.url),ruby:()=>Se(()=>Promise.resolve().then(()=>iO),void 0,import.meta.url),rb:()=>Se(()=>Promise.resolve().then(()=>iO),void 0,import.meta.url),rust:()=>Se(()=>Promise.resolve().then(()=>rO),void 0,import.meta.url),rs:()=>Se(()=>Promise.resolve().then(()=>rO),void 0,import.meta.url),scala:()=>Se(()=>Promise.resolve().then(()=>Ynt),void 0,import.meta.url),swift:()=>Se(()=>Promise.resolve().then(()=>Jnt),void 0,import.meta.url),kotlin:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),kt:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),kts:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),"objective-c":()=>Se(()=>Promise.resolve().then(()=>sO),void 0,import.meta.url),objc:()=>Se(()=>Promise.resolve().then(()=>sO),void 0,import.meta.url)},themes:{"github-dark":()=>Se(()=>Promise.resolve().then(()=>rat),void 0,import.meta.url),"github-light":()=>Se(()=>Promise.resolve().then(()=>oat),void 0,import.meta.url)},engine:()=>jOe()}),IOe={defaultLanguage:"javascript",supportedLanguages:{text:{name:"Plain Text",aliases:["text","txt","plain"]},c:{name:"C",aliases:["c"]},cpp:{name:"C++",aliases:["cpp","c++"]},css:{name:"CSS",aliases:["css"]},glsl:{name:"GLSL",aliases:["glsl"]},graphql:{name:"GraphQL",aliases:["graphql","gql"]},haml:{name:"Ruby Haml",aliases:["haml"]},html:{name:"HTML",aliases:["html"]},java:{name:"Java",aliases:["java"]},javascript:{name:"JavaScript",aliases:["javascript","js"]},json:{name:"JSON",aliases:["json"]},jsonc:{name:"JSON with Comments",aliases:["jsonc"]},jsonl:{name:"JSON Lines",aliases:["jsonl"]},jsx:{name:"JSX",aliases:["jsx"]},julia:{name:"Julia",aliases:["julia","jl"]},less:{name:"Less",aliases:["less"]},markdown:{name:"Markdown",aliases:["markdown","md"]},mdx:{name:"MDX",aliases:["mdx"]},php:{name:"PHP",aliases:["php"]},postcss:{name:"PostCSS",aliases:["postcss"]},pug:{name:"Pug",aliases:["pug","jade"]},python:{name:"Python",aliases:["python","py"]},r:{name:"R",aliases:["r"]},regexp:{name:"RegExp",aliases:["regexp","regex"]},sass:{name:"Sass",aliases:["sass"]},scss:{name:"SCSS",aliases:["scss"]},shellscript:{name:"Shell",aliases:["shellscript","bash","sh","shell","zsh"]},sql:{name:"SQL",aliases:["sql"]},svelte:{name:"Svelte",aliases:["svelte"]},typescript:{name:"TypeScript",aliases:["typescript","ts"]},vue:{name:"Vue",aliases:["vue"]},"vue-html":{name:"Vue HTML",aliases:["vue-html"]},wasm:{name:"WebAssembly",aliases:["wasm"]},wgsl:{name:"WGSL",aliases:["wgsl"]},xml:{name:"XML",aliases:["xml"]},yaml:{name:"YAML",aliases:["yaml","yml"]},tsx:{name:"TSX",aliases:["tsx","typescriptreact"]},haskell:{name:"Haskell",aliases:["haskell","hs"]},csharp:{name:"C#",aliases:["c#","csharp","cs"]},latex:{name:"LaTeX",aliases:["latex"]},lua:{name:"Lua",aliases:["lua"]},mermaid:{name:"Mermaid",aliases:["mermaid","mmd"]},ruby:{name:"Ruby",aliases:["ruby","rb"]},rust:{name:"Rust",aliases:["rust","rs"]},scala:{name:"Scala",aliases:["scala"]},swift:{name:"Swift",aliases:["swift"]},kotlin:{name:"Kotlin",aliases:["kotlin","kt","kts"]},"objective-c":{name:"Objective C",aliases:["objective-c","objc"]}},createHighlighter:()=>DOe({themes:["github-dark","github-light"],langs:[]})};const{audio:Tat,file:Lat,video:Mat,table:jat,toggleListItem:Dat,codeBlock:Iat,...ROe}=ZU,{underline:Rat,textColor:Oat,backgroundColor:Fat,...OOe}=Sk,FOe=u$.create({blockSpecs:{...ROe,codeBlock:IU(IOe)},inlineContentSpecs:d$,styleSpecs:OOe});function vR(){const e=getComputedStyle(document.documentElement),t=a=>`hsl(${e.getPropertyValue(`--${a}`).trim()})`,n=e.getPropertyValue("--font-sans").trim();return{colors:{editor:{text:t("foreground"),background:t("background")},menu:{text:t("popover-foreground"),background:t("popover")},tooltip:{text:t("popover-foreground"),background:t("popover")},hovered:{text:t("accent-foreground"),background:t("accent")},selected:{text:t("primary-foreground"),background:t("primary")},disabled:{text:t("muted-foreground"),background:t("muted")},shadow:"transparent",border:t("border"),sideMenu:t("border-strong")},borderRadius:6,fontFamily:n||"Inter, system-ui, sans-serif"}}function zOe(){const[e,t]=$.useState(vR);return $.useEffect(()=>{const n=new MutationObserver(()=>t(vR()));return n.observe(document.documentElement,{attributeFilter:["class","style"]}),()=>n.disconnect()},[]),e}function yR({value:e,onChange:t,readOnly:n=!1,placeholder:a,minHeight:i="120px"}){const r=!n&&!!t,s=$.useRef(!0),o=zOe(),[c,p]=$.useState(()=>typeof document<"u"&&document.documentElement.classList.contains("dark")?"dark":"light");$.useEffect(()=>{const f=new MutationObserver(()=>{p(document.documentElement.classList.contains("dark")?"dark":"light")});return f.observe(document.documentElement,{attributeFilter:["class"]}),()=>f.disconnect()},[]);const d=Kk({schema:FOe});$.useEffect(()=>{const f=d.portalElement;f&&f.style.setProperty("--bn-ui-base-z-index","150")},[d]),$.useEffect(()=>{const f=d.portalElement;f&&(f.setAttribute("data-mantine-color-scheme",c),f.setAttribute("data-color-scheme",c))},[d,c]),$.useEffect(()=>{s.current=!0;const f=d.tryParseMarkdownToBlocks(e||"");d.replaceBlocks(d.document,f),requestAnimationFrame(()=>{s.current=!1})},[]);const m=$.useCallback(()=>{if(s.current||!t)return;const h=d.blocksToMarkdownLossy(d.document).replace(/^ +$/gm,"");t(h)},[d,t]);return _.jsx("div",{className:"blocknote-editor-wrapper rounded-[6px] overflow-hidden",style:{minHeight:i},"data-placeholder":a,"data-mantine-color-scheme":c,"data-color-scheme":c,children:_.jsx(lY,{editor:d,theme:o,editable:r,onChange:m})})}function HOe(){const{t:e}=Rn(),t=fe(W=>W.drawerTaskId),n=fe(W=>W.drawerData),a=fe(W=>W.columns),i=fe(W=>W.config),r=fe(W=>W.closeDrawer),s=fe(W=>W.saveDrawer),o=fe(W=>W.saveDrawerMetadata),c=fe(W=>W.deleteTask),p=fe(W=>W.archiveTask),d=fe(W=>W.unarchiveTask),m=fe(W=>W.agentHook),f=fe(W=>W.sendTaskToAgent),h=String(n?.frontmatter.archived)==="true",b=fe(W=>W.updateDrawerData),k=$.useRef(null),w=$.useRef(null),x=$.useRef(!1),S=!!t&&!!n,E=$.useCallback(()=>{w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{x.current||(x.current=!0,o().finally(()=>{x.current=!1}))},150)},[o]),P=$.useCallback(async()=>{w.current&&clearTimeout(w.current),w.current=null,x.current&&await new Promise(W=>{const B=setInterval(()=>{x.current||(clearInterval(B),W(void 0))},20)})},[]),L=$.useCallback(async()=>{await P(),await s()},[P,s]),j=$.useCallback(async()=>{await P(),r()},[P,r]),F=$.useCallback(async()=>{t&&confirm(`${e("common.delete")} ${t.toUpperCase()}?`)&&(await c(t),await j())},[j,c,t,e]),z=$.useCallback(async()=>{t&&(h?await d(t):(await P(),await p(t)))},[t,h,p,d,P]),R=t?a.find(W=>W.tasks.some(B=>B.id===t))?.name:null,M=$.useCallback(()=>{t&&f(t)},[t,f]),K=$.useMemo(()=>{const W=new Map,B=(i.board.columns[i.board.columns.length-1]||"Done").toLowerCase();for(const V of a)for(const H of V.tasks){const U=H.frontmatter&&(H.frontmatter.archived===!0||H.frontmatter.archived==="true");W.set(H.id,{exists:!0,resolved:U||V.name.toLowerCase()===B})}for(const V of a)for(const H of V.tasks){const U=Array.isArray(H.frontmatter.depends_on)?H.frontmatter.depends_on:[];for(const Y of U)typeof Y!="string"||!Y.trim()||W.has(Y)||W.set(Y,{exists:!1,resolved:!0})}return W},[a,i.board.columns]);if($.useEffect(()=>{S&&setTimeout(()=>k.current?.focus(),250)},[S]),$.useEffect(()=>{k.current&&(k.current.style.height="auto",k.current.style.height=k.current.scrollHeight+"px")},[n?.frontmatter.title]),$.useEffect(()=>{if(!S)return;const W=B=>{B.key==="Escape"&&!B.defaultPrevented&&L(),(B.metaKey||B.ctrlKey)&&B.key==="s"&&(B.preventDefault(),L()),(B.metaKey||B.ctrlKey)&&B.key==="Backspace"&&(B.preventDefault(),F())};return window.addEventListener("keydown",W),()=>window.removeEventListener("keydown",W)},[S,L,F]),!n)return null;const J=(W,B)=>{b(V=>({...V,frontmatter:{...V.frontmatter,[W]:B}})),E()};return _.jsx(ps,{children:S&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:0},onClick:L,className:"fixed inset-0 bg-black/50 backdrop-blur-[4px] z-[100]"}),_.jsx(_t.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},transition:{duration:0},className:"fixed inset-0 z-[101] flex items-center justify-center p-[10vh] pointer-events-none",children:_.jsxs("div",{className:"w-[80vw] max-w-[1200px] h-[80vh] pointer-events-auto flex flex-col glass rounded-2xl shadow-2xl",children:[_.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border rounded-t-2xl",children:[_.jsxs("div",{className:"flex items-center gap-2.5",children:[_.jsx("span",{className:"font-mono text-[12.5px] text-fg-muted px-1.5 py-0.5 bg-bg-2 border border-border rounded-[4px]",children:t?.toUpperCase()}),R&&_.jsxs("span",{className:"text-[12.5px] text-fg-dim",children:["· ",R]})]}),_.jsx(da,{variant:"icon",icon:"X",onClick:L,title:e("drawer.close")})]}),_.jsx("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx("textarea",{ref:k,value:n.frontmatter.title||"",onChange:W=>J("title",W.target.value),placeholder:e("drawer.taskTitle"),rows:1,className:"w-full bg-transparent border-none outline-none text-fg text-[22px] font-semibold tracking-tight leading-tight resize-none placeholder:text-fg-faint"}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("dependencies.label")}),_.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:(Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on.filter(W=>typeof W=="string"):[]).map((W,B)=>{const V=K.get(W)?.resolved??!1,H=K.get(W)?.exists??!0;return _.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md text-[12px] font-mono border ${H?V?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-red-500/40 bg-red-500/10 text-red-700 dark:text-red-300"}`,title:e(H?V?"dependencies.resolved":"dependencies.unresolved":"dependencies.unknown"),children:[W,_.jsx("button",{type:"button","aria-label":e("dependencies.remove"),onClick:()=>{const U=(Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on:[]).filter((Y,ae)=>ae!==B);J("depends_on",U.length>0?U:void 0)},className:"text-current opacity-60 hover:opacity-100",children:"×"})]},B)})}),_.jsx("input",{type:"text",className:"w-full bg-bg-2 border border-border rounded px-2 py-1.5 text-[13px] text-fg placeholder:text-fg-faint focus:outline-none focus:border-border-strong",placeholder:e("dependencies.addPlaceholder"),onKeyDown:W=>{if(W.key!=="Enter")return;W.preventDefault();const B=(W.currentTarget.value||"").trim();if(!B)return;const V=B.replace(/^#/,"").trim(),H=Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on.filter(U=>typeof U=="string"):[];if(H.includes(V)||V===n.frontmatter.id){W.currentTarget.value="";return}J("depends_on",[...H,V]),W.currentTarget.value=""}})]}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("drawer.description")}),_.jsx(yR,{value:n.body,onChange:W=>b(B=>({...B,body:W})),placeholder:e("drawer.descriptionPlaceholder"),minHeight:"280px"})]}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("drawer.report")}),_.jsx(yR,{value:n.frontmatter.report||"",onChange:W=>J("report",W),placeholder:e("drawer.reportPlaceholder"),minHeight:"180px"})]})]})}),_.jsxs("div",{className:"flex items-center justify-between gap-2 px-5 py-3 border-t border-border rounded-b-2xl",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(da,{variant:"danger",icon:"Trash",label:e("drawer.deleteTask"),shortcut:"⌘⌫",onClick:F}),_.jsx(da,{variant:"secondary",icon:h?"ArchiveRestore":"Archive",label:e(h?"drawer.restore":"drawer.archive"),onClick:z}),m&&_.jsx(da,{variant:"secondary",icon:"Arrow",label:`${e("drawer.sendToAgent")} · ${m.label}`,onClick:M,title:e("drawer.sendToAgentTitle")})]}),_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(da,{variant:"secondary",label:e("drawer.cancel"),shortcut:"Esc",onClick:L}),_.jsx(da,{variant:"primary",label:e("drawer.saveClose"),shortcut:"⌘S",onClick:s})]})]})]})})]})})}function BOe({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function qOe(){const{t:e}=Rn(),t=fe(R=>R.commandOpen),n=fe(R=>R.setCommandOpen),a=fe(R=>R.columns),i=fe(R=>R.openDrawer),r=fe(R=>R.createTask),s=fe(R=>R.reloadBoard),o=fe(R=>R.setViewMode),c=fe(R=>R.setDensity),p=fe(R=>R.clearFilters),d=fe(R=>R.setCheatsheetOpen),m=fe(R=>R.taskContents),f=fe(R=>R.loadTaskContents),[h,b]=$.useState(""),[k,w]=$.useState(0),x=$.useRef(null),S=$.useRef(null);$.useEffect(()=>{if(t&&h.length>0){const M=a.flatMap(K=>K.tasks.map(J=>J.id)).filter(K=>!m.has(K));M.length>0&&f(M)}},[t,h,a,m,f]);const E=$.useMemo(()=>{const R=a.flatMap(J=>J.tasks.map(W=>({id:"task:"+W.id,label:`${W.id.replace(/^t/,"")} — ${W.title}`,boldPrefix:!0,hint:J.name,category:"task",onSelect:()=>{n(!1),i(W.id)}}))),M=[{id:"action:new",label:e("commandPalette.newTask"),hint:e("commandPalette.createNew"),category:"action",onSelect:()=>{n(!1),r()}},{id:"action:reload",label:e("commandPalette.reloadBoard"),hint:e("commandPalette.readFromDisk"),category:"action",onSelect:()=>{n(!1),s()}},{id:"action:clear",label:e("commandPalette.clearFilters"),category:"action",onSelect:()=>{n(!1),p()}},{id:"action:cheatsheet",label:e("cheatsheet.title"),hint:"?",category:"action",onSelect:()=>{n(!1),d(!0)}}],K=[{id:"view:board",label:e("commandPalette.boardView"),category:"view",onSelect:()=>{n(!1),o("board")}},{id:"view:list",label:e("commandPalette.listView"),category:"view",onSelect:()=>{n(!1),o("list")}},{id:"view:compact",label:e("commandPalette.compactDensity"),category:"view",onSelect:()=>{n(!1),c("compact")}},{id:"view:comfortable",label:e("commandPalette.comfortableDensity"),category:"view",onSelect:()=>{n(!1),c("comfortable")}}];return[...M,...K,...R]},[a,n,i,r,s,p,d,o,c]),P=$.useMemo(()=>{if(!h.trim())return new Map;const R=h.toLowerCase(),M=new Map;for(const K of E){if(K.category!=="task")continue;const J=K.id.replace("task:",""),W=m.get(J);if(!W)continue;const B=wz(W,R);B.length>0&&M.set(J,B)}return M},[h,E,m]),L=$.useMemo(()=>{if(!h)return E.slice(0,50);const R=h.toLowerCase();return E.filter(M=>M.label.toLowerCase().includes(R)||(M.hint||"").toLowerCase().includes(R)).slice(0,50)},[h,E]);$.useEffect(()=>{t&&(b(""),w(0),setTimeout(()=>x.current?.focus(),60))},[t]),$.useEffect(()=>{w(0)},[h]),$.useEffect(()=>{const R=S.current;if(!R)return;const M=R.querySelector(`[data-idx="${k}"]`);M&&M.scrollIntoView({block:"nearest"})},[k]);const j=R=>{R.key==="Escape"?n(!1):R.key==="ArrowDown"?(R.preventDefault(),w(M=>Math.min(M+1,L.length-1))):R.key==="ArrowUp"?(R.preventDefault(),w(M=>Math.max(M-1,0))):R.key==="Enter"&&(R.preventDefault(),L[k]?.onSelect())},F=$.useMemo(()=>{const R={action:[],view:[],task:[]};for(const M of L)R[M.category].push(M);return R},[L]),z={action:e("commandPalette.actions"),view:e("commandPalette.view"),task:e("commandPalette.tasks")};return _.jsx(ps,{children:t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:()=>n(!1),className:"fixed inset-0 bg-black/60 backdrop-blur-[3px] z-[200]"}),_.jsxs(_t.div,{initial:{opacity:0,scale:.97,y:-12},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:-8},transition:{type:"spring",stiffness:400,damping:32,mass:.8},className:"fixed inset-0 m-auto h-fit w-[min(640px,92vw)] z-[201] glass rounded-[10px] shadow-[0_24px_80px_rgba(0,0,0,0.6)] overflow-hidden",children:[_.jsxs("div",{className:"flex items-center gap-2 px-4 h-11 border-b border-border",children:[_.jsx(Zn.Search,{size:14,className:"text-fg-muted flex-shrink-0"}),_.jsx("input",{ref:x,type:"text",value:h,onChange:R=>b(R.target.value),onKeyDown:j,placeholder:e("commandPalette.placeholder"),className:"flex-1 bg-transparent border-none outline-none text-fg text-[14.5px] placeholder:text-fg-muted"}),_.jsx("span",{className:"kbd",children:"esc"})]}),_.jsxs("div",{ref:S,className:"max-h-[420px] overflow-y-auto py-1.5",children:[L.length===0&&_.jsx("div",{className:"px-4 py-6 text-center text-[13px] text-fg-muted",children:e("common.noResults")}),["action","view","task"].map(R=>F[R].length>0?_.jsxs("div",{className:"py-1",children:[_.jsx("div",{className:"px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:z[R]}),F[R].map(M=>{const K=L.indexOf(M),J=K===k,W=R==="task"?P.get(M.id.replace("task:","")):void 0;return _.jsxs("div",{children:[_.jsxs("button",{"data-idx":K,onClick:M.onSelect,onMouseEnter:()=>w(K),className:`w-full flex items-center justify-between px-3 py-1.5 text-[13.5px] text-left transition-colors ${J?"bg-bg-3 text-fg":"text-fg-dim"}`,children:[_.jsx("span",{className:`truncate ${M.boldPrefix?"font-bold":""}`,children:M.label}),M.hint&&_.jsx("span",{className:"text-[12px] text-fg-muted ml-2 flex-shrink-0",children:M.hint})]}),J&&W&&W.length>0&&_.jsx("div",{className:"px-3 pb-2",children:_.jsx("div",{className:"flex flex-col gap-1 bg-bg rounded border border-border p-2",children:W.slice(0,2).map((B,V)=>_.jsxs("div",{className:"text-[12px] text-fg-dim",children:[_.jsx("span",{className:"text-[10.5px] font-medium text-fg-muted uppercase tracking-wide mr-1.5",children:e(`sectionLabels.${B.section}`)||B.section}),_.jsx(BOe,{text:B.snippet,keyword:B.keyword})]},V))})})]},M.id)})]},R):null)]}),_.jsxs("div",{className:"flex items-center gap-3 px-4 h-8 border-t border-border text-[12px] text-fg-muted",children:[_.jsxs("span",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"kbd",children:"↑↓"})," ",e("commandPalette.navigate")]}),_.jsxs("span",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"kbd",children:"↵"})," ",e("commandPalette.select")]})]})]})]})})}const UOe=[{titleKey:"global",shortcuts:[{keys:["⌘","K"],descriptionKey:"commandPalette"},{keys:["?"],descriptionKey:"showCheatsheet"},{keys:["⌘","1"],descriptionKey:"boardView"},{keys:["⌘","2"],descriptionKey:"listView"},{keys:["N"],descriptionKey:"newTask"},{keys:["R"],descriptionKey:"reloadBoard"},{keys:["/"],descriptionKey:"focusSearch"},{keys:["Esc"],descriptionKey:"closeOverlay"}]},{titleKey:"drawer",shortcuts:[{keys:["⌘","S"],descriptionKey:"saveClose"},{keys:["⌘","⌫"],descriptionKey:"deleteTask"},{keys:["Esc"],descriptionKey:"cancel"}]},{titleKey:"commandPalette",shortcuts:[{keys:["↑","↓"],descriptionKey:"navigate"},{keys:["↵"],descriptionKey:"select"},{keys:["Esc"],descriptionKey:"close"}]},{titleKey:"tui",shortcuts:[{keys:["H","L"],descriptionKey:"switchColumn"},{keys:["J","K"],descriptionKey:"selectTask"},{keys:["Enter"],descriptionKey:"openTask"},{keys:["M"],descriptionKey:"contextMenu"},{keys:["A"],descriptionKey:"launchAgent"},{keys:["D"],descriptionKey:"toggleDaemon"},{keys:["Q"],descriptionKey:"quit"}]}];function VOe({children:e}){return _.jsx("kbd",{className:"kbd",children:e})}function ZOe({keys:e,label:t}){return _.jsxs("div",{className:"flex items-center justify-between gap-4 py-1.5",children:[_.jsx("span",{className:"text-[13.5px] text-fg-dim",children:t}),_.jsx("span",{className:"flex items-center gap-1 flex-shrink-0",children:e.map((n,a)=>_.jsxs("span",{className:"flex items-center gap-1",children:[_.jsx(VOe,{children:n}),a<e.length-1&&_.jsx("span",{className:"text-fg-faint text-[11px]",children:"+"})]},a))})]})}function GOe(){const{t:e}=Rn(),t=fe(a=>a.cheatsheetOpen),n=fe(a=>a.setCheatsheetOpen);return _.jsx(ps,{children:t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:()=>n(!1),className:"fixed inset-0 bg-black/60 backdrop-blur-[3px] z-[200]","aria-hidden":"true"}),_.jsxs(_t.div,{role:"dialog","aria-modal":"true","aria-label":e("cheatsheet.title"),initial:{opacity:0,scale:.97,y:-8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:-8},transition:{type:"spring",stiffness:400,damping:32,mass:.8},className:"fixed inset-0 m-auto h-fit w-[min(720px,92vw)] max-h-[80vh] z-[201] glass rounded-[10px] shadow-[0_24px_80px_rgba(0,0,0,0.6)] overflow-hidden flex flex-col",children:[_.jsxs("div",{className:"flex items-center justify-between px-5 h-12 border-b border-border flex-shrink-0",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(Zn.Keyboard,{size:15,className:"text-fg-muted"}),_.jsx("h2",{className:"text-[14.5px] font-semibold text-fg",children:e("cheatsheet.title")})]}),_.jsx("button",{type:"button",onClick:()=>n(!1),"aria-label":e("cheatsheet.close"),className:"text-fg-muted hover:text-fg transition-colors",children:_.jsx(Zn.X,{size:16})})]}),_.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-5 px-5 py-5 overflow-y-auto",children:UOe.map(a=>_.jsxs("section",{children:[_.jsx("h3",{className:"text-[11px] font-semibold uppercase tracking-wider text-fg-faint mb-1.5",children:e(`cheatsheet.groups.${a.titleKey}`)}),_.jsx("div",{className:"flex flex-col divide-y divide-border/40",children:a.shortcuts.map((i,r)=>_.jsx(ZOe,{keys:i.keys,label:e(`cheatsheet.shortcuts.${i.descriptionKey}`)},r))})]},a.titleKey))}),_.jsxs("div",{className:"flex items-center justify-between gap-3 px-5 h-9 border-t border-border text-[12px] text-fg-muted flex-shrink-0",children:[_.jsx("span",{children:e("cheatsheet.footerHint")}),_.jsx("span",{className:"kbd",children:"esc"})]})]})]})})}const WOe={name:"kandown",tagline:"AI Markdown Kanban Manager"},KOe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},YOe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>.",serverModeDesc:"Kandown is running in server mode. Click below to open your project — the browser will remember your choice for next time.",openThisProject:"Open this project"},XOe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder...",archives:"Archives",backToBoard:"Back to board",showMetadata:"Show metadata",hideMetadata:"Hide metadata"},QOe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},JOe={addTask:"Add task",columnColor:"Column color",color:"Color",addColumn:"Add",addToSettings:"Add this status as a board column",createColumn:"Add column",createPrompt:"Column name",renameColumn:"Rename column",renamePrompt:"New column name",deleteColumn:"Delete column",deleteConfirm:'Delete "{{name}}" and its {{count}} tasks?'},eFe={delete:"Delete task",confirmDelete:"Click again to delete",blockedBy:"Blocked by: {{ids}}"},tFe={label:"Dependencies",addPlaceholder:"task id (e.g. t42)",add:"Add",remove:"Remove",none:"No dependencies",resolved:"Resolved",unresolved:"Blocked",unknown:"Unknown task",blockedByPanel:"Blocked by",blocksPanel:"Blocks"},nFe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",archive:"Archive",restore:"Restore",saveClose:"Save & Close",cancel:"Cancel",sendToAgent:"Send to Agent",sendToAgentTitle:"Forward the full task to the configured agent hook (env: KANDOWN_AGENT_HOOK_URL)"},aFe={empty:"No archived tasks."},iFe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},rFe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},sFe={title:"Keyboard shortcuts",close:"Close cheatsheet",footerHint:"Press any key to dismiss",groups:{global:"Global",drawer:"Task drawer",commandPalette:"Command palette",tui:"Terminal UI"},shortcuts:{commandPalette:"Open command palette",showCheatsheet:"Toggle this cheatsheet",boardView:"Board view",listView:"List view",newTask:"New task",reloadBoard:"Reload from disk",focusSearch:"Focus search",closeOverlay:"Close overlay / drawer",saveClose:"Save & close",deleteTask:"Delete task",cancel:"Cancel",navigate:"Navigate items",select:"Select item",close:"Close palette",switchColumn:"Switch column",selectTask:"Select task",openTask:"Open task detail",contextMenu:"Open context menu",launchAgent:"Launch AI agent",toggleDaemon:"Toggle web daemon",quit:"Quit"}},oFe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},cFe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",notifications:"Notifications",notificationsDesc:"Browser and in-page signals for file changes while the board is open.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",columns:"Columns",columnsDesc:"Comma-separated board columns stored in kandown.json.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",notificationPermission:"Chrome permission",notificationPermissionDesc:"Allow the browser to show desktop notifications for this open project.",browserNotifications:"Browser notifications",browserNotificationsDesc:"Show a desktop notification when a selected task event happens and permission is granted.",statusChangeNotifications:"Status changes",statusChangeNotificationsDesc:"Notify when a task moves between board columns.",taskEditNotifications:"Task edits",taskEditNotificationsDesc:"Notify when a task file changes on disk after a 2 second debounce.",subtaskNotifications:"Subtask completions",subtaskNotificationsDesc:"Notify when a subtask changes from open to done.",notificationSound:"Play sound",notificationSoundDesc:"Play an in-page sound for enabled notification events while the board tab is open.",notificationSoundChoice:"Sound",notificationSoundChoiceDesc:"Choose the generated audio cue used for in-page notifications.",soundSoft:"Soft",soundChime:"Chime",soundPing:"Ping",soundPop:"Pop",permissionAsk:"Allow",permissionGranted:"Allowed",permissionDenied:"Blocked",permissionUnsupported:"Unsupported",notificationPermissionGranted:"Browser notifications enabled",notificationPermissionDenied:"Browser notifications are blocked in Chrome settings",notificationPermissionUnsupported:"This browser does not support desktop notifications",about:"About",aboutDesc:"Kandown version and auto-update status.",kickerAbout:"Version & updates",checkForUpdates:"Check for updates",checkingForUpdates:"Checking…",upToDate:"Up to date",available:"available",refresh:"Refresh",retry:"Retry",autoUpdateDescription:"Kandown auto-updates when you run npx kandown. To force an update, run: npm install -g kandown",links:"Links",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata",kickerSignals:"Signals"},pFe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},lFe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},dFe={settingsUpdatedExternally:"Settings updated externally — reloaded"},uFe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},mFe={app:WOe,common:KOe,emptyState:YOe,header:XOe,filterBar:QOe,column:JOe,card:eFe,dependencies:tFe,drawer:nFe,archive:aFe,subtask:iFe,commandPalette:rFe,cheatsheet:sFe,listView:oFe,settings:cFe,conflict:pFe,sectionLabels:lFe,toast:dFe,languageNames:uFe},fFe={name:"kandown",tagline:"Gestionnaire Kanban Markdown IA"},gFe={search:"Rechercher",searchPlaceholder:"Rechercher des tâches...",cancel:"Annuler",save:"Enregistrer",delete:"Supprimer",close:"Fermer",clear:"Effacer",clearAll:"Tout effacer",add:"Ajouter",remove:"Retirer",done:"Terminé",loading:"Chargement...",noResults:"Aucun résultat",currentValue:"Valeur actuelle",configKey:"Clé de config",choices:"Choix",openFolder:"Ouvrir un dossier",selectFolder:"Sélectionner un dossier",recent:"Récent",settings:"Paramètres",board:"Tableau",reload:"Recharger",newTask:"Nouvelle tâche"},hFe={unsupportedBrowser:"Navigateur non supporté",unsupportedBrowserDesc:"Ce moteur nécessite l'<code>API File System Access</code>. Utilisez Chrome, Edge, Brave ou Opera. Firefox et Safari ne la supportent pas encore.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bFe={tasks:"tâches",recentProjects:"Projets récents","openFolder...":"Ouvrir un dossier...",archives:"Archives",backToBoard:"Retour au board",showMetadata:"Afficher les métadonnées",hideMetadata:"Masquer les métadonnées"},vFe={searchPlaceholder:"Rechercher des tâches...",clearAll:"Tout effacer",ownerAll:"👤 Tous",ownerHuman:"👤 Humain",ownerAI:"🤖 IA"},yFe={addTask:"Ajouter une tâche",columnColor:"Couleur de la colonne",color:"Couleur"},_Fe={delete:"Supprimer la tâche",confirmDelete:"Cliquez à nouveau pour supprimer"},kFe={close:"Fermer (Esc)",taskTitle:"Titre de la tâche",doneSubtasks:"terminé",priority:"Priorité",noPriority:"Aucune priorité",urgentP1:"Urgent · P1",highP2:"Haute · P2",mediumP3:"Moyenne · P3",lowP4:"Basse · P4",assignee:"Assigné à",assigneePlaceholder:"nom d'utilisateur",tags:"Tags",tagsPlaceholder:"backend, sécurité, api",dueDate:"Date d'échéance",owner:"Propriétaire",unset:"Non défini",human:"👤 Humain",ai:"🤖 IA",tools:"Outils",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Écrivez du contexte, des liens, des décisions...",report:"Rapport",reportPlaceholder:"La sortie IA apparaîtra ici...",subtasks:"Sous-tâches",addSubtask:"Ajouter une sous-tâche",deleteTask:"Supprimer",archive:"Archiver",restore:"Restaurer",saveClose:"Enregistrer et fermer",cancel:"Annuler"},wFe={empty:"Aucune tâche archivée."},xFe={placeholder:"Sous-tâche...",description:"Description",descriptionPlaceholder:"Ajoutez du contexte, des liens ou des notes pour cette étape...",report:"Rapport",reportPlaceholder:"Ce qui a été fait, décisions prises, compromis...",aiFillsThis:"L'IA remplit ceci après completion",collapse:"Réduire",expand:"Développer"},AFe={placeholder:"Tapez une commande ou recherchez...",actions:"Actions",view:"Affichage",tasks:"Tâches",newTask:"Nouvelle tâche",createNew:"Créer une nouvelle tâche",reloadBoard:"Recharger le tableau",readFromDisk:"Relire les fichiers depuis le disque",clearFilters:"Effacer les filtres",boardView:"Vue tableau",listView:"Vue liste",compactDensity:"Densité compacte",comfortableDensity:"Densité confortable",navigate:"naviguer",select:"sélectionner"},CFe={id:"ID",title:"Titre",status:"Statut",tags:"Tags",assignee:"Assigné",progress:"Progression",noMatchingTasks:"Aucune tâche correspondante"},NFe={noProjectOpen:"Aucun projet ouvert",appearance:"Apparence",appearanceDesc:"Thème, skin, arrière-plan, police et langue.",agent:"Agent",agentDesc:"Comportement de suivi pour le travail de tâches assisté par IA.",board:"Tableau",boardDesc:"Comportement de l'identifiant de tâche et paramètres par défaut du tableau.",fields:"Champs",fieldsDesc:"Champs optionnels affichés sur les tâches et les cartes du tableau.",language:"Langue",languageDesc:"Langue de l'interface stockée dans la config du projet.",mode:"Mode",modeDesc:"Suit automatiquement la préférence système clair ou sombre.",auto:"Auto",light:"Clair",dark:"Sombre",skin:"Thème",skinDesc:"Les tokens de couleur sont stockés par projet dans kandown.json.",background:"Arrière-plan",backgroundDesc:"Choisissez une surface plate ou un arrière-plan liquide animé.",font:"Police",fontDesc:"Pile de polices système locales, sans requête réseau.",suggestFollowUp:"Suggérer des tâches de suivi",suggestFollowUpDesc:"Demander aux agents de proposer des tâches suivantes après en avoir terminé une.",maxSuggestions:"Suggestions max",maxSuggestionsDesc:"Limite le nombre de tâches de suivi qu'un agent peut proposer.",defaultPriority:"Priorité par défaut",defaultPriorityDesc:"Priorité initiale pour les nouvelles tâches lorsque le champ Priorité est activé.",defaultOwner:"Propriétaire par défaut",defaultOwnerDesc:"Propriétaire initial pour les nouvelles tâches lorsque le champ Propriétaire est activé.",priority:"Priorité",priorityDesc:"Activer les métadonnées de priorité sur les tâches.",assignee:"Assigné à",assigneeDesc:"Activer les métadonnées d'assignation sur les tâches.",tags:"Tags",tagsDesc:"Activer les métadonnées de tags sur les tâches.",dueDate:"Date d'échéance",dueDateDesc:"Activer les métadonnées de date d'échéance sur les tâches.",ownerType:"Type de propriétaire",ownerTypeDesc:"Activer les métadonnées de propriété humain/IA sur les tâches.",tools:"Outils",toolsDesc:"Activer les indices d'outils en forme libre pour les tâches d'agent IA.",searchPlaceholder:"Rechercher une option",searchResults:"Résultats de recherche",searchResultsLabel:"Résultats de recherche",matchingOptions:"options correspondantes dans les paramètres du projet.",options:"options",noOptionFound:"Aucune option trouvée",tryAnotherSearch:"Essayez un autre terme de recherche.",currentValue:"Valeur actuelle",configKey:"Clé de config",choices:"Choix",hoverForHelp:"Survolez ou tabulez sur une autre option pour mettre à jour ce panneau d'aide.",pages:"Pages",backToBoard:"Retour au tableau",matches:"Correspondances",settingsTitle:"Paramètres",kickerInterface:"Interface",kickerAutomation:"Automatisation",kickerIdentifiers:"Identifiants",kickerMetadata:"Métadonnées"},SFe={detected:"Conflit détecté",detectedDesc:"Cette tâche a été modifiée de l'extérieur pendant que vous l'éditiez.",conflictingChanges:"La tâche <code>{{taskId}}</code> a des changements conflictuels. Choisissez comment résoudre :",yourVersion:"Votre version (locale)",diskVersion:"Version disque (distante)",cancel:"Annuler",reloadFromDisk:"Recharger depuis le disque",keepMyVersion:"Garder ma version",title:"Titre",priority:"Priorité",body:"Corps",subtasks:"Sous-tâches",none:"(aucun)"},$Fe={title:"Titre",subtasks:"Sous-tâche",context:"Contexte",notes:"Notes",whatWasDone:"Ce qui a été fait",tags:"Tags",assignee:"Assigné",priority:"Priorité"},EFe={settingsUpdatedExternally:"Paramètres mis à jour depuis l'extérieur — rechargés"},PFe={en:"Anglais",fr:"Français",zh:"Chinois",es:"Espagnol",pt:"Portugais",hi:"Hindi",de:"Allemand",it:"Italien",nl:"Néerlandais",pl:"Polonais",uk:"Ukrainien",ro:"Roumain",sv:"Suédois",cs:"Tchèque",el:"Grec",hu:"Hongrois",fi:"Finnois",da:"Danois",no:"Norvégien",sk:"Slovaque",bg:"Bulgare",sr:"Serbe",hr:"Croate",lt:"Lituanien",lv:"Letton",et:"Estonien",sl:"Slovène",ar:"Arabe",bn:"Bengali",ru:"Russe",id:"Indonésien",ur:"ourdou",tr:"Turc",ja:"Japonais",vi:"Vietnamien",ko:"Coréen",fa:"Perse",pcm:"Pidgin nigérian"},TFe={app:fFe,common:gFe,emptyState:hFe,header:bFe,filterBar:vFe,column:yFe,card:_Fe,drawer:kFe,archive:wFe,subtask:xFe,commandPalette:AFe,listView:CFe,settings:NFe,conflict:SFe,sectionLabels:$Fe,toast:EFe,languageNames:PFe},LFe={name:"kandown",tagline:"AI Markdown 看板管理器"},MFe={search:"搜索",searchPlaceholder:"搜索任务...",cancel:"取消",save:"保存",delete:"删除",close:"关闭",clear:"清除",clearAll:"清除全部",add:"添加",remove:"移除",done:"已完成",loading:"加载中...",noResults:"无结果",currentValue:"当前值",configKey:"配置键",choices:"选项",openFolder:"打开文件夹",selectFolder:"选择文件夹",recent:"最近",settings:"设置",board:"看板",reload:"重新加载",newTask:"新建任务"},jFe={unsupportedBrowser:"不支持的浏览器",unsupportedBrowserDesc:"此引擎需要 <code>File System Access API</code>。请使用 Chrome、Edge、Brave 或 Opera。Firefox 和 Safari 尚不支持。",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},DFe={tasks:"个任务",recentProjects:"最近项目","openFolder...":"打开文件夹..."},IFe={searchPlaceholder:"搜索任务...",clearAll:"清除全部",ownerAll:"👤 全部",ownerHuman:"👤 人工",ownerAI:"🤖 AI"},RFe={addTask:"添加任务",columnColor:"列颜色",color:"颜色"},OFe={delete:"删除任务",confirmDelete:"再次点击确认删除"},FFe={close:"关闭 (Esc)",taskTitle:"任务标题",doneSubtasks:"已完成",priority:"优先级",noPriority:"无优先级",urgentP1:"紧急 · P1",highP2:"高 · P2",mediumP3:"中 · P3",lowP4:"低 · P4",assignee:"指派给",assigneePlaceholder:"用户名",tags:"标签",tagsPlaceholder:"后端, 安全, api",dueDate:"截止日期",owner:"所有者",unset:"未设置",human:"👤 人工",ai:"🤖 AI",tools:"工具",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"描述",descriptionPlaceholder:"编写上下文、链接、决策...",report:"报告",reportPlaceholder:"AI 输出将显示在此处...",subtasks:"子任务",addSubtask:"添加子任务",deleteTask:"删除",saveClose:"保存并关闭",cancel:"取消"},zFe={placeholder:"子任务...",description:"描述",descriptionPlaceholder:"为此步骤添加上下文、链接或笔记...",report:"报告",reportPlaceholder:"完成的工作、所做的决策、权衡...",aiFillsThis:"AI 完成后填写此处",collapse:"收起",expand:"展开"},HFe={placeholder:"输入命令或搜索...",actions:"操作",view:"视图",tasks:"任务",newTask:"新建任务",createNew:"创建新任务",reloadBoard:"重新加载看板",readFromDisk:"从磁盘重新读取文件",clearFilters:"清除筛选",boardView:"看板视图",listView:"列表视图",compactDensity:"紧凑密度",comfortableDensity:"舒适密度",navigate:"导航",select:"选择"},BFe={id:"ID",title:"标题",status:"状态",tags:"标签",assignee:"指派",progress:"进度",noMatchingTasks:"无匹配任务"},qFe={noProjectOpen:"未打开项目",appearance:"外观",appearanceDesc:"主题、皮肤、背景、字体和语言。",agent:"代理",agentDesc:"AI辅助任务工作的后续行为。",board:"看板",boardDesc:"任务ID行为和看板级默认值。",fields:"字段",fieldsDesc:"显示在任务和看板卡上的可选字段。",language:"语言",languageDesc:"UI语言存储在此项目配置中。",mode:"模式",modeDesc:"自动跟随系统浅色或深色偏好。",auto:"自动",light:"浅色",dark:"深色",skin:"主题",skinDesc:"颜色令牌存储在项目的kandown.json中。",background:"背景",backgroundDesc:"选择平面或动画液体背景。",font:"字体",fontDesc:"本地系统字体堆栈,无网络请求。",suggestFollowUp:"建议后续任务",suggestFollowUpDesc:"要求代理在完成一个任务后提出下一个任务。",maxSuggestions:"最大建议数",maxSuggestionsDesc:"限制代理可能提出的后续任务数量。",defaultPriority:"默认优先级",defaultPriorityDesc:"启用优先级字段时新任务的初始优先级。",defaultOwner:"默认所有者",defaultOwnerDesc:"启用所有者字段时新任务的初始所有者。",priority:"优先级",priorityDesc:"在任务上启用优先级元数据。",assignee:"指派人",assigneeDesc:"在任务上启用指派人元数据。",tags:"标签",tagsDesc:"在任务上启用标签元数据。",dueDate:"截止日期",dueDateDesc:"在任务上启用截止日期元数据。",ownerType:"所有者类型",ownerTypeDesc:"启用人类/AI所有权元数据。",tools:"工具",toolsDesc:"为AI代理任务启用自由形式的工具提示。",searchPlaceholder:"搜索任何选项",searchResults:"搜索结果",searchResultsLabel:"搜索结果",matchingOptions:"个匹配选项,分布在项目设置中。",options:"个选项",noOptionFound:"未找到选项",tryAnotherSearch:"尝试其他搜索词。",currentValue:"当前值",configKey:"配置键",choices:"选项",hoverForHelp:"悬停或切换到其他选项以更新此帮助面板。",pages:"页面",backToBoard:"返回看板",matches:"匹配",settingsTitle:"设置",kickerInterface:"界面",kickerAutomation:"自动化",kickerIdentifiers:"标识符",kickerMetadata:"元数据"},UFe={detected:"检测到冲突",detectedDesc:"此任务在您编辑时被外部修改。",conflictingChanges:"任务 <code>{{taskId}}</code> 存在冲突的更改。选择解决方式:",yourVersion:"您的版本(本地)",diskVersion:"磁盘版本(远程)",cancel:"取消",reloadFromDisk:"从磁盘重新加载",keepMyVersion:"保留我的版本",title:"标题",priority:"优先级",body:"正文",subtasks:"子任务",none:"(无)"},VFe={title:"标题",subtasks:"子任务",context:"上下文",notes:"笔记",whatWasDone:"已完成工作",tags:"标签",assignee:"指派人",priority:"优先级"},ZFe={settingsUpdatedExternally:"设置已从外部更新 — 已重新加载"},GFe={en:"英语",fr:"法语",zh:"中文",es:"西班牙语",pt:"葡萄牙语",hi:"印地语",de:"德语",it:"意大利语",nl:"荷兰语",pl:"波兰语",uk:"乌克兰语",ro:"罗马尼亚语",sv:"瑞典语",cs:"捷克语",el:"希腊语",hu:"匈牙利语",fi:"芬兰语",da:"丹麦语",no:"挪威语",sk:"斯洛伐克语",bg:"保加利亚语",sr:"塞尔维亚语",hr:"克罗地亚语",lt:"立陶宛语",lv:"拉脱维亚语",et:"爱沙尼亚语",sl:"斯洛文尼亚语",ar:"阿拉伯语",bn:"孟加拉语",ru:"俄语",id:"印尼语",ur:"乌尔都语",tr:"土耳其语",ja:"日语",vi:"越南语",ko:"韩语",fa:"波斯语",pcm:"尼日利亚皮钦语"},WFe={app:LFe,common:MFe,emptyState:jFe,header:DFe,filterBar:IFe,column:RFe,card:OFe,drawer:FFe,subtask:zFe,commandPalette:HFe,listView:BFe,settings:qFe,conflict:UFe,sectionLabels:VFe,toast:ZFe,languageNames:GFe},KFe={name:"kandown",tagline:"Gestor de Kanban en Markdown con IA"},YFe={search:"Buscar",searchPlaceholder:"Buscar tareas...",cancel:"Cancelar",save:"Guardar",delete:"Eliminar",close:"Cerrar",clear:"Limpiar",clearAll:"Limpiar todo",add:"Añadir",remove:"Quitar",done:"Hecho",loading:"Cargando...",noResults:"Sin resultados",currentValue:"Valor actual",configKey:"Clave de config",choices:"Opciones",openFolder:"Abrir carpeta",selectFolder:"Seleccionar carpeta",recent:"Reciente",settings:"Ajustes",board:"Tablero",reload:"Recargar",newTask:"Nueva tarea"},XFe={unsupportedBrowser:"Navegador no soportado",unsupportedBrowserDesc:"Este motor requiere la <code>File System Access API</code>. Usa Chrome, Edge, Brave u Opera. Firefox y Safari aún no la soportan.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},QFe={tasks:"tareas",recentProjects:"Proyectos recientes","openFolder...":"Abrir carpeta..."},JFe={searchPlaceholder:"Buscar tareas...",clearAll:"Limpiar todo",ownerAll:"👤 Todos",ownerHuman:"👤 Humano",ownerAI:"🤖 IA"},eze={addTask:"Añadir tarea",columnColor:"Color de columna",color:"Color"},tze={delete:"Eliminar tarea",confirmDelete:"Haz clic de nuevo para eliminar"},nze={close:"Cerrar (Esc)",taskTitle:"Título de la tarea",doneSubtasks:"hecho",priority:"Prioridad",noPriority:"Sin prioridad",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Media · P3",lowP4:"Baja · P4",assignee:"Asignado a",assigneePlaceholder:"nombre de usuario",tags:"Etiquetas",tagsPlaceholder:"backend, seguridad, api",dueDate:"Fecha límite",owner:"Propietario",unset:"No establecido",human:"👤 Humano",ai:"🤖 IA",tools:"Herramientas",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descripción",descriptionPlaceholder:"Escribe contexto, enlaces, decisiones...",report:"Informe",reportPlaceholder:"La salida de IA aparecerá aquí...",subtasks:"Subtareas",addSubtask:"Añadir subtarea",deleteTask:"Eliminar",saveClose:"Guardar y cerrar",cancel:"Cancelar"},aze={placeholder:"Subtarea...",description:"Descripción",descriptionPlaceholder:"Añade contexto, enlaces o notas para este paso...",report:"Informe",reportPlaceholder:"Qué se hizo, decisiones tomadas, compromisos...",aiFillsThis:"La IA lo llena después de completar",collapse:"Contraer",expand:"Expandir"},ize={placeholder:"Escribe un comando o busca...",actions:"Acciones",view:"Vista",tasks:"Tareas",newTask:"Nueva tarea",createNew:"Crear una nueva tarea",reloadBoard:"Recargar tablero",readFromDisk:"Volver a leer archivos del disco",clearFilters:"Limpiar filtros",boardView:"Vista de tablero",listView:"Vista de lista",compactDensity:"Densidad compacta",comfortableDensity:"Densidad cómoda",navigate:"navegar",select:"seleccionar"},rze={id:"ID",title:"Título",status:"Estado",tags:"Etiquetas",assignee:"Asignado",progress:"Progreso",noMatchingTasks:"No hay tareas coincidentes"},sze={noProjectOpen:"Ningún proyecto abierto",appearance:"Apariencia",appearanceDesc:"Tema, skin, fondo, fuente e idioma.",agent:"Agente",agentDesc:"Comportamiento de seguimiento para trabajo de tareas asistido por IA.",board:"Tablero",boardDesc:"Comportamiento del ID de tarea y valores predeterminados del tablero.",fields:"Campos",fieldsDesc:"Campos opcionales mostrados en tareas y tarjetas del tablero.",language:"Idioma",languageDesc:"Idioma de la UI almacenado en la config del proyecto.",mode:"Modo",modeDesc:"Sigue automáticamente la preferencia del sistema claro u oscuro.",auto:"Auto",light:"Claro",dark:"Oscuro",skin:"Skin",skinDesc:"Los tokens de color se almacenan por proyecto en kandown.json.",background:"Fondo",backgroundDesc:"Elige una superficie plana o un fondo líquido animado.",font:"Fuente",fontDesc:"Pila de fuentes del sistema local, sin solicitud de red.",suggestFollowUp:"Sugerir tareas de seguimiento",suggestFollowUpDesc:"Pide a los agentes que propongan siguientes tareas después de terminar una.",maxSuggestions:"Máx. sugerencias",maxSuggestionsDesc:"Limita el número de tareas de seguimiento que un agente puede proponer.",defaultPriority:"Prioridad predeterminada",defaultPriorityDesc:"Prioridad inicial para nuevas tareas cuando el campo Prioridad está habilitado.",defaultOwner:"Propietario predeterminado",defaultOwnerDesc:"Propietario inicial para nuevas tareas cuando el campo Propietario está habilitado.",priority:"Prioridad",priorityDesc:"Habilitar metadatos de prioridad en tareas.",assignee:"Asignado a",assigneeDesc:"Habilitar metadatos de asignado en tareas.",tags:"Etiquetas",tagsDesc:"Habilitar metadatos de etiquetas en tareas.",dueDate:"Fecha límite",dueDateDesc:"Habilitar metadatos de fecha límite en tareas.",ownerType:"Tipo de propietario",ownerTypeDesc:"Habilitar metadatos de propiedad humano/IA en tareas.",tools:"Herramientas",toolsDesc:"Habilitar sugerencias de herramientas de forma libre para tareas de agente IA.",searchPlaceholder:"Buscar cualquier opción",searchResults:"Resultados de búsqueda",searchResultsLabel:"Resultados de búsqueda",matchingOptions:"opciones coincidentes en la configuración del proyecto.",options:"opciones",noOptionFound:"No se encontró ninguna opción",tryAnotherSearch:"Prueba con otro término de búsqueda.",currentValue:"Valor actual",configKey:"Clave de config",choices:"Opciones",hoverForHelp:"Pasa el cursor o tabula otra opción para actualizar este panel de ayuda.",pages:"Páginas",backToBoard:"Volver al tablero",matches:"Coincidencias",settingsTitle:"Ajustes",kickerInterface:"Interfaz",kickerAutomation:"Automatización",kickerIdentifiers:"Identificadores",kickerMetadata:"Metadatos"},oze={detected:"Conflicto detectado",detectedDesc:"Esta tarea fue modificada externamente mientras la editabas.",conflictingChanges:"La tarea <code>{{taskId}}</code> tiene cambios conflictivos. Elige cómo resolver:",yourVersion:"Tu versión (local)",diskVersion:"Versión del disco (remota)",cancel:"Cancelar",reloadFromDisk:"Recargar desde el disco",keepMyVersion:"Mantener mi versión",title:"Título",priority:"Prioridad",body:"Cuerpo",subtasks:"Subtareas",none:"(ninguno)"},cze={title:"Título",subtasks:"Subtarea",context:"Contexto",notes:"Notas",whatWasDone:"Qué se hizo",tags:"Etiquetas",assignee:"Asignado",priority:"Prioridad"},pze={settingsUpdatedExternally:"Ajustes actualizados externamente — recargados"},lze={en:"Inglés",fr:"Francés",zh:"Chino",es:"Español",pt:"Portugués",hi:"Hindi",de:"Alemán",it:"Italiano",nl:"Holandés",pl:"Polaco",uk:"Ucraniano",ro:"Rumano",sv:"Sueco",cs:"Checo",el:"Griego",hu:"Húngaro",fi:"Finés",da:"Danés",no:"Noruego",sk:"Eslovaco",bg:"Búlgaro",sr:"Serbio",hr:"Croata",lt:"Lituano",lv:"Letón",et:"Estonio",sl:"Esloveno",ar:"Árabe",bn:"Bengalí",ru:"Ruso",id:"Indonesio",ur:"Urdu",tr:"Turco",ja:"Japonés",vi:"Vietnamita",ko:"Coreano",fa:"Persa",pcm:"Pidgin nigeriano"},dze={app:KFe,common:YFe,emptyState:XFe,header:QFe,filterBar:JFe,column:eze,card:tze,drawer:nze,subtask:aze,commandPalette:ize,listView:rze,settings:sze,conflict:oze,sectionLabels:cze,toast:pze,languageNames:lze},uze={name:"kandown",tagline:"Gerenciador Kanban Markdown com IA"},mze={search:"Buscar",searchPlaceholder:"Buscar tarefas...",cancel:"Cancelar",save:"Salvar",delete:"Excluir",close:"Fechar",clear:"Limpar",clearAll:"Limpar tudo",add:"Adicionar",remove:"Remover",done:"Feito",loading:"Carregando...",noResults:"Sem resultados",currentValue:"Valor atual",configKey:"Chave de config",choices:"Opções",openFolder:"Abrir pasta",selectFolder:"Selecionar pasta",recent:"Recente",settings:"Configurações",board:"Quadro",reload:"Recarregar",newTask:"Nova tarefa"},fze={unsupportedBrowser:"Navegador não suportado",unsupportedBrowserDesc:"Este motor requer a <code>File System Access API</code>. Use Chrome, Edge, Brave ou Opera. Firefox e Safari ainda não suportam.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},gze={tasks:"tarefas",recentProjects:"Projetos recentes","openFolder...":"Abrir pasta..."},hze={searchPlaceholder:"Buscar tarefas...",clearAll:"Limpar tudo",ownerAll:"👤 Todos",ownerHuman:"👤 Humano",ownerAI:"🤖 IA"},bze={addTask:"Adicionar tarefa",columnColor:"Cor da coluna",color:"Cor"},vze={delete:"Excluir tarefa",confirmDelete:"Clique novamente para excluir"},yze={close:"Fechar (Esc)",taskTitle:"Título da tarefa",doneSubtasks:"feito",priority:"Prioridade",noPriority:"Sem prioridade",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Média · P3",lowP4:"Baixa · P4",assignee:"Atribuído a",assigneePlaceholder:"nome de usuário",tags:"Tags",tagsPlaceholder:"backend, segurança, api",dueDate:"Data de vencimento",owner:"Proprietário",unset:"Não definido",human:"👤 Humano",ai:"🤖 IA",tools:"Ferramentas",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descrição",descriptionPlaceholder:"Escreva contexto, links, decisões...",report:"Relatório",reportPlaceholder:"A saída da IA aparecerá aqui...",subtasks:"Subtarefas",addSubtask:"Adicionar subtarefa",deleteTask:"Excluir",saveClose:"Salvar e fechar",cancel:"Cancelar"},_ze={placeholder:"Subtarefa...",description:"Descrição",descriptionPlaceholder:"Adicione contexto, links ou notas para esta etapa...",report:"Relatório",reportPlaceholder:"O que foi feito, decisões tomadas, concessões...",aiFillsThis:"A IA preenche isso após completar",collapse:"Recolher",expand:"Expandir"},kze={placeholder:"Digite um comando ou pesquise...",actions:"Ações",view:"Visualização",tasks:"Tarefas",newTask:"Nova tarefa",createNew:"Criar uma nova tarefa",reloadBoard:"Recarregar quadro",readFromDisk:"Reler arquivos do disco",clearFilters:"Limpar filtros",boardView:"Visualização em quadro",listView:"Visualização em lista",compactDensity:"Densidade compacta",comfortableDensity:"Densidade confortável",navigate:"navegar",select:"selecionar"},wze={id:"ID",title:"Título",status:"Status",tags:"Tags",assignee:"Atribuído",progress:"Progresso",noMatchingTasks:"Nenhuma tarefa correspondente"},xze={noProjectOpen:"Nenhum projeto aberto",appearance:"Aparência",appearanceDesc:"Tema, skin, fundo, fonte e idioma.",agent:"Agente",agentDesc:"Comportamento de acompanhamento para trabalho de tarefas assistido por IA.",board:"Quadro",boardDesc:"Comportamento do ID da tarefa e padrões do quadro.",fields:"Campos",fieldsDesc:"Campos opcionais mostrados em tarefas e cartões do quadro.",language:"Idioma",languageDesc:"Idioma da UI armazenado na config do projeto.",mode:"Modo",modeDesc:"Segue automaticamente a preferência do sistema claro ou escuro.",auto:"Auto",light:"Claro",dark:"Escuro",skin:"Skin",skinDesc:"Os tokens de cor são armazenados por projeto em kandown.json.",background:"Fundo",backgroundDesc:"Escolha uma superfície plana ou um fundo líquido animado.",font:"Fonte",fontDesc:"Pilha de fontes do sistema local, sem solicitação de rede.",suggestFollowUp:"Sugerir tarefas de acompanhamento",suggestFollowUpDesc:"Pedir aos agentes que proponham próximas tarefas após terminar uma.",maxSuggestions:"Máx. sugestões",maxSuggestionsDesc:"Limita o número de tarefas de acompanhamento que um agente pode propor.",defaultPriority:"Prioridade padrão",defaultPriorityDesc:"Prioridade inicial para novas tarefas quando o campo Prioridade está habilitado.",defaultOwner:"Proprietário padrão",defaultOwnerDesc:"Proprietário inicial para novas tarefas quando o campo Proprietário está habilitado.",priority:"Prioridade",priorityDesc:"Habilitar metadados de prioridade nas tarefas.",assignee:"Atribuído a",assigneeDesc:"Habilitar metadados de atribuído nas tarefas.",tags:"Tags",tagsDesc:"Habilitar metadados de tags nas tarefas.",dueDate:"Data de vencimento",dueDateDesc:"Habilitar metadados de data de vencimento nas tarefas.",ownerType:"Tipo de proprietário",ownerTypeDesc:"Habilitar metadados de propriedade humano/IA nas tarefas.",tools:"Ferramentas",toolsDesc:"Habilitar dicas de ferramentas em formato livre para tarefas de agente IA.",searchPlaceholder:"Pesquisar qualquer opção",searchResults:"Resultados da pesquisa",searchResultsLabel:"Resultados da pesquisa",matchingOptions:"opções correspondentes nas configurações do projeto.",options:"opções",noOptionFound:"Nenhuma opção encontrada",tryAnotherSearch:"Tente outro termo de pesquisa.",currentValue:"Valor atual",configKey:"Chave de config",choices:"Opções",hoverForHelp:"Passe o mouse ou tabule outra opção para atualizar este painel de ajuda.",pages:"Páginas",backToBoard:"Voltar ao quadro",matches:"Correspondências",settingsTitle:"Configurações",kickerInterface:"Interface",kickerAutomation:"Automatização",kickerIdentifiers:"Identificadores",kickerMetadata:"Metadados"},Aze={detected:"Conflito detectado",detectedDesc:"Esta tarefa foi modificada externamente enquanto você a editava.",conflictingChanges:"A tarefa <code>{{taskId}}</code> tem alterações conflitantes. Escolha como resolver:",yourVersion:"Sua versão (local)",diskVersion:"Versão do disco (remota)",cancel:"Cancelar",reloadFromDisk:"Recarregar do disco",keepMyVersion:"Manter minha versão",title:"Título",priority:"Prioridade",body:"Corpo",subtasks:"Subtarefas",none:"(nenhum)"},Cze={title:"Título",subtasks:"Subtarefa",context:"Contexto",notes:"Notas",whatWasDone:"O que foi feito",tags:"Tags",assignee:"Atribuído",priority:"Prioridade"},Nze={settingsUpdatedExternally:"Configurações atualizadas externamente — recarregadas"},Sze={en:"Inglês",fr:"Francês",zh:"Chinês",es:"Espanhol",pt:"Português",hi:"Hindi",de:"Alemão",it:"Italiano",ja:"Japonês",ko:"Coreano",ru:"Russo",ar:"Árabe",nl:"Holandês",pl:"Polonês",tr:"Turco",vi:"Vietnamita",th:"Tailandês",id:"Indonésio",cs:"Tcheco",sv:"Sueco",da:"Dinamarquês",fi:"Finlandês",no:"Norueguês",hu:"Húngaro",el:"Grego",he:"Hebraico",uk:"Ucraniano"},$ze={app:uze,common:mze,emptyState:fze,header:gze,filterBar:hze,column:bze,card:vze,drawer:yze,subtask:_ze,commandPalette:kze,listView:wze,settings:xze,conflict:Aze,sectionLabels:Cze,toast:Nze,languageNames:Sze},Eze={name:"kandown",tagline:"AI मार्कडाउन कानबन प्रबंधक"},Pze={search:"खोजें",searchPlaceholder:"कार्य खोजें...",cancel:"रद्द करें",save:"सहेजें",delete:"हटाएं",close:"बंद करें",clear:"साफ़ करें",clearAll:"सब साफ़ करें",add:"जोड़ें",remove:"हटाएं",done:"हो गया",loading:"लोड हो रहा है...",noResults:"कोई परिणाम नहीं",currentValue:"वर्तमान मान",configKey:"कॉन्फ़िग कुंजी",choices:"विकल्प",openFolder:"फ़ोल्डर खोलें",selectFolder:"फ़ोल्डर चुनें",recent:"हाल का",settings:"सेटिंग्स",board:"बोर्ड",reload:"पुनः लोड करें",newTask:"नया कार्य"},Tze={unsupportedBrowser:"असमर्थित ब्राउज़र",unsupportedBrowserDesc:"इस इंजन को <code>File System Access API</code> की आवश्यकता है। Chrome, Edge, Brave या Opera का उपयोग करें। Firefox और Safari अभी तक इसका समर्थन नहीं करते।",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},Lze={tasks:"कार्य",recentProjects:"हाल की परियोजनाएं","openFolder...":"फ़ोल्डर खोलें..."},Mze={searchPlaceholder:"कार्य खोजें...",clearAll:"सब साफ़ करें",ownerAll:"👤 सभी",ownerHuman:"👤 मानव",ownerAI:"🤖 AI"},jze={addTask:"कार्य जोड़ें",columnColor:"कॉलम रंग",color:"रंग"},Dze={delete:"कार्य हटाएं",confirmDelete:"हटाने के लिए फिर से क्लिक करें"},Ize={close:"बंद करें (Esc)",taskTitle:"कार्य शीर्षक",doneSubtasks:"हो गया",priority:"प्राथमिकता",noPriority:"कोई प्राथमिकता नहीं",urgentP1:"अत्यावश्यक · P1",highP2:"उच्च · P2",mediumP3:"मध्यम · P3",lowP4:"निम्न · P4",assignee:"को सौंपा गया",assigneePlaceholder:"उपयोगकर्ता नाम",tags:"टैग",tagsPlaceholder:"बैकएंड, सुरक्षा, api",dueDate:"देय तिथि",owner:"मालिक",unset:"अनसेट",human:"👤 मानव",ai:"🤖 AI",tools:"उपकरण",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"विवरण",descriptionPlaceholder:"संदर्भ, लिंक, निर्णय लिखें...",report:"रिपोर्ट",reportPlaceholder:"AI आउटपुट यहां दिखाई देगा...",subtasks:"उप-कार्य",addSubtask:"उप-कार्य जोड़ें",deleteTask:"हटाएं",saveClose:"सहेजें और बंद करें",cancel:"रद्द करें"},Rze={placeholder:"उप-कार्य...",description:"विवरण",descriptionPlaceholder:"इस चरण के लिए संदर्भ, लिंक या नोट्स जोड़ें...",report:"रिपोर्ट",reportPlaceholder:"क्या किया गया, निर्णय लिए गए, समझौते...",aiFillsThis:"AI पूरा करने के बाद यह भरता है",collapse:"संक्षिप्त करें",expand:"विस्तार करें"},Oze={placeholder:"कमांड टाइप करें या खोजें...",actions:"क्रियाएं",view:"दृश्य",tasks:"कार्य",newTask:"नया कार्य",createNew:"एक नया कार्य बनाएं",reloadBoard:"बोर्ड पुनः लोड करें",readFromDisk:"डिस्क से फ़ाइलें पुनः पढ़ें",clearFilters:"फ़िल्टर साफ़ करें",boardView:"बोर्ड दृश्य",listView:"सूची दृश्य",compactDensity:"संक्षिप्त घनत्व",comfortableDensity:"आरामदायक घनत्व",navigate:"नेविगेट करें",select:"चुनें"},Fze={id:"ID",title:"शीर्षक",status:"स्थिति",tags:"टैग",assignee:"को सौंपा",progress:"प्रगति",noMatchingTasks:"कोई मिलान कार्य नहीं"},zze={noProjectOpen:"कोई परियोजना खुली नहीं",appearance:"रूप",appearanceDesc:"थीम, स्किन, पृष्ठभूमि, फ़ॉन्ट और भाषा।",agent:"एजेंट",agentDesc:"AI-सहायता कार्य कार्य के लिए अनुवर्ती व्यवहार।",board:"बोर्ड",boardDesc:"कार्य ID व्यवहार और बोर्ड-स्तरीय डिफ़ॉल्ट।",fields:"फ़ील्ड",fieldsDesc:"कार्यों और बोर्ड कार्ड पर दिखाए गए वैकल्पिक फ़ील्ड।",language:"भाषा",languageDesc:"UI भाषा इस परियोजना config में संग्रहीत है।",mode:"मोड",modeDesc:"सिस्टम के हल्के या गहरे प्राथमिकता का स्वतः अनुसरण करें।",auto:"स्वतः",light:"हल्का",dark:"गहरा",skin:"स्किन",skinDesc:"रंग टोकन प्रति परियोजना kandown.json में संग्रहीत हैं।",background:"पृष्ठभूमि",backgroundDesc:"एक सपाट सतह या एनिमेटेड तरल पृष्ठभूमि चुनें।",font:"फ़ॉन्ट",fontDesc:"स्थानीय सिस्टम फ़ॉन्ट स्टैक, बिना नेटवर्क अनुरोध के।",suggestFollowUp:"अनुवर्ती कार्य सुझाएं",suggestFollowUpDesc:"एक कार्य समाप्त करने के बाद एजेंटों से अगले कार्य सुझाने के लिए कहें।",maxSuggestions:"अधिकतम सुझाव",maxSuggestionsDesc:"एक एजेंट द्वारा प्रस्तावित अनुवर्ती कार्यों की संख्या को सीमित करें।",defaultPriority:"डिफ़ॉल्ट प्राथमिकता",defaultPriorityDesc:"प्राथमिकता फ़ील्ड सक्षम होने पर नए कार्यों के लिए प्रारंभिक प्राथमिकता।",defaultOwner:"डिफ़ॉल्ट मालिक",defaultOwnerDesc:"मालिक फ़ील्ड सक्षम होने पर नए कार्यों के लिए प्रारंभिक मालिक।",priority:"प्राथमिकता",priorityDesc:"कार्यों पर प्राथमिकता मेटाडेटा सक्षम करें।",assignee:"को सौंपा गया",assigneeDesc:"कार्यों पर सौंपे गए मेटाडेटा सक्षम करें।",tags:"टैग",tagsDesc:"कार्यों पर टैग मेटाडेटा सक्षम करें।",dueDate:"देय तिथि",dueDateDesc:"कार्यों पर देय तिथि मेटाडेटा सक्षम करें।",ownerType:"मालिक प्रकार",ownerTypeDesc:"कार्यों पर मानव/AI स्वामित्व मेटाडेटा सक्षम करें।",tools:"उपकरण",toolsDesc:"AI-एजेंट कार्यों के लिए मुक्त-रूप उपकरण संकेत सक्षम करें।",searchPlaceholder:"कोई भी विकल्प खोजें",searchResults:"खोज परिणाम",searchResultsLabel:"खोज परिणाम",matchingOptions:"परियोजना सेटिंग्स में मिलान विकल्प।",options:"विकल्प",noOptionFound:"कोई विकल्प नहीं मिला",tryAnotherSearch:"कोई अन्य खोज शब्द आज़माएं।",currentValue:"वर्तमान मान",configKey:"कॉन्फ़िग कुंजी",choices:"विकल्प",hoverForHelp:"इस सहायता पैनल को अपडेट करने के लिए होवर करें या दूसरे विकल्प पर टैब करें।",pages:"पृष्ठ",backToBoard:"बोर्ड पर वापस जाएं",matches:"मिलान",settingsTitle:"सेटिंग्स",kickerInterface:"इंटरफ़ेस",kickerAutomation:"स्वचालन",kickerIdentifiers:"पहचानकर्ता",kickerMetadata:"मेटाडेटा"},Hze={detected:"विरोधाभास का पता चला",detectedDesc:"यह कार्य आपके संपादन के दौरान बाहरी रूप से संशोधित किया गया था।",conflictingChanges:"कार्य <code>{{taskId}}</code> में विरोधाभासी परिवर्तन हैं। चुनें कि कैसे हल करें:",yourVersion:"आपका संस्करण (स्थानीय)",diskVersion:"डिस्क संस्करण (दूरस्थ)",cancel:"रद्द करें",reloadFromDisk:"डिस्क से पुनः लोड करें",keepMyVersion:"मेरा संस्करण रखें",title:"शीर्षक",priority:"प्राथमिकता",body:"शरीर",subtasks:"उप-कार्य",none:"(कोई नहीं)"},Bze={title:"शीर्षक",subtasks:"उप-कार्य",context:"संदर्भ",notes:"नोट्स",whatWasDone:"क्या किया गया",tags:"टैग",assignee:"को सौंपा",priority:"प्राथमिकता"},qze={settingsUpdatedExternally:"सेटिंग्स बाहरी रूप से अपडेट की गईं — पुनः लोड की गईं"},Uze={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"हिन्दी",de:"German",it:"Italian",ja:"Japanese",ko:"Korean",ru:"Russian",ar:"Arabic",nl:"Dutch",pl:"Polish",tr:"Turkish",vi:"Vietnamese",th:"Thai",id:"Indonesian",cs:"Czech",sv:"Swedish",da:"Danish",fi:"Finnish",no:"Norwegian",hu:"Hungarian",el:"Greek",he:"Hebrew",uk:"Ukrainian"},Vze={app:Eze,common:Pze,emptyState:Tze,header:Lze,filterBar:Mze,column:jze,card:Dze,drawer:Ize,subtask:Rze,commandPalette:Oze,listView:Fze,settings:zze,conflict:Hze,sectionLabels:Bze,toast:qze,languageNames:Uze},Zze={name:"kandown",tagline:"KI-gestützter Markdown-Kanban-Manager"},Gze={search:"Suchen",searchPlaceholder:"Aufgaben suchen...",cancel:"Abbrechen",save:"Speichern",delete:"Löschen",close:"Schließen",clear:"Leeren",clearAll:"Alles leeren",add:"Hinzufügen",remove:"Entfernen",done:"Erledigt",loading:"Laden...",noResults:"Keine Ergebnisse",currentValue:"Aktueller Wert",configKey:"Konfigschlüssel",choices:"Optionen",openFolder:"Ordner öffnen",selectFolder:"Ordner auswählen",recent:"Zuletzt",settings:"Einstellungen",board:"Board",reload:"Neu laden",newTask:"Neue Aufgabe"},Wze={unsupportedBrowser:"Nicht unterstützter Browser",unsupportedBrowserDesc:"Diese Engine benötigt die <code>File System Access API</code>. Verwenden Sie Chrome, Edge, Brave oder Opera. Firefox und Safari unterstützen diese noch nicht.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},Kze={tasks:"Aufgaben",recentProjects:"Letzte Projekte","openFolder...":"Ordner öffnen..."},Yze={searchPlaceholder:"Aufgaben suchen...",clearAll:"Alles leeren",ownerAll:"👤 Alle",ownerHuman:"👤 Mensch",ownerAI:"🤖 KI"},Xze={addTask:"Aufgabe hinzufügen",columnColor:"Spaltenfarbe",color:"Farbe"},Qze={delete:"Aufgabe löschen",confirmDelete:"Erneut klicken zum Löschen"},Jze={close:"Schließen (Esc)",taskTitle:"Aufgabentitel",doneSubtasks:"erledigt",priority:"Priorität",noPriority:"Keine Priorität",urgentP1:"Dringend · P1",highP2:"Hoch · P2",mediumP3:"Mittel · P3",lowP4:"Niedrig · P4",assignee:"Zugewiesen an",assigneePlaceholder:"Benutzername",tags:"Tags",tagsPlaceholder:"backend, sicherheit, api",dueDate:"Fälligkeitsdatum",owner:"Eigentümer",unset:"Nicht gesetzt",human:"👤 Mensch",ai:"🤖 KI",tools:"Werkzeuge",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beschreibung",descriptionPlaceholder:"Kontext, Links, Entscheidungen schreiben...",report:"Bericht",reportPlaceholder:"KI-Ausgabe erscheint hier...",subtasks:"Unteraufgaben",addSubtask:"Unteraufgabe hinzufügen",deleteTask:"Löschen",saveClose:"Speichern & Schließen",cancel:"Abbrechen"},eHe={placeholder:"Unteraufgabe...",description:"Beschreibung",descriptionPlaceholder:"Kontext, Links oder Notizen für diesen Schritt hinzufügen...",report:"Bericht",reportPlaceholder:"Was wurde getan, getroffene Entscheidungen, Kompromisse...",aiFillsThis:"KI füllt dies nach Abschluss aus",collapse:"Einklappen",expand:"Ausklappen"},tHe={placeholder:"Befehl eingeben oder suchen...",actions:"Aktionen",view:"Ansicht",tasks:"Aufgaben",newTask:"Neue Aufgabe",createNew:"Eine neue Aufgabe erstellen",reloadBoard:"Board neu laden",readFromDisk:"Dateien vom Disk erneut lesen",clearFilters:"Filter leeren",boardView:"Board-Ansicht",listView:"Listenansicht",compactDensity:"Kompakte Dichte",comfortableDensity:"Komfortable Dichte",navigate:"navigieren",select:"auswählen"},nHe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Zugewiesen",progress:"Fortschritt",noMatchingTasks:"Keine passenden Aufgaben"},aHe={noProjectOpen:"Kein Projekt geöffnet",appearance:"Aussehen",appearanceDesc:"Thema, Skin, Hintergrund, Schriftart und Sprache.",agent:"Agent",agentDesc:"Nachfolgeverhalten für KI-unterstützte Aufgabenarbeit.",board:"Board",boardDesc:"Aufgaben-ID-Verhalten und Board-Standardwerte.",fields:"Felder",fieldsDesc:"Optionale Felder, die auf Aufgaben und Board-Karten angezeigt werden.",language:"Sprache",languageDesc:"UI-Sprache in der Projektkonfiguration gespeichert.",mode:"Modus",modeDesc:"Folgt automatisch der hellen oder dunklen Systempräferenz.",auto:"Auto",light:"Hell",dark:"Dunkel",skin:"Skin",skinDesc:"Farbtokens werden pro Projekt in kandown.json gespeichert.",background:"Hintergrund",backgroundDesc:"Wählen Sie eine flache Oberfläche oder einen animierten Flüssigkeitshintergrund.",font:"Schriftart",fontDesc:"Lokaler System-Schriftart-Stack, ohne Netzwerkanfrage.",suggestFollowUp:"Folgeaufgaben vorschlagen",suggestFollowUpDesc:"Agenten bitten, nach dem Beenden einer Aufgabe weitere Aufgaben vorzuschlagen.",maxSuggestions:"Max. Vorschläge",maxSuggestionsDesc:"Begrenzt die Anzahl der Folgeaufgaben, die ein Agent vorschlagen kann.",defaultPriority:"Standardpriorität",defaultPriorityDesc:"Anfangspriorität für neue Aufgaben, wenn das Prioritätsfeld aktiviert ist.",defaultOwner:"Standardeigentümer",defaultOwnerDesc:"Standardbesitzer für neue Aufgaben, wenn das Eigentümerfeld aktiviert ist.",priority:"Priorität",priorityDesc:"Prioritätsmetadaten für Aufgaben aktivieren.",assignee:"Zugewiesen an",assigneeDesc:"Zuweisungsmetadaten für Aufgaben aktivieren.",tags:"Tags",tagsDesc:"Tag-Metadaten für Aufgaben aktivieren.",dueDate:"Fälligkeitsdatum",dueDateDesc:"Fälligkeitsdatum-Metadaten für Aufgaben aktivieren.",ownerType:"Eigentümertyp",ownerTypeDesc:"Metadaten für menschliche/KI-Besitz für Aufgaben aktivieren.",tools:"Werkzeuge",toolsDesc:"Freiform-Werkzeughinweise für KI-Agent-Aufgaben aktivieren.",searchPlaceholder:"Beliebige Option suchen",searchResults:"Suchergebnisse",searchResultsLabel:"Suchergebnisse",matchingOptions:"passende Optionen in den Projekteinstellungen.",options:"Optionen",noOptionFound:"Keine Option gefunden",tryAnotherSearch:"Versuchen Sie einen anderen Suchbegriff.",currentValue:"Aktueller Wert",configKey:"Konfigschlüssel",choices:"Optionen",hoverForHelp:"Mit der Maus darüberfahren oder auf eine andere Option tabben, um dieses Hilfefenster zu aktualisieren.",pages:"Seiten",backToBoard:"Zurück zum Board",matches:"Treffer",settingsTitle:"Einstellungen",kickerInterface:"Oberfläche",kickerAutomation:"Automatisierung",kickerIdentifiers:"Bezeichner",kickerMetadata:"Metadaten"},iHe={detected:"Konflikt erkannt",detectedDesc:"Diese Aufgabe wurde während Ihrer Bearbeitung extern geändert.",conflictingChanges:"Aufgabe <code>{{taskId}}</code> hat widersprüchliche Änderungen. Wählen Sie, wie Sie dies lösen möchten:",yourVersion:"Ihre Version (lokal)",diskVersion:"Diskversion (remote)",cancel:"Abbrechen",reloadFromDisk:"Vom Disk neu laden",keepMyVersion:"Meine Version behalten",title:"Titel",priority:"Priorität",body:"Inhalt",subtasks:"Unteraufgaben",none:"(keine)"},rHe={title:"Titel",subtasks:"Unteraufgabe",context:"Kontext",notes:"Notizen",whatWasDone:"Was wurde getan",tags:"Tags",assignee:"Zugewiesen",priority:"Priorität"},sHe={settingsUpdatedExternally:"Einstellungen extern aktualisiert — neu geladen"},oHe={en:"Englisch",fr:"Französisch",zh:"Chinesisch",es:"Spanisch",pt:"Portugiesisch",hi:"Hindi",de:"Deutsch",it:"Italienisch",ja:"Japanisch",ko:"Koreanisch",ru:"Russisch",ar:"Arabisch",nl:"Niederländisch",pl:"Polnisch",tr:"Türkisch",vi:"Vietnamesisch",th:"Thailändisch",id:"Indonesisch",cs:"Tschechisch",sv:"Schwedisch",da:"Dänisch",fi:"Finnisch",no:"Norwegisch",hu:"Ungarisch",el:"Griechisch",he:"Hebräisch",uk:"Ukrainisch"},cHe={app:Zze,common:Gze,emptyState:Wze,header:Kze,filterBar:Yze,column:Xze,card:Qze,drawer:Jze,subtask:eHe,commandPalette:tHe,listView:nHe,settings:aHe,conflict:iHe,sectionLabels:rHe,toast:sHe,languageNames:oHe},pHe={name:"kandown",tagline:"Gestore Kanban Markdown con IA"},lHe={search:"Cerca",searchPlaceholder:"Cerca attività...",cancel:"Annulla",save:"Salva",delete:"Elimina",close:"Chiudi",clear:"Svuota",clearAll:"Svuota tutto",add:"Aggiungi",remove:"Rimuovi",done:"Fatto",loading:"Caricamento...",noResults:"Nessun risultato",currentValue:"Valore attuale",configKey:"Chiave config",choices:"Scelte",openFolder:"Apri cartella",selectFolder:"Seleziona cartella",recent:"Recente",settings:"Impostazioni",board:"Lavagna",reload:"Ricarica",newTask:"Nuova attività"},dHe={unsupportedBrowser:"Browser non supportato",unsupportedBrowserDesc:"Questo motore richiede la <code>File System Access API</code>. Usa Chrome, Edge, Brave o Opera. Firefox e Safari non la supportano ancora.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},uHe={tasks:"attività",recentProjects:"Progetti recenti","openFolder...":"Apri cartella..."},mHe={searchPlaceholder:"Cerca attività...",clearAll:"Svuota tutto",ownerAll:"👤 Tutti",ownerHuman:"👤 Umano",ownerAI:"🤖 IA"},fHe={addTask:"Aggiungi attività",columnColor:"Colore colonna",color:"Colore"},gHe={delete:"Elimina attività",confirmDelete:"Clicca di nuovo per eliminare"},hHe={close:"Chiudi (Esc)",taskTitle:"Titolo attività",doneSubtasks:"fatto",priority:"Priorità",noPriority:"Nessuna priorità",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Media · P3",lowP4:"Bassa · P4",assignee:"Assegnato a",assigneePlaceholder:"nome utente",tags:"Tag",tagsPlaceholder:"backend, sicurezza, api",dueDate:"Data di scadenza",owner:"Proprietario",unset:"Non impostato",human:"👤 Umano",ai:"🤖 IA",tools:"Strumenti",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descrizione",descriptionPlaceholder:"Scrivi contesto, link, decisioni...",report:"Rapporto",reportPlaceholder:"L'output dell'IA apparirà qui...",subtasks:"Sottoattività",addSubtask:"Aggiungi sottoattività",deleteTask:"Elimina",saveClose:"Salva e chiudi",cancel:"Annulla"},bHe={placeholder:"Sottoattività...",description:"Descrizione",descriptionPlaceholder:"Aggiungi contesto, link o note per questo passaggio...",report:"Rapporto",reportPlaceholder:"Cosa è stato fatto, decisioni prese, compromessi...",aiFillsThis:"L'IA lo compila dopo il completamento",collapse:"Comprimi",expand:"Espandi"},vHe={placeholder:"Digita un comando o cerca...",actions:"Azioni",view:"Vista",tasks:"Attività",newTask:"Nuova attività",createNew:"Crea una nuova attività",reloadBoard:"Ricarica lavagna",readFromDisk:"Rileggi file dal disco",clearFilters:"Svuota filtri",boardView:"Vista lavagna",listView:"Vista lista",compactDensity:"Densità compatta",comfortableDensity:"Densità confortevole",navigate:"naviga",select:"seleziona"},yHe={id:"ID",title:"Titolo",status:"Stato",tags:"Tag",assignee:"Assegnato",progress:"Progresso",noMatchingTasks:"Nessuna attività corrispondente"},_He={noProjectOpen:"Nessun progetto aperto",appearance:"Aspetto",appearanceDesc:"Tema, skin, sfondo, font e lingua.",agent:"Agente",agentDesc:"Comportamento di follow-up per il lavoro di attività assistito dall'IA.",board:"Lavagna",boardDesc:"Comportamento dell'ID attività e impostazioni predefinite della lavagna.",fields:"Campi",fieldsDesc:"Campi opzionali mostrati su attività e schede della lavagna.",language:"Lingua",languageDesc:"Lingua dell'UI memorizzata nella config del progetto.",mode:"Modalità",modeDesc:"Segue automaticamente la preferenza chiara o scura del sistema.",auto:"Auto",light:"Chiaro",dark:"Scuro",skin:"Skin",skinDesc:"I token di colore sono memorizzati per progetto in kandown.json.",background:"Sfondo",backgroundDesc:"Scegli una superficie piatta o uno sfondo liquido animato.",font:"Font",fontDesc:"Stack di font di sistema locali, senza richiesta di rete.",suggestFollowUp:"Suggerisci attività di follow-up",suggestFollowUpDesc:"Chiedi agli agenti di proporre attività successive dopo averne completata una.",maxSuggestions:"Max suggerimenti",maxSuggestionsDesc:"Limita il numero di attività di follow-up che un agente può proporre.",defaultPriority:"Priorità predefinita",defaultPriorityDesc:"Priorità iniziale per nuove attività quando il campo Priorità è abilitato.",defaultOwner:"Proprietario predefinito",defaultOwnerDesc:"Proprietario iniziale per nuove attività quando il campo Proprietario è abilitato.",priority:"Priorità",priorityDesc:"Abilita metadati di priorità sulle attività.",assignee:"Assegnato a",assigneeDesc:"Abilita metadati di assegnazione sulle attività.",tags:"Tag",tagsDesc:"Abilita metadati di tag sulle attività.",dueDate:"Data di scadenza",dueDateDesc:"Abilita metadati di data di scadenza sulle attività.",ownerType:"Tipo di proprietario",ownerTypeDesc:"Abilita metadati di proprietà umano/IA sulle attività.",tools:"Strumenti",toolsDesc:"Abilita suggerimenti di strumenti in forma libera per attività di agente IA.",searchPlaceholder:"Cerca qualsiasi opzione",searchResults:"Risultati della ricerca",searchResultsLabel:"Risultati della ricerca",matchingOptions:"opzioni corrispondenti nelle impostazioni del progetto.",options:"opzioni",noOptionFound:"Nessuna opzione trovata",tryAnotherSearch:"Prova un altro termine di ricerca.",currentValue:"Valore attuale",configKey:"Chiave config",choices:"Scelte",hoverForHelp:"Passa il mouse o vai su un'altra opzione per aggiornare questo pannello di aiuto.",pages:"Pagine",backToBoard:"Torna alla lavagna",matches:"Corrispondenze",settingsTitle:"Impostazioni",kickerInterface:"Interfaccia",kickerAutomation:"Automazione",kickerIdentifiers:"Identificatori",kickerMetadata:"Metadati"},kHe={detected:"Conflitto rilevato",detectedDesc:"Questa attività è stata modificata esternamente mentre la modificavi.",conflictingChanges:"L'attività <code>{{taskId}}</code> ha modifiche conflittuali. Scegli come risolvere:",yourVersion:"La tua versione (locale)",diskVersion:"Versione del disco (remota)",cancel:"Annulla",reloadFromDisk:"Ricarica dal disco",keepMyVersion:"Mantieni la mia versione",title:"Titolo",priority:"Priorità",body:"Corpo",subtasks:"Sottoattività",none:"(nessuna)"},wHe={title:"Titolo",subtasks:"Sottoattività",context:"Contesto",notes:"Note",whatWasDone:"Cosa è stato fatto",tags:"Tag",assignee:"Assegnato",priority:"Priorità"},xHe={settingsUpdatedExternally:"Impostazioni aggiornate esternamente — ricaricate"},AHe={en:"Inglese",fr:"Francese",zh:"Cinese",es:"Spagnolo",pt:"Portoghese",hi:"Hindi",de:"Tedesco",it:"Italiano",ja:"Giapponese",ko:"Coreano",ru:"Russo",ar:"Arabo",nl:"Olandese",pl:"Polacco",tr:"Turco",vi:"Vietnamita",th:"Tailandese",id:"Indonesiano",cs:"Ceco",sv:"Svedese",da:"Danese",fi:"Finlandese",no:"Norvegese",hu:"Ungherese",el:"Greco",he:"Ebraico",uk:"Ucraino"},CHe={app:pHe,common:lHe,emptyState:dHe,header:uHe,filterBar:mHe,column:fHe,card:gHe,drawer:hHe,subtask:bHe,commandPalette:vHe,listView:yHe,settings:_He,conflict:kHe,sectionLabels:wHe,toast:xHe,languageNames:AHe},NHe={name:"kandown",tagline:"AI Markdown Kanban Manager"},SHe={search:"Zoeken",searchPlaceholder:"Taken zoeken...",cancel:"Annuleren",save:"Opslaan",delete:"Verwijderen",close:"Sluiten",clear:"Wissen",clearAll:"Alles wissen",add:"Toevoegen",remove:"Verwijderen",done:"Klaar",loading:"Laden...",noResults:"Geen resultaten",currentValue:"Huidige waarde",configKey:"Configuratiesleutel",choices:"Keuzes",openFolder:"Map openen",selectFolder:"Map selecteren",recent:"Recent",settings:"Instellingen",board:"Board",reload:"Herladen",newTask:"Nieuwe taak"},$He={unsupportedBrowser:"Niet-ondersteunde browser",unsupportedBrowserDesc:"Deze engine vereist de <code>File System Access API</code>. Gebruik Chrome, Edge, Brave of Opera. Firefox en Safari worden nog niet ondersteund.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},EHe={tasks:"taken",recentProjects:"Recente projecten","openFolder...":"Map openen..."},PHe={searchPlaceholder:"Taken zoeken...",clearAll:"Alles wissen",ownerAll:"👤 Alle",ownerHuman:"👤 Mens",ownerAI:"🤖 AI"},THe={addTask:"Taak toevoegen",columnColor:"Kolomkleur",color:"Kleur"},LHe={delete:"Taak verwijderen",confirmDelete:"Klik nogmaals om te verwijderen"},MHe={close:"Sluiten (Esc)",taskTitle:"Taaktitel",doneSubtasks:"klaar",priority:"Prioriteit",noPriority:"Geen prioriteit",urgentP1:"Urgent · P1",highP2:"Hoog · P2",mediumP3:"Medium · P3",lowP4:"Laag · P4",assignee:"Toegewezen aan",assigneePlaceholder:"gebruikersnaam",tags:"Tags",tagsPlaceholder:"backend, beveiliging, api",dueDate:"Einddatum",owner:"Eigenaar",unset:"Niet ingesteld",human:"👤 Mens",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"bestandssysteem, cli, websearch, browser...",description:"Beschrijving",descriptionPlaceholder:"Schrijf context, links, beslissingen...",report:"Rapport",reportPlaceholder:"AI-uitvoer verschijnt hier...",subtasks:"Subtaken",addSubtask:"Subtaak toevoegen",deleteTask:"Verwijderen",saveClose:"Opslaan & Sluiten",cancel:"Annuleren"},jHe={placeholder:"Subtaak...",description:"Beschrijving",descriptionPlaceholder:"Voeg context, links of notities toe voor deze stap...",report:"Rapport",reportPlaceholder:"Wat is gedaan, beslissingen genomen, afwegingen...",aiFillsThis:"AI vult dit in na voltooiing",collapse:"Inklappen",expand:"Uitklappen"},DHe={placeholder:"Typ een commando of zoek...",actions:"Acties",view:"Weergave",tasks:"Taken",newTask:"Nieuwe taak",createNew:"Maak een nieuwe taak",reloadBoard:"Board herladen",readFromDisk:"Bestanden opnieuw van schijf lezen",clearFilters:"Filters wissen",boardView:"Board-weergave",listView:"Lijstweergave",compactDensity:"Compacte dichtheid",comfortableDensity:"Comfortabele dichtheid",navigate:"navigeer",select:"selecteer"},IHe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Toegewezen aan",progress:"Voortgang",noMatchingTasks:"Geen overeenkomende taken"},RHe={noProjectOpen:"Geen project geopend",appearance:"Uiterlijk",appearanceDesc:"Thema, skin, achtergrond, lettertype en taal.",agent:"Agent",agentDesc:"Follow-up gedrag voor door AI ondersteunde taakuitvoering.",board:"Board",boardDesc:"Gedrag van taak-IDs en board-brede standaardwaarden.",fields:"Velden",fieldsDesc:"Optionele velden getoond bij taken en board-kaarten.",language:"Taal",languageDesc:"UI-taal opgeslagen in de projectconfiguratie.",mode:"Modus",modeDesc:"Volgt automatisch je systeemvoorkeur voor licht of donker.",auto:"Auto",light:"Licht",dark:"Donker",skin:"Skin",skinDesc:"Kleurtokens worden per project opgeslagen in kandown.json.",background:"Achtergrond",backgroundDesc:"Kies een effen oppervlak of een geanimeerde vloeibare achtergrond.",font:"Lettertype",fontDesc:"Lokaal lettertype van het systeem, zonder netwerkaanvraag.",suggestFollowUp:"Follow-up taken voorstellen",suggestFollowUpDesc:"Vraag agents om next taken voor te stellen na het afronden van één.",maxSuggestions:"Max suggesties",maxSuggestionsDesc:"Beperkt het aantal follow-up taken dat een agent kan voorstellen.",defaultPriority:"Standaard prioriteit",defaultPriorityDesc:"Initiële prioriteit voor nieuwe taken wanneer het Prioriteit-veld is ingeschakeld.",defaultOwner:"Standaard eigenaar",defaultOwnerDesc:"Initiële eigenaar voor nieuwe taken wanneer het Eigenaar-veld is ingeschakeld.",priority:"Prioriteit",priorityDesc:"Schakel prioriteitsmetagegevens in voor taken.",assignee:"Toegewezen aan",assigneeDesc:"Schakel toegewezen-metagegevens in voor taken.",tags:"Tags",tagsDesc:"Schakel tag-metagegevens in voor taken.",dueDate:"Einddatum",dueDateDesc:"Schakel einddatum-metagegevens in voor taken.",ownerType:"Eigenaarstype",ownerTypeDesc:"Schakel mens/AI-eigenaarsmetagegevens in voor taken.",tools:"Tools",toolsDesc:"Schakel vrije tool-hints in voor AI-agent taken.",searchPlaceholder:"Zoek elke optie",searchResults:"Zoekresultaten",searchResultsLabel:"Zoekresultaten",matchingOptions:"overeenkomende opties in projectinstellingen.",options:"opties",noOptionFound:"Geen optie gevonden",tryAnotherSearch:"Probeer een andere zoekterm.",currentValue:"Huidige waarde",configKey:"Configuratiesleutel",choices:"Keuzes",hoverForHelp:"Beweeg of tab door een andere optie om dit helppaneel bij te werken.",pages:"Pagina's",backToBoard:"Terug naar board",matches:"Overeenkomsten",settingsTitle:"Instellingen",kickerInterface:"Interface",kickerAutomation:"Automatisering",kickerIdentifiers:"Identificatoren",kickerMetadata:"Metagegevens"},OHe={detected:"Conflict Gedetecteerd",detectedDesc:"Deze taak is extern gewijzigd terwijl je aan het bewerken was.",conflictingChanges:"Taak <code>{{taskId}}</code> heeft tegenstrijdige wijzigingen. Kies hoe op te lossen:",yourVersion:"Jouw versie (lokaal)",diskVersion:"Schijfversie (extern)",cancel:"Annuleren",reloadFromDisk:"Herladen van schijf",keepMyVersion:"Houd mijn versie",title:"Titel",priority:"Prioriteit",body:"Inhoud",subtasks:"Subtaken",none:"(geen)"},FHe={title:"Titel",subtasks:"Subtaak",context:"Context",notes:"Notities",whatWasDone:"Wat is gedaan",tags:"Tags",assignee:"Toegewezen aan",priority:"Prioriteit"},zHe={settingsUpdatedExternally:"Instellingen extern bijgewerkt — herladen"},HHe={en:"Engels",fr:"Frans",zh:"Chinees",es:"Spaans",pt:"Portugees",hi:"Hindi",de:"Duits",it:"Italiaans",nl:"Nederlands",pl:"Pools",uk:"Oekraïens",ro:"Roemeens"},BHe={app:NHe,common:SHe,emptyState:$He,header:EHe,filterBar:PHe,column:THe,card:LHe,drawer:MHe,subtask:jHe,commandPalette:DHe,listView:IHe,settings:RHe,conflict:OHe,sectionLabels:FHe,toast:zHe,languageNames:HHe},qHe={name:"kandown",tagline:"AI Markdown Kanban Manager"},UHe={search:"Szukaj",searchPlaceholder:"Szukaj zadań...",cancel:"Anuluj",save:"Zapisz",delete:"Usuń",close:"Zamknij",clear:"Wyczyść",clearAll:"Wyczyść wszystko",add:"Dodaj",remove:"Usuń",done:"Gotowe",loading:"Ładowanie...",noResults:"Brak wyników",currentValue:"Aktualna wartość",configKey:"Klucz konfiguracji",choices:"Wybory",openFolder:"Otwórz folder",selectFolder:"Wybierz folder",recent:"Ostatnie",settings:"Ustawienia",board:"Tablica",reload:"Przeładuj",newTask:"Nowe zadanie"},VHe={unsupportedBrowser:"Nieobsługiwana przeglądarka",unsupportedBrowserDesc:"Ta silnik wymaga <code>File System Access API</code>. Użyj Chrome, Edge, Brave lub Opera. Firefox i Safari jeszcze nie obsługują tej funkcji.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},ZHe={tasks:"zadania",recentProjects:"Ostatnie projekty","openFolder...":"Otwórz folder..."},GHe={searchPlaceholder:"Szukaj zadań...",clearAll:"Wyczyść wszystko",ownerAll:"👤 Wszyscy",ownerHuman:"👤 Człowiek",ownerAI:"🤖 AI"},WHe={addTask:"Dodaj zadanie",columnColor:"Kolor kolumny",color:"Kolor"},KHe={delete:"Usuń zadanie",confirmDelete:"Kliknij ponownie, aby usunąć"},YHe={close:"Zamknij (Esc)",taskTitle:"Tytuł zadania",doneSubtasks:"wykonane",priority:"Priorytet",noPriority:"Brak priorytetu",urgentP1:"Pilne · P1",highP2:"Wysoki · P2",mediumP3:"Średni · P3",lowP4:"Niski · P4",assignee:"Przypisana osoba",assigneePlaceholder:"nazwa użytkownika",tags:"Tagi",tagsPlaceholder:"backend, bezpieczeństwo, api",dueDate:"Termin",owner:"Właściciel",unset:"Nie ustawiono",human:"👤 Człowiek",ai:"🤖 AI",tools:"Narzędzia",toolsPlaceholder:"system plików, cli, wyszukiwanie, przeglądarka...",description:"Opis",descriptionPlaceholder:"Napisz kontekst, linki, decyzje...",report:"Raport",reportPlaceholder:"Wynik AI pojawi się tutaj...",subtasks:"Podzadania",addSubtask:"Dodaj podzadanie",deleteTask:"Usuń",saveClose:"Zapisz i zamknij",cancel:"Anuluj"},XHe={placeholder:"Podzadanie...",description:"Opis",descriptionPlaceholder:"Dodaj kontekst, linki lub notatki do tego kroku...",report:"Raport",reportPlaceholder:"Co zostało zrobione, podjęte decyzje, kompromisy...",aiFillsThis:"AI wypełnia to po zakończeniu",collapse:"Zwiń",expand:"Rozwiń"},QHe={placeholder:"Wpisz polecenie lub szukaj...",actions:"Akcje",view:"Widok",tasks:"Zadania",newTask:"Nowe zadanie",createNew:"Utwórz nowe zadanie",reloadBoard:"Przeładuj tablicę",readFromDisk:"Odczytaj pliki z dysku",clearFilters:"Wyczyść filtry",boardView:"Widok tablicy",listView:"Widok listy",compactDensity:"Kompaktowa gęstość",comfortableDensity:"Komfortowa gęstość",navigate:"nawiguj",select:"wybierz"},JHe={id:"ID",title:"Tytuł",status:"Status",tags:"Tagi",assignee:"Przypisana osoba",progress:"Postęp",noMatchingTasks:"Brak pasujących zadań"},eBe={noProjectOpen:"Żaden projekt nie jest otwarty",appearance:"Wygląd",appearanceDesc:"Motyw, skóra, tło, czcionka i język.",agent:"Agent",agentDesc:"Zachowanie follow-up dla zadań wspomaganych przez AI.",board:"Tablica",boardDesc:"Zachowanie ID zadań i domyślne ustawienia na poziomie tablicy.",fields:"Pola",fieldsDesc:"Opcjonalne pola wyświetlane na zadaniach i kartach tablicy.",language:"Język",languageDesc:"Język interfejsu użytkownika przechowywany w konfiguracji projektu.",mode:"Tryb",modeDesc:"Automatycznie podąża za preferencją systemu dotyczącą jasnego lub ciemnego motywu.",auto:"Auto",light:"Jasny",dark:"Ciemny",skin:"Skóra",skinDesc:"Tokeny kolorów są przechowywane dla każdego projektu w kandown.json.",background:"Tło",backgroundDesc:"Wybierz płaską powierzchnię lub animowane płynne tło.",font:"Czcionka",fontDesc:"Lokalny stos czcionek systemowych, bez żądania sieciowego.",suggestFollowUp:"Proponuj zadania follow-up",suggestFollowUpDesc:"Poproś agentów o proponowanie następnych zadań po zakończeniu jednego.",maxSuggestions:"Maks. sugestii",maxSuggestionsDesc:"Ogranicza liczbę zadań follow-up, które agent może zaproponować.",defaultPriority:"Domyślny priorytet",defaultPriorityDesc:"Początkowy priorytet dla nowych zadań, gdy pole Priorytet jest włączone.",defaultOwner:"Domyślny właściciel",defaultOwnerDesc:"Początkowy właściciel dla nowych zadań, gdy pole Właściciel jest włączone.",priority:"Priorytet",priorityDesc:"Włącz metadane priorytetu na zadaniach.",assignee:"Przypisana osoba",assigneeDesc:"Włącz metadane przypisanej osoby na zadaniach.",tags:"Tagi",tagsDesc:"Włącz metadane tagów na zadaniach.",dueDate:"Termin",dueDateDesc:"Włącz metadane terminu na zadaniach.",ownerType:"Typ właściciela",ownerTypeDesc:"Włącz metadane typu właściciela (człowiek/AI) na zadaniach.",tools:"Narzędzia",toolsDesc:"Włącz wskazówki dotyczące narzędzi dla zadań agenta AI.",searchPlaceholder:"Szukaj opcji",searchResults:"Wyniki wyszukiwania",searchResultsLabel:"Wyniki wyszukiwania",matchingOptions:"pasujących opcji w ustawieniach projektu.",options:"opcji",noOptionFound:"Nie znaleziono opcji",tryAnotherSearch:"Spróbuj innego wyszukiwania.",currentValue:"Aktualna wartość",configKey:"Klucz konfiguracji",choices:"Wybory",hoverForHelp:"Najedź lub przełącz się do innej opcji, aby zaktualizować ten panel pomocy.",pages:"Strony",backToBoard:"Wróć do tablicy",matches:"Dopasowania",settingsTitle:"Ustawienia",kickerInterface:"Interfejs",kickerAutomation:"Automatyzacja",kickerIdentifiers:"Identyfikatory",kickerMetadata:"Metadane"},tBe={detected:"Wykryto konflikt",detectedDesc:"To zadanie zostało zmodyfikowane zewnętrznie podczas edycji.",conflictingChanges:"Zadanie <code>{{taskId}}</code> ma sprzeczne zmiany. Wybierz, jak rozwiązać:",yourVersion:"Twoja wersja (lokalna)",diskVersion:"Wersja dyskowa (zdalna)",cancel:"Anuluj",reloadFromDisk:"Przeładuj z dysku",keepMyVersion:"Zachowaj moją wersję",title:"Tytuł",priority:"Priorytet",body:"Treść",subtasks:"Podzadania",none:"(brak)"},nBe={title:"Tytuł",subtasks:"Podzadanie",context:"Kontekst",notes:"Notatki",whatWasDone:"Co zostało zrobione",tags:"Tagi",assignee:"Przypisana osoba",priority:"Priorytet"},aBe={settingsUpdatedExternally:"Ustawienia zaktualizowane zewnętrznie — przeładowano"},iBe={en:"Angielski",fr:"Francuski",zh:"Chiński",es:"Hiszpański",pt:"Portugalski",hi:"Hindi",de:"Niemiecki",it:"Włoski",nl:"Holenderski",pl:"Polski",uk:"Ukraiński",ro:"Rumuński"},rBe={app:qHe,common:UHe,emptyState:VHe,header:ZHe,filterBar:GHe,column:WHe,card:KHe,drawer:YHe,subtask:XHe,commandPalette:QHe,listView:JHe,settings:eBe,conflict:tBe,sectionLabels:nBe,toast:aBe,languageNames:iBe},sBe={name:"kandown",tagline:"AI Markdown Kanban Manager"},oBe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},cBe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},pBe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},lBe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},dBe={addTask:"Add task",columnColor:"Column color",color:"Color"},uBe={delete:"Delete task",confirmDelete:"Click again to delete"},mBe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},fBe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},gBe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},hBe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},bBe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},vBe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},yBe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},_Be={settingsUpdatedExternally:"Settings updated externally — reloaded"},kBe={en:"Англійська",fr:"Французька",zh:"Китайська",es:"Іспанська",pt:"Португальська",hi:"Хінді",de:"Німецька",it:"Італійська",nl:"Нідерландська",pl:"Польська",uk:"Українська",ro:"Румунська"},wBe={app:sBe,common:oBe,emptyState:cBe,header:pBe,filterBar:lBe,column:dBe,card:uBe,drawer:mBe,subtask:fBe,commandPalette:gBe,listView:hBe,settings:bBe,conflict:vBe,sectionLabels:yBe,toast:_Be,languageNames:kBe},xBe={name:"kandown",tagline:"AI Markdown Kanban Manager"},ABe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},CBe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},NBe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},SBe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},$Be={addTask:"Add task",columnColor:"Column color",color:"Color"},EBe={delete:"Delete task",confirmDelete:"Click again to delete"},PBe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},TBe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},LBe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},MBe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},jBe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},DBe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},IBe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},RBe={settingsUpdatedExternally:"Settings updated externally — reloaded"},OBe={en:"Engleză",fr:"Franceză",zh:"Chineză",es:"Spaniolă",pt:"Portugheză",hi:"Hindi",de:"Germană",it:"Italiană",nl:"Olandeză",pl:"Poloneză",uk:"Ucraineană",ro:"Română"},FBe={app:xBe,common:ABe,emptyState:CBe,header:NBe,filterBar:SBe,column:$Be,card:EBe,drawer:PBe,subtask:TBe,commandPalette:LBe,listView:MBe,settings:jBe,conflict:DBe,sectionLabels:IBe,toast:RBe,languageNames:OBe},zBe={name:"kandown",tagline:"AI Markdown Kanban-hanterare"},HBe={search:"Sök",searchPlaceholder:"Sök uppgifter...",cancel:"Avbryt",save:"Spara",delete:"Ta bort",close:"Stäng",clear:"Rensa",clearAll:"Rensa allt",add:"Lägg till",remove:"Ta bort",done:"Klart",loading:"Laddar...",noResults:"Inga resultat",currentValue:"Aktuellt värde",configKey:"Konfigurationsnyckel",choices:"Val",openFolder:"Öppna mapp",selectFolder:"Välj mapp",recent:"Senaste",settings:"Inställningar",board:"Styrning",reload:"Ladda om",newTask:"Ny uppgift"},BBe={unsupportedBrowser:"Webbläsaren stöds inte",unsupportedBrowserDesc:"Den här motorn kräver <code>File System Access API</code>. Använd Chrome, Edge, Brave eller Opera. Firefox och Safari stöds ännu inte.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},qBe={tasks:"uppgifter",recentProjects:"Senaste projekt","openFolder...":"Öppna mapp..."},UBe={searchPlaceholder:"Sök uppgifter...",clearAll:"Rensa allt",ownerAll:"👤 Alla",ownerHuman:"👤 Människa",ownerAI:"🤖 AI"},VBe={addTask:"Lägg till uppgift",columnColor:"Kolumnfärg",color:"Färg"},ZBe={delete:"Ta bort uppgift",confirmDelete:"Klicka igen för att ta bort"},GBe={close:"Stäng (Esc)",taskTitle:"Uppgiftstitel",doneSubtasks:"klart",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Brådskande · P1",highP2:"Hög · P2",mediumP3:"Medel · P3",lowP4:"Låg · P4",assignee:"Tilldelad",assigneePlaceholder:"användarnamn",tags:"Taggar",tagsPlaceholder:"backend, säkerhet, api",dueDate:"Förfallodatum",owner:"Ägare",unset:"Ej inställd",human:"👤 Människa",ai:"🤖 AI",tools:"Verktyg",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivning",descriptionPlaceholder:"Skriv lite kontext, länkar, beslut...",report:"Rapport",reportPlaceholder:"AI-utdata visas här...",subtasks:"Delauppgifter",addSubtask:"Lägg till delauppgift",deleteTask:"Ta bort",saveClose:"Spara & Stäng",cancel:"Avbryt"},WBe={placeholder:"Delauppgift...",description:"Beskrivning",descriptionPlaceholder:"Lägg till kontext, länkar eller anteckningar för det här steget...",report:"Rapport",reportPlaceholder:"Vad som gjordes, beslut som fattades, avvägningar...",aiFillsThis:"AI fyller i detta efter att ha slutfört",collapse:"Minimera",expand:"Expandera"},KBe={placeholder:"Skriv ett kommando eller sök...",actions:"Åtgärder",view:"Vy",tasks:"Uppgifter",newTask:"Ny uppgift",createNew:"Skapa en ny uppgift",reloadBoard:"Ladda om styret",readFromDisk:"Läs filer från disk",clearFilters:"Rensa filter",boardView:"Styrvy",listView:"Listvy",compactDensity:"Kompakt täthet",comfortableDensity:"Bekväm täthet",navigate:"navigera",select:"välj"},YBe={id:"ID",title:"Titel",status:"Status",tags:"Taggar",assignee:"Tilldelad",progress:"Framsteg",noMatchingTasks:"Inga matchande uppgifter"},XBe={noProjectOpen:"Inget projekt öppet",appearance:"Utseende",appearanceDesc:"Tema, skinn, bakgrund, typsnitt och språk.",agent:"Agent",agentDesc:"Uppföljningsbeteende för AI-assisterat uppgiftsarbete.",board:"Styrning",boardDesc:"Uppgifts-ID-beteende och standardvärden för styret.",fields:"Fält",fieldsDesc:"Valfria fält som visas på uppgifter och kort.",language:"Språk",languageDesc:"UI-språk lagrat i projektkonfigurationen.",mode:"Läge",modeDesc:"Följer automatiskt ditt systems ljusa eller mörka preferens.",auto:"Auto",light:"Ljust",dark:"Mörkt",skin:"Skinn",skinDesc:"Färgtokens lagras per projekt i kandown.json.",background:"Bakgrund",backgroundDesc:"Välj en platt yta eller animerad flytande bakgrund.",font:"Typsnitt",fontDesc:"Lokal systemtypsnittstack, utan nätverksförfrågan.",suggestFollowUp:"Föreslå uppföljningsuppgifter",suggestFollowUpDesc:"Be agenter att föreslå nästa uppgifter efter att en är klar.",maxSuggestions:"Max förslag",maxSuggestionsDesc:"Begränsar antalet uppföljningsuppgifter en agent kan föreslå.",defaultPriority:"Standardprioritet",defaultPriorityDesc:"Initial prioritet för nya uppgifter när prioritetsfältet är aktiverat.",defaultOwner:"Standardägare",defaultOwnerDesc:"Initial ägare för nya uppgifter när ägarfältet är aktiverat.",priority:"Prioritet",priorityDesc:"Aktivera prioritetsmetadata på uppgifter.",assignee:"Tilldelad",assigneeDesc:"Aktivera tilldelningsmetadata på uppgifter.",tags:"Taggar",tagsDesc:"Aktivera taggmetadata på uppgifter.",dueDate:"Förfallodatum",dueDateDesc:"Aktivera förfallodatummetadata på uppgifter.",ownerType:"Ägartyp",ownerTypeDesc:"Aktivera människa/AI-ägarskapsmetadata på uppgifter.",tools:"Verktyg",toolsDesc:"Aktivera fria verktygstips för AI-agentuppgifter.",searchPlaceholder:"Sök efter ett alternativ",searchResults:"Sökresultat",searchResultsLabel:"Sökresultat",matchingOptions:"matchande alternativ i projektinställningarna.",options:"alternativ",noOptionFound:"Inget alternativ hittades",tryAnotherSearch:"Försök med en annan sökterm.",currentValue:"Aktuellt värde",configKey:"Konfigurationsnyckel",choices:"Val",hoverForHelp:"Hovra eller tabba genom ett annat alternativ för att uppdatera den här hjälpanvisningen.",pages:"Sidor",backToBoard:"Tillbaka till styret",matches:"Träffar",settingsTitle:"Inställningar",kickerInterface:"Gränssnitt",kickerAutomation:"Automatisering",kickerIdentifiers:"Identifierare",kickerMetadata:"Metadata"},QBe={detected:"Konflikt upptäckt",detectedDesc:"Den här uppgiften modifierades externt medan du redigerade.",conflictingChanges:"Uppgift <code>{{taskId}}</code> har motstridiga ändringar. Välj hur du vill lösa det:",yourVersion:"Din version (lokal)",diskVersion:"Diskversion (fjärr)",cancel:"Avbryt",reloadFromDisk:"Ladda om från disk",keepMyVersion:"Behåll min version",title:"Titel",priority:"Prioritet",body:"Innehåll",subtasks:"Delauppgifter",none:"(ingen)"},JBe={title:"Titel",subtasks:"Delauppgift",context:"Kontext",notes:"Anteckningar",whatWasDone:"Vad som gjordes",tags:"Taggar",assignee:"Tilldelad",priority:"Prioritet"},eqe={settingsUpdatedExternally:"Inställningar uppdaterades externt — omladdade"},tqe={en:"Engelska",fr:"Franska",zh:"Kinesiska",es:"Spanska",pt:"Portugisiska",hi:"Hindi",de:"Tyska",it:"Italienska",ja:"Japanska",ko:"Koreanska",ru:"Ryska",ar:"Arabiska",nl:"Nederländska",pl:"Polska",tr:"Turkiska",vi:"Vietnamesiska",th:"Thailändska",id:"Indonesiska",cs:"Tjeckiska",sv:"Svenska",da:"Danska",fi:"Finska",no:"Norska",hu:"Ungerska",el:"Grekiska",he:"Hebreiska",uk:"Ukrainska"},nqe={app:zBe,common:HBe,emptyState:BBe,header:qBe,filterBar:UBe,column:VBe,card:ZBe,drawer:GBe,subtask:WBe,commandPalette:KBe,listView:YBe,settings:XBe,conflict:QBe,sectionLabels:JBe,toast:eqe,languageNames:tqe},aqe={name:"kandown",tagline:"AI Markdown Kanban správce"},iqe={search:"Hledat",searchPlaceholder:"Hledat úkoly...",cancel:"Zrušit",save:"Uložit",delete:"Smazat",close:"Zavřít",clear:"Vymazat",clearAll:"Vymazat vše",add:"Přidat",remove:"Odebrat",done:"Hotovo",loading:"Načítání...",noResults:"Žádné výsledky",currentValue:"Aktuální hodnota",configKey:"Konfigurační klíč",choices:"Možnosti",openFolder:"Otevřít složku",selectFolder:"Vybrat složku",recent:"Nedávné",settings:"Nastavení",board:"Nástěnka",reload:"Obnovit",newTask:"Nový úkol"},rqe={unsupportedBrowser:"Nepodporovaný prohlížeč",unsupportedBrowserDesc:"Tento engine vyžaduje <code>File System Access API</code>. Použijte Chrome, Edge, Brave nebo Opera. Firefox a Safari zatím nejsou podporovány.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sqe={tasks:"úkoly",recentProjects:"Nedávné projekty","openFolder...":"Otevřít složku..."},oqe={searchPlaceholder:"Hledat úkoly...",clearAll:"Vymazat vše",ownerAll:"👤 Vše",ownerHuman:"👤 Člověk",ownerAI:"🤖 AI"},cqe={addTask:"Přidat úkol",columnColor:"Barva sloupce",color:"Barva"},pqe={delete:"Smazat úkol",confirmDelete:"Klikněte znovu pro smazání"},lqe={close:"Zavřít (Esc)",taskTitle:"Název úkolu",doneSubtasks:"hotovo",priority:"Priorita",noPriority:"Bez priority",urgentP1:"Neodkladné · P1",highP2:"Vysoká · P2",mediumP3:"Střední · P3",lowP4:"Nízká · P4",assignee:"Přiřazeno",assigneePlaceholder:"uživatelské jméno",tags:"Štítky",tagsPlaceholder:"backend, bezpečnost, api",dueDate:"Termín",owner:"Vlastník",unset:"Nenastaveno",human:"👤 Člověk",ai:"🤖 AI",tools:"Nástroje",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Popis",descriptionPlaceholder:"Napište nějaký kontext, odkazy, rozhodnutí...",report:"Zpráva",reportPlaceholder:"AI výstup se zobrazí zde...",subtasks:"Dílčí úkoly",addSubtask:"Přidat dílčí úkol",deleteTask:"Smazat",saveClose:"Uložit & Zavřít",cancel:"Zrušit"},dqe={placeholder:"Dílčí úkol...",description:"Popis",descriptionPlaceholder:"Přidejte kontext, odkazy nebo poznámky k tomuto kroku...",report:"Zpráva",reportPlaceholder:"Co bylo provedeno, rozhodnutí, kompromisy...",aiFillsThis:"AI to vyplní po dokončení",collapse:"Sbalit",expand:"Rozbalit"},uqe={placeholder:"Napište příkaz nebo hledejte...",actions:"Akce",view:"Zobrazení",tasks:"Úkoly",newTask:"Nový úkol",createNew:"Vytvořit nový úkol",reloadBoard:"Obnovit nástěnku",readFromDisk:"Znovu načíst soubory z disku",clearFilters:"Vymazat filtry",boardView:"Zobrazení nástěnky",listView:"Zobrazení seznamu",compactDensity:"Kompaktní hustota",comfortableDensity:"Pohodlná hustota",navigate:"navigovat",select:"vybrat"},mqe={id:"ID",title:"Název",status:"Stav",tags:"Štítky",assignee:"Přiřazeno",progress:"Průběh",noMatchingTasks:"Žádné odpovídající úkoly"},fqe={noProjectOpen:"Žádný otevřený projekt",appearance:"Vzhled",appearanceDesc:"Motiv, vzhled, pozadí, písmo a jazyk.",agent:"Agent",agentDesc:"Chování následných úkonů pro úkoly asistované AI.",board:"Nástěnka",boardDesc:"Chování ID úkolů a výchozí nastavení nástěnky.",fields:"Pole",fieldsDesc:"Volitelná pole zobrazená u úkolů a na kartách.",language:"Jazyk",languageDesc:"Jazyk rozhraní uložený v konfiguraci projektu.",mode:"Režim",modeDesc:"Automaticky sleduje vaši systémovou preferenci světlého nebo tmavého režimu.",auto:"Auto",light:"Světlý",dark:"Tmavý",skin:"Vzhled",skinDesc:"Barevné tokeny jsou uloženy v kandown.json pro každý projekt.",background:"Pozadí",backgroundDesc:"Zvolte plochý povrch nebo animované tekuté pozadí.",font:"Písmo",fontDesc:"Místní systémový zásobník písem, bez síťové požadavku.",suggestFollowUp:"Navrhnout následné úkoly",suggestFollowUpDesc:"Požádat agenty, aby navrhli další úkoly po dokončení jednoho.",maxSuggestions:"Max návrhů",maxSuggestionsDesc:"Omezuje počet následných úkolů, které agent může navrhnout.",defaultPriority:"Výchozí priorita",defaultPriorityDesc:"Počáteční priorita pro nové úkoly, když je pole Priority povoleno.",defaultOwner:"Výchozí vlastník",defaultOwnerDesc:"Počáteční vlastník pro nové úkoly, když je pole Vlastník povoleno.",priority:"Priorita",priorityDesc:"Povolit metadata priority u úkolů.",assignee:"Přiřazeno",assigneeDesc:"Povolit metadata přiřazení u úkolů.",tags:"Štítky",tagsDesc:"Povolit metadata štítků u úkolů.",dueDate:"Termín",dueDateDesc:"Povolit metadata termínu u úkolů.",ownerType:"Typ vlastníka",ownerTypeDesc:"Povolit metadata vlastnictví člověk/AI u úkolů.",tools:"Nástroje",toolsDesc:"Povolit volné nápovědy k nástrojům pro úkoly AI agenta.",searchPlaceholder:"Hledat libovolnou možnost",searchResults:"Výsledky hledání",searchResultsLabel:"Výsledky hledání",matchingOptions:"odpovídajících možností v nastavení projektu.",options:"možností",noOptionFound:"Možnost nenalezena",tryAnotherSearch:"Zkuste jiný hledaný výraz.",currentValue:"Aktuální hodnota",configKey:"Konfigurační klíč",choices:"Možnosti",hoverForHelp:"Najeďte nebo přejděte na jinou možnost pro aktualizaci této nápovědy.",pages:"Stránky",backToBoard:"Zpět na nástěnku",matches:"Shody",settingsTitle:"Nastavení",kickerInterface:"Rozhraní",kickerAutomation:"Automatizace",kickerIdentifiers:"Identifikátory",kickerMetadata:"Metadata"},gqe={detected:"Zjištěn konflikt",detectedDesc:"Tento úkol byl externě změněn během vaší úpravy.",conflictingChanges:"Úkol <code>{{taskId}}</code> má konfliktní změny. Zvolte, jak vyřešit:",yourVersion:"Vaše verze (lokální)",diskVersion:"Verze na disku (vzdálená)",cancel:"Zrušit",reloadFromDisk:"Načíst z disku",keepMyVersion:"Zachovat moji verzi",title:"Název",priority:"Priorita",body:"Obsah",subtasks:"Dílčí úkoly",none:"(žádný)"},hqe={title:"Název",subtasks:"Dílčí úkol",context:"Kontext",notes:"Poznámky",whatWasDone:"Co bylo provedeno",tags:"Štítky",assignee:"Přiřazeno",priority:"Priorita"},bqe={settingsUpdatedExternally:"Nastavení bylo externě aktualizováno — obnoveno"},vqe={en:"Angličtina",fr:"Francouzština",zh:"Čínština",es:"Španělština",pt:"Portugalština",hi:"Hindština",de:"Němčina",it:"Italština",ja:"Japonština",ko:"Korejština",ru:"Ruština",ar:"Arabština",nl:"Nizozemština",pl:"Polština",tr:"Turečtina",vi:"Vietnamština",th:"Thajština",id:"Indonéština",cs:"Čeština",sv:"Švédština",da:"Dánština",fi:"Finština",no:"Norština",hu:"Maďarština",el:"Řečtina",he:"Hebrejština",uk:"Ukrajinština"},yqe={app:aqe,common:iqe,emptyState:rqe,header:sqe,filterBar:oqe,column:cqe,card:pqe,drawer:lqe,subtask:dqe,commandPalette:uqe,listView:mqe,settings:fqe,conflict:gqe,sectionLabels:hqe,toast:bqe,languageNames:vqe},_qe={name:"kandown",tagline:"Διαχειριστής Kanban με AI σε Markdown"},kqe={search:"Αναζήτηση",searchPlaceholder:"Αναζήτηση εργασιών...",cancel:"Ακύρωση",save:"Αποθήκευση",delete:"Διαγραφή",close:"Κλείσιμο",clear:"Καθαρισμός",clearAll:"Καθαρισμός όλων",add:"Προσθήκη",remove:"Αφαίρεση",done:"Ολοκληρώθηκε",loading:"Φόρτωση...",noResults:"Δεν βρέθηκαν αποτελέσματα",currentValue:"Τρέχουσα τιμή",configKey:"Κλειδί διαμόρφωσης",choices:"Επιλογές",openFolder:"Άνοιγμα φακέλου",selectFolder:"Επιλογή φακέλου",recent:"Πρόσφατα",settings:"Ρυθμίσεις",board:"Πίνακας",reload:"Επαναφόρτωση",newTask:"Νέα εργασία"},wqe={unsupportedBrowser:"Μη υποστηριζόμενος browser",unsupportedBrowserDesc:"Αυτή η μηχανή απαιτεί το <code>File System Access API</code>. Χρησιμοποιήστε Chrome, Edge, Brave ή Opera. Τα Firefox και Safari δεν το υποστηρίζουν ακόμη.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},xqe={tasks:"εργασίες",recentProjects:"Πρόσφατα έργα","openFolder...":"Άνοιγμα φακέλου..."},Aqe={searchPlaceholder:"Αναζήτηση εργασιών...",clearAll:"Καθαρισμός όλων",ownerAll:"👤 Όλοι",ownerHuman:"👤 Άνθρωπος",ownerAI:"🤖 AI"},Cqe={addTask:"Προσθήκη εργασίας",columnColor:"Χρώμα στήλης",color:"Χρώμα"},Nqe={delete:"Διαγραφή εργασίας",confirmDelete:"Κάντε ξανά κλικ για διαγραφή"},Sqe={close:"Κλείσιμο (Esc)",taskTitle:"Τίτλος εργασίας",doneSubtasks:"ολοκληρωμένες",priority:"Προτεραιότητα",noPriority:"Χωρίς προτεραιότητα",urgentP1:"Επείγον · P1",highP2:"Υψηλή · P2",mediumP3:"Μεσαία · P3",lowP4:"Χαμηλή · P4",assignee:"Υπεύθυνος",assigneePlaceholder:"όνομα χρήστη",tags:"Ετικέτες",tagsPlaceholder:"backend, security, api",dueDate:"Ημερομηνία λήξης",owner:"Ιδιοκτήτης",unset:"Μη ορισμένο",human:"👤 Άνθρωπος",ai:"🤖 AI",tools:"Εργαλεία",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Περιγραφή",descriptionPlaceholder:"Γράψτε κάποιο πλαίσιο, συνδέσμους, αποφάσεις...",report:"Αναφορά",reportPlaceholder:"Η έξοδος AI θα εμφανιστεί εδώ...",subtasks:"Υποεκκρεμούντα",addSubtask:"Προσθήκη υποεκκρεμούντα",deleteTask:"Διαγραφή",saveClose:"Αποθήκευση & Κλείσιμο",cancel:"Ακύρωση"},$qe={placeholder:"Υποεκκρεμούν...",description:"Περιγραφή",descriptionPlaceholder:"Προσθέστε πλαίσιο, συνδέσμους ή σημειώσεις για αυτό το βήμα...",report:"Αναφορά",reportPlaceholder:"Τι έγινε, αποφάσεις που πάρθηκαν, συμβιβασμοί...",aiFillsThis:"Το AI συμπληρώνει αυτό μετά την ολοκλήρωση",collapse:"Σύμπτυξη",expand:"Ανάπτυξη"},Eqe={placeholder:"Πληκτρολογήστε μια εντολή ή αναζητήστε...",actions:"Ενέργειες",view:"Προβολή",tasks:"Εργασίες",newTask:"Νέα εργασία",createNew:"Δημιουργία νέας εργασίας",reloadBoard:"Επαναφόρτωση πίνακα",readFromDisk:"Επαναφορά αρχείων από δίσκο",clearFilters:"Καθαρισμός φίλτρων",boardView:"Προβολή πίνακα",listView:"Προβολή λίστας",compactDensity:"Συμπαγής πυκνότητα",comfortableDensity:"Άνετη πυκνότητα",navigate:"πλοήγηση",select:"επιλογή"},Pqe={id:"ID",title:"Τίτλος",status:"Κατάσταση",tags:"Ετικέτες",assignee:"Υπεύθυνος",progress:"Πρόοδος",noMatchingTasks:"Δεν βρέθηκαν αντίστοιχες εργασίες"},Tqe={noProjectOpen:"Δεν έχει ανοίξει έργο",appearance:"Εμφάνιση",appearanceDesc:"Θέμα, εμφάνιση, φόντο, γραμματοσειρά και γλώσσα.",agent:"Πράκτορας",agentDesc:"Συμπεριφορά παρακολούθησης για εργασίες που υποστηρίζονται από AI.",board:"Πίνακας",boardDesc:"Συμπεριφορά αναγνωριστικού εργασίας και προεπιλογές επιπέδου πίνακα.",fields:"Πεδία",fieldsDesc:"Προαιρετικά πεδία που εμφανίζονται σε εργασίες και κάρτες πίνακα.",language:"Γλώσσα",languageDesc:"Γλώσσα διεπαφής αποθηκευμένη στη διαμόρφωση αυτού του έργου.",mode:"Λειτουργία",modeDesc:"Ακολουθεί αυτόματα την προτίμηση φωτός ή σκότους του συστήματός σας.",auto:"Αυτόματο",light:"Ανοιχτό",dark:"Σκοτεινό",skin:"Εμφάνιση",skinDesc:"Τα χρωματικά tokens αποθηκεύονται ανά έργο στο kandown.json.",background:"Φόντο",backgroundDesc:"Επιλέξτε επίπεδη επιφάνεια ή κινούμενο υγρό φόντο.",font:"Γραμματοσειρά",fontDesc:"Στοίβα γραμματοσειράς τοπικού συστήματος, χωρίς αίτημα δικτύου.",suggestFollowUp:"Πρόταση συνεχειών εργασιών",suggestFollowUpDesc:"Ζητήστε από τους πράκτορες να προτείνουν επόμενες εργασίες μετά την ολοκλήρωση μιας.",maxSuggestions:"Μέγιστες προτάσεις",maxSuggestionsDesc:"Περιορίζει τον αριθμό συνεχειών εργασιών που μπορεί να προτείνει ένας πράκτορας.",defaultPriority:"Προεπιλεγμένη προτεραιότητα",defaultPriorityDesc:"Αρχική προτεραιότητα για νέες εργασίες όταν είναι ενεργοποιημένο το πεδίο Προτεραιότητα.",defaultOwner:"Προεπιλεγμένος ιδιοκτήτης",defaultOwnerDesc:"Αρχικός ιδιοκτήτης για νέες εργασίες όταν είναι ενεργοποιημένο το πεδίο Ιδιοκτήτης.",priority:"Προτεραιότητα",priorityDesc:"Ενεργοποίηση μεταδεδομένων προτεραιότητας σε εργασίες.",assignee:"Υπεύθυνος",assigneeDesc:"Ενεργοποίηση μεταδεδομένων υπευθύνου σε εργασίες.",tags:"Ετικέτες",tagsDesc:"Ενεργοποίηση μεταδεδομένων ετικετών σε εργασίες.",dueDate:"Ημερομηνία λήξης",dueDateDesc:"Ενεργοποίηση μεταδεδομένων ημερομηνίας λήξης σε εργασίες.",ownerType:"Τύπος ιδιοκτήτη",ownerTypeDesc:"Ενεργοποίηση μεταδεδομένων ιδιοκτησίας ανθρώπου/AI σε εργασίες.",tools:"Εργαλεία",toolsDesc:"Ενεργοποίηση υπόδειξης εργαλείων ελεύθερης μορφής για εργασίες AI-agent.",searchPlaceholder:"Αναζήτηση οποιασδήποτε επιλογής",searchResults:"Αποτελέσματα αναζήτησης",searchResultsLabel:"Αποτελέσματα αναζήτησης",matchingOptions:"αντιστοιχούσες επιλογές στις ρυθμίσεις έργου.",options:"επιλογές",noOptionFound:"Δεν βρέθηκε επιλογή",tryAnotherSearch:"Δοκιμάστε έναν άλλο όρο αναζήτησης.",currentValue:"Τρέχουσα τιμή",configKey:"Κλειδί διαμόρφωσης",choices:"Επιλογές",hoverForHelp:"Περάστε ή μετακινηθείτε με Tab σε μια άλλη επιλογή για να ενημερώσετε αυτόν τον πίνακα βοήθειας.",pages:"Σελίδες",backToBoard:"Επιστροφή στον πίνακα",matches:"Αντιστοιχίες",settingsTitle:"Ρυθμίσεις",kickerInterface:"Διεπαφή",kickerAutomation:"Αυτοματοποίηση",kickerIdentifiers:"Αναγνωριστικά",kickerMetadata:"Μεταδεδομένα"},Lqe={detected:"Εντοπίστηκε διένεξη",detectedDesc:"Αυτή η εργασία τροποποιήθηκε εξωτερικά κατά τη διάρκεια της επεξεργασίας σας.",conflictingChanges:"Η εργασία <code>{{taskId}}</code> έχει αντικρουόμενες αλλαγές. Επιλέξτε πώς να επιλυθεί:",yourVersion:"Η έκδοσή σας (τοπική)",diskVersion:"Έκδοση δίσκου (απομακρυσμένη)",cancel:"Ακύρωση",reloadFromDisk:"Επαναφόρτωση από δίσκο",keepMyVersion:"Κράτα την έκδοσή μου",title:"Τίτλος",priority:"Προτεραιότητα",body:"Σώμα",subtasks:"Υποεκκρεμούντα",none:"(καμία)"},Mqe={title:"Τίτλος",subtasks:"Υποεκκρεμούν",context:"Πλαίσιο",notes:"Σημειώσεις",whatWasDone:"Τι έγινε",tags:"Ετικέτες",assignee:"Υπεύθυνος",priority:"Προτεραιότητα"},jqe={settingsUpdatedExternally:"Οι ρυθμίσεις ενημερώθηκαν εξωτερικά — επαναφορτώθηκαν"},Dqe={en:"Αγγλικά",fr:"Γαλλικά",zh:"Κινέζικα",es:"Ισπανικά",pt:"Πορτογαλικά",hi:"Χίντι",de:"Γερμανικά",it:"Ιταλικά",ja:"Ιαπωνικά",ko:"Κορεατικά",ru:"Ρωσικά",ar:"Αραβικά",nl:"Ολλανδικά",pl:"Πολωνικά",tr:"Τουρκικά",vi:"Βιετναμέζικα",th:"Ταϊλανδικά",id:"Ινδονησιακά",cs:"Τσεχικά",sv:"Σουηδικά",da:"Δανικά",fi:"Φινλανδικά",no:"Νορβηγικά",hu:"Ουγγρικά",el:"Ελληνικά",he:"Εβραϊκά",uk:"Ουκρανικά"},Iqe={app:_qe,common:kqe,emptyState:wqe,header:xqe,filterBar:Aqe,column:Cqe,card:Nqe,drawer:Sqe,subtask:$qe,commandPalette:Eqe,listView:Pqe,settings:Tqe,conflict:Lqe,sectionLabels:Mqe,toast:jqe,languageNames:Dqe},Rqe={name:"kandown",tagline:"AI-alapú Markdown Kanban kezelő"},Oqe={search:"Keresés",searchPlaceholder:"Feladatok keresése...",cancel:"Mégse",save:"Mentés",delete:"Törlés",close:"Bezárás",clear:"Törlés",clearAll:"Összes törlése",add:"Hozzáadás",remove:"Eltávolítás",done:"Kész",loading:"Betöltés...",noResults:"Nincs eredmény",currentValue:"Jelenlegi érték",configKey:"Konfigurációs kulcs",choices:"Lehetőségek",openFolder:"Mappa megnyitása",selectFolder:"Mappa kiválasztása",recent:"Legutóbbi",settings:"Beállítások",board:"Tábla",reload:"Újratöltés",newTask:"Új feladat"},Fqe={unsupportedBrowser:"Nem támogatott böngésző",unsupportedBrowserDesc:"Ez a motor a <code>File System Access API</code>-t igényli. Használj Chrome-ot, Edge-et, Brave-et vagy Opera-t. A Firefox és Safari még nem támogatja.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},zqe={tasks:"feladat",recentProjects:"Legutóbbi projektek","openFolder...":"Mappa megnyitása..."},Hqe={searchPlaceholder:"Feladatok keresése...",clearAll:"Összes törlése",ownerAll:"👤 Minden",ownerHuman:"👤 Ember",ownerAI:"🤖 AI"},Bqe={addTask:"Feladat hozzáadása",columnColor:"Oszlop színe",color:"Szín"},qqe={delete:"Feladat törlése",confirmDelete:"Kattints újra a törléshez"},Uqe={close:"Bezárás (Esc)",taskTitle:"Feladat címe",doneSubtasks:"kész",priority:"Prioritás",noPriority:"Nincs prioritás",urgentP1:"Sürgős · P1",highP2:"Magas · P2",mediumP3:"Közepes · P3",lowP4:"Alacsony · P4",assignee:"Felelős",assigneePlaceholder:"felhasználónév",tags:"Címkék",tagsPlaceholder:"backend, security, api",dueDate:"Határidő",owner:"Tulajdonos",unset:"Nincs beállítva",human:"👤 Ember",ai:"🤖 AI",tools:"Eszközök",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Leírás",descriptionPlaceholder:"Írj kontextust, linkeket, döntéseket...",report:"Jelentés",reportPlaceholder:"Az AI kimenete itt jelenik meg...",subtasks:"Alfeladatok",addSubtask:"Alfeladat hozzáadása",deleteTask:"Törlés",saveClose:"Mentés és bezárás",cancel:"Mégse"},Vqe={placeholder:"Alfeladat...",description:"Leírás",descriptionPlaceholder:"Adj kontextust, linkeket vagy jegyzeteket ehhez a lépéshez...",report:"Jelentés",reportPlaceholder:"Mi történt, milyen döntések születtek, kompromisszumok...",aiFillsThis:"Az AI ezt tölti ki a befejezés után",collapse:"Összecsukás",expand:"Kibontás"},Zqe={placeholder:"Írj be egy parancsot vagy keress...",actions:"Műveletek",view:"Nézet",tasks:"Feladatok",newTask:"Új feladat",createNew:"Új feladat létrehozása",reloadBoard:"Tábla újratöltése",readFromDisk:"Fájlok újraolvasása a lemezről",clearFilters:"Szűrők törlése",boardView:"Tábla nézet",listView:"Lista nézet",compactDensity:"Kompakt sűrűség",comfortableDensity:"Kényelmes sűrűség",navigate:"navigáció",select:"kiválasztás"},Gqe={id:"ID",title:"Cím",status:"Állapot",tags:"Címkék",assignee:"Felelős",progress:"Haladás",noMatchingTasks:"Nincs matching feladat"},Wqe={noProjectOpen:"Nincs projekt megnyitva",appearance:"Megjelenés",appearanceDesc:"Téma, kinézet, háttér, betűtípus és nyelv.",agent:"Ügynök",agentDesc:"Követési viselkedés az AI-asszisztált feladatokhoz.",board:"Tábla",boardDesc:"Feladat azonosító viselkedés és tábla szintű alapértékek.",fields:"Mezők",fieldsDesc:"Opcionális mezők, amelyek a feladatokon és a tábla kártyáin jelennek meg.",language:"Nyelv",languageDesc:"A felület nyelve ebben a projekt konfigurációban tárolva.",mode:"Mód",modeDesc:"Automatikusan követi a rendszered világos vagy sötét beállítását.",auto:"Automatikus",light:"Világos",dark:"Sötét",skin:"Kinézet",skinDesc:"A szín tokenek projektenként tárolódnak a kandown.json-ban.",background:"Háttér",backgroundDesc:"Válassz lapos felületet vagy animált folyékony hátteret.",font:"Betűtípus",fontDesc:"Helyi rendszer betűtípus, hálózati kérés nélkül.",suggestFollowUp:"Követő feladatok javaslata",suggestFollowUpDesc:"Kérd meg az ügynököket, hogy javasoljanak következő feladatokat az egyik befejezése után.",maxSuggestions:"Max javaslatok",maxSuggestionsDesc:"Korlátozza az ügynök által javasolható követő feladatok számát.",defaultPriority:"Alapértelmezett prioritás",defaultPriorityDesc:"Kezdeti prioritás az új feladatokhoz, amikor a Prioritás mező engedélyezve van.",defaultOwner:"Alapértelmezett tulajdonos",defaultOwnerDesc:"Kezdeti tulajdonos az új feladatokhoz, amikor a Tulajdonos mező engedélyezve van.",priority:"Prioritás",priorityDesc:"Prioritás metaadatok engedélyezése a feladatokon.",assignee:"Felelős",assigneeDesc:"Felelős metaadatok engedélyezése a feladatokon.",tags:"Címkék",tagsDesc:"Címke metaadatok engedélyezése a feladatokon.",dueDate:"Határidő",dueDateDesc:"Határidő metaadatok engedélyezése a feladatokon.",ownerType:"Tulajdonos típusa",ownerTypeDesc:"Ember/AI tulajdonosi metaadatok engedélyezése a feladatokon.",tools:"Eszközök",toolsDesc:"Szabad formájú eszköz tippek engedélyezése AI-agent feladatokhoz.",searchPlaceholder:"Bármilyen opció keresése",searchResults:"Keresési eredmények",searchResultsLabel:"Keresési eredmények",matchingOptions:"matching opció a projekt beállításokon.",options:"opció",noOptionFound:"Nem található opció",tryAnotherSearch:"Próbálj egy másik keresési kifejezést.",currentValue:"Jelenlegi érték",configKey:"Konfigurációs kulcs",choices:"Lehetőségek",hoverForHelp:"Vidd fölé vagy tab-olj egy másik opcióra a súgópanel frissítéséhez.",pages:"Oldalak",backToBoard:"Vissza a táblához",matches:"Találatok",settingsTitle:"Beállítások",kickerInterface:"Felület",kickerAutomation:"Automatizálás",kickerIdentifiers:"Azonosítók",kickerMetadata:"Metaadatok"},Kqe={detected:"Ütközés észlelve",detectedDesc:"Ezt a feladatot külsőleg módosították, miközben szerkesztetted.",conflictingChanges:"A <code>{{taskId}}</code> feladatnak ütköző változtatásai vannak. Válassz megoldást:",yourVersion:"A te verziód (lokális)",diskVersion:"Lemez verzió (távoli)",cancel:"Mégse",reloadFromDisk:"Újratöltés a lemezről",keepMyVersion:"Tartsd meg a verziómat",title:"Cím",priority:"Prioritás",body:"Törzs",subtasks:"Alfeladatok",none:"(nincs)"},Yqe={title:"Cím",subtasks:"Alfeladat",context:"Kontextus",notes:"Jegyzetek",whatWasDone:"Mi történt",tags:"Címkék",assignee:"Felelős",priority:"Prioritás"},Xqe={settingsUpdatedExternally:"Beállítások külsőleg frissítve — újratöltve"},Qqe={en:"Angol",fr:"Francia",zh:"Kínai",es:"Spanyol",pt:"Portugál",hi:"Hindi",de:"Német",it:"Olasz",ja:"Japán",ko:"Koreai",ru:"Orosz",ar:"Arab",nl:"Holland",pl:"Lengyel",tr:"Török",vi:"Vietnámi",th:"Thai",id:"Indonéz",cs:"Cseh",sv:"Svéd",da:"Dán",fi:"Finn",no:"Norvég",hu:"Magyar",el:"Görög",he:"Héber",uk:"Ukrán"},Jqe={app:Rqe,common:Oqe,emptyState:Fqe,header:zqe,filterBar:Hqe,column:Bqe,card:qqe,drawer:Uqe,subtask:Vqe,commandPalette:Zqe,listView:Gqe,settings:Wqe,conflict:Kqe,sectionLabels:Yqe,toast:Xqe,languageNames:Qqe},eUe={name:"kandown",tagline:"AI Markdown Kanban -hallinta"},tUe={search:"Hae",searchPlaceholder:"Hae tehtäviä...",cancel:"Peruuta",save:"Tallenna",delete:"Poista",close:"Sulje",clear:"Tyhjennä",clearAll:"Tyhjennä kaikki",add:"Lisää",remove:"Poista",done:"Valmis",loading:"Ladataan...",noResults:"Ei tuloksia",currentValue:"Nykyinen arvo",configKey:"Asetusavain",choices:"Vaihtoehdot",openFolder:"Avaa kansio",selectFolder:"Valitse kansio",recent:"Viimeaikaiset",settings:"Asetukset",board:"K board",reload:"Lataa uudelleen",newTask:"Uusi tehtävä"},nUe={unsupportedBrowser:"Selain ei ole tuettu",unsupportedBrowserDesc:"Tämä moottori vaatii <code>File System Access API</code>:n. Käytä Chromea, Edgeä, Bravea tai Operaa. Firefox ja Safari eivät vielä tue sitä.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},aUe={tasks:"tehtävää",recentProjects:"Viimeaikaiset projektit","openFolder...":"Avaa kansio..."},iUe={searchPlaceholder:"Hae tehtäviä...",clearAll:"Tyhjennä kaikki",ownerAll:"👤 Kaikki",ownerHuman:"👤 Ihminen",ownerAI:"🤖 AI"},rUe={addTask:"Lisää tehtävä",columnColor:"Sarakkeen väri",color:"Väri"},sUe={delete:"Poista tehtävä",confirmDelete:"Klikkaa uudelleen poistaaksesi"},oUe={close:"Sulje (Esc)",taskTitle:"Tehtävän otsikko",doneSubtasks:"tehty",priority:"Prioriteetti",noPriority:"Ei prioriteettia",urgentP1:"Kiireellinen · P1",highP2:"Korkea · P2",mediumP3:"Keskitaso · P3",lowP4:"Matala · P4",assignee:"Vastuuhenkilö",assigneePlaceholder:"käyttäjänimi",tags:"Tunnisteet",tagsPlaceholder:"backend, tietoturva, api",dueDate:"Eräpäivä",owner:"Omistaja",unset:"Ei asetettu",human:"👤 Ihminen",ai:"🤖 AI",tools:"Työkalut",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Kuvaus",descriptionPlaceholder:"Kirjoita taustatietoja, linkkejä, päätöksiä...",report:"Raportti",reportPlaceholder:"AI:n tuloste näkyy tässä...",subtasks:"Alitehtävät",addSubtask:"Lisää alitehtävä",deleteTask:"Poista",saveClose:"Tallenna & Sulje",cancel:"Peruuta"},cUe={placeholder:"Alitehtävä...",description:"Kuvaus",descriptionPlaceholder:"Lisää taustatietoja, linkkejä tai muistiinpanoja tähän vaiheeseen...",report:"Raportti",reportPlaceholder:"Mitä tehtiin, tehdyt päätökset, kompromissit...",aiFillsThis:"AI täyttää tämän suorituksen jälkeen",collapse:"Piilota",expand:"Laajenna"},pUe={placeholder:"Kirjoita komento tai hae...",actions:"Toiminnot",view:"Näkymä",tasks:"Tehtävät",newTask:"Uusi tehtävä",createNew:"Luo uusi tehtävä",reloadBoard:"Lataa boardi uudelleen",readFromDisk:"Lue tiedostot levyltä uudelleen",clearFilters:"Tyhjennä suodattimet",boardView:"Board-näkymä",listView:"Listanäkymä",compactDensity:"Tiivis tiheys",comfortableDensity:"Mukava tiheys",navigate:"navigoi",select:"valitse"},lUe={id:"ID",title:"Otsikko",status:"Tila",tags:"Tunnisteet",assignee:"Vastuuhenkilö",progress:"Edistyminen",noMatchingTasks:"Ei vastaavia tehtäviä"},dUe={noProjectOpen:"Projektia ei ole avattu",appearance:"Ulkoasu",appearanceDesc:"Teema, skin, tausta, fontti ja kieli.",agent:"Agentti",agentDesc:"Seurantakäyttäytyminen AI-avusteiselle tehtävätyölle.",board:"Boardi",boardDesc:"Tehtävä-ID-käyttäytyminen ja boardi-tason oletukset.",fields:"Kentät",fieldsDesc:"Valinnaiset kentät, jotka näytetään tehtävissä ja board-korteissa.",language:"Kieli",languageDesc:"Käyttöliittymän kieli tallennetaan tämän projektin asetuksiin.",mode:"Tila",modeDesc:"Seuraa automaattisesti järjestelmäsi vaaleaa tai tummaa asetusta.",auto:"Automaattinen",light:"Vaalea",dark:" Tumma",skin:"Ulkoasu",skinDesc:"Värit tallennetaan projektikohtaisesti kandown.json:ssa.",background:"Tausta",backgroundDesc:"Valitse litteä pinta tai animoitu nestemäinen tausta.",font:"Fontti",fontDesc:"Paikallinen järjestelmäfontti ilman verkkopyyntöä.",suggestFollowUp:"Ehdota jatkotehtäviä",suggestFollowUpDesc:"Pyydä agenteja ehdottamaan seuraavia tehtäviä yhden valmistuttua.",maxSuggestions:"Enimmäismäärä ehdotuksia",maxSuggestionsDesc:"Rajoittaa agentin ehdottamien jatkotehtävien määrää.",defaultPriority:"Oletusprioriteetti",defaultPriorityDesc:"Alkuprioriteetti uusille tehtäville, kun Prioriteetti-kenttä on käytössä.",defaultOwner:"Oletusomistaja",defaultOwnerDesc:"Alkuomistaja uusille tehtäville, kun Omistaja-kenttä on käytössä.",priority:"Prioriteetti",priorityDesc:"Ota käyttöön prioriteettimetatiedot tehtävissä.",assignee:"Vastuuhenkilö",assigneeDesc:"Ota käyttöön vastuuhenkilömetatiedot tehtävissä.",tags:"Tunnisteet",tagsDesc:"Ota käyttöön tunistikemetatiedot tehtävissä.",dueDate:"Eräpäivä",dueDateDesc:"Ota käyttöön eräpäivämetatiedot tehtävissä.",ownerType:"Omistajatyyppi",ownerTypeDesc:"Ota käyttöön ihmis/AI-omistajuusmetatiedot tehtävissä.",tools:"Työkalut",toolsDesc:"Ota käyttöön vapaamuotoiset työkaluvihjeet AI-agenttitehtäville.",searchPlaceholder:"Hae mitä tahansa vaihtoehtoa",searchResults:"Hakutulokset",searchResultsLabel:"Hakutulokset",matchingOptions:"vastaavaa vaihtoehtoa projektin asetuksissa.",options:"vaihtoehtoa",noOptionFound:"Vaihtoehtoa ei löytynyt",tryAnotherSearch:"Kokeile toista hakutermiä.",currentValue:"Nykyinen arvo",configKey:"Asetusavain",choices:"Vaihtoehdot",hoverForHelp:"Viittaa tai tabaa toisen vaihtoehdon päälle päivittääksesi tämän ohjepaneelin.",pages:"Sivut",backToBoard:"Takaisin boardille",matches:"Osumat",settingsTitle:"Asetukset",kickerInterface:"Käyttöliittymä",kickerAutomation:"Automaatio",kickerIdentifiers:"Tunnisteet",kickerMetadata:"Metatiedot"},uUe={detected:"Ristiriita havaittu",detectedDesc:"Tätä tehtävää muokattiin ulkoisesti, kun sinä muokkasit sitä.",conflictingChanges:"Tehtävällä <code>{{taskId}}</code> on ristiriitaisia muutoksia. Valitse miten ratkaista:",yourVersion:"Sinun versiosi (paikallinen)",diskVersion:"Levyn versio (etä)",cancel:"Peruuta",reloadFromDisk:"Lataa levyltä",keepMyVersion:"Pidä oma versio",title:"Otsikko",priority:"Prioriteetti",body:"Sisältö",subtasks:"Alitehtävät",none:"(ei mitään)"},mUe={title:"Otsikko",subtasks:"Alitehtävä",context:"Konteksti",notes:"Muistiinpanot",whatWasDone:"Mitä tehtiin",tags:"Tunnisteet",assignee:"Vastuuhenkilö",priority:"Prioriteetti"},fUe={settingsUpdatedExternally:"Asetukset päivitettiin ulkoisesti — ladattu uudelleen"},gUe={en:"Englanti",fi:"Suomi",da:"Tanska",no:"Norja",sk:"Slovakia",bg:"Bulgaria",sr:"Serbia",hr:"Kroatia",lt:"Lietuva",lv:"Latvia",et:"Viro",sl:"Slovenia",hu:"Unkari",cs:"Tšekki",pl:"Puola",ro:"Romania",de:"Saksa",fr:"Ranska",es:"Espanja",pt:"Portugali",it:"Italia",nl:"Hollanti",sv:"Ruotsi",ja:"Japani",ko:"Korea",zh:"Kiina",ar:"Arabia"},hUe={app:eUe,common:tUe,emptyState:nUe,header:aUe,filterBar:iUe,column:rUe,card:sUe,drawer:oUe,subtask:cUe,commandPalette:pUe,listView:lUe,settings:dUe,conflict:uUe,sectionLabels:mUe,toast:fUe,languageNames:gUe},bUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},vUe={search:"Søg",searchPlaceholder:"Søg opgaver...",cancel:"Annullér",save:"Gem",delete:"Slet",close:"Luk",clear:"Ryd",clearAll:"Ryd alt",add:"Tilføj",remove:"Fjern",done:"Færdig",loading:"Indlæser...",noResults:"Ingen resultater",currentValue:"Nuværende værdi",configKey:"Konfigurationsnøgle",choices:"Valgmuligheder",openFolder:"Åbn mappe",selectFolder:"Vælg mappe",recent:"Seneste",settings:"Indstillinger",board:"Board",reload:"Genindlæs",newTask:"Ny opgave"},yUe={unsupportedBrowser:"Ikke understøttet browser",unsupportedBrowserDesc:"Denne motor kræver <code>File System Access API</code>. Brug Chrome, Edge, Brave eller Opera. Firefox og Safari understøtter det ikke endnu.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},_Ue={tasks:"opgaver",recentProjects:"Seneste projekter","openFolder...":"Åbn mappe..."},kUe={searchPlaceholder:"Søg opgaver...",clearAll:"Ryd alt",ownerAll:"👤 Alle",ownerHuman:"👤 Menneske",ownerAI:"🤖 AI"},wUe={addTask:"Tilføj opgave",columnColor:"Kolonnefarve",color:"Farve"},xUe={delete:"Slet opgave",confirmDelete:"Klik igen for at slette"},AUe={close:"Luk (Esc)",taskTitle:"Opgavetitel",doneSubtasks:"færdig",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Haste · P1",highP2:"Høj · P2",mediumP3:"Mellem · P3",lowP4:"Lav · P4",assignee:"Ansvarlig",assigneePlaceholder:"brugernavn",tags:"Tags",tagsPlaceholder:"backend, sikkerhed, api",dueDate:"Tidsfrist",owner:"Ejer",unset:"Ikke sat",human:"👤 Menneske",ai:"🤖 AI",tools:"Værktøjer",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivelse",descriptionPlaceholder:"Skriv noget kontekst, links, beslutninger...",report:"Rapport",reportPlaceholder:"AI-output vises her...",subtasks:"Underopgaver",addSubtask:"Tilføj underopgave",deleteTask:"Slet",saveClose:"Gem & Luk",cancel:"Annullér"},CUe={placeholder:"Underopgave...",description:"Beskrivelse",descriptionPlaceholder:"Tilføj kontekst, links eller noter til dette trin...",report:"Rapport",reportPlaceholder:"Hvad der blev gjort, beslutninger taget, afvejen...",aiFillsThis:"AI udfylder dette efter færdiggørelse",collapse:"Skjul",expand:"Vis"},NUe={placeholder:"Skriv en kommando eller søg...",actions:"Handlinger",view:"Vis",tasks:"Opgaver",newTask:"Ny opgave",createNew:"Opret en ny opgave",reloadBoard:"Genindlæs board",readFromDisk:"Læs filer fra disk igen",clearFilters:"Ryd filtre",boardView:"Board-visning",listView:"Listevisning",compactDensity:"Kompakt tæthed",comfortableDensity:"Behagelig tæthed",navigate:"navigér",select:"vælg"},SUe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Ansvarlig",progress:"Fremskridt",noMatchingTasks:"Ingen matchende opgaver"},$Ue={noProjectOpen:"Intet projekt åbent",appearance:"Udseende",appearanceDesc:"Tema, skin, baggrund, font og sprog.",agent:"Agent",agentDesc:"Opfølgningsadfærd for AI-assisteret opgavearbejde.",board:"Board",boardDesc:"Opgave-ID-adfærd og board-niveau standarder.",fields:"Felter",fieldsDesc:"Valgfrie felter vist på opgaver og board-kort.",language:"Sprog",languageDesc:"UI-sprog gemt i denne projektkonfiguration.",mode:"Tilstand",modeDesc:"Følger automatisk dit systems lys eller mørk præference.",auto:"Automatisk",light:"Lys",dark:"Mørk",skin:"Skin",skinDesc:"Farvetokens gemmes per projekt i kandown.json.",background:"Baggrund",backgroundDesc:"Vælg en flad overflade eller animeret væskebaggrund.",font:"Font",fontDesc:"Lokal systemfont uden netværksforespørgsel.",suggestFollowUp:"Foreslå opfølgningsopgaver",suggestFollowUpDesc:"Bed agenter om at foreslå næste opgaver efter at have færdiggjort én.",maxSuggestions:"Maks forslag",maxSuggestionsDesc:"Begrænser antallet af opfølgningsopgaver en agent kan foreslå.",defaultPriority:"Standard prioritet",defaultPriorityDesc:"Startprioritet for nye opgaver når Prioritet-feltet er aktiveret.",defaultOwner:"Standard ejer",defaultOwnerDesc:"Startejer for nye opgaver når Ejer-feltet er aktiveret.",priority:"Prioritet",priorityDesc:"Aktivér prioritetsmetadata på opgaver.",assignee:"Ansvarlig",assigneeDesc:"Aktivér ansvarlig-metadata på opgaver.",tags:"Tags",tagsDesc:"Aktivér tag-metadata på opgaver.",dueDate:"Tidsfrist",dueDateDesc:"Aktivér tidsfrist-metadata på opgaver.",ownerType:"Ejertype",ownerTypeDesc:"Aktivér menneske/AI-ejerskabsmeta på opgaver.",tools:"Værktøjer",toolsDesc:"Aktivér fritext-værktøjshints til AI-agentopgaver.",searchPlaceholder:"Søg enhver mulighed",searchResults:"Søgeresultater",searchResultsLabel:"Søgeresultater",matchingOptions:"matchende muligheder på tværs af projektindstillinger.",options:"muligheder",noOptionFound:"Ingen mulighed fundet",tryAnotherSearch:"Prøv et andet søgeord.",currentValue:"Nuværende værdi",configKey:"Konfigurationsnøgle",choices:"Valgmuligheder",hoverForHelp:"Hold over eller tab til en anden mulighed for at opdatere denne hjælpepanel.",pages:"Sider",backToBoard:"Tilbage til board",matches:"Matches",settingsTitle:"Indstillinger",kickerInterface:"Grænseflade",kickerAutomation:"Automation",kickerIdentifiers:"Identifikatorer",kickerMetadata:"Metadata"},EUe={detected:"Konflikt opdaget",detectedDesc:"Denne opgave blev ændret eksternt, mens du redigerede.",conflictingChanges:"Opgave <code>{{taskId}}</code> har modstridende ændringer. Vælg hvordan du vil løse det:",yourVersion:"Din version (lokal)",diskVersion:"Diskversion (fjern)",cancel:"Annullér",reloadFromDisk:"Genindlæs fra disk",keepMyVersion:"Behold min version",title:"Titel",priority:"Prioritet",body:"Indhold",subtasks:"Underopgaver",none:"(ingen)"},PUe={title:"Titel",subtasks:"Underopgave",context:"Kontekst",notes:"Noter",whatWasDone:"Hvad der blev gjort",tags:"Tags",assignee:"Ansvarlig",priority:"Prioritet"},TUe={settingsUpdatedExternally:"Indstillinger opdateret eksternt — genindlæst"},LUe={en:"Engelsk",fi:"Finsk",da:"Dansk",no:"Norsk",sk:"Slovakisk",bg:"Bulgarsk",sr:"Serbisk",hr:"Kroatisk",lt:"Litauisk",lv:"Lettisk",et:"Estisk",sl:"Slovensk",hu:"Ungarsk",cs:"Tjekkisk",pl:"Polsk",ro:"Rumænsk",de:"Tysk",fr:"Fransk",es:"Spansk",pt:"Portugisisk",it:"Italiensk",nl:"Hollandsk",sv:"Svensk",ja:"Japansk",ko:"Koreansk",zh:"Kinesisk",ar:"Arabisk"},MUe={app:bUe,common:vUe,emptyState:yUe,header:_Ue,filterBar:kUe,column:wUe,card:xUe,drawer:AUe,subtask:CUe,commandPalette:NUe,listView:SUe,settings:$Ue,conflict:EUe,sectionLabels:PUe,toast:TUe,languageNames:LUe},jUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},DUe={search:"Søk",searchPlaceholder:"Søk etter oppgaver...",cancel:"Avbryt",save:"Lagre",delete:"Slett",close:"Lukk",clear:"Tøm",clearAll:"Tøm alt",add:"Legg til",remove:"Fjern",done:"Ferdig",loading:"Laster...",noResults:"Ingen resultater",currentValue:"Gjeldende verdi",configKey:"Konfigurasjonsnøkkel",choices:"Valg",openFolder:"Åpne mappe",selectFolder:"Velg mappe",recent:"Nylig",settings:"Innstillinger",board:"Tavle",reload:"Last på nytt",newTask:"Ny oppgave"},IUe={unsupportedBrowser:"Nettleseren støttes ikke",unsupportedBrowserDesc:"Denne motoren krever <code>File System Access API</code>. Bruk Chrome, Edge, Brave eller Opera. Firefox og Safari støttes ennå ikke.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},RUe={tasks:"oppgaver",recentProjects:"Nylige prosjekter","openFolder...":"Åpne mappe..."},OUe={searchPlaceholder:"Søk etter oppgaver...",clearAll:"Tøm alt",ownerAll:"👤 Alle",ownerHuman:"👤 Menneske",ownerAI:"🤖 KI"},FUe={addTask:"Legg til oppgave",columnColor:"Kolonnefarge",color:"Farge"},zUe={delete:"Slett oppgave",confirmDelete:"Klikk igjen for å slette"},HUe={close:"Lukk (Esc)",taskTitle:"Oppgavetittel",doneSubtasks:"ferdig",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Haster · P1",highP2:"Høy · P2",mediumP3:"Medium · P3",lowP4:"Lav · P4",assignee:"Ansvarlig",assigneePlaceholder:"brukernavn",tags:"Merker",tagsPlaceholder:"backend, sikkerhet, api",dueDate:"Frist",owner:"Eier",unset:"Ikke satt",human:"👤 Menneske",ai:"🤖 KI",tools:"Verktøy",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivelse",descriptionPlaceholder:"Skriv kontekst, lenker, avgjørelser...",report:"Rapport",reportPlaceholder:"KI-output vil vises her...",subtasks:"Underoppgaver",addSubtask:"Legg til underoppgave",deleteTask:"Slett",saveClose:"Lagre & Lukk",cancel:"Avbryt"},BUe={placeholder:"Underoppgave...",description:"Beskrivelse",descriptionPlaceholder:"Legg til kontekst, lenker eller notater for dette steget...",report:"Rapport",reportPlaceholder:"Hva som ble gjort, avgjørelser tatt, avveininger...",aiFillsThis:"KI fyller ut dette etter fullføring",collapse:"Skjul",expand:"Vis"},qUe={placeholder:"Skriv en kommando eller søg...",actions:"Handlinger",view:"Vis",tasks:"Oppgaver",newTask:"Ny oppgave",createNew:"Opprett en ny oppgave",reloadBoard:"Last tavla på nytt",readFromDisk:"Les filene fra disk på nytt",clearFilters:"Tøm filtre",boardView:"Tavlevisning",listView:"Listevisning",compactDensity:"Kompakt tetthet",comfortableDensity:"Komfortabel tetthet",navigate:"naviger",select:"velg"},UUe={id:"ID",title:"Tittel",status:"Status",tags:"Merker",assignee:"Ansvarlig",progress:"Fremgang",noMatchingTasks:"Ingen matchende oppgaver"},VUe={noProjectOpen:"Ingen prosjekt åpent",appearance:"Utseende",appearanceDesc:"Tema, skinn, bakgrunn, skrift og språk.",agent:"Agent",agentDesc:"Oppfølgingsatferd for KI-assistert oppgavearbeid.",board:"Tavle",boardDesc:"Oppgave-ID-atferd og tavlenivå standarder.",fields:"Felt",fieldsDesc:"Valgfrie felt vist på oppgaver og tavlekort.",language:"Språk",languageDesc:"UI-språk lagret i denne prosjektkonfigurasjonen.",mode:"Modus",modeDesc:"Følger automatisk systemets lys eller mørk preferanse.",auto:"Auto",light:"Lys",dark:"Mørk",skin:"Skinn",skinDesc:"Fargetokens lagres per prosjekt i kandown.json.",background:"Bakgrunn",backgroundDesc:"Velg en flat overflate eller animert væskebakgrunn.",font:"Skrift",fontDesc:"Lokal systemskriftstabel, uten nettverksforespørsel.",suggestFollowUp:"Foreslå oppfølgingsoppgaver",suggestFollowUpDesc:"Be agenter om å foreslå neste oppgaver etter å ha fullført en.",maxSuggestions:"Maks forslag",maxSuggestionsDesc:"Begrenser antallet oppfølgingsoppgaver en agent kan foreslå.",defaultPriority:"Standard prioritet",defaultPriorityDesc:"Startprioritet for nye oppgaver når Prioritet-feltet er aktivert.",defaultOwner:"Standard eier",defaultOwnerDesc:"Starter eier for nye oppgaver når Eier-feltet er aktivert.",priority:"Prioritet",priorityDesc:"Aktiver prioritetsmetadata på oppgaver.",assignee:"Ansvarlig",assigneeDesc:"Aktiver ansvarlig-metadata på oppgaver.",tags:"Merker",tagsDesc:"Aktiver merke-metadata på oppgaver.",dueDate:"Frist",dueDateDesc:"Aktiver frist-metadata på oppgaver.",ownerType:"Eiertype",ownerTypeDesc:"Aktiver menneske/KI-eierskap-metadata på oppgaver.",tools:"Verktøy",toolsDesc:"Aktiver fri-form verktøyhints for KI-agentoppgaver.",searchPlaceholder:"Søk i et alternativ",searchResults:"Søkeresultater",searchResultsLabel:"Søkeresultater",matchingOptions:"matchende alternativer i prosjektinnstillingene.",options:"alternativer",noOptionFound:"Ingen alternativer funnet",tryAnotherSearch:"Prøv et annet søkeord.",currentValue:"Gjeldende verdi",configKey:"Konfigurasjonsnøkkel",choices:"Valg",hoverForHelp:"Hold over eller tab deg gjennom et annet alternativ for å oppdatere denne hjelpepanelet.",pages:"Sider",backToBoard:"Tilbake til tavla",matches:"Treff",settingsTitle:"Innstillinger",kickerInterface:"Grensesnitt",kickerAutomation:"Automatisering",kickerIdentifiers:"Identifikatorer",kickerMetadata:"Metadata"},ZUe={detected:"Konflikt oppdaget",detectedDesc:"Denne oppgaven ble endret eksternt mens du redigerte.",conflictingChanges:"Oppgave <code>{{taskId}}</code> har motstridende endringer. Velg hvordan du vil løse det:",yourVersion:"Din versjon (lokal)",diskVersion:"Diskversjon (ekstern)",cancel:"Avbryt",reloadFromDisk:"Last inn fra disk på nytt",keepMyVersion:"Behold min versjon",title:"Tittel",priority:"Prioritet",body:"Innhold",subtasks:"Underoppgaver",none:"(ingen)"},GUe={title:"Tittel",subtasks:"Underoppgave",context:"Kontekst",notes:"Notater",whatWasDone:"Hva som ble gjort",tags:"Merker",assignee:"Ansvarlig",priority:"Prioritet"},WUe={settingsUpdatedExternally:"Innstillinger oppdatert eksternt — lastet inn på nytt"},KUe={en:"Engelsk",fi:"Finsk",da:"Dansk",no:"Norsk",sk:"Slovakisk",bg:"Bulgarsk",sr:"Serbisk",hr:"Kroatisk",lt:"Litauisk",lv:"Lettisk",et:"Estisk",sl:"Slovensk",hu:"Ungarsk",cs:"Tsjekkisk",pl:"Polsk",ro:"Rumensk",de:"Tysk",fr:"Fransk",es:"Spansk",pt:"Portugisisk",it:"Italiensk",nl:"Nederlandsk",sv:"Svensk",ja:"Japansk",ko:"Koreansk",zh:"Kinesisk",ar:"Arabisk"},YUe={app:jUe,common:DUe,emptyState:IUe,header:RUe,filterBar:OUe,column:FUe,card:zUe,drawer:HUe,subtask:BUe,commandPalette:qUe,listView:UUe,settings:VUe,conflict:ZUe,sectionLabels:GUe,toast:WUe,languageNames:KUe},XUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},QUe={search:"Hľadať",searchPlaceholder:"Hľadať úlohy...",cancel:"Zrušiť",save:"Uložiť",delete:"Odstrániť",close:"Zavrieť",clear:"Vymazať",clearAll:"Vymazať všetko",add:"Pridať",remove:"Odobrať",done:"Hotové",loading:"Načítavam...",noResults:"Žiadne výsledky",currentValue:"Aktuálna hodnota",configKey:"Konfiguračný kľúč",choices:"Možnosti",openFolder:"Otvoriť priečinok",selectFolder:"Vybrať priečinok",recent:"Nedávne",settings:"Nastavenia",board:"Tabuľa",reload:"Obnoviť",newTask:"Nová úloha"},JUe={unsupportedBrowser:"Nepodporovaný prehliadač",unsupportedBrowserDesc:"Tento engine vyžaduje <code>File System Access API</code>. Použite Chrome, Edge, Brave alebo Opera. Firefox a Safari ho zatiaľ nepodporujú.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eVe={tasks:"úlohy",recentProjects:"Nedávne projekty","openFolder...":"Otvoriť priečinok..."},tVe={searchPlaceholder:"Hľadať úlohy...",clearAll:"Vymazať všetko",ownerAll:"👤 Všetky",ownerHuman:"👤 Človek",ownerAI:"🤖 AI"},nVe={addTask:"Pridať úlohu",columnColor:"Farba stĺpca",color:"Farba"},aVe={delete:"Odstrániť úlohu",confirmDelete:"Kliknite znova pre odstránenie"},iVe={close:"Zavrieť (Esc)",taskTitle:"Názov úlohy",doneSubtasks:"hotové",priority:"Priorita",noPriority:"Bez priority",urgentP1:"Urgentné · P1",highP2:"Vysoká · P2",mediumP3:"Stredná · P3",lowP4:"Nízka · P4",assignee:"Zodpovedná osoba",assigneePlaceholder:"používateľské meno",tags:"Štítky",tagsPlaceholder:"backend, bezpečnosť, api",dueDate:"Termín",owner:"Vlastník",unset:"Nenastavené",human:"👤 Človek",ai:"🤖 AI",tools:"Nástroje",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Popis",descriptionPlaceholder:"Napíšte kontext, odkazy, rozhodnutia...",report:"Správa",reportPlaceholder:"AI výstup sa zobrazí tu...",subtasks:"Podúlohy",addSubtask:"Pridať podúlohu",deleteTask:"Odstrániť",saveClose:"Uložiť & Zavrieť",cancel:"Zrušiť"},rVe={placeholder:"Podúloha...",description:"Popis",descriptionPlaceholder:"Pridajte kontext, odkazy alebo poznámky k tomuto kroku...",report:"Správa",reportPlaceholder:"Čo bolo urobené, prijaté rozhodnutia, kompromisy...",aiFillsThis:"AI toto vyplní po dokončení",collapse:"Zabaliť",expand:"Rozbaliť"},sVe={placeholder:"Napíšte príkaz alebo hľadajte...",actions:"Akcie",view:"Zobrazenie",tasks:"Úlohy",newTask:"Nová úloha",createNew:"Vytvoriť novú úlohu",reloadBoard:"Obnoviť tabuľu",readFromDisk:"Znova načítať súbory z disku",clearFilters:"Vymazať filtre",boardView:"Zobrazenie tabule",listView:"Zobrazenie zoznamu",compactDensity:"Kompaktná hustota",comfortableDensity:"Pohodlná hustota",navigate:"prechádzať",select:"vybrať"},oVe={id:"ID",title:"Názov",status:"Stav",tags:"Štítky",assignee:"Zodpovedná osoba",progress:"Priebeh",noMatchingTasks:"Žiadne zodpovedajúce úlohy"},cVe={noProjectOpen:"Žiadny otvorený projekt",appearance:"Vzhľad",appearanceDesc:"Téma, vzhľad, pozadie, písmo a jazyk.",agent:"Agent",agentDesc:"Správanie pri následných úlohách pre AI-asistovanú prácu.",board:"Tabuľa",boardDesc:"Správanie ID úloh a predvolené nastavenia na úrovni tabule.",fields:"Polia",fieldsDesc:"Voliteľné polia zobrazené na úlohách a kartách tabule.",language:"Jazyk",languageDesc:"Jazyk rozhrania uložený v konfigurácii projektu.",mode:"Režim",modeDesc:"Automaticky sleduje predvoľbu svetlého alebo tmavého režimu systému.",auto:"Automaticky",light:"Svetlý",dark:"Tmavý",skin:"Vzhľad",skinDesc:"Farebné tokeny sú uložené pre každý projekt v kandown.json.",background:"Pozadie",backgroundDesc:"Vyberte plochý povrch alebo animované tekuté pozadie.",font:"Písmo",fontDesc:"Lokálny systémový zásobník písiem, bez sieťovej požiadavky.",suggestFollowUp:"Navrhnúť následné úlohy",suggestFollowUpDesc:"Požiadajte agentov, aby navrhli ďalšie úlohy po dokončení jednej.",maxSuggestions:"Max návrhov",maxSuggestionsDesc:"Obmedzuje počet následných úloh, ktoré môže agent navrhnúť.",defaultPriority:"Predvolená priorita",defaultPriorityDesc:"Počiatočná priorita pre nové úlohy, keď je pole Priorita povolené.",defaultOwner:"Predvolený vlastník",defaultOwnerDesc:"Počiatočný vlastník pre nové úlohy, keď je pole Vlastník povolené.",priority:"Priorita",priorityDesc:"Povoliť metaúdaje priority na úlohách.",assignee:"Zodpovedná osoba",assigneeDesc:"Povoliť metaúdaje zodpovednej osoby na úlohách.",tags:"Štítky",tagsDesc:"Povoliť metaúdaje štítkov na úlohách.",dueDate:"Termín",dueDateDesc:"Povoliť metaúdaje termínu na úlohách.",ownerType:"Typ vlastníka",ownerTypeDesc:"Povoliť metaúdaje vlastníctva človek/AI na úlohách.",tools:"Nástroje",toolsDesc:"Povoliť voľné nápovedy nástrojov pre úlohy AI agenta.",searchPlaceholder:"Hľadať akúkoľvek možnosť",searchResults:"Výsledky vyhľadávania",searchResultsLabel:"Výsledky vyhľadávania",matchingOptions:"zodpovedajúcich možností v nastaveniach projektu.",options:"možností",noOptionFound:"Nenájdená žiadna možnosť",tryAnotherSearch:"Skúste iný vyhľadávací výraz.",currentValue:"Aktuálna hodnota",configKey:"Konfiguračný kľúč",choices:"Možnosti",hoverForHelp:"Prejdite kurzorom alebo tabulátorom cez inú možnosť pre aktualizáciu tejto pomocnej tabuľky.",pages:"Stránky",backToBoard:"Späť na tabuľu",matches:"Zhody",settingsTitle:"Nastavenia",kickerInterface:"Rozhranie",kickerAutomation:"Automatizácia",kickerIdentifiers:"Identifikátory",kickerMetadata:"Metaúdaje"},pVe={detected:"Zistený konflikt",detectedDesc:"Táto úloha bola externe upravená počas vášho editovania.",conflictingChanges:"Úloha <code>{{taskId}}</code> má konfliktné zmeny. Vyberte, ako to vyriešiť:",yourVersion:"Vaša verzia (lokálna)",diskVersion:"Verzia na disku (vzdialená)",cancel:"Zrušiť",reloadFromDisk:"Znovu načítať z disku",keepMyVersion:"Zachovať moju verziu",title:"Názov",priority:"Priorita",body:"Obsah",subtasks:"Podúlohy",none:"(žiadne)"},lVe={title:"Názov",subtasks:"Podúloha",context:"Kontext",notes:"Poznámky",whatWasDone:"Čo bolo urobené",tags:"Štítky",assignee:"Zodpovedná osoba",priority:"Priorita"},dVe={settingsUpdatedExternally:"Nastavenia boli externe aktualizované — znovu načítané"},uVe={en:"Angličtina",fi:"Fínčina",da:"Dánčina",no:"Nórčina",sk:"Slovenčina",bg:"Bulharčina",sr:"Srbčina",hr:"Chorvátčina",lt:"Litovčina",lv:"Lotyština",et:"Estónčina",sl:"Slovinčina",hu:"Maďarčina",cs:"Čeština",pl:"Poľština",ro:"Rumunčina",de:"Nemčina",fr:"Francúzština",es:"Španielčina",pt:"Portugalčina",it:"Taliančina",nl:"Holandčina",sv:"Švédčina",ja:"Japončina",ko:"Kórejčina",zh:"Čínština",ar:"Arabčina"},mVe={app:XUe,common:QUe,emptyState:JUe,header:eVe,filterBar:tVe,column:nVe,card:aVe,drawer:iVe,subtask:rVe,commandPalette:sVe,listView:oVe,settings:cVe,conflict:pVe,sectionLabels:lVe,toast:dVe,languageNames:uVe},fVe={name:"kandown",tagline:"AI Markdown Канбан Мениджър"},gVe={search:"Търсене",searchPlaceholder:"Търсене на задачи...",cancel:"Отказ",save:"Запази",delete:"Изтрий",close:"Затвори",clear:"Изчисти",clearAll:"Изчисти всичко",add:"Добави",remove:"Премахни",done:"Готово",loading:"Зареждане...",noResults:"Няма резултати",currentValue:"Текуща стойност",configKey:"Ключ за конфигурация",choices:"Избор",openFolder:"Отвори папка",selectFolder:"Избери папка",recent:"Скорошни",settings:"Настройки",board:"Дъска",reload:"Презареди",newTask:"Нова задача"},hVe={unsupportedBrowser:"Неподдържан браузър",unsupportedBrowserDesc:"Тази система изисква <code>File System Access API</code>. Използвайте Chrome, Edge, Brave или Opera. Firefox и Safari все още не го поддържат.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bVe={tasks:"задачи",recentProjects:"Скорошни проекти","openFolder...":"Отвори папка..."},vVe={searchPlaceholder:"Търсене на задачи...",clearAll:"Изчисти всичко",ownerAll:"👤 Всички",ownerHuman:"👤 Човек",ownerAI:"🤖 AI"},yVe={addTask:"Добави задача",columnColor:"Цвят на колоната",color:"Цвят"},_Ve={delete:"Изтрий задача",confirmDelete:"Кликни отново за изтриване"},kVe={close:"Затвори (Esc)",taskTitle:"Задание на задача",doneSubtasks:"приключени",priority:"Приоритет",noPriority:"Без приоритет",urgentP1:"Спешно · P1",highP2:"Висок · P2",mediumP3:"Среден · P3",lowP4:"Нисък · P4",assignee:"Изпълнител",assigneePlaceholder:"потребителско име",tags:"Етикети",tagsPlaceholder:"backend, сигурност, api",dueDate:"Краен срок",owner:"Собственик",unset:"Не е зададен",human:"👤 Човек",ai:"🤖 AI",tools:"Инструменти",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Описание",descriptionPlaceholder:"Напишете контекст, връзки, решения...",report:"Доклад",reportPlaceholder:"Тук ще се покаже резултатът от AI...",subtasks:"Подзадачи",addSubtask:"Добави подзадача",deleteTask:"Изтрий",saveClose:"Запази и затвори",cancel:"Отказ"},wVe={placeholder:"Подзадача...",description:"Описание",descriptionPlaceholder:"Добавете контекст, връзки или бележки за тази стъпка...",report:"Доклад",reportPlaceholder:"Какво беше свършено, взети решения, компромиси...",aiFillsThis:"AI попълва това след приключване",collapse:"Свий",expand:"Разшири"},xVe={placeholder:"Въведете команда или търсете...",actions:"Действия",view:"Изглед",tasks:"Задачи",newTask:"Нова задача",createNew:"Създай нова задача",reloadBoard:"Презареди дъската",readFromDisk:"Прочетете файловете от диска",clearFilters:"Изчисти филтрите",boardView:"Изглед на дъска",listView:"Изглед на списък",compactDensity:"Компактна плътност",comfortableDensity:"Комфортна плътност",navigate:"навигирай",select:"избери"},AVe={id:"ID",title:"Задание",status:"Статус",tags:"Етикети",assignee:"Изпълнител",progress:"Прогрес",noMatchingTasks:"Няма съответстващи задачи"},CVe={noProjectOpen:"Няма отворен проект",appearance:"Внешен вид",appearanceDesc:"Тема, кожа, фон, шрифт и език.",agent:"Агент",agentDesc:"Поведение за последващи действия при работа с AI-assisted задачи.",board:"Дъска",boardDesc:"Поведение на ID на задачите и общи настройки за дъската.",fields:"Полета",fieldsDesc:"Незадължителни полета, показвани върху задачи и карти на дъската.",language:"Език",languageDesc:"Езикът на интерфейса се съхранява в конфигурацията на този проект.",mode:"Режим",modeDesc:"Следва автоматично системната ви настройка за светла или тъмна тема.",auto:"Автоматично",light:"Светла",dark:"Тъмна",skin:"Кожа",skinDesc:"Цветовите токени се съхраняват за всеки проект в kandown.json.",background:"Фон",backgroundDesc:"Изберете плосък фон или анимиран течен фон.",font:"Шрифт",fontDesc:"Локален системен стек от шрифтове, без мрежово запитване.",suggestFollowUp:"Предлагай последващи задачи",suggestFollowUpDesc:"Искайте от асистентите да предлагат следващи задачи след приключване.",maxSuggestions:"Макс. предложения",maxSuggestionsDesc:"Ограничава броя на последващите задачи, които агентът може да предложи.",defaultPriority:"Приоритет по подразбиране",defaultPriorityDesc:"Начален приоритет за нови задачи, когато полето Приоритет е активирано.",defaultOwner:"Собственик по подразбиране",defaultOwnerDesc:"Начален собственик за нови задачи, когато полето Собственик е активирано.",priority:"Приоритет",priorityDesc:"Активиране на приоритетни метаданни за задачи.",assignee:"Изпълнител",assigneeDesc:"Активиране на метаданни за изпълнител на задачи.",tags:"Етикети",tagsDesc:"Активиране на етикет метаданни за задачи.",dueDate:"Краен срок",dueDateDesc:"Активиране на метаданни за краен срок на задачи.",ownerType:"Тип собственик",ownerTypeDesc:"Активиране на метаданни за човек/AI собственост на задачи.",tools:"Инструменти",toolsDesc:"Активиране на свободни подсказки за инструменти за AI-agent задачи.",searchPlaceholder:"Търсене на всяка опция",searchResults:"Резултати от търсене",searchResultsLabel:"Резултати от търсене",matchingOptions:"съответстващи опции в настройките на проекта.",options:"опции",noOptionFound:"Не е намерена опция",tryAnotherSearch:"Опитайте с друг термин за търсене.",currentValue:"Текуща стойност",configKey:"Ключ за конфигурация",choices:"Избор",hoverForHelp:"Преминете с мишката или таба върху друга опция, за да актуализирате този помощен панел.",pages:"Страници",backToBoard:"Обратно към дъската",matches:"Съвпадения",settingsTitle:"Настройки",kickerInterface:"Интерфейс",kickerAutomation:"Автоматизация",kickerIdentifiers:"Идентификатори",kickerMetadata:"Метаданни"},NVe={detected:"Открит конфликт",detectedDesc:"Тази задача беше променена външно, докато я редактирахте.",conflictingChanges:"Задачата <code>{{taskId}}</code> има конфликтни промени. Изберете как да разрешите:",yourVersion:"Вашата версия (локална)",diskVersion:"Версия на диска (отдалечена)",cancel:"Отказ",reloadFromDisk:"Презареди от диска",keepMyVersion:"Запази моята версия",title:"Задание",priority:"Приоритет",body:"Съдържание",subtasks:"Подзадачи",none:"(няма)"},SVe={title:"Задание",subtasks:"Подзадача",context:"Контекст",notes:"Бележки",whatWasDone:"Какво беше свършено",tags:"Етикети",assignee:"Изпълнител",priority:"Приоритет"},$Ve={settingsUpdatedExternally:"Настройките са актуализирани външно — презаредени"},EVe={en:"Английски",fi:"Фински",da:"Датски",no:"Норвежки",sk:"Словашки",bg:"Български",sr:"Сръбски",hr:"Хърватски",lt:"Литовски",lv:"Латвийски",et:"Естонски",sl:"Словенски",hu:"Унгарски",cs:"Чешки",pl:"Полски",ro:"Румърски",de:"Немски",fr:"Френски",es:"Испански",pt:"Португалски",it:"Италиански",nl:"Нидерландски",sv:"Шведски",ja:"Японски",ko:"Корейски",zh:"Китайски",ar:"Арабски"},PVe={app:fVe,common:gVe,emptyState:hVe,header:bVe,filterBar:vVe,column:yVe,card:_Ve,drawer:kVe,subtask:wVe,commandPalette:xVe,listView:AVe,settings:CVe,conflict:NVe,sectionLabels:SVe,toast:$Ve,languageNames:EVe},TVe={name:"kandown",tagline:"AI Markdown Канбан Менаџер"},LVe={search:"Претрага",searchPlaceholder:"Претрага задатака...",cancel:"Откажи",save:"Сачувај",delete:"Обриши",close:"Затвори",clear:"Очисти",clearAll:"Очисти све",add:"Додај",remove:"Уклони",done:"Готово",loading:"Учитавање...",noResults:"Нема резултата",currentValue:"Тренутна вредност",configKey:"Кључ конфигурације",choices:"Избор",openFolder:"Отвори фасциклу",selectFolder:"Изабери фасциклу",recent:"Скорашanji",settings:"Подешавања",board:"Табла",reload:"Освежи",newTask:"Нови задатак"},MVe={unsupportedBrowser:"Неподржан прегледач",unsupportedBrowserDesc:"Овај систем захтева <code>File System Access API</code>. Користите Chrome, Edge, Brave или Opera. Firefox и Safari тојјош не подржавају.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},jVe={tasks:"задаци",recentProjects:"Скорашanji пројекти","openFolder...":"Отвори фасциклу..."},DVe={searchPlaceholder:"Претрага задатака...",clearAll:"Очисти све",ownerAll:"👤 Сви",ownerHuman:"👤 Човек",ownerAI:"🤖 AI"},IVe={addTask:"Додај задатак",columnColor:"Боја колоне",color:"Боја"},RVe={delete:"Обриши задатак",confirmDelete:"Кликни поново да обришеш"},OVe={close:"Затвори (Esc)",taskTitle:"Назив задатка",doneSubtasks:"завршено",priority:"Приоритет",noPriority:"Без приоритета",urgentP1:"Хитно · P1",highP2:"Висок · P2",mediumP3:"Средњи · P3",lowP4:"Низак · P4",assignee:"Задужен",assigneePlaceholder:"корисничко име",tags:"Ознаке",tagsPlaceholder:"backend, сигурност, api",dueDate:"Рок",owner:"Власник",unset:"Није постављено",human:"👤 Човек",ai:"🤖 AI",tools:"Алати",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Опис",descriptionPlaceholder:"Напишите контекст, линкове, одлуке...",report:"Извештај",reportPlaceholder:"Овде ће се појавити AI резултат...",subtasks:"Подзадаци",addSubtask:"Додај подзадатак",deleteTask:"Обриши",saveClose:"Сачувај и затвори",cancel:"Откажи"},FVe={placeholder:"Подзадатак...",description:"Опис",descriptionPlaceholder:"Додајте контекст, линкове или напомене за овај корак...",report:"Извештај",reportPlaceholder:"Шта је урађено, донете одлуке, компромиси...",aiFillsThis:"AI попуњава ово након завршетка",collapse:"Скупи",expand:"Прошири"},zVe={placeholder:"Унесите команду или претражите...",actions:"Акције",view:"Приказ",tasks:"Задаци",newTask:"Нови задатак",createNew:"Направи нови задатак",reloadBoard:"Освежи таблу",readFromDisk:"Прочитај фајлове са диска",clearFilters:"Очисти филтере",boardView:"Приказ табле",listView:"Приказ листе",compactDensity:"Компактна густина",comfortableDensity:"Удобна густина",navigate:"навигирај",select:"изабери"},HVe={id:"ID",title:"Назив",status:"Статус",tags:"Ознаке",assignee:"Задужен",progress:"Напредак",noMatchingTasks:"Нема одговарајућих задатака"},BVe={noProjectOpen:"Нема отвореног пројекта",appearance:"Изглед",appearanceDesc:"Тема, маска, позадина, фонт и језик.",agent:"Агент",agentDesc:"Понашање за даље кораке након рада са AI-асистираним задацима.",board:"Табла",boardDesc:"Понашање ID-а задатака и подразумевана подешавања табле.",fields:"Поља",fieldsDesc:"Опциона поља приказана на задацима и картама табле.",language:"Језик",languageDesc:"Језик интерфејса се чува у конфигурацији пројекта.",mode:"Режим",modeDesc:"Аутоматски прати системску поставку светле или тамне теме.",auto:"Аутоматски",light:"Светла",dark:"Тамна",skin:"Маска",skinDesc:"Бојени токени се чувају по пројекту у kandown.json.",background:"Позадина",backgroundDesc:"Изаберите раван или анимиран течан позадин.",font:"Фонт",fontDesc:"Локални системски скуп фонтова, без мрежног захтева.",suggestFollowUp:"Предложи следеће задатке",suggestFollowUpDesc:"Тражите од асистената да предлажу следеће задатке након завршетка.",maxSuggestions:"Макс. предлога",maxSuggestionsDesc:"Ограничава број следећих задатака које агент може предложити.",defaultPriority:"Подразумевани приоритет",defaultPriorityDesc:"Почетни приоритет за нове задатке када је Поље приоритета укључено.",defaultOwner:"Подразумевани власник",defaultOwnerDesc:"Почетни власник за нове задатке када је Поље власника укључено.",priority:"Приоритет",priorityDesc:"Омогући приоритет метаподатке на задацима.",assignee:"Задужен",assigneeDesc:"Омогући метаподатке задуженог на задацима.",tags:"Ознаке",tagsDesc:"Омогући ознаке метаподатке на задацима.",dueDate:"Рок",dueDateDesc:"Омогући метаподатке рока на задацима.",ownerType:"Тип власника",ownerTypeDesc:"Омогући метаподатке власника човек/AI на задацима.",tools:"Алати",toolsDesc:"Омогући слободне назнаке алата за AI-agent задатке.",searchPlaceholder:"Претражи било коју опцију",searchResults:"Резултати претраге",searchResultsLabel:"Резултати претраге",matchingOptions:"одговарајуће опције у подешавању пројекта.",options:"опције",noOptionFound:"Опција не пронађена",tryAnotherSearch:"Пробајте други појам за претрагу.",currentValue:"Тренутна вредност",configKey:"Кључ конфигурације",choices:"Избор",hoverForHelp:"Пређите мишем или табом преко друге опције да ажурирате овај панел за помоћ.",pages:"Странице",backToBoard:"Назад на таблу",matches:"Поклапања",settingsTitle:"Подешавања",kickerInterface:"Интерфејс",kickerAutomation:"Аутоматизација",kickerIdentifiers:"Идентификатори",kickerMetadata:"Метаподаци"},qVe={detected:"Конфликт откривен",detectedDesc:"Овај задатак је измењен споља док сте га уређивали.",conflictingChanges:"Задатак <code>{{taskId}}</code> има конфликтне промене. Изаберите како да решите:",yourVersion:"Ваша верзија (локална)",diskVersion:"Верзија на диску (удаљена)",cancel:"Откажи",reloadFromDisk:"Учитај са диска",keepMyVersion:"Задржи моју верзију",title:"Назив",priority:"Приоритет",body:"Садржај",subtasks:"Подзадаци",none:"(ниједно)"},UVe={title:"Назив",subtasks:"Подзадатак",context:"Контекст",notes:"Напомене",whatWasDone:"Шта је урађено",tags:"Ознаке",assignee:"Задужен",priority:"Приоритет"},VVe={settingsUpdatedExternally:"Подешавања су споља ажурирана — освежена"},ZVe={en:"Енглески",fi:"Фински",da:"Дански",no:"Норвешки",sk:"Словачки",bg:"Бугарски",sr:"Српски",hr:"Хрватски",lt:"Литвански",lv:"Летонски",et:"Естонски",sl:"Словеначки",hu:"Мађарски",cs:"Чешки",pl:"Пољски",ro:"Румунски",de:"Немачки",fr:"Француски",es:"Шпански",pt:"Португалски",it:"Италијански",nl:"Холандски",sv:"Шведски",ja:"Јапански",ko:"Корејски",zh:"Кинески",ar:"Арапски"},GVe={app:TVe,common:LVe,emptyState:MVe,header:jVe,filterBar:DVe,column:IVe,card:RVe,drawer:OVe,subtask:FVe,commandPalette:zVe,listView:HVe,settings:BVe,conflict:qVe,sectionLabels:UVe,toast:VVe,languageNames:ZVe},WVe={name:"kandown",tagline:"AI Markdown Upravitelj Zadataka"},KVe={search:"Pretraži",searchPlaceholder:"Pretraži zadatke...",cancel:"Otkaži",save:"Spremi",delete:"Izbriši",close:"Zatvori",clear:"Očisti",clearAll:"Očisti sve",add:"Dodaj",remove:"Ukloni",done:"Gotovo",loading:"Učitavanje...",noResults:"Nema rezultata",currentValue:"Trenutna vrijednost",configKey:"Ključ konfiguracije",choices:"Opcije",openFolder:"Otvori mapu",selectFolder:"Odaberi mapu",recent:"Nedavno",settings:"Postavke",board:"Ploča",reload:"Osvježi",newTask:"Novi zadatak"},YVe={unsupportedBrowser:"Nepodržan preglednik",unsupportedBrowserDesc:"Ovaj engine zahtijeva <code>File System Access API</code>. Koristite Chrome, Edge, Brave ili Opera. Firefox i Safari još ne podržavaju.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},XVe={tasks:"zadaci",recentProjects:"Nedavni projekti","openFolder...":"Otvori mapu..."},QVe={searchPlaceholder:"Pretraži zadatke...",clearAll:"Očisti sve",ownerAll:"👤 Svi",ownerHuman:"👤 Čovjek",ownerAI:"🤖 AI"},JVe={addTask:"Dodaj zadatak",columnColor:"Boja stupca",color:"Boja"},eZe={delete:"Izbriši zadatak",confirmDelete:"Ponovno kliknite za brisanje"},tZe={close:"Zatvori (Esc)",taskTitle:"Naslov zadatka",doneSubtasks:"gotovo",priority:"Prioritet",noPriority:"Bez prioriteta",urgentP1:"Hitno · P1",highP2:"Visok · P2",mediumP3:"Srednji · P3",lowP4:"Nizak · P4",assignee:"Izvršitelj",assigneePlaceholder:"korisničko ime",tags:"Oznake",tagsPlaceholder:"backend, sigurnost, api",dueDate:"Rok",owner:"Vlasnik",unset:"Nije postavljeno",human:"👤 Čovjek",ai:"🤖 AI",tools:"Alati",toolsPlaceholder:"datotečni sustav, cli, web pretraživanje, preglednik...",description:"Opis",descriptionPlaceholder:"Napišite neki kontekst, linkove, odluke...",report:"Izvještaj",reportPlaceholder:"AI izlaz će se pojaviti ovdje...",subtasks:"Podzadaci",addSubtask:"Dodaj podzadatak",deleteTask:"Izbriši",saveClose:"Spremi i zatvori",cancel:"Otkaži"},nZe={placeholder:"Podzadatak...",description:"Opis",descriptionPlaceholder:"Dodajte kontekst, linkove ili bilješke za ovaj korak...",report:"Izvještaj",reportPlaceholder:"Što je napravljeno, donese odluke, kompromisi...",aiFillsThis:"AI popunjava ovo nakon dovršetka",collapse:"Sažmi",expand:"Proširi"},aZe={placeholder:"Upišite naredbu ili pretražite...",actions:"Radnje",view:"Prikaz",tasks:"Zadaci",newTask:"Novi zadatak",createNew:"Stvori novi zadatak",reloadBoard:"Osvježi ploču",readFromDisk:"Ponovno čitaj datoteke s diska",clearFilters:"Očisti filtra",boardView:"Prikaz ploče",listView:"Prikaz popisa",compactDensity:"Kompatna gustoća",comfortableDensity:"Ugodna gustoća",navigate:"navigiraj",select:"odaberi"},iZe={id:"ID",title:"Naslov",status:"Status",tags:"Oznake",assignee:"Izvršitelj",progress:"Napredak",noMatchingTasks:"Nema podudarnih zadataka"},rZe={noProjectOpen:"Nijedan projekt nije otvoren",appearance:"Izgled",appearanceDesc:"Tema, presvlaka, pozadina, font i jezik.",agent:"Agent",agentDesc:"Ponašanje praćenja za AI potpomognuti rad na zadacima.",board:"Ploča",boardDesc:"Ponašanje ID-a zadatka i zadane postavke na razini ploče.",fields:"Polja",fieldsDesc:"Neobavezna polja prikazana na zadacima i karticama ploče.",language:"Jezik",languageDesc:"Jezik sučelja spremljen u konfiguraciji ovog projekta.",mode:"Način",modeDesc:"Automatski prati sistemske postavke svjetlog ili tamnog načina rada.",auto:"Automatski",light:"Svijetlo",dark:"Tamno",skin:"Presvlaka",skinDesc:"Bojni tokeni spremljeni su po projektu u kandown.json.",background:"Pozadina",backgroundDesc:"Odaberite ravnu površinu ili animiranu tekuću pozadinu.",font:"Font",fontDesc:"Lokalni font sustava, bez mrežne zahtjeva.",suggestFollowUp:"Predloži nastavne zadatke",suggestFollowUpDesc:"Zatražite od agenata da predlože sljedeće zadatke nakon završetka jednog.",maxSuggestions:"Maks. prijedloga",maxSuggestionsDesc:"Ograničava broj nastavnih zadataka koje agent može predložiti.",defaultPriority:"Zadani prioritet",defaultPriorityDesc:"Početni prioritet za nove zadatke kada je polje Prioritet omogućeno.",defaultOwner:"Zadani vlasnik",defaultOwnerDesc:"Početni vlasnik za nove zadatke kada je polje Vlasnik omogućeno.",priority:"Prioritet",priorityDesc:"Omogući metapodatke prioriteta na zadacima.",assignee:"Izvršitelj",assigneeDesc:"Omogući metapodatke izvršitelja na zadacima.",tags:"Oznake",tagsDesc:"Omogući metapodatke oznaka na zadacima.",dueDate:"Rok",dueDateDesc:"Omogući metapodatke roka na zadacima.",ownerType:"Tip vlasnika",ownerTypeDesc:"Omogući metapodatke vlasništva čovjek/AI na zadacima.",tools:"Alati",toolsDesc:"Omogući napomene za alate u slobodnoj formi za AI-agent zadatke.",searchPlaceholder:"Pretraži bilo koju opciju",searchResults:"Rezultati pretraživanja",searchResultsLabel:"Rezultati pretraživanja",matchingOptions:"podudarnih opcija u postavkama projekta.",options:"opcija",noOptionFound:"Nema opcije",tryAnotherSearch:"Pokušajte s drugim pojmom pretraživanja.",currentValue:"Trenutna vrijednost",configKey:"Ključ konfiguracije",choices:"Opcije",hoverForHelp:"Zadržite pokazivač ili prebacite se kroz drugu opciju za ažuriranje ove ploče pomoći.",pages:"Stranice",backToBoard:"Natrag na ploču",matches:"Podudaranja",settingsTitle:"Postavke",kickerInterface:"Sučelje",kickerAutomation:"Automatizacija",kickerIdentifiers:"Identifikatori",kickerMetadata:"Metapodaci"},sZe={detected:"Otkriven sukob",detectedDesc:"Ovaj zadatak je izmijenjen izvana dok ste uređivali.",conflictingChanges:"Zadatak <code>{{taskId}}</code> ima sukobljene izmjene. Odaberite način rješavanja:",yourVersion:"Vaša verzija (lokalna)",diskVersion:"Verzija diska (udaljena)",cancel:"Otkaži",reloadFromDisk:"Učitaj s diska",keepMyVersion:"Zadrži moju verziju",title:"Naslov",priority:"Prioritet",body:"Sadržaj",subtasks:"Podzadaci",none:"(nema)"},oZe={title:"Naslov",subtasks:"Podzadatak",context:"Kontekst",notes:"Bilješke",whatWasDone:"Što je napravljeno",tags:"Oznake",assignee:"Izvršitelj",priority:"Prioritet"},cZe={settingsUpdatedExternally:"Postavke su ažurirane izvana — osvježeno"},pZe={en:"Engleski",fi:"Finski",da:"Danski",no:"Norveški",sk:"Slovački",bg:"Bugarski",sr:"Srpski",hr:"Hrvatski",lt:"Litvanski",lv:"Latvijski",et:"Estonski",sl:"Slovenski",hu:"Mađarski",cs:"Češki",pl:"Poljski",ro:"Rumunjski",de:"Njemački",fr:"Francuski",es:"Španjolski",pt:"Portugalski",it:"Talijanski",nl:"Nizozemski",sv:"Švedski",ja:"Japanski",ko:"Korejski",zh:"Kineski",ar:"Arapski"},lZe={app:WVe,common:KVe,emptyState:YVe,header:XVe,filterBar:QVe,column:JVe,card:eZe,drawer:tZe,subtask:nZe,commandPalette:aZe,listView:iZe,settings:rZe,conflict:sZe,sectionLabels:oZe,toast:cZe,languageNames:pZe},dZe={name:"kandown",tagline:"AI Markdown Užduočių Valdytojas"},uZe={search:"Ieškoti",searchPlaceholder:"Ieškoti užduočių...",cancel:"Atšaukti",save:"Išsaugoti",delete:"Ištrinti",close:"Uždaryti",clear:"Išvalyti",clearAll:"Išvalyti viską",add:"Pridėti",remove:"Pašalinti",done:"Atlikta",loading:"Įkeliama...",noResults:"Rezultatų nėra",currentValue:"Dabartinė reikšmė",configKey:"Konfigūracijos raktas",choices:"Pasirinkimai",openFolder:"Atverti aplanką",selectFolder:"Pasirinkti aplanką",recent:"Paskutiniai",settings:"Nustatymai",board:" lenta",reload:"Perkrauti",newTask:"Nauja užduotis"},mZe={unsupportedBrowser:"Naršyklė nepalaikoma",unsupportedBrowserDesc:"Šiai sistemai reikalingas <code>File System Access API</code>. Naudokite Chrome, Edge, Brave arba Opera. Firefox ir Safari šiuo metu nepalaiko.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},fZe={tasks:"užduotys",recentProjects:"Paskutiniai projektai","openFolder...":"Atverti aplanką..."},gZe={searchPlaceholder:"Ieškoti užduočių...",clearAll:"Išvalyti viską",ownerAll:"👤 Visi",ownerHuman:"👤 Žmogus",ownerAI:"🤖 AI"},hZe={addTask:"Pridėti užduotį",columnColor:"Stulpelio spalva",color:"Spalva"},bZe={delete:"Ištrinti užduotį",confirmDelete:"Spustelėkite dar kartą norėdami ištrinti"},vZe={close:"Uždaryti (Esc)",taskTitle:"Užduoties pavadinimas",doneSubtasks:"atlikta",priority:"Prioritetas",noPriority:"Be prioriteto",urgentP1:"Skubu · P1",highP2:"Aukštas · P2",mediumP3:"Vidutinis · P3",lowP4:"Žemas · P4",assignee:"Atsakingas",assigneePlaceholder:"vartotojo vardas",tags:"Žymės",tagsPlaceholder:"backend, saugumas, api",dueDate:"Terminas",owner:"Savininkas",unset:"Nenustatyta",human:"👤 Žmogus",ai:"🤖 AI",tools:"Įrankiai",toolsPlaceholder:"failų sistema, cli, žiniatinklio paieška, naršyklė...",description:"Aprašymas",descriptionPlaceholder:"Užrašykite kontekstą, nuorodas, sprendimus...",report:"Ataskaita",reportPlaceholder:"AI rezultatas bus rodomas čia...",subtasks:"Dalinės užduotys",addSubtask:"Pridėti dalinę užduotį",deleteTask:"Ištrinti",saveClose:"Išsaugoti ir uždaryti",cancel:"Atšaukti"},yZe={placeholder:"Dalinė užduotis...",description:"Aprašymas",descriptionPlaceholder:"Pridėkite kontekstą, nuorodas arba užrašus šiam žingsniui...",report:"Ataskaita",reportPlaceholder:"Kas buvo atlikta, priimti sprendimai, kompromisai...",aiFillsThis:"AI užpildo tai užbaigus",collapse:"Suskleisti",expand:"Išskleisti"},_Ze={placeholder:"Įveskite komandą arba ieškokite...",actions:"Veiksmai",view:"Rodinys",tasks:"Užduotys",newTask:"Nauja užduotis",createNew:"Sukurti naują užduotį",reloadBoard:"Perkrauti lentą",readFromDisk:"Perskaityti failus iš disko",clearFilters:"Išvalyti filtrus",boardView:"Lentos rodinys",listView:"Sąrašo rodinys",compactDensity:"Kompaktiškas tankis",comfortableDensity:"Patogus tankis",navigate:"naviguoti",select:"pasirinkti"},kZe={id:"ID",title:"Pavadinimas",status:"Būsena",tags:"Žymės",assignee:"Atsakingas",progress:"Eiga",noMatchingTasks:"Nėra atitinkančių užduočių"},wZe={noProjectOpen:"Projektas neatvertas",appearance:"Išvaizda",appearanceDesc:"Tema, apvalkalas, fonas, šriftas ir kalba.",agent:"Agentas",agentDesc:"Tolesnio elgesio nustatymai AI padedamam užduočių darbui.",board:"Lenta",boardDesc:"Užduoties ID elgesys ir lentos lygio numatytieji nustatymai.",fields:"Laukai",fieldsDesc:"Pasirenkami laukai rodomi užduotyse ir lentos kortelėse.",language:"Kalba",languageDesc:"Sąsajos kalba saugoma šio projekto konfigūracijoje.",mode:"Režimas",modeDesc:"Automatiškai seka sistemos šviesos ar tamsos pageidavimus.",auto:"Automatiškai",light:"Šviesus",dark:"Tamsus",skin:"Apvalkalas",skinDesc:"Spalvos žetonai saugomi pagal projektą kandown.json faile.",background:"Fonas",backgroundDesc:"Pasirinkite lygią paviršių arba animuotą skystą foną.",font:"Šriftas",fontDesc:"Vietinė sistemos šriftų seka, nereikalaujanti tinklo užklausos.",suggestFollowUp:"Siūlyti tęstines užduotis",suggestFollowUpDesc:"Prašyti agentų siūlyti sekančias užduotis užbaigus vieną.",maxSuggestions:"Maks. pasiūlymų",maxSuggestionsDesc:"Riboja agento siūlomų tęstinių užduočių skaičių.",defaultPriority:"Numatytasis prioritetas",defaultPriorityDesc:"Pradinis prioritetas naujoms užduotims kai prioriteto laukas įjungtas.",defaultOwner:"Numatytasis savininkas",defaultOwnerDesc:"Pradinis savininkas naujoms užduotims kai savininko laukas įjungtas.",priority:"Prioritetas",priorityDesc:"Įjungti prioriteto metaduomenis užduotyse.",assignee:"Atsakingas",assigneeDesc:"Įjungti atsakingo metaduomenis užduotyse.",tags:"Žymės",tagsDesc:"Įjungti žymių metaduomenis užduotyse.",dueDate:"Terminas",dueDateDesc:"Įjungti termino metaduomenis užduotyse.",ownerType:"Savininko tipas",ownerTypeDesc:"Įjungti žmogaus/AI nuosavybės metaduomenis užduotyse.",tools:"Įrankiai",toolsDesc:"Įjungti laisvos formos įrankių užuominas AI agento užduotims.",searchPlaceholder:"Ieškoti bet kurios parinkties",searchResults:"Paieškos rezultatai",searchResultsLabel:"Paieškos rezultatai",matchingOptions:"atitinkančių parinkčių projekto nustatymuose.",options:"parinkčių",noOptionFound:"Parinkties nerasta",tryAnotherSearch:"Bandykite kitą paieškos terminą.",currentValue:"Dabartinė reikšmė",configKey:"Konfigūracijos raktas",choices:"Pasirinkimai",hoverForHelp:"Užveskite arba pereikite prie kitos parinkties norėdami atnaujinti šią pagalbos lentą.",pages:"Puslapiai",backToBoard:"Grįžti į lentą",matches:"Atitinka",settingsTitle:"Nustatymai",kickerInterface:"Sąsaja",kickerAutomation:"Automatizavimas",kickerIdentifiers:"Identifikatoriai",kickerMetadata:"Metaduomenys"},xZe={detected:"Aptiktas konfliktas",detectedDesc:"Ši užduotis buvo pakeista iš išorės kol jūs redagavote.",conflictingChanges:"Užduotis <code>{{taskId}}</code> turi konfliktinius pakeitimus. Pasirinkite kaip išspręsti:",yourVersion:"Jūsų versija (vietinė)",diskVersion:"Disko versija (nuotolinė)",cancel:"Atšaukti",reloadFromDisk:"Įkelti iš disko",keepMyVersion:"Laikyti mano versiją",title:"Pavadinimas",priority:"Prioritetas",body:"Turinys",subtasks:"Dalinės užduotys",none:"(nėra)"},AZe={title:"Pavadinimas",subtasks:"Dalinė užduotis",context:"Kontekstas",notes:"Užrašai",whatWasDone:"Kas buvo atlikta",tags:"Žymės",assignee:"Atsakingas",priority:"Prioritetas"},CZe={settingsUpdatedExternally:"Nustatymai buvo atnaujinti iš išorės — perkrauta"},NZe={en:"Anglų",fi:"Suomių",da:"Danų",no:"Norvegų",sk:"Slovakų",bg:"Bulgarų",sr:"Serbų",hr:"Kroatų",lt:"Lietuvių",lv:"Latvių",et:"Estų",sl:"Slovėnų",hu:"Vengų",cs:"Čekų",pl:"Lenkų",ro:"Rumunų",de:"Vokiečių",fr:"Prancūzų",es:"Ispanų",pt:"Portugalų",it:"Italų",nl:"Olandų",sv:"Švedų",ja:"Japonų",ko:"Korėjiečių",zh:"Kinų",ar:"Arabų"},SZe={app:dZe,common:uZe,emptyState:mZe,header:fZe,filterBar:gZe,column:hZe,card:bZe,drawer:vZe,subtask:yZe,commandPalette:_Ze,listView:kZe,settings:wZe,conflict:xZe,sectionLabels:AZe,toast:CZe,languageNames:NZe},$Ze={name:"kandown",tagline:"AI Markdown Kanban pārvaldnieks"},EZe={search:"Meklēt",searchPlaceholder:"Meklēt uzdevumus...",cancel:"Atcelt",save:"Saglabāt",delete:"Dzēst",close:"Aizvērt",clear:"Notīrīt",clearAll:"Notīrīt visu",add:"Pievienot",remove:"Noņemt",done:"Gatavs",loading:"Ielādē...",noResults:"Nav rezultātu",currentValue:"Pašreizējā vērtība",configKey:"Konfigurācijas atslēga",choices:"Iespējas",openFolder:"Atvērt mapi",selectFolder:"Izvēlēties mapi",recent:"Nesenie",settings:"Iestatījumi",board:"Tāfele",reload:"Pārlādēt",newTask:"Jauns uzdevums"},PZe={unsupportedBrowser:"Neatbalstīta pārlūkprogramma",unsupportedBrowserDesc:"Šim dzinējam nepieciešams <code>File System Access API</code>. Izmantojiet Chrome, Edge, Brave vai Opera. Firefox un Safari vēl to neatbalsta.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},TZe={tasks:"uzdevumi",recentProjects:"Nesenie projekti","openFolder...":"Atvērt mapi..."},LZe={searchPlaceholder:"Meklēt uzdevumus...",clearAll:"Notīrīt visu",ownerAll:"👤 Visi",ownerHuman:"👤 Cilvēks",ownerAI:"🤖 AI"},MZe={addTask:"Pievienot uzdevumu",columnColor:"Kolonnas krāsa",color:"Krāsa"},jZe={delete:"Dzēst uzdevumu",confirmDelete:"Vēlreiz noklikšķiniet, lai dzēstu"},DZe={close:"Aizvērt (Esc)",taskTitle:"Uzdevuma virsraksts",doneSubtasks:"izpildīti",priority:"Prioritāte",noPriority:"Bez prioritātes",urgentP1:"Steidzams · P1",highP2:"Augsts · P2",mediumP3:"Vidējs · P3",lowP4:"Zems · P4",assignee:"Atbildīgais",assigneePlaceholder:"lietotājvārds",tags:"Birka",tagsPlaceholder:"backend, drošība, api",dueDate:"Termiņš",owner:"Īpašnieks",unset:"Nav iestatīts",human:"👤 Cilvēks",ai:"🤖 AI",tools:"Rīki",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Apraksts",descriptionPlaceholder:"Pierakstiet kontekstu, saites, lēmumus...",report:"Atskaite",reportPlaceholder:"AI izvade parādīsies šeit...",subtasks:"Apakšuzdevumi",addSubtask:"Pievienot apakšuzdevumu",deleteTask:"Dzēst",saveClose:"Saglabāt un aizvērt",cancel:"Atcelt"},IZe={placeholder:"Apakšuzdevums...",description:"Apraksts",descriptionPlaceholder:"Pievienojiet kontekstu, saites vai piezīmes šim solim...",report:"Atskaite",reportPlaceholder:"Kas tika izdarīts, kādi lēmumi tika pieņemti, ķīļi...",aiFillsThis:"AI aizpilda pēc pabeigšanas",collapse:"Sakļaut",expand:"Izvērst"},RZe={placeholder:"Ievadiet komandu vai meklējiet...",actions:"Darbības",view:"Skats",tasks:"Uzdevumi",newTask:"Jauns uzdevums",createNew:"Izveidot jaunu uzdevumu",reloadBoard:"Pārlādēt tāfeli",readFromDisk:"Atkārtoti nolasīt failus no diska",clearFilters:"Notīrīt filtrus",boardView:"Tāfeles skats",listView:"Saraksta skats",compactDensity:"Kompakts blīvums",comfortableDensity:"Ērts blīvums",navigate:"navigācija",select:"izvēlēties"},OZe={id:"ID",title:"Virsraksts",status:"Statuss",tags:"Birka",assignee:"Atbildīgais",progress:"Progress",noMatchingTasks:"Nav atbilstošu uzdevumu"},FZe={noProjectOpen:"Nav atvērta projekta",appearance:"Izskats",appearanceDesc:"Tēma, izskats, fons, fonts un valoda.",agent:"Aģents",agentDesc:"Turpmākā uzvedība AI atbalstītam uzdevumu darbam.",board:"Tāfele",boardDesc:"Uzdevuma ID uzvedība un tāfeles līmeņa noklusējumi.",fields:"Lauki",fieldsDesc:"Neobligāti lauki, kas parādās uz uzdevumiem un tāfeles kartēm.",language:"Valoda",languageDesc:"UI valoda saglabāta šī projekta konfigurācijā.",mode:"Režīms",modeDesc:"Automātiski seko jūsu sistēmas gaismas vai tumšās preferences.",auto:"Auto",light:"Gaišs",dark:"Tumšs",skin:"Āda",skinDesc:"Krāsu marķieri ir saglabāti katram projektam kandown.json.",background:"Fons",backgroundDesc:"Izvēlieties līdzenu virsmu vai animētu šķidruma fonu.",font:"Fonts",fontDesc:"Lokāla sistēmas fontu kopa, bez tīkla pieprasījuma.",suggestFollowUp:"Ieteikt turpmākos uzdevumus",suggestFollowUpDesc:"Lūgt aģentiem piedāvāt nākamos uzdevumus pēc viena pabeigšanas.",maxSuggestions:"Maks. ieteikumu",maxSuggestionsDesc:"Ierobežo aģenta piedāvājamo turpmāko uzdevumu skaitu.",defaultPriority:"Noklusējuma prioritāte",defaultPriorityDesc:"Sākotnējā prioritāte jauniem uzdevumiem, kad Prioritātes lauks ir iespējots.",defaultOwner:"Noklusējuma īpašnieks",defaultOwnerDesc:"Sākotnējais īpašnieks jauniem uzdevumiem, kad Īpašnieka lauks ir iespējots.",priority:"Prioritāte",priorityDesc:"Iespējot prioritātes metadatus uz uzdevumiem.",assignee:"Atbildīgais",assigneeDesc:"Iespējot atbildīgā metadatus uz uzdevumiem.",tags:"Birka",tagsDesc:"Iespējot birku metadatus uz uzdevumiem.",dueDate:"Termiņš",dueDateDesc:"Iespējot termiņa metadatus uz uzdevumiem.",ownerType:"Īpašnieka tips",ownerTypeDesc:"Iespējot cilvēka/AI īpašnieka metadatus uz uzdevumiem.",tools:"Rīki",toolsDesc:"Iespējot brīvas formas rīku norādes AI aģenta uzdevumiem.",searchPlaceholder:"Meklēt jebkuru opciju",searchResults:"Meklēšanas rezultāti",searchResultsLabel:"Meklēšanas rezultāti",matchingOptions:"atbilstošas opcijas projekta iestatījumos.",options:"opcijas",noOptionFound:"Opcija nav atrasta",tryAnotherSearch:"Mēģiniet citu meklēšanas terminu.",currentValue:"Pašreizējā vērtība",configKey:"Konfigurācijas atslēga",choices:"Iespējas",hoverForHelp:"Norādiet vai tabulējiet cauri citai opcijai, lai atjauninātu šo palīdzības paneli.",pages:"Lapas",backToBoard:"Atpakaļ uz tāfeli",matches:"Atbilst",settingsTitle:"Iestatījumi",kickerInterface:"Saskarne",kickerAutomation:"Automatizācija",kickerIdentifiers:"Identifikatori",kickerMetadata:"Metadati"},zZe={detected:"Konflikts konstatēts",detectedDesc:"Šis uzdevums tika modificēts ārēji, kamēr jūs to rediģējāt.",conflictingChanges:"Uzdevumam <code>{{taskId}}</code> ir pretrunīgas izmaiņas. Izvēlieties, kā atrisināt:",yourVersion:"Jūsu versija (lokālā)",diskVersion:"Diska versija (attālā)",cancel:"Atcelt",reloadFromDisk:"Pārlādēt no diska",keepMyVersion:"Paturēt manu versiju",title:"Virsraksts",priority:"Prioritāte",body:"Saturs",subtasks:"Apakšuzdevumi",none:"(neviens)"},HZe={title:"Virsraksts",subtasks:"Apakšuzdevums",context:"Konteksts",notes:"Piezīmes",whatWasDone:"Kas tika izdarīts",tags:"Birka",assignee:"Atbildīgais",priority:"Prioritāte"},BZe={settingsUpdatedExternally:"Iestatījumi atjaunināti ārēji — pārlādēti"},qZe={en:"Angļu",fi:"Somu",da:"Dāņu",no:"Norvēģu",sk:"Slovāku",bg:"Bulgāru",sr:"Serbu",hr:"Horvātu",lt:"Lietuviešu",lv:"Latviešu",et:"Igauņu",sl:"Slovēņu",hu:"Ungāru",cs:"Čehu",pl:"Poļu",ro:"Rumāņu",de:"Vācu",fr:"Franču",es:"Spāņu",pt:"Portugāļu",it:"Itāļu",nl:"Nīderlandiešu",sv:"Zviedru",ja:"Japāņu",ko:"Korejiešu",zh:"Ķīniešu",ar:"Arābu"},UZe={app:$Ze,common:EZe,emptyState:PZe,header:TZe,filterBar:LZe,column:MZe,card:jZe,drawer:DZe,subtask:IZe,commandPalette:RZe,listView:OZe,settings:FZe,conflict:zZe,sectionLabels:HZe,toast:BZe,languageNames:qZe},VZe={name:"kandown",tagline:"AI Markdown Kanban upravljalnik"},ZZe={search:"Iskanje",searchPlaceholder:"Iskanje nalog...",cancel:"Prekliči",save:"Shrani",delete:"Izbriši",close:"Zapri",clear:"Počisti",clearAll:"Počisti vse",add:"Dodaj",remove:"Odstrani",done:"Končano",loading:"Nalaganje...",noResults:"Ni rezultatov",currentValue:"Trenutna vrednost",configKey:"Ključ nastavitev",choices:"Možnosti",openFolder:"Odpri mapo",selectFolder:"Izberi mapo",recent:"Nedavno",settings:"Nastavitve",board:"Deska",reload:"Osveži",newTask:"Nova naloga"},GZe={unsupportedBrowser:"Nepodprta brskalnik",unsupportedBrowserDesc:"Ta pogon zahteva <code>File System Access API</code>. Uporabite Chrome, Edge, Brave ali Opera. Firefox in Safari tega še ne podpirata.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},WZe={tasks:"naloge",recentProjects:"Nedavni projekti","openFolder...":"Odpri mapo..."},KZe={searchPlaceholder:"Iskanje nalog...",clearAll:"Počisti vse",ownerAll:"👤 Vsi",ownerHuman:"👤 Človek",ownerAI:"🤖 AI"},YZe={addTask:"Dodaj nalogo",columnColor:"Barva stolpca",color:"Barva"},XZe={delete:"Izbriši nalogo",confirmDelete:"Kliknite znova za brisanje"},QZe={close:"Zapri (Esc)",taskTitle:"Naslov naloge",doneSubtasks:"končano",priority:"Prioriteta",noPriority:"Brez prioritete",urgentP1:"Nujno · P1",highP2:"Visoka · P2",mediumP3:"Srednja · P3",lowP4:"Nizka · P4",assignee:"Prevzemnik",assigneePlaceholder:"uporabniško ime",tags:"Oznake",tagsPlaceholder:"backend, varnost, api",dueDate:"Rok",owner:"Lastnik",unset:"Ni nastavljeno",human:"👤 Človek",ai:"🤖 AI",tools:"Orodja",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Opis",descriptionPlaceholder:"Zapišite kontekst, povezave, odločitve...",report:"Poročilo",reportPlaceholder:"AI izpis se bo prikazal tukaj...",subtasks:"Podnaloge",addSubtask:"Dodaj podnalogo",deleteTask:"Izbriši",saveClose:"Shrani in zapri",cancel:"Prekliči"},JZe={placeholder:"Podnaloga...",description:"Opis",descriptionPlaceholder:"Dodajte kontekst, povezave ali opombe za ta korak...",report:"Poročilo",reportPlaceholder:"Kaj je bilo narejeno, katere odločitve so bile sprejete, kompromisi...",aiFillsThis:"AI izpolni po končanju",collapse:"Strni",expand:"Razširi"},eGe={placeholder:"Vnesite ukaz ali poiščite...",actions:"Dejanja",view:"Pogled",tasks:"Naloge",newTask:"Nova naloga",createNew:"Ustvari novo nalogo",reloadBoard:"Osveži desko",readFromDisk:"Znova preberi datoteke s diska",clearFilters:"Počisti filtre",boardView:"Pogled deske",listView:"Pogled seznama",compactDensity:"Kompaktna gostota",comfortableDensity:"Udobna gostota",navigate:"krmarjenje",select:"izberi"},tGe={id:"ID",title:"Naslov",status:"Status",tags:"Oznake",assignee:"Prevzemnik",progress:"Napredek",noMatchingTasks:"Nobena naloga ne ustreza"},nGe={noProjectOpen:"Noben projekt ni odprt",appearance:"Videz",appearanceDesc:"Tema, videz, ozadje, pisava in jezik.",agent:"Agent",agentDesc:"Nadaljnje obnašanje za AI-podprto delo z nalogami.",board:"Deska",boardDesc:"Vedenje ID-ja naloge in privzete nastavitve na ravni deske.",fields:"Polja",fieldsDesc:"Neobvezna polja, prikazana na nalogah in karticah deske.",language:"Jezik",languageDesc:"Jezik vmesnika shranjen v konfiguraciji tega projekta.",mode:"Način",modeDesc:"Samodejno sledi svetli ali temni sistemski nastavitvi.",auto:"Samodejno",light:"Svetlo",dark:"Temno",skin:"Videz",skinDesc:"Barvni žetoni so shranjeni na projekt v kandown.json.",background:"Ozadje",backgroundDesc:"Izberite ravno površino ali animirano tekoče ozadje.",font:"Pisava",fontDesc:"Lokalna sistemska pisava, brez omrežne zahteve.",suggestFollowUp:"Predlagaj nadaljnje naloge",suggestFollowUpDesc:"Agente prosite, naj predlagajo naslednje naloge po končanju ene.",maxSuggestions:"Največ predlogov",maxSuggestionsDesc:"Omejuje število nadaljnjih nalog, ki jih agent lahko predlaga.",defaultPriority:"Privzeta prioriteta",defaultPriorityDesc:"Začetna prioriteta za nove naloge, ko je polje Prioriteta omogočeno.",defaultOwner:"Privzeti lastnik",defaultOwnerDesc:"Začetni lastnik za nove naloge, ko je polje Lastnik omogočeno.",priority:"Prioriteta",priorityDesc:"Omogoči prioritetne metapodatke na nalogah.",assignee:"Prevzemnik",assigneeDesc:"Omogoči metapodatke prevzemnika na nalogah.",tags:"Oznake",tagsDesc:"Omogoči metapodatke oznak na nalogah.",dueDate:"Rok",dueDateDesc:"Omogoči metapodatke roka na nalogah.",ownerType:"Tip lastnika",ownerTypeDesc:"Omogoči metapodatke človeškega/AI lastništva na nalogah.",tools:"Orodja",toolsDesc:"Omogoči prostobesedilne namige za orodja AI-agenta.",searchPlaceholder:"Išči katero koli možnost",searchResults:"Rezultati iskanja",searchResultsLabel:"Rezultati iskanja",matchingOptions:"ustreznih možnosti v projektih.",options:"možnosti",noOptionFound:"Možnost ni najdena",tryAnotherSearch:"Poskusite z drugim iskalnim izrazom.",currentValue:"Trenutna vrednost",configKey:"Ključ nastavitev",choices:"Možnosti",hoverForHelp:"Miškinite ali tabulirajte čez drugo možnost, da osvežite to pomoč.",pages:"Strani",backToBoard:"Nazaj na desko",matches:"Ustreza",settingsTitle:"Nastavitve",kickerInterface:"Vmesnik",kickerAutomation:"Avtomatizacija",kickerIdentifiers:"Identifikatorji",kickerMetadata:"Metapodatki"},aGe={detected:"Zaznan konflikt",detectedDesc:"Ta naloga je bila med urejanjem spremenjena zunaj.",conflictingChanges:"Naloga <code>{{taskId}}</code> ima nasprotujoče si spremembe. Izberite, kako naj se razreši:",yourVersion:"Vaša različica (lokalna)",diskVersion:"Različica na disku (oddaljena)",cancel:"Prekliči",reloadFromDisk:"Osveži z diska",keepMyVersion:"Obdrži mojo različico",title:"Naslov",priority:"Prioriteta",body:"Vsebina",subtasks:"Podnaloge",none:"(nič)"},iGe={title:"Naslov",subtasks:"Podnaloga",context:"Kontekst",notes:"Opombe",whatWasDone:"Kaj je bilo narejeno",tags:"Oznake",assignee:"Prevzemnik",priority:"Prioriteta"},rGe={settingsUpdatedExternally:"Nastavitve so bile zunanje posodobljene — osveženo"},sGe={en:"Angleščina",fi:"Finščina",da:"Danščina",no:"Norveščina",sk:"Slovaščina",bg:"Bolgarščina",sr:"Srbščina",hr:"Hrvaščina",lt:"Litvanščina",lv:"Latvianščina",et:"Estonščina",sl:"Slovenščina",hu:"Madžarščina",cs:"Češčina",pl:"Poljščina",ro:"Romunščina",de:"Nemščina",fr:"Francoščina",es:"Španščina",pt:"Portugalščina",it:"Italijanščina",nl:"Nizozemščina",sv:"Švedščina",ja:"Japonščina",ko:"Korejščina",zh:"Kitajščina",ar:"Arabščina"},oGe={app:VZe,common:ZZe,emptyState:GZe,header:WZe,filterBar:KZe,column:YZe,card:XZe,drawer:QZe,subtask:JZe,commandPalette:eGe,listView:tGe,settings:nGe,conflict:aGe,sectionLabels:iGe,toast:rGe,languageNames:sGe},cGe={name:"kandown",tagline:"AI Markdown Kanban haldur"},pGe={search:"Otsi",searchPlaceholder:"Otsi ülesandeid...",cancel:"Katkesta",save:"Salvesta",delete:"Kustuta",close:"Sulge",clear:"Puhasta",clearAll:"Puhasta kõik",add:"Lisa",remove:"Eemalda",done:"Valmis",loading:"Laadimine...",noResults:"Tulemusi pole",currentValue:"Praegune väärtus",configKey:"Sätte võti",choices:"Valikud",openFolder:"Ava kaust",selectFolder:"Vali kaust",recent:"Hiljutised",settings:"Sätted",board:"Töölaud",reload:"Laadi ümber",newTask:"Uus ülesanne"},lGe={unsupportedBrowser:"Toetamata brauser",unsupportedBrowserDesc:"See mootor nõuab <code>File System Access API</code>-d. Kasuta Chrome, Edge, Brave või Opera. Firefox ja Safari seda veel ei toeta.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},dGe={tasks:"ülesanded",recentProjects:"Hiljutised projektid","openFolder...":"Ava kaust..."},uGe={searchPlaceholder:"Otsi ülesandeid...",clearAll:"Puhasta kõik",ownerAll:"👤 Kõik",ownerHuman:"👤 Inimene",ownerAI:"🤖 AI"},mGe={addTask:"Lisa ülesanne",columnColor:"Veeru värv",color:"Värv"},fGe={delete:"Kustuta ülesanne",confirmDelete:"Kustuta kinnitamiseks klõpsa uuesti"},gGe={close:"Sulge (Esc)",taskTitle:"Ülesande pealkiri",doneSubtasks:"tehtud",priority:"Tähtsus",noPriority:"Tähtsuseta",urgentP1:"Kiire · P1",highP2:"Kõrge · P2",mediumP3:"Keskmine · P3",lowP4:"Madal · P4",assignee:"Vastutaja",assigneePlaceholder:"kasutajanimi",tags:"Sildid",tagsPlaceholder:"backend, turvalisus, api",dueDate:"Tähtaeg",owner:"Omanik",unset:"Määramata",human:"👤 Inimene",ai:"🤖 AI",tools:"Tööriistad",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Kirjeldus",descriptionPlaceholder:"Kirjuta kontekst, lingid, otsused...",report:"Aruanne",reportPlaceholder:"AI väljund ilmub siia...",subtasks:"Alamülesanded",addSubtask:"Lisa alamülesanne",deleteTask:"Kustuta",saveClose:"Salvesta ja sulge",cancel:"Katkesta"},hGe={placeholder:"Alamülesanne...",description:"Kirjeldus",descriptionPlaceholder:"Lisa kontekst, lingid või märkmed selle sammu jaoks...",report:"Aruanne",reportPlaceholder:"Mida tehti, milliseid otsuseid langetati, kompromissid...",aiFillsThis:"AI täidab pärast lõpetamist",collapse:"Ahenda",expand:"Laienda"},bGe={placeholder:"Sisesta käsk või otsi...",actions:"Tegevused",view:"Vaade",tasks:"Ülesanded",newTask:"Uus ülesanne",createNew:"Loo uus ülesanne",reloadBoard:"Laadi töölaud ümber",readFromDisk:"Loe faile uuesti kettalt",clearFilters:"Puhasta filtrid",boardView:"Töölaua vaade",listView:"Nimekirja vaade",compactDensity:"Kompaktne tihedus",comfortableDensity:"Mugav tihedus",navigate:"navigeerimine",select:"vali"},vGe={id:"ID",title:"Pealkiri",status:"Staatus",tags:"Sildid",assignee:"Vastutaja",progress:"Edusamm",noMatchingTasks:"Ühtegi vastavat ülesannet pole"},yGe={noProjectOpen:"Projekt pole avatud",appearance:"Välimus",appearanceDesc:"Teema, kujundus, taust, font ja keel.",agent:"Agent",agentDesc:"Järelkäitumine AI-abistatud ülesannete töö jaoks.",board:"Töölaud",boardDesc:"Ülesande ID käitumine ja töölaua taseme vaikeseaded.",fields:"Väljad",fieldsDesc:"Valikulised väljad, mida ülesannetel ja töölaua kaartidel kuvatakse.",language:"Keel",languageDesc:"UI keelt salvestatakse selle projekti konfiguratsioonis.",mode:"Režiim",modeDesc:"Järgib automaatselt teie süsteemi heledat või tumedat eelistust.",auto:"Auto",light:"Hele",dark:"Tume",skin:"Kujundus",skinDesc:"Värvimärgid salvestatakse iga projekti jaoks kandown.json-is.",background:"Taust",backgroundDesc:"Vali lame pind või animeeritud vedel taust.",font:"Font",fontDesc:"Kohalik süsteemi fontide kogum, ilma võrgu päringuta.",suggestFollowUp:"Soovita järelülesandeid",suggestFollowUpDesc:"Küsi agentidelt järgmisi ülesandeid pärast ühe lõpetamist.",maxSuggestions:"Maks. soovitusi",maxSuggestionsDesc:"Piirab agentide poolt pakutavate järelülesannete arvu.",defaultPriority:"Vaikimisi tähtsus",defaultPriorityDesc:"Algne tähtsus uutele ülesannetele, kui Tähtsuse väli on lubatud.",defaultOwner:"Vaikimisi omanik",defaultOwnerDesc:"Algne omanik uutele ülesannetele, kui Omaniku väli on lubatud.",priority:"Tähtsus",priorityDesc:"Luba ülesannetel tähtsuse metaandmeid.",assignee:"Vastutaja",assigneeDesc:"Luba ülesannetel vastutaja metaandmeid.",tags:"Sildid",tagsDesc:"Luba ülesannetel siltide metaandmeid.",dueDate:"Tähtaeg",dueDateDesc:"Luba ülesannetel tähtaja metaandmeid.",ownerType:"Omaniku tüüp",ownerTypeDesc:"Luba ülesannetel inimese/AI omaniku metaandmeid.",tools:"Tööriistad",toolsDesc:"Luba AI-agendi ülesannete jaoks vabakujulisi tööriistade vihjeid.",searchPlaceholder:"Otsi mis tahes valikut",searchResults:"Otsingutulemused",searchResultsLabel:"Otsingutulemused",matchingOptions:"vastavat valikut projektiseadetes.",options:"valikut",noOptionFound:"Valikut ei leitud",tryAnotherSearch:"Proovi mõnda muud otsinguterminit.",currentValue:"Praegune väärtus",configKey:"Sätte võti",choices:"Valikud",hoverForHelp:"Liigu või tabulaeri üle teise valiku, et see spikker paneel värskendada.",pages:"Lehed",backToBoard:"Tagasi töölauale",matches:"Vastab",settingsTitle:"Sätted",kickerInterface:"Liides",kickerAutomation:"Automatiseerimine",kickerIdentifiers:"Identifikaatorid",kickerMetadata:"Metaandmed"},_Ge={detected:"Konflikt tuvastatud",detectedDesc:"Seda ülesannet muudeti väliselt, kui te seda redigeerisite.",conflictingChanges:"Ülesandel <code>{{taskId}}</code> on vastuolulised muudatused. Valige, kuidas lahendada:",yourVersion:"Teie versioon (kohalik)",diskVersion:"Ketta versioon (kaughallatav)",cancel:"Katkesta",reloadFromDisk:"Laadi kettalt ümber",keepMyVersion:"Hoia minu versioon",title:"Pealkiri",priority:"Tähtsus",body:"Sisu",subtasks:"Alamülesanded",none:"(puudub)"},kGe={title:"Pealkiri",subtasks:"Alamülesanne",context:"Kontekst",notes:"Märkmed",whatWasDone:"Mida tehti",tags:"Sildid",assignee:"Vastutaja",priority:"Tähtsus"},wGe={settingsUpdatedExternally:"Sätteid värskendati väliselt — ümber laaditud"},xGe={en:"Inglise",fi:"Soome",da:"Taani",no:"Norra",sk:"Slovaki",bg:"Bulgaaria",sr:"Serbia",hr:"Horvaatia",lt:"Leedu",lv:"Läti",et:"Eesti",sl:"Sloveeni",hu:"Ungari",cs:"Tšehhi",pl:"Poola",ro:"Rumeenia",de:"Saksa",fr:"Prantsuse",es:"Hispaania",pt:"Portugali",it:"Itaalia",nl:"Hollandi",sv:"Rootsi",ja:"Jaapani",ko:"Korea",zh:"Hiina",ar:"Araabia"},AGe={app:cGe,common:pGe,emptyState:lGe,header:dGe,filterBar:uGe,column:mGe,card:fGe,drawer:gGe,subtask:hGe,commandPalette:bGe,listView:vGe,settings:yGe,conflict:_Ge,sectionLabels:kGe,toast:wGe,languageNames:xGe},CGe={name:"kandown",tagline:"مدير كانبان بالذكاء الاصطناعي مع Markdown"},NGe={search:"بحث",searchPlaceholder:"البحث في المهام...",cancel:"إلغاء",save:"حفظ",delete:"حذف",close:"إغلاق",clear:"مسح",clearAll:"مسح الكل",add:"إضافة",remove:"إزالة",done:"تم",loading:"جارٍ التحميل...",noResults:"لا توجد نتائج",currentValue:"القيمة الحالية",configKey:"مفتاح الإعداد",choices:"الخيارات",openFolder:"فتح مجلد",selectFolder:"اختيار مجلد",recent:"الأخيرة",settings:"الإعدادات",board:"اللوحة",reload:"إعادة تحميل",newTask:"مهمة جديدة"},SGe={unsupportedBrowser:"المتصفح غير مدعوم",unsupportedBrowserDesc:"يتطلب هذا المحرك <code>File System Access API</code>. استخدم Chrome أو Edge أو Brave أو Opera. Firefox وSafari غير مدعومين حتى الآن.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},$Ge={tasks:"المهام",recentProjects:"المشاريع الأخيرة","openFolder...":"فتح مجلد..."},EGe={searchPlaceholder:"البحث في المهام...",clearAll:"مسح الكل",ownerAll:"👤 الكل",ownerHuman:"👤 بشري",ownerAI:"🤖 ذكاء اصطناعي"},PGe={addTask:"إضافة مهمة",columnColor:"لون العمود",color:"اللون"},TGe={delete:"حذف المهمة",confirmDelete:"انقر مرة أخرى للحذف"},LGe={close:"إغلاق (Esc)",taskTitle:"عنوان المهمة",doneSubtasks:"تم",priority:"الأولوية",noPriority:"لا أولوية",urgentP1:"عاجل · P1",highP2:"مرتفع · P2",mediumP3:"متوسط · P3",lowP4:"منخفض · P4",assignee:"المكلف",assigneePlaceholder:"اسم المستخدم",tags:"الوسوم",tagsPlaceholder:"backend, security, api",dueDate:"تاريخ الاستحقاق",owner:"المالك",unset:"غير محدد",human:"👤 بشري",ai:"🤖 ذكاء اصطناعي",tools:"الأدوات",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"الوصف",descriptionPlaceholder:"اكتب سياقًا أو روابط أو قرارات...",report:"التقرير",reportPlaceholder:"سيظهر مخرجات الذكاء الاصطناعي هنا...",subtasks:"المهام الفرعية",addSubtask:"إضافة مهمة فرعية",deleteTask:"حذف",saveClose:"حفظ وإغلاق",cancel:"إلغاء"},MGe={placeholder:"مهمة فرعية...",description:"الوصف",descriptionPlaceholder:"أضف سياقًا أو روابط أو ملاحظات لهذه الخطوة...",report:"التقرير",reportPlaceholder:"ما تم إنجازه والقرارات والتسويات...",aiFillsThis:"AI يملأ هذا بعد الانتهاء",collapse:"طي",expand:"توسيع"},jGe={placeholder:"اكتب أمرًا أو ابحث...",actions:"الإجراءات",view:"عرض",tasks:"المهام",newTask:"مهمة جديدة",createNew:"إنشاء مهمة جديدة",reloadBoard:"إعادة تحميل اللوحة",readFromDisk:"إعادة قراءة الملفات من القرص",clearFilters:"مسح الفلاتر",boardView:"عرض اللوحة",listView:"عرض القائمة",compactDensity:"كثافة مضغوطة",comfortableDensity:"كثافة مريحة",navigate:"تنقل",select:"اختيار"},DGe={id:"المعرف",title:"العنوان",status:"الحالة",tags:"الوسوم",assignee:"المكلف",progress:"التقدم",noMatchingTasks:"لا توجد مهام مطابقة"},IGe={noProjectOpen:"لا مشروع مفتوح",appearance:"المظهر",appearanceDesc:"السمة والجلد والخلفية والخط واللغة.",agent:"الوكيل",agentDesc:"سلوك المتابعة للمهام المساعدة بالذكاء الاصطناعي.",board:"اللوحة",boardDesc:"سلوك معرف المهمة والإعدادات الافتراضية على مستوى اللوحة.",fields:"الحقول",fieldsDesc:"حقول اختيارية معروضة على المهام وبطاقات اللوحة.",language:"اللغة",languageDesc:"لغة الواجهة المخزنة في إعداد المشروع.",mode:"الوضع",modeDesc:"التلقائي يتبع تفضيل النظام للضوء أو الظلام.",auto:"تلقائي",light:"فاتح",dark:"داكن",skin:"الجلد",skinDesc:"رموز الألوان مخزنة لكل مشروع في kandown.json.",background:"الخلفية",backgroundDesc:"اختر سطحًا مسطحًا أو خلفية سائلة متحركة.",font:"الخط",fontDesc:"خط نظام محلي بدون طلب شبكة.",suggestFollowUp:"اقتراح مهام المتابعة",suggestFollowUpDesc:"اطلب من الوكلاء اقتراح المهام التالية بعد الانتهاء من واحدة.",maxSuggestions:"الحد الأقصى للاقتراحات",maxSuggestionsDesc:"يحدد الحد الأقصى لعدد مهام المتابعة التي قد يقترحها الوكيل.",defaultPriority:"الأولوية الافتراضية",defaultPriorityDesc:"الأولوية الأولية للمهام الجديدة عند تمكين حقل الأولوية.",defaultOwner:"المالك الافتراضي",defaultOwnerDesc:"المالك الأولي للمهام الجديدة عند تمكين حقل المالك.",priority:"الأولوية",priorityDesc:"تمكين بيانات الأولوية على المهام.",assignee:"المكلف",assigneeDesc:"تمكين بيانات المكلف على المهام.",tags:"الوسوم",tagsDesc:"تمكين بيانات الوسوم على المهام.",dueDate:"تاريخ الاستحقاق",dueDateDesc:"تمكين بيانات تاريخ الاستحقاق على المهام.",ownerType:"نوع المالك",ownerTypeDesc:"تمكين بيانات الملكية البشرية/AI على المهام.",tools:"الأدوات",toolsDesc:"تمكين تلميحات الأدوات النصية لمهام الوكيل.",searchPlaceholder:"البحث في أي خيار",searchResults:"نتائج البحث",searchResultsLabel:"نتائج البحث",matchingOptions:"خيارات مطابقة عبر إعدادات المشروع.",options:"خيارات",noOptionFound:"لم يتم العثور على خيار",tryAnotherSearch:"جرب مصطلح بحث آخر.",currentValue:"القيمة الحالية",configKey:"مفتاح الإعداد",choices:"الخيارات",hoverForHelp:"مرر أو تنقل عبر خيار آخر لتحديث لوحة المساعدة هذه.",pages:"الصفحات",backToBoard:"العودة إلى اللوحة",matches:"التطابقات",settingsTitle:"الإعدادات"},RGe={detected:"تم اكتشاف تعارض",detectedDesc:"تم تعديل هذه المهمة خارجيًا أثناء التحرير.",conflictingChanges:"المهمة <code>{{taskId}}</code> تحتوي على تغييرات متناقضة. اختر كيفية الحل:",yourVersion:"نسختك (محلية)",diskVersion:"نسخة القرص (بعيدة)",cancel:"إلغاء",reloadFromDisk:"إعادة التحميل من القرص",keepMyVersion:"الاحتفاظ بنسختي",title:"العنوان",priority:"الأولوية",body:"المحتوى",subtasks:"المهام الفرعية",none:"(لا شيء)"},OGe={title:"العنوان",subtasks:"المهمة الفرعية",context:"السياق",notes:"الملاحظات",whatWasDone:"ما تم إنجازه",tags:"الوسوم",assignee:"المكلف",priority:"الأولوية"},FGe={settingsUpdatedExternally:"تم تحديث الإعدادات خارجيًا - تم إعادة التحميل"},zGe={app:CGe,common:NGe,emptyState:SGe,header:$Ge,filterBar:EGe,column:PGe,card:TGe,drawer:LGe,subtask:MGe,commandPalette:jGe,listView:DGe,settings:IGe,conflict:RGe,sectionLabels:OGe,toast:FGe},HGe={name:"kandown",tagline:"AI মার্কডাউন কানবান ম্যানেজার"},BGe={search:"অনুসন্ধান",searchPlaceholder:"টাস্ক অনুসন্ধান করুন...",cancel:"বাতিল",save:"সংরক্ষণ",delete:"মুছুন",close:"বন্ধ",clear:"পরিষ্কার",clearAll:"সব পরিষ্কার",add:"যোগ করুন",remove:"অপসারণ",done:"সম্পন্ন",loading:"লোড হচ্ছে...",noResults:"কোনো ফলাফল নেই",currentValue:"বর্তমান মান",configKey:"কনফিগ কী",choices:"পছন্দসমূহ",openFolder:"ফোল্ডার খুলুন",selectFolder:"ফোল্ডার নির্বাচন করুন",recent:"সাম্প্রতিক",settings:"সেটিংস",board:"বোর্ড",reload:"পুনরায় লোড",newTask:"নতুন টাস্ক"},qGe={unsupportedBrowser:"ব্রাউজার সমর্থিত নয়",unsupportedBrowserDesc:"এই ইঞ্জিনের জন্য <code>File System Access API</code> প্রয়োজন। Chrome, Edge, Brave বা Opera ব্যবহার করুন। Firefox এবং Safari এখনও সমর্থিত নয়।",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},UGe={tasks:"টাস্ক",recentProjects:"সাম্প্রতিক প্রজেক্ট","openFolder...":"ফোল্ডার খুলুন..."},VGe={searchPlaceholder:"টাস্ক অনুসন্ধান করুন...",clearAll:"সব পরিষ্কার",ownerAll:"👤 সব",ownerHuman:"👤 মানুষ",ownerAI:"🤖 AI"},ZGe={addTask:"টাস্ক যোগ করুন",columnColor:"কলামের রঙ",color:"রঙ"},GGe={delete:"টাস্ক মুছুন",confirmDelete:"মুছতে আবার ক্লিক করুন"},WGe={close:"বন্ধ (Esc)",taskTitle:"টাস্কের শিরোনাম",doneSubtasks:"সম্পন্ন",priority:"প্রাধান্য",noPriority:"কোনো প্রাধান্য নেই",urgentP1:"জরুরি · P1",highP2:"উচ্চ · P2",mediumP3:"মাঝারি · P3",lowP4:"নিম্ন · P4",assignee:"দায়িত্বপ্রাপ্ত",assigneePlaceholder:"ব্যবহারকারীর নাম",tags:"ট্যাগ",tagsPlaceholder:"backend, security, api",dueDate:"শেষ তারিখ",owner:"মালিক",unset:"অসেট",human:"👤 মানুষ",ai:"🤖 AI",tools:"টুলস",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"বিবরণ",descriptionPlaceholder:"কিছু প্রসঙ্গ, লিঙ্ক, সিদ্ধান্ত লিখুন...",report:"রিপোর্ট",reportPlaceholder:"AI আউটপুট এখানে দেখা যাবে...",subtasks:"সাবটাস্ক",addSubtask:"সাবটাস্ক যোগ করুন",deleteTask:"মুছুন",saveClose:"সংরক্ষণ ও বন্ধ",cancel:"বাতিল"},KGe={placeholder:"সাবটাস্ক...",description:"বিবরণ",descriptionPlaceholder:"এই ধাপে প্রসঙ্গ, লিঙ্ক বা নোট যোগ করুন...",report:"রিপোর্ট",reportPlaceholder:"কী করা হয়েছে, কী সিদ্ধান্ত নেওয়া হয়েছে, বাণিজ্যিক সিদ্ধান্ত...",aiFillsThis:"AI সম্পন্ন করার পরে এটি পূরণ করে",collapse:"ভাঁজ করুন",expand:"প্রসারিত করুন"},YGe={placeholder:"একটি কমান্ড লিখুন বা অনুসন্ধান করুন...",actions:"অ্যাকশন",view:"ভিউ",tasks:"টাস্ক",newTask:"নতুন টাস্ক",createNew:"একটি নতুন টাস্ক তৈরি করুন",reloadBoard:"বোর্ড পুনরায় লোড করুন",readFromDisk:"ডিস্ক থেকে ফাইলগুলি পুনরায় পড়ুন",clearFilters:"ফিল্টার পরিষ্কার করুন",boardView:"বোর্ড ভিউ",listView:"লিস্ট ভিউ",compactDensity:"কমপ্যাক্ট ঘনত্ব",comfortableDensity:"কমফোর্টেবল ঘনত্ব",navigate:"নেভিগেট",select:"নির্বাচন করুন"},XGe={id:"আইডি",title:"শিরোনাম",status:"স্ট্যাটাস",tags:"ট্যাগ",assignee:"দায়িত্বপ্রাপ্ত",progress:"অগ্রগতি",noMatchingTasks:"কোনো মিলে যাওয়া টাস্ক নেই"},QGe={noProjectOpen:"কোনো প্রজেক্ট খোলা নেই",appearance:"উপস্থিতি",appearanceDesc:"থিম, স্কিন, ব্যাকগ্রাউন্ড, ফন্ট এবং ভাষা।",agent:"এজেন্ট",agentDesc:"AI-সহায়তা টাস্ক কাজের জন্য ফলো-আপ আচরণ।",board:"বোর্ড",boardDesc:"টাস্ক আইডি আচরণ এবং বোর্ড-স্তরের ডিফল্ট।",fields:"ফিল্ড",fieldsDesc:"টাস্ক এবং বোর্ড কার্ডে দেখানো ঐচ্ছিক ফিল্ড।",language:"ভাষা",languageDesc:"UI ভাষা এই প্রজেক্ট কনফিগে সংরক্ষিত।",mode:"মোড",modeDesc:"অটো আপনার সিস্টেম লাইট বা ডার্ক পছন্দ অনুসরণ করে।",auto:"অটো",light:"লাইট",dark:"ডার্ক",skin:"স্কিন",skinDesc:"রঙ টোকেন প্রতি প্রজেক্টে kandown.json-এ সংরক্ষিত।",background:"ব্যাকগ্রাউন্ড",backgroundDesc:"একটি সমতল পৃষ্ঠ বা অ্যানিমেটেড তরল ব্যাকগ্রাউন্ড বেছে নিন।",font:"ফন্ট",fontDesc:"লোকাল সিস্টেম ফন্ট স্ট্যাক, কোনো নেটওয়ার্ক অনুরোধ ছাড়া।",suggestFollowUp:"ফলো-আপ টাস্ক প্রস্তাব করুন",suggestFollowUpDesc:"একটি শেষ করার পরে এজেন্টদের পরবর্তী টাস্ক প্রস্তাব করতে বলুন।",maxSuggestions:"সর্বোচ্চ প্রস্তাবনা",maxSuggestionsDesc:"একটি এজেন্ট যে ফলো-আপ টাস্ক প্রস্তাব করতে পারে তার সংখ্যা সীমিত করে।",defaultPriority:"ডিফল্ট প্রাধান্য",defaultPriorityDesc:"প্রাধান্য ফিল্ড সক্ষম থাকলে নতুন টাস্কের জন্য প্রাথমিক প্রাধান্য।",defaultOwner:"ডিফল্ট মালিক",defaultOwnerDesc:"মালিক ফিল্ড সক্ষম থাকলে নতুন টাস্কের জন্য প্রাথমিক মালিক।",priority:"প্রাধান্য",priorityDesc:"টাস্কে প্রাধান্য মেটাডেটা সক্ষম করুন।",assignee:"দায়িত্বপ্রাপ্ত",assigneeDesc:"টাস্কে দায়িত্বপ্রাপ্ত মেটাডেটা সক্ষম করুন।",tags:"ট্যাগ",tagsDesc:"টাস্কে ট্যাগ মেটাডেটা সক্ষম করুন।",dueDate:"শেষ তারিখ",dueDateDesc:"টাস্কে শেষ তারিখ মেটাডেটা সক্ষম করুন।",ownerType:"মালিকের ধরন",ownerTypeDesc:"টাস্কে মানব/AI মালিকানা মেটাডেটা সক্ষম করুন।",tools:"টুলস",toolsDesc:"AI-এজেন্ট টাস্কের জন্য ফ্রি-ফর্ম টুল হিন্ট সক্ষম করুন।",searchPlaceholder:"যেকোনো অপশন অনুসন্ধান করুন",searchResults:"অনুসন্ধান ফলাফল",searchResultsLabel:"অনুসন্ধান ফলাফল",matchingOptions:"প্রজেক্ট সেটিংস জুড়ে মিলে যাওয়া অপশন।",options:"অপশন",noOptionFound:"কোনো অপশন পাওয়া যায়নি",tryAnotherSearch:"অন্য অনুসন্ধান শব্দ চেষ্টা করুন।",currentValue:"বর্তমান মান",configKey:"কনফিগ কী",choices:"পছন্দসমূহ",hoverForHelp:"এই হেল্প প্যানেল আপডেট করতে অন্য অপশনে হোভার বা ট্যাব করুন।",pages:"পেজ",backToBoard:"বোর্ডে ফিরে যান",matches:"ম্যাচ",settingsTitle:"সেটিংস"},JGe={detected:"দ্বন্দ্ব সনাক্ত হয়েছে",detectedDesc:"আপনি সম্পাদনা করার সময় এই টাস্কটি বাহ্যিকভাবে পরিবর্তিত হয়েছে।",conflictingChanges:"টাস্ক <code>{{taskId}}</code>-এ দ্বন্দ্বপূর্ণ পরিবর্তন রয়েছে। কীভাবে সমাধান করবেন তা বেছে নিন:",yourVersion:"আপনার সংস্করণ (লোকাল)",diskVersion:"ডিস্ক সংস্করণ (রিমোট)",cancel:"বাতিল",reloadFromDisk:"ডিস্ক থেকে পুনরায় লোড করুন",keepMyVersion:"আমার সংস্করণ রাখুন",title:"শিরোনাম",priority:"প্রাধান্য",body:"বডি",subtasks:"সাবটাস্ক",none:"(কিছু নয়)"},eWe={title:"শিরোনাম",subtasks:"সাবটাস্ক",context:"প্রসঙ্গ",notes:"নোট",whatWasDone:"কী করা হয়েছে",tags:"ট্যাগ",assignee:"দায়িত্বপ্রাপ্ত",priority:"প্রাধান্য"},tWe={settingsUpdatedExternally:"সেটিংস বাহ্যিকভাবে আপডেট হয়েছে — পুনরায় লোড হয়েছে"},nWe={app:HGe,common:BGe,emptyState:qGe,header:UGe,filterBar:VGe,column:ZGe,card:GGe,drawer:WGe,subtask:KGe,commandPalette:YGe,listView:XGe,settings:QGe,conflict:JGe,sectionLabels:eWe,toast:tWe},aWe={name:"kandown",tagline:"AI Markdown Канбан Менеджер"},iWe={search:"Поиск",searchPlaceholder:"Поиск задач...",cancel:"Отмена",save:"Сохранить",delete:"Удалить",close:"Закрыть",clear:"Очистить",clearAll:"Очистить все",add:"Добавить",remove:"Удалить",done:"Готово",loading:"Загрузка...",noResults:"Нет результатов",currentValue:"Текущее значение",configKey:"Ключ конфига",choices:"Варианты",openFolder:"Открыть папку",selectFolder:"Выбрать папку",recent:"Недавние",settings:"Настройки",board:"Доска",reload:"Перезагрузить",newTask:"Новая задача"},rWe={unsupportedBrowser:"Браузер не поддерживается",unsupportedBrowserDesc:"Этому движку требуется <code>File System Access API</code>. Используйте Chrome, Edge, Brave или Opera. Firefox и Safari пока не поддерживаются.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sWe={tasks:"задачи",recentProjects:"Недавние проекты","openFolder...":"Открыть папку..."},oWe={searchPlaceholder:"Поиск задач...",clearAll:"Очистить все",ownerAll:"👤 Все",ownerHuman:"👤 Человек",ownerAI:"🤖 AI"},cWe={addTask:"Добавить задачу",columnColor:"Цвет колонки",color:"Цвет"},pWe={delete:"Удалить задачу",confirmDelete:"Нажмите еще раз для удаления"},lWe={close:"Закрыть (Esc)",taskTitle:"Название задачи",doneSubtasks:"выполнено",priority:"Приоритет",noPriority:"Без приоритета",urgentP1:"Срочно · P1",highP2:"Высокий · P2",mediumP3:"Средний · P3",lowP4:"Низкий · P4",assignee:"Исполнитель",assigneePlaceholder:"имя пользователя",tags:"Теги",tagsPlaceholder:"backend, security, api",dueDate:"Срок",owner:"Владелец",unset:"Не задан",human:"👤 Человек",ai:"🤖 AI",tools:"Инструменты",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Описание",descriptionPlaceholder:"Напишите контекст, ссылки, решения...",report:"Отчет",reportPlaceholder:"Вывод AI появится здесь...",subtasks:"Подзадачи",addSubtask:"Добавить подзадачу",deleteTask:"Удалить",saveClose:"Сохранить и закрыть",cancel:"Отмена"},dWe={placeholder:"Подзадача...",description:"Описание",descriptionPlaceholder:"Добавьте контекст, ссылки или заметки для этого шага...",report:"Отчет",reportPlaceholder:"Что было сделано, какие решения приняты, компромиссы...",aiFillsThis:"AI заполняет это после завершения",collapse:"Свернуть",expand:"Развернуть"},uWe={placeholder:"Введите команду или поиск...",actions:"Действия",view:"Вид",tasks:"Задачи",newTask:"Новая задача",createNew:"Создать новую задачу",reloadBoard:"Перезагрузить доску",readFromDisk:"Перечитать файлы с диска",clearFilters:"Очистить фильтры",boardView:"Вид доски",listView:"Вид списка",compactDensity:"Компактная плотность",comfortableDensity:"Комфортная плотность",navigate:"навигация",select:"выбрать"},mWe={id:"ID",title:"Название",status:"Статус",tags:"Теги",assignee:"Исполнитель",progress:"Прогресс",noMatchingTasks:"Нет подходящих задач"},fWe={noProjectOpen:"Нет открытого проекта",appearance:"Внешний вид",appearanceDesc:"Тема, скин, фон, шрифт и язык.",agent:"Агент",agentDesc:"Поведение последующих действий для задач с AI-помощью.",board:"Доска",boardDesc:"Поведение ID задач и настройки по умолчанию для доски.",fields:"Поля",fieldsDesc:"Дополнительные поля, показываемые на задачах и карточках доски.",language:"Язык",languageDesc:"Язык интерфейса, сохраненный в конфиге проекта.",mode:"Режим",modeDesc:"Авто следует системным настройкам светлой или темной темы.",auto:"Авто",light:"Светлый",dark:"Темный",skin:"Скин",skinDesc:"Цветовые токены хранятся в kandown.json для каждого проекта.",background:"Фон",backgroundDesc:"Выберите плоскую поверхность или анимированный жидкий фон.",font:"Шрифт",fontDesc:"Локальный системный шрифт без сетевых запросов.",suggestFollowUp:"Предлагать продолжение",suggestFollowUpDesc:"Попросить агентов предложить следующие задачи после завершения одной.",maxSuggestions:"Макс. предложений",maxSuggestionsDesc:"Ограничивает количество задач-продолжений, которые может предложить агент.",defaultPriority:"Приоритет по умолчанию",defaultPriorityDesc:"Начальный приоритет для новых задач при включенном поле Приоритет.",defaultOwner:"Владелец по умолчанию",defaultOwnerDesc:"Начальный владелец для новых задач при включенном поле Владелец.",priority:"Приоритет",priorityDesc:"Включить метаданные приоритета на задачах.",assignee:"Исполнитель",assigneeDesc:"Включить метаданные исполнителя на задачах.",tags:"Теги",tagsDesc:"Включить метаданные тегов на задачах.",dueDate:"Срок",dueDateDesc:"Включить метаданные срока на задачах.",ownerType:"Тип владельца",ownerTypeDesc:"Включить метаданные человеческого/AI владельца на задачах.",tools:"Инструменты",toolsDesc:"Включить подсказки инструментов для задач AI-агента.",searchPlaceholder:"Поиск любого параметра",searchResults:"Результаты поиска",searchResultsLabel:"Результаты поиска",matchingOptions:"соответствующих параметров в настройках проекта.",options:"параметров",noOptionFound:"Параметр не найден",tryAnotherSearch:"Попробуйте другой поисковый запрос.",currentValue:"Текущее значение",configKey:"Ключ конфига",choices:"Варианты",hoverForHelp:"Наведите или переключитесь на другой параметр, чтобы обновить эту панель помощи.",pages:"Страницы",backToBoard:"Вернуться к доске",matches:"Совпадения",settingsTitle:"Настройки"},gWe={detected:"Обнаружен конфликт",detectedDesc:"Эта задача была изменена извне во время редактирования.",conflictingChanges:"Задача <code>{{taskId}}</code> имеет конфликтующие изменения. Выберите способ решения:",yourVersion:"Ваша версия (локальная)",diskVersion:"Версия на диске (удаленная)",cancel:"Отмена",reloadFromDisk:"Перезагрузить с диска",keepMyVersion:"Оставить мою версию",title:"Название",priority:"Приоритет",body:"Содержимое",subtasks:"Подзадачи",none:"(нет)"},hWe={title:"Название",subtasks:"Подзадача",context:"Контекст",notes:"Заметки",whatWasDone:"Что сделано",tags:"Теги",assignee:"Исполнитель",priority:"Приоритет"},bWe={settingsUpdatedExternally:"Настройки были обновлены извне — перезагружено"},vWe={app:aWe,common:iWe,emptyState:rWe,header:sWe,filterBar:oWe,column:cWe,card:pWe,drawer:lWe,subtask:dWe,commandPalette:uWe,listView:mWe,settings:fWe,conflict:gWe,sectionLabels:hWe,toast:bWe},yWe={name:"kandown",tagline:"AI Markdown かんばんマネージャー"},_We={search:"検索",searchPlaceholder:"タスクを検索...",cancel:"キャンセル",save:"保存",delete:"削除",close:"閉じる",clear:"クリア",clearAll:"すべてクリア",add:"追加",remove:"削除",done:"完了",loading:"読み込み中...",noResults:"結果なし",currentValue:"現在の値",configKey:"設定キー",choices:"選択肢",openFolder:"フォルダを開く",selectFolder:"フォルダを選択",recent:"最近",settings:"設定",board:"ボード",reload:"再読み込み",newTask:"新しいタスク"},kWe={unsupportedBrowser:"サポートされていないブラウザ",unsupportedBrowserDesc:"このエンジンは <code>File System Access API</code> を必要とします。Chrome、Edge、Brave、または Opera を使用してください。Firefox と Safari はまだサポートされていません。",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},wWe={tasks:"タスク",recentProjects:"最近のプロジェクト","openFolder...":"フォルダを開く..."},xWe={searchPlaceholder:"タスクを検索...",clearAll:"すべてクリア",ownerAll:"👤 すべて",ownerHuman:"👤 人間",ownerAI:"🤖 AI"},AWe={addTask:"タスクを追加",columnColor:"列の色",color:"色"},CWe={delete:"タスクを削除",confirmDelete:"もう一度クリックして削除"},NWe={close:"閉じる (Esc)",taskTitle:"タスクタイトル",doneSubtasks:"完了",priority:"優先度",noPriority:"優先度なし",urgentP1:"緊急 · P1",highP2:"高 · P2",mediumP3:"中 · P3",lowP4:"低 · P4",assignee:"担当者",assigneePlaceholder:"ユーザー名",tags:"タグ",tagsPlaceholder:"backend, security, api",dueDate:"期限",owner:"所有者",unset:"未設定",human:"👤 人間",ai:"🤖 AI",tools:"ツール",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"説明",descriptionPlaceholder:"コンテキスト、リンク、決定を書いてください...",report:"レポート",reportPlaceholder:"AI出力はここに表示されます...",subtasks:"サブタスク",addSubtask:"サブタスクを追加",deleteTask:"削除",saveClose:"保存して閉じる",cancel:"キャンセル"},SWe={placeholder:"サブタスク...",description:"説明",descriptionPlaceholder:"このステップのコンテキスト、リンク、メモを追加...",report:"レポート",reportPlaceholder:"何をしたか、どのような決定をしたか、トレードオフ...",aiFillsThis:"AIは完了後にこれを記入します",collapse:"折りたたむ",expand:"展開"},$We={placeholder:"コマンドを入力または検索...",actions:"アクション",view:"表示",tasks:"タスク",newTask:"新しいタスク",createNew:"新しいタスクを作成",reloadBoard:"ボードを再読み込み",readFromDisk:"ディスクからファイルを再読み込み",clearFilters:"フィルタをクリア",boardView:"ボード表示",listView:"リスト表示",compactDensity:"コンパクト密度",comfortableDensity:"comfortable密度",navigate:"ナビゲート",select:"選択"},EWe={id:"ID",title:"タイトル",status:"ステータス",tags:"タグ",assignee:"担当者",progress:"進捗",noMatchingTasks:"一致するタスクがありません"},PWe={noProjectOpen:"プロジェクトが開かれていません",appearance:"外観",appearanceDesc:"テーマ、スキン、背景、フォント、言語。",agent:"エージェント",agentDesc:"AI支援タスク作業のフォローアップ動作。",board:"ボード",boardDesc:"タスクIDの動作とボードレベルのデフォルト。",fields:"フィールド",fieldsDesc:"タスクとボードカードに表示されるオプションフィールド。",language:"言語",languageDesc:"UI言語はこのプロジェクト設定に保存されます。",mode:"モード",modeDesc:"自動はシステムのライトまたはダーク設定を優先します。",auto:"自動",light:"ライト",dark:"ダーク",skin:"スキン",skinDesc:"カラートークンは各プロジェクトのkandown.jsonに保存されます。",background:"背景",backgroundDesc:"フラットな поверхностьまたはアニメーション液体背景を選択。",font:"フォント",fontDesc:"ネットワーク要求なしのローカルシステムフォントスタック。",suggestFollowUp:"フォローアップタスクを提案",suggestFollowUpDesc:"エージェントに1つを完了した後、次のタスクを提案するよう依頼。",maxSuggestions:"最大提案数",maxSuggestionsDesc:"エージェントが提案できるフォローアップタスクの数を制限。",defaultPriority:"デフォルト優先度",defaultPriorityDesc:"優先度フィールドが有効な場合的新しいタスクの初期優先度。",defaultOwner:"デフォルト所有者",defaultOwnerDesc:"所有者フィールドが有効な場合的新しいタスクの初期所有者。",priority:"優先度",priorityDesc:"タスクの優先度メタデータを有効化。",assignee:"担当者",assigneeDesc:"タスクの担当者メタデータを有効化。",tags:"タグ",tagsDesc:"タスクのタグメタデータを有効化。",dueDate:"期限",dueDateDesc:"タスクの期限メタデータを有効化。",ownerType:"所有者タイプ",ownerTypeDesc:"タスクの人間/AI所有権メタデータを有効化。",tools:"ツール",toolsDesc:"AIエージェントタスクの.free-formツールヒントを有効化。",searchPlaceholder:"任意のオプションを検索",searchResults:"検索結果",searchResultsLabel:"検索結果",matchingOptions:"プロジェクト設定全体のオプションが一致。",options:"オプション",noOptionFound:"オプションが見つかりません",tryAnotherSearch:"別の検索用語を試してください。",currentValue:"現在の値",configKey:"設定キー",choices:"選択肢",hoverForHelp:"このヘルプパネルを更新するには、別のオプションをホバーまたはタブしてください。",pages:"ページ",backToBoard:"ボードに戻る",matches:"一致",settingsTitle:"設定"},TWe={detected:"競合が検出されました",detectedDesc:"このタスクは編集中に外部で変更されました。",conflictingChanges:"タスク <code>{{taskId}}</code> に競合する変更があります。解決方法を選択:",yourVersion:"あなたのバージョン(ローカル)",diskVersion:"ディスクバージョン(リモート)",cancel:"キャンセル",reloadFromDisk:"ディスクから再読み込み",keepMyVersion:"私のバージョンを維持",title:"タイトル",priority:"優先度",body:"ボディ",subtasks:"サブタスク",none:"(なし)"},LWe={title:"タイトル",subtasks:"サブタスク",context:"コンテキスト",notes:"メモ",whatWasDone:"何がれたか",tags:"タグ",assignee:"担当者",priority:"優先度"},MWe={settingsUpdatedExternally:"設定が外部で更新されました — 再読み込みしました"},jWe={app:yWe,common:_We,emptyState:kWe,header:wWe,filterBar:xWe,column:AWe,card:CWe,drawer:NWe,subtask:SWe,commandPalette:$We,listView:EWe,settings:PWe,conflict:TWe,sectionLabels:LWe,toast:MWe},DWe={name:"kandown",tagline:"AI 마크다운 칸반 관리자"},IWe={search:"검색",searchPlaceholder:"작업 검색...",cancel:"취소",save:"저장",delete:"삭제",close:"닫기",clear:"지우기",clearAll:"모두 지우기",add:"추가",remove:"제거",done:"완료",loading:"로딩 중...",noResults:"결과 없음",currentValue:"현재 값",configKey:"설정 키",choices:"선택",openFolder:"폴더 열기",selectFolder:"폴더 선택",recent:"최근",settings:"설정",board:"보드",reload:"새로고침",newTask:"새 작업"},RWe={unsupportedBrowser:"지원되지 않는 브라우저",unsupportedBrowserDesc:"이 엔진은 <code>File System Access API</code>가 필요합니다. Chrome, Edge, Brave 또는 Opera를 사용하세요. Firefox와 Safari는 아직 지원되지 않습니다.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},OWe={tasks:"작업",recentProjects:"최근 프로젝트","openFolder...":"폴더 열기..."},FWe={searchPlaceholder:"작업 검색...",clearAll:"모두 지우기",ownerAll:"👤 전체",ownerHuman:"👤 인간",ownerAI:"🤖 AI"},zWe={addTask:"작업 추가",columnColor:"열 색상",color:"색상"},HWe={delete:"작업 삭제",confirmDelete:"다시 클릭하여 삭제"},BWe={close:"닫기 (Esc)",taskTitle:"작업 제목",doneSubtasks:"완료",priority:"우선순위",noPriority:"우선순위 없음",urgentP1:"긴급 · P1",highP2:"높음 · P2",mediumP3:"중간 · P3",lowP4:"낮음 · P4",assignee:"담당자",assigneePlaceholder:"사용자 이름",tags:"태그",tagsPlaceholder:"backend, security, api",dueDate:"마감일",owner:"소유자",unset:"설정되지 않음",human:"👤 인간",ai:"🤖 AI",tools:"도구",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"설명",descriptionPlaceholder:"일부 컨텍스트, 링크, 결정을 작성하세요...",report:"보고서",reportPlaceholder:"AI 출력이 여기에 표시됩니다...",subtasks:"하위 작업",addSubtask:"하위 작업 추가",deleteTask:"삭제",saveClose:"저장 및 닫기",cancel:"취소"},qWe={placeholder:"하위 작업...",description:"설명",descriptionPlaceholder:"이 단계에 대한 컨텍스트, 링크 또는 메모를 추가하세요...",report:"보고서",reportPlaceholder:"무엇이 완료되었는지, 어떤 결정이 내려졌는지, 트레이드오프...",aiFillsThis:"AI가 완료 후 이를 입력합니다",collapse:"접기",expand:"펼치기"},UWe={placeholder:"명령어를 입력하거나 검색하세요...",actions:"작업",view:"보기",tasks:"작업",newTask:"새 작업",createNew:"새 작업 만들기",reloadBoard:"보드 새로고침",readFromDisk:"디스크에서 파일 다시 읽기",clearFilters:"필터 지우기",boardView:"보드 보기",listView:"목록 보기",compactDensity:"컴팩트 밀도",comfortableDensity:"컴포터블 밀도",navigate:"탐색",select:"선택"},VWe={id:"ID",title:"제목",status:"상태",tags:"태그",assignee:"담당자",progress:"진행률",noMatchingTasks:"일치하는 작업 없음"},ZWe={noProjectOpen:"열린 프로젝트 없음",appearance:"모양",appearanceDesc:"테마, 스킨, 배경, 폰트 및 언어.",agent:"에이전트",agentDesc:"AI 보조 작업 작업의 후속 작업 동작.",board:"보드",boardDesc:"작업 ID 동작 및 보드 수준 기본값.",fields:"필드",fieldsDesc:"작업 및 보드 카드에 표시되는 선택적 필드.",language:"언어",languageDesc:"UI 언어는 이 프로젝트 설정에 저장됩니다.",mode:"모드",modeDesc:"자동은 시스템 라이트 또는 다크 설정을 따릅니다.",auto:"자동",light:"라이트",dark:"다크",skin:"스킨",skinDesc:"색상 토큰은 각 프로젝트의 kandown.json에 저장됩니다.",background:"배경",backgroundDesc:"플랫 표면 또는 애니메이션 liquid 배경을 선택하세요.",font:"폰트",fontDesc:"네트워크 요청 없이 로컬 시스템 폰트 스택.",suggestFollowUp:"후속 작업 제안",suggestFollowUpDesc:"에이전트에게 하나를 완료한 후 다음 작업을 제안하도록 요청하세요.",maxSuggestions:"최대 제안 수",maxSuggestionsDesc:"에이전트가 제안할 수 있는 후속 작업 수를 제한합니다.",defaultPriority:"기본 우선순위",defaultPriorityDesc:"우선순위 필드가 활성화되면 새 작업의 초기 우선순위.",defaultOwner:"기본 소유자",defaultOwnerDesc:"소유자 필드가 활성화되면 새 작업의 초기 소유자.",priority:"우선순위",priorityDesc:"작업의 우선순위 메타데이터를 활성화합니다.",assignee:"담당자",assigneeDesc:"작업의 담당자 메타데이터를 활성화합니다.",tags:"태그",tagsDesc:"작업의 태그 메타데이터를 활성화합니다.",dueDate:"마감일",dueDateDesc:"작업의 마감일 메타데이터를 활성화합니다.",ownerType:"소유자 유형",ownerTypeDesc:"작업의 인간/AI 소유권 메타데이터를 활성화합니다.",tools:"도구",toolsDesc:"AI 에이전트 작업에 대한 free-form 도구 힌트를 활성화합니다.",searchPlaceholder:"모든 옵션 검색",searchResults:"검색 결과",searchResultsLabel:"검색 결과",matchingOptions:"프로젝트 설정 전체에서 일치하는 옵션.",options:"옵션",noOptionFound:"옵션을 찾을 수 없습니다",tryAnotherSearch:"다른 검색어를 시도하세요.",currentValue:"현재 값",configKey:"설정 키",choices:"선택",hoverForHelp:"이 도움말 패널을 업데이트하려면 다른 옵션을 호버하거나 탭하세요.",pages:"페이지",backToBoard:"보드로 돌아가기",matches:"일치",settingsTitle:"설정"},GWe={detected:"충돌 감지됨",detectedDesc:"이 작업은 편집 중에 외부에서 수정되었습니다.",conflictingChanges:"작업 <code>{{taskId}}</code>에 충돌하는 변경 사항이 있습니다. 해결 방법 선택:",yourVersion:"내 버전 (로컬)",diskVersion:"디스크 버전 (원격)",cancel:"취소",reloadFromDisk:"디스크에서 다시 로드",keepMyVersion:"내 버전 유지",title:"제목",priority:"우선순위",body:"본문",subtasks:"하위 작업",none:"(없음)"},WWe={title:"제목",subtasks:"하위 작업",context:"컨텍스트",notes:"노트",whatWasDone:"무엇이 완료되었는지",tags:"태그",assignee:"담당자",priority:"우선순위"},KWe={settingsUpdatedExternally:"설정이 외부에서 업데이트되었습니다 — 다시 로드됨"},YWe={app:DWe,common:IWe,emptyState:RWe,header:OWe,filterBar:FWe,column:zWe,card:HWe,drawer:BWe,subtask:qWe,commandPalette:UWe,listView:VWe,settings:ZWe,conflict:GWe,sectionLabels:WWe,toast:KWe},XWe={name:"kandown",tagline:"AI Markdown Kanban Yöneticisi"},QWe={search:"Ara",searchPlaceholder:"Görevleri ara...",cancel:"İptal",save:"Kaydet",delete:"Sil",close:"Kapat",clear:"Temizle",clearAll:"Tümünü temizle",add:"Ekle",remove:"Kaldır",done:"Tamamlandı",loading:"Yükleniyor...",noResults:"Sonuç yok",currentValue:"Mevcut değer",configKey:"Yapılandırma anahtarı",choices:"Seçenekler",openFolder:"Klasör aç",selectFolder:"Klasör seç",recent:"Son",settings:"Ayarlar",board:"Pano",reload:"Yenile",newTask:"Yeni görev"},JWe={unsupportedBrowser:"Desteklenmeyen tarayıcı",unsupportedBrowserDesc:"Bu motor <code>File System Access API</code> gerektirir. Chrome, Edge, Brave veya Opera kullanın. Firefox ve Safari henüz desteklenmiyor.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eKe={tasks:"görevler",recentProjects:"Son projeler","openFolder...":"Klasör aç..."},tKe={searchPlaceholder:"Görevleri ara...",clearAll:"Tümünü temizle",ownerAll:"👤 Tümü",ownerHuman:"👤 İnsan",ownerAI:"🤖 AI"},nKe={addTask:"Görev ekle",columnColor:"Sütun rengi",color:"Renk"},aKe={delete:"Görevi sil",confirmDelete:"Silmek için tekrar tıkla"},iKe={close:"Kapat (Esc)",taskTitle:"Görev başlığı",doneSubtasks:"tamamlandı",priority:"Öncelik",noPriority:"Öncelik yok",urgentP1:"Acil · P1",highP2:"Yüksek · P2",mediumP3:"Orta · P3",lowP4:"Düşük · P4",assignee:"Atanan",assigneePlaceholder:"kullanıcı adı",tags:"Etiketler",tagsPlaceholder:"backend, security, api",dueDate:"Bitiş tarihi",owner:"Sahip",unset:"Ayarlanmamış",human:"👤 İnsan",ai:"🤖 AI",tools:"Araçlar",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Açıklama",descriptionPlaceholder:"Bağlam, bağlantılar, kararlar yazın...",report:"Rapor",reportPlaceholder:"AI çıktısı burada görünecek...",subtasks:"Alt görevler",addSubtask:"Alt görev ekle",deleteTask:"Sil",saveClose:"Kaydet ve kapat",cancel:"İptal"},rKe={placeholder:"Alt görev...",description:"Açıklama",descriptionPlaceholder:"Bu adım için bağlam, bağlantı veya notlar ekle...",report:"Rapor",reportPlaceholder:"Ne yapıldı, hangi kararlar alındı, ödünler...",aiFillsThis:"AI bunu tamamladıktan sonra doldurur",collapse:"Daralt",expand:"Genişlet"},sKe={placeholder:"Bir komut yazın veya arayın...",actions:"Eylemler",view:"Görünüm",tasks:"Görevler",newTask:"Yeni görev",createNew:"Yeni görev oluştur",reloadBoard:"Panoyu yenile",readFromDisk:"Dosyaları diskten yeniden oku",clearFilters:"Filtreleri temizle",boardView:"Pano görünümü",listView:"Liste görünümü",compactDensity:"Kompakt yoğunluk",comfortableDensity:"Konforlu yoğunluk",navigate:"navigasyon",select:"seç"},oKe={id:"Kimlik",title:"Başlık",status:"Durum",tags:"Etiketler",assignee:"Atanan",progress:"İlerleme",noMatchingTasks:"Eşleşen görev yok"},cKe={noProjectOpen:"Açık proje yok",appearance:"Görünüm",appearanceDesc:"Tema, cilt, arka plan, yazı tipi ve dil.",agent:"Ajan",agentDesc:"AI destekli görev çalışması için takip davranışı.",board:"Pano",boardDesc:"Görev kimliği davranışı ve pano düzeyinde varsayılanlar.",fields:"Alanlar",fieldsDesc:"Görevler ve pano kartlarında gösterilen isteğe bağlı alanlar.",language:"Dil",languageDesc:"UI dili bu proje yapılandırmasında saklanır.",mode:"Mod",modeDesc:"Otomatik, sistem ışık veya koyu tercihini takip eder.",auto:"Otomatik",light:"Açık",dark:"Koyu",skin:"Cilt",skinDesc:"Renk belirteçleri her proje için kandown.json'da saklanır.",background:"Arka plan",backgroundDesc:"Düz bir yüzey veya animasyonlu sıvı arka plan seçin.",font:"Yazı tipi",fontDesc:"Ağ isteği olmadan yerel sistem yazı tipi yığını.",suggestFollowUp:"Takip görevleri öner",suggestFollowUpDesc:"Ajanlardan birini bitirdikten sonra sonraki görevleri önermelerini isteyin.",maxSuggestions:"Maks öneri",maxSuggestionsDesc:"Bir ajanın önerebileceği takip görevi sayısını sınırlar.",defaultPriority:"Varsayılan öncelik",defaultPriorityDesc:"Öncelik alanı etkinleştirildiğinde yeni görevler için başlangıç önceliği.",defaultOwner:"Varsayılan sahip",defaultOwnerDesc:"Sahip alanı etkinleştirildiğinde yeni görevler için başlangıç sahibi.",priority:"Öncelik",priorityDesc:"Görevlerde öncelik meta verilerini etkinleştir.",assignee:"Atanan",assigneeDesc:"Görevlerde atanan meta verilerini etkinleştir.",tags:"Etiketler",tagsDesc:"Görevlerde etiket meta verilerini etkinleştir.",dueDate:"Bitiş tarihi",dueDateDesc:"Görevlerde bitiş tarihi meta verilerini etkinleştir.",ownerType:"Sahip türü",ownerTypeDesc:"Görevlerde insan/AI sahipliği meta verilerini etkinleştir.",tools:"Araçlar",toolsDesc:"AI ajan görevleri için özgür biçimli araç ipuçlarını etkinleştir.",searchPlaceholder:"Herhangi bir seçeneği ara",searchResults:"Arama sonuçları",searchResultsLabel:"Arama sonuçları",matchingOptions:"proje ayarları genelinde eşleşen seçenekler.",options:"seçenekler",noOptionFound:"Seçenek bulunamadı",tryAnotherSearch:"Başka bir arama terimi deneyin.",currentValue:"Mevcut değer",configKey:"Yapılandırma anahtarı",choices:"Seçenekler",hoverForHelp:"Bu yardım panelini güncellemek için başka bir seçeneğin üzerine gelin veya sekmeye basın.",pages:"Sayfalar",backToBoard:"Panoya geri dön",matches:"Eşleşmeler",settingsTitle:"Ayarlar"},pKe={detected:"Çakışma Tespit Edildi",detectedDesc:"Bu görev, düzenlerken dışarıdan değiştirildi.",conflictingChanges:"Görev <code>{{taskId}}</code> çakışan değişikliklere sahip. Nasıl çözüleceğini seçin:",yourVersion:"Sürümünüz (yerel)",diskVersion:"Disk sürümü (uzak)",cancel:"İptal",reloadFromDisk:"Diskten yeniden yükle",keepMyVersion:"Sürümümü koru",title:"Başlık",priority:"Öncelik",body:"İçerik",subtasks:"Alt görevler",none:"(yok)"},lKe={title:"Başlık",subtasks:"Alt görev",context:"Bağlam",notes:"Notlar",whatWasDone:"Ne yapıldı",tags:"Etiketler",assignee:"Atanan",priority:"Öncelik"},dKe={settingsUpdatedExternally:"Ayarlar dışarıdan güncellendi — yeniden yüklendi"},uKe={app:XWe,common:QWe,emptyState:JWe,header:eKe,filterBar:tKe,column:nKe,card:aKe,drawer:iKe,subtask:rKe,commandPalette:sKe,listView:oKe,settings:cKe,conflict:pKe,sectionLabels:lKe,toast:dKe},mKe={name:"kandown",tagline:"AI Markdown Kanban Quản Lý"},fKe={search:"Tìm kiếm",searchPlaceholder:"Tìm kiếm công việc...",cancel:"Hủy",save:"Lưu",delete:"Xóa",close:"Đóng",clear:"Xóa",clearAll:"Xóa tất cả",add:"Thêm",remove:"Xóa",done:"Xong",loading:"Đang tải...",noResults:"Không có kết quả",currentValue:"Giá trị hiện tại",configKey:"Khóa cấu hình",choices:"Lựa chọn",openFolder:"Mở thư mục",selectFolder:"Chọn thư mục",recent:"Gần đây",settings:"Cài đặt",board:"Bảng",reload:"Tải lại",newTask:"Công việc mới"},gKe={unsupportedBrowser:"Trình duyệt không được hỗ trợ",unsupportedBrowserDesc:"Công cụ này yêu cầu <code>File System Access API</code>. Sử dụng Chrome, Edge, Brave hoặc Opera. Firefox và Safari chưa được hỗ trợ.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},hKe={tasks:"công việc",recentProjects:"Dự án gần đây","openFolder...":"Mở thư mục..."},bKe={searchPlaceholder:"Tìm kiếm công việc...",clearAll:"Xóa tất cả",ownerAll:"👤 Tất cả",ownerHuman:"👤 Người",ownerAI:"🤖 AI"},vKe={addTask:"Thêm công việc",columnColor:"Màu cột",color:"Màu"},yKe={delete:"Xóa công việc",confirmDelete:"Nhấn lại để xóa"},_Ke={close:"Đóng (Esc)",taskTitle:"Tiêu đề công việc",doneSubtasks:"đã xong",priority:"Ưu tiên",noPriority:"Không ưu tiên",urgentP1:"Khẩn cấp · P1",highP2:"Cao · P2",mediumP3:"Trung bình · P3",lowP4:"Thấp · P4",assignee:"Người được giao",assigneePlaceholder:"tên người dùng",tags:"Thẻ",tagsPlaceholder:"backend, security, api",dueDate:"Ngày hết hạn",owner:"Chủ sở hữu",unset:"Chưa đặt",human:"👤 Người",ai:"🤖 AI",tools:"Công cụ",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Mô tả",descriptionPlaceholder:"Viết một số ngữ cảnh, liên kết, quyết định...",report:"Báo cáo",reportPlaceholder:"Đầu ra AI sẽ xuất hiện ở đây...",subtasks:"Công việc con",addSubtask:"Thêm công việc con",deleteTask:"Xóa",saveClose:"Lưu và đóng",cancel:"Hủy"},kKe={placeholder:"Công việc con...",description:"Mô tả",descriptionPlaceholder:"Thêm ngữ cảnh, liên kết hoặc ghi chú cho bước này...",report:"Báo cáo",reportPlaceholder:"Đã làm gì, quyết định gì, thỏa hiệp...",aiFillsThis:"AI điền vào đây sau khi hoàn thành",collapse:"Thu gọn",expand:"Mở rộng"},wKe={placeholder:"Nhập lệnh hoặc tìm kiếm...",actions:"Hành động",view:"Xem",tasks:"Công việc",newTask:"Công việc mới",createNew:"Tạo công việc mới",reloadBoard:"Tải lại bảng",readFromDisk:"Đọc lại tệp từ đĩa",clearFilters:"Xóa bộ lọc",boardView:"Xem bảng",listView:"Xem danh sách",compactDensity:"Mật độ nhỏ gọn",comfortableDensity:"Mật độ thoải mái",navigate:"điều hướng",select:"chọn"},xKe={id:"ID",title:"Tiêu đề",status:"Trạng thái",tags:"Thẻ",assignee:"Người được giao",progress:"Tiến độ",noMatchingTasks:"Không có công việc phù hợp"},AKe={noProjectOpen:"Không có dự án mở",appearance:"Giao diện",appearanceDesc:"Chủ đề, giao diện, nền, phông chữ và ngôn ngữ.",agent:"Đại lý",agentDesc:"Hành vi theo dõi cho công việc được AI hỗ trợ.",board:"Bảng",boardDesc:"Hành vi ID công việc và mặc định cấp bảng.",fields:"Trường",fieldsDesc:"Các trường tùy chọn hiển thị trên công việc và thẻ bảng.",language:"Ngôn ngữ",languageDesc:"Ngôn ngữ UI được lưu trong cấu hình dự án này.",mode:"Chế độ",modeDesc:"Tự động theo tùy chọn sáng hoặc tối của hệ thống.",auto:"Tự động",light:"Sáng",dark:"Tối",skin:"Giao diện",skinDesc:"Mã thông báo màu được lưu trữ cho mỗi dự án trong kandown.json.",background:"Nền",backgroundDesc:"Chọn bề mặt phẳng hoặc nền chất lỏng có hoạt hình.",font:"Phông chữ",fontDesc:"Ngăn xếp phông chữ hệ thống cục bộ, không có yêu cầu mạng.",suggestFollowUp:"Đề xuất công việc theo dõi",suggestFollowUpDesc:"Yêu cầu các đại lý đề xuất công việc tiếp theo sau khi hoàn thành một công việc.",maxSuggestions:"Đề xuất tối đa",maxSuggestionsDesc:"Giới hạn số lượng công việc theo dõi mà một đại lý có thể đề xuất.",defaultPriority:"Ưu tiên mặc định",defaultPriorityDesc:"Ưu tiên ban đầu cho công việc mới khi trường Ưu tiên được bật.",defaultOwner:"Chủ sở hữu mặc định",defaultOwnerDesc:"Chủ sở hữu ban đầu cho công việc mới khi trường Chủ sở hữu được bật.",priority:"Ưu tiên",priorityDesc:"Bật siêu dữ liệu ưu tiên trên công việc.",assignee:"Người được giao",assigneeDesc:"Bật siêu dữ liệu người được giao trên công việc.",tags:"Thẻ",tagsDesc:"Bật siêu dữ liệu thẻ trên công việc.",dueDate:"Ngày hết hạn",dueDateDesc:"Bật siêu dữ liệu ngày hết hạn trên công việc.",ownerType:"Loại chủ sở hữu",ownerTypeDesc:"Bật siêu dữ liệu quyền sở hữu người/AI trên công việc.",tools:"Công cụ",toolsDesc:"Bật gợi ý công cụ dạng tự do cho công việc đại lý AI.",searchPlaceholder:"Tìm kiếm bất kỳ tùy chọn nào",searchResults:"Kết quả tìm kiếm",searchResultsLabel:"Kết quả tìm kiếm",matchingOptions:"các tùy chọn phù hợp trong cài đặt dự án.",options:"tùy chọn",noOptionFound:"Không tìm thấy tùy chọn",tryAnotherSearch:"Thử cụm từ tìm kiếm khác.",currentValue:"Giá trị hiện tại",configKey:"Khóa cấu hình",choices:"Lựa chọn",hoverForHelp:"Di chuột hoặc tab qua một tùy chọn khác để cập nhật bảng trợ giúp này.",pages:"Trang",backToBoard:"Quay lại bảng",matches:"Kết quả phù hợp",settingsTitle:"Cài đặt"},CKe={detected:"Phát hiện xung đột",detectedDesc:"Công việc này đã được sửa đổi bên ngoài trong khi bạn đang chỉnh sửa.",conflictingChanges:"Công việc <code>{{taskId}}</code> có các thay đổi xung đột. Chọn cách giải quyết:",yourVersion:"Phiên bản của bạn (cục bộ)",diskVersion:"Phiên bản đĩa (từ xa)",cancel:"Hủy",reloadFromDisk:"Tải lại từ đĩa",keepMyVersion:"Giữ phiên bản của tôi",title:"Tiêu đề",priority:"Ưu tiên",body:"Nội dung",subtasks:"Công việc con",none:"(không)"},NKe={title:"Tiêu đề",subtasks:"Công việc con",context:"Bối cảnh",notes:"Ghi chú",whatWasDone:"Đã làm gì",tags:"Thẻ",assignee:"Người được giao",priority:"Ưu tiên"},SKe={settingsUpdatedExternally:"Cài đặt đã được cập nhật bên ngoài — đã tải lại"},$Ke={app:mKe,common:fKe,emptyState:gKe,header:hKe,filterBar:bKe,column:vKe,card:yKe,drawer:_Ke,subtask:kKe,commandPalette:wKe,listView:xKe,settings:AKe,conflict:CKe,sectionLabels:NKe,toast:SKe},EKe={name:"kandown",tagline:"AI Markdown Kanban Manager"},PKe={search:"Cari",searchPlaceholder:"Mencari tugas...",cancel:"Batal",save:"Simpan",delete:"Hapus",close:"Tutup",clear:"Bersihkan",clearAll:"Bersihkan semua",add:"Tambah",remove:"Hapus",done:"Selesai",loading:"Memuat...",noResults:"Tidak ada hasil",currentValue:"Nilai saat ini",configKey:"Kunci konfigurasi",choices:"Pilihan",openFolder:"Buka folder",selectFolder:"Pilih folder",recent:"Terbaru",settings:"Pengaturan",board:"Papan",reload:"Muat ulang",newTask:"Tugas baru"},TKe={unsupportedBrowser:"Browser tidak didukung",unsupportedBrowserDesc:"Mesin ini memerlukan <code>File System Access API</code>. Gunakan Chrome, Edge, Brave, atau Opera. Firefox dan Safari belum didukung.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},LKe={tasks:"tugas",recentProjects:"Proyek terbaru","openFolder...":"Buka folder..."},MKe={searchPlaceholder:"Mencari tugas...",clearAll:"Bersihkan semua",ownerAll:"👤 Semua",ownerHuman:"👤 Manusia",ownerAI:"🤖 AI"},jKe={addTask:"Tambah tugas",columnColor:"Warna kolom",color:"Warna"},DKe={delete:"Hapus tugas",confirmDelete:"Klik lagi untuk menghapus"},IKe={close:"Tutup (Esc)",taskTitle:"Judul tugas",doneSubtasks:"selesai",priority:"Prioritas",noPriority:"Tanpa prioritas",urgentP1:"Mendesak · P1",highP2:"Tinggi · P2",mediumP3:"Sedang · P3",lowP4:"Rendah · P4",assignee:"Penanggung jawab",assigneePlaceholder:"nama pengguna",tags:"Tag",tagsPlaceholder:"backend, security, api",dueDate:"Tanggal jatuh tempo",owner:"Pemilik",unset:"Tidak diatur",human:"👤 Manusia",ai:"🤖 AI",tools:"Alat",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Deskripsi",descriptionPlaceholder:"Tulis beberapa konteks, tautan, keputusan...",report:"Laporan",reportPlaceholder:"Output AI akan muncul di sini...",subtasks:"Subtugas",addSubtask:"Tambah subtugas",deleteTask:"Hapus",saveClose:"Simpan & Tutup",cancel:"Batal"},RKe={placeholder:"Subtugas...",description:"Deskripsi",descriptionPlaceholder:"Tambahkan konteks, tautan, atau catatan untuk langkah ini...",report:"Laporan",reportPlaceholder:"Apa yang dilakukan, keputusan yang dibuat, kompromi...",aiFillsThis:"AI mengisi ini setelah menyelesaikan",collapse:"Runtuhkan",expand:"Perluas"},OKe={placeholder:"Ketik perintah atau cari...",actions:"Tindakan",view:"Lihat",tasks:"Tugas",newTask:"Tugas baru",createNew:"Buat tugas baru",reloadBoard:"Muat ulang papan",readFromDisk:"Baca ulang file dari disk",clearFilters:"Bersihkan filter",boardView:"Lihat papan",listView:"Lihat daftar",compactDensity:"Kepadatan ringkas",comfortableDensity:"Kepadatan nyaman",navigate:"navigasi",select:"pilih"},FKe={id:"ID",title:"Judul",status:"Status",tags:"Tag",assignee:"Penanggung jawab",progress:"Kemajuan",noMatchingTasks:"Tidak ada tugas yang cocok"},zKe={noProjectOpen:"Tidak ada proyek terbuka",appearance:"Tampilan",appearanceDesc:"Tema, skin, latar belakang, font, dan bahasa.",agent:"Agen",agentDesc:"Perilaku tindak lanjut untuk pekerjaan tugas berbantuan AI.",board:"Papan",boardDesc:"Perilaku ID tugas dan default tingkat papan.",fields:"Bidang",fieldsDesc:"Bidang opsional yang ditampilkan pada tugas dan kartu papan.",language:"Bahasa",languageDesc:"Bahasa UI disimpan dalam konfigurasi proyek ini.",mode:"Mode",modeDesc:"Otomatis mengikuti preferensi sistem terang atau gelap.",auto:"Otomatis",light:"Terang",dark:"Gelap",skin:"Skin",skinDesc:"Token warna disimpan per proyek di kandown.json.",background:"Latar belakang",backgroundDesc:"Pilih permukaan datar atau latar belakang cairan animasi.",font:"Font",fontDesc:"Stack font sistem lokal, tanpa permintaan jaringan.",suggestFollowUp:"Saran tugas lanjutan",suggestFollowUpDesc:"Minta agen untuk mengusulkan tugas berikutnya setelah menyelesaikan satu.",maxSuggestions:"Maks saran",maxSuggestionsDesc:"Membatasi jumlah tugas lanjutan yang dapat diusulkan oleh agen.",defaultPriority:"Prioritas default",defaultPriorityDesc:"Prioritas awal untuk tugas baru saat bidang Prioritas diaktifkan.",defaultOwner:"Pemilik default",defaultOwnerDesc:"Pemilik awal untuk tugas baru saat bidang Pemilik diaktifkan.",priority:"Prioritas",priorityDesc:"Aktifkan metadata prioritas pada tugas.",assignee:"Penanggung jawab",assigneeDesc:"Aktifkan metadata penanggung jawab pada tugas.",tags:"Tag",tagsDesc:"Aktifkan metadata tag pada tugas.",dueDate:"Tanggal jatuh tempo",dueDateDesc:"Aktifkan metadata tanggal jatuh tempo pada tugas.",ownerType:"Tipe pemilik",ownerTypeDesc:"Aktifkan metadata kepemilikan manusia/AI pada tugas.",tools:"Alat",toolsDesc:"Aktifkan petunjuk alat bentuk bebas untuk tugas agen AI.",searchPlaceholder:"Cari opsi apa pun",searchResults:"Hasil pencarian",searchResultsLabel:"Hasil pencarian",matchingOptions:"opsi yang cocok di seluruh pengaturan proyek.",options:"opsi",noOptionFound:"Opsi tidak ditemukan",tryAnotherSearch:"Coba istilah pencarian lain.",currentValue:"Nilai saat ini",configKey:"Kunci konfigurasi",choices:"Pilihan",hoverForHelp:"Arahkan atau alihkan ke opsi lain untuk memperbarui panel bantuan ini.",pages:"Halaman",backToBoard:"Kembali ke papan",matches:"Kecocokan",settingsTitle:"Pengaturan"},HKe={detected:"Konflik Terdeteksi",detectedDesc:"Tugas ini dimodifikasi secara eksternal saat Anda mengedit.",conflictingChanges:"Tugas <code>{{taskId}}</code> memiliki perubahan yang berkonflik. Pilih cara menyelesaikan:",yourVersion:"Versi Anda (lokal)",diskVersion:"Versi disk (jarak jauh)",cancel:"Batal",reloadFromDisk:"Muat ulang dari disk",keepMyVersion:"Simpan versi saya",title:"Judul",priority:"Prioritas",body:"Isi",subtasks:"Subtugas",none:"(tidak ada)"},BKe={title:"Judul",subtasks:"Subtugas",context:"Konteks",notes:"Catatan",whatWasDone:"Apa yang dilakukan",tags:"Tag",assignee:"Penanggung jawab",priority:"Prioritas"},qKe={settingsUpdatedExternally:"Pengaturan diperbarui secara eksternal — dimuat ulang"},UKe={app:EKe,common:PKe,emptyState:TKe,header:LKe,filterBar:MKe,column:jKe,card:DKe,drawer:IKe,subtask:RKe,commandPalette:OKe,listView:FKe,settings:zKe,conflict:HKe,sectionLabels:BKe,toast:qKe},VKe={name:"kandown",tagline:"AI مارک ڈاؤن کین بن مینیجر"},ZKe={search:"تلاش",searchPlaceholder:"ٹاسک تلاش کریں...",cancel:"منسوخ",save:"محفوظ کریں",delete:"حذف",close:"بند کریں",clear:"صاف کریں",clearAll:"سب صاف کریں",add:"شامل",remove:"ہٹائیں",done:"ہو گیا",loading:"لوڈ ہو رہا ہے...",noResults:"کوئی نتیجہ نہیں",currentValue:"موجودہ قدر",configKey:"ترتیب کی کلید",choices:"choices",openFolder:"فولڈر کھولیں",selectFolder:"فولڈر منتخب کریں",recent:"حالیہ",settings:"ترتیبات",board:"بورڈ",reload:"ری لوڈ",newTask:"نیا ٹاسک"},GKe={unsupportedBrowser:"براؤزر تعاون یافتہ نہیں",unsupportedBrowserDesc:"اس انجن کو <code>File System Access API</code> درکار ہے۔ Chrome، Edge، Brave یا Opera استعمال کریں۔ Firefox اور Safari ابھی تک تعاون یافتہ نہیں ہیں۔",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},WKe={tasks:"ٹاسک",recentProjects:"حالیہ پروجیکٹس","openFolder...":"فولڈر کھولیں..."},KKe={searchPlaceholder:"ٹاسک تلاش کریں...",clearAll:"سب صاف کریں",ownerAll:"👤 سب",ownerHuman:"👤 انسان",ownerAI:"🤖 AI"},YKe={addTask:"ٹاسک شامل کریں",columnColor:"کالم رنگ",color:"رنگ"},XKe={delete:"ٹاسک حذف کریں",confirmDelete:"حذف کرنے کے لیے دوبارہ کلک کریں"},QKe={close:"بند کریں (Esc)",taskTitle:"ٹاسک کا عنوان",doneSubtasks:"ہو گیا",priority:"ترجیح",noPriority:"کوئی ترجیح نہیں",urgentP1:"فوری · P1",highP2:"اونچا · P2",mediumP3:"درمیانہ · P3",lowP4:"نیچے · P4",assignee:"مقرر",assigneePlaceholder:"صارف کا نام",tags:"ٹیگز",tagsPlaceholder:"backend, security, api",dueDate:"آخری تاریخ",owner:"مالک",unset:"غیر متعین",human:"👤 انسان",ai:"🤖 AI",tools:"ٹولز",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"تفصیل",descriptionPlaceholder:"کچھ سیاق و سباق، لنکس، فیصلے لکھیں...",report:"رپورٹ",reportPlaceholder:"AI آؤٹ پٹ یہاں ظاہر ہو گا...",subtasks:"ذیلی ٹاسک",addSubtask:"ذیلی ٹاسک شامل کریں",deleteTask:"حذف",saveClose:"محفوظ کریں اور بند کریں",cancel:"منسوخ"},JKe={placeholder:"ذیلی ٹاسک...",description:"تفصیل",descriptionPlaceholder:"اس مرحلے کے لیے سیاق و سباق، لنکس، یا نوٹس شامل کریں...",report:"رپورٹ",reportPlaceholder:"کیا کیا گیا، کون سے فیصلے ہوئے، trade-offs...",aiFillsThis:"AI مکمل کرنے کے بعد یہ بھرتا ہے",collapse:"سکیڑیں",expand:"پھیلائیں"},eYe={placeholder:"کمانڈ ٹائپ کریں یا تلاش کریں...",actions:"ایکشنز",view:"منظر",tasks:"ٹاسک",newTask:"نیا ٹاسک",createNew:"نیا ٹاسک بنائیں",reloadBoard:"بورڈ ری لوڈ کریں",readFromDisk:"ڈسک سے فائلز دوبارہ پڑھیں",clearFilters:"فلٹرز صاف کریں",boardView:"بورڈ منظر",listView:"لسٹ منظر",compactDensity:"کمپیکٹ کثافت",comfortableDensity:"آرام دہ کثافت",navigate:"نیویگیٹ",select:"منتخب"},tYe={id:"ID",title:"عنوان",status:"اسٹیٹس",tags:"ٹیگز",assignee:"مقرر",progress:"ترقی",noMatchingTasks:"کوئی مماثل ٹاسک نہیں"},nYe={noProjectOpen:"کوئی پروجیکٹ کھلا نہیں",appearance:"ظاہری شکل",appearanceDesc:"تھیم، سکن، بیک گراؤنڈ، فونٹ، اور زبان۔",agent:"ایجنٹ",agentDesc:"AI معاون ٹاسک کے کام کے لیے فالو اپ سلوک۔",board:"بورڈ",boardDesc:"ٹاسک ID رویہ اور بورڈ سطح کی ڈیفالٹس۔",fields:"فیلڈز",fieldsDesc:"اختیاری فیلڈز جو ٹاسکس اور بورڈ کارڈز پر دکھائی جاتی ہیں۔",language:"زبان",languageDesc:"UI زبان اس پروجیکٹ کنفگ میں محفوظ ہے۔",mode:"موڈ",modeDesc:"آٹو آپ کے سسٹم کے لائٹ یا ڈارک ترجیح کی پیروی کرتا ہے۔",auto:"آٹو",light:"لائٹ",dark:"ڈارک",skin:"سکن",skinDesc:"رنگ ٹوکن فی پروجیکٹ kandown.json میں محفوظ ہیں۔",background:"بیک گراؤنڈ",backgroundDesc:"ایک فلیٹ سطح یا متحرک لیکوئڈ بیک گراؤنڈ منتخب کریں۔",font:"فونٹ",fontDesc:"لوکل سسٹم فونٹ اسٹیک، کوئی نیٹ ورک درخواست نہیں۔",suggestFollowUp:"فالو اپ ٹاسک تجویز کریں",suggestFollowUpDesc:"ایجنٹس سے ایک ختم کرنے کے بعد اگلے ٹاسک تجویز کرنے کو کہیں۔",maxSuggestions:"زیادہ سے زیادہ تجاویز",maxSuggestionsDesc:"ایک ایجنٹ کے تجویز کرنے والے فالو اپ ٹاسک کی تعداد کو محدود کرتا ہے۔",defaultPriority:"ڈیفالٹ ترجیح",defaultPriorityDesc:"جب پریority فیلڈ فعال ہو تو نئے ٹاسک کے لیے ابتدائی ترجیح۔",defaultOwner:"ڈیفالٹ مالک",defaultOwnerDesc:"جب مالک فیلڈ فعال ہو تو نئے ٹاسک کے لیے ابتدائی مالک۔",priority:"ترجیح",priorityDesc:"ٹاسک پر ترجیح میٹا ڈیٹا فعال کریں۔",assignee:"مقرر",assigneeDesc:"ٹاسک پر مقرر میٹا ڈیٹا فعال کریں۔",tags:"ٹیگز",tagsDesc:"ٹاسک پر ٹیگ میٹا ڈیٹا فعال کریں۔",dueDate:"آخری تاریخ",dueDateDesc:"ٹاسک پر آخری تاریخ میٹا ڈیٹا فعال کریں۔",ownerType:"مالک کی قسم",ownerTypeDesc:"ٹاسک پر انسان/AI ملکیت میٹا ڈیٹا فعال کریں۔",tools:"ٹولز",toolsDesc:"AI ایجنٹ ٹاسک کے لیے فری فارم ٹول ہنٹس فعال کریں۔",searchPlaceholder:"کوئی بھی آپشن تلاش کریں",searchResults:"تلاش کے نتائج",searchResultsLabel:"تلاش کے نتائج",matchingOptions:"پروجیکٹ سیٹنگز میں مماثل آپشنز۔",options:"آپشنز",noOptionFound:"کوئی آپشن نہیں ملا",tryAnotherSearch:"دوسرا تلاش کا لفظ آزمائیں۔",currentValue:"موجودہ قدر",configKey:"ترتیب کی کلید",choices:"choices",hoverForHelp:"اس ہیلپ پینل کو اپ ڈیٹ کرنے کے لیے کسی دوسرے آپشن پر ہوور کریں یا ٹیب کریں۔",pages:"صفحات",backToBoard:"بورڈ پر واپس",matches:"مطابقت",settingsTitle:"ترتیبات"},aYe={detected:"تنازعہ کا پتہ چلا",detectedDesc:"یہ ٹاسک باہر سے ترمیم ہو گیا جب آپ ترمیم کر رہے تھے۔",conflictingChanges:"ٹاسک <code>{{taskId}}</code> میں متصادم تبدیلیاں ہیں۔ حل کیسے کریں:",yourVersion:"آپ کا ورژن (لوکل)",diskVersion:"ڈسک ورژن (ریموٹ)",cancel:"منسوخ",reloadFromDisk:"ڈسک سے ری لوڈ کریں",keepMyVersion:"میرا ورژن رکھیں",title:"عنوان",priority:"ترجیح",body:"بڈی",subtasks:"ذیلی ٹاسک",none:"(کچھ نہیں)"},iYe={title:"عنوان",subtasks:"ذیلی ٹاسک",context:"سیاق و سباق",notes:"نوٹس",whatWasDone:"کیا کیا گیا",tags:"ٹیگز",assignee:"مقرر",priority:"ترجیح"},rYe={settingsUpdatedExternally:"ترتیبات باہر سے اپ ڈیٹ ہوئیں — ری لوڈ ہو گئیں"},sYe={app:VKe,common:ZKe,emptyState:GKe,header:WKe,filterBar:KKe,column:YKe,card:XKe,drawer:QKe,subtask:JKe,commandPalette:eYe,listView:tYe,settings:nYe,conflict:aYe,sectionLabels:iYe,toast:rYe},oYe={name:"kandown",tagline:"AI Markdown Kanban مدیر"},cYe={search:"جستجو",searchPlaceholder:"جستجوی کارها...",cancel:"انصراف",save:"ذخیره",delete:"حذف",close:"بستن",clear:"پاک کردن",clearAll:"همه را پاک کن",add:"افزودن",remove:"حذف",done:"انجام شد",loading:"در حال بارگذاری...",noResults:"بدون نتیجه",currentValue:"مقدار فعلی",configKey:"کلید پیکربندی",choices:"گزینهها",openFolder:"باز کردن پوشه",selectFolder:"انتخاب پوشه",recent:"اخیر",settings:"تنظیمات",board:"تخته",reload:"بارگذاری مجدد",newTask:"کار جدید"},pYe={unsupportedBrowser:"مرورگر پشتیبانی نمیشود",unsupportedBrowserDesc:"این موتور به <code>File System Access API</code> نیاز دارد. از Chrome، Edge، Brave یا Opera استفاده کنید. Firefox و Safari هنوز پشتیبانی نمیشوند.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},lYe={tasks:"کارها",recentProjects:"پروژههای اخیر","openFolder...":"باز کردن پوشه..."},dYe={searchPlaceholder:"جستجوی کارها...",clearAll:"همه را پاک کن",ownerAll:"👤 همه",ownerHuman:"👤 انسان",ownerAI:"🤖 AI"},uYe={addTask:"افزودن کار",columnColor:"رنگ ستون",color:"رنگ"},mYe={delete:"حذف کار",confirmDelete:"برای حذف دوباره کلیک کنید"},fYe={close:"بستن (Esc)",taskTitle:"عنوان کار",doneSubtasks:"انجام شد",priority:"اولویت",noPriority:"بدون اولویت",urgentP1:"فوری · P1",highP2:"بالا · P2",mediumP3:"متوسط · P3",lowP4:"پایین · P4",assignee:"مسئول",assigneePlaceholder:"نام کاربری",tags:"برچسبها",tagsPlaceholder:"backend, security, api",dueDate:"تاریخ سررسید",owner:"صاحب",unset:"تنظیم نشده",human:"👤 انسان",ai:"🤖 AI",tools:"ابزارها",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"توضیحات",descriptionPlaceholder:"زمینه، پیوندها، تصمیمات را بنویسید...",report:"گزارش",reportPlaceholder:"خروجی AI اینجا ظاهر میشود...",subtasks:"زیرکارها",addSubtask:"افزودن زیرکار",deleteTask:"حذف",saveClose:"ذخیره و بستن",cancel:"انصراف"},gYe={placeholder:"زیرکار...",description:"توضیحات",descriptionPlaceholder:"زمینه، پیوندها یا یادداشتها برای این مرحله اضافه کنید...",report:"گزارش",reportPlaceholder:"چه کاری انجام شد، چه تصمیماتی گرفته شد، مصالحهها...",aiFillsThis:"AI پس از تکمیل این را پر میکند",collapse:"جمع کردن",expand:"گسترش"},hYe={placeholder:"دستور تایپ کنید یا جستجو کنید...",actions:"اقدامات",view:"نما",tasks:"کارها",newTask:"کار جدید",createNew:"ایجاد کار جدید",reloadBoard:"بارگذاری مجدد تخته",readFromDisk:"خواندن مجدد فایلها از دیسک",clearFilters:"پاک کردن فیلترها",boardView:"نمای تخته",listView:"نمای لیست",compactDensity:"تراکم فشرده",comfortableDensity:"تراکم راحت",navigate:"ناوبری",select:"انتخاب"},bYe={id:"شناسه",title:"عنوان",status:"وضعیت",tags:"برچسبها",assignee:"مسئول",progress:"پیشرفت",noMatchingTasks:"کار منطبقی وجود ندارد"},vYe={noProjectOpen:"پروژه بازی باز نشده است",appearance:"ظاهر",appearanceDesc:"تم، پوسته، پسزمینه، فونت و زبان.",agent:"عامل",agentDesc:"رفتار پیگیری برای کار کمکشده توسط AI.",board:"تخته",boardDesc:"رفتار شناسه کار و پیشفرضهای سطح تخته.",fields:"فیلدها",fieldsDesc:"فیلدهای اختیاری که روی کارها و کارتهای تخته نمایش داده میشوند.",language:"زبان",languageDesc:"زبان رابط کاربری در این پیکربندی پروژه ذخیره میشود.",mode:"حالت",modeDesc:"خودکار از تنظیم روشن/تاریک سیستم پیروی میکند.",auto:"خودکار",light:"روشن",dark:"تاریک",skin:"پوسته",skinDesc:"توکنهای رنگی در هر پروژه در kandown.json ذخیره میشوند.",background:"پسزمینه",backgroundDesc:"یک سطح صاف یا پسزمینه مایع متحرک انتخاب کنید.",font:"فونت",fontDesc:"پشته فونت سیستم محلی، بدون درخواست شبکه.",suggestFollowUp:"پیشنهاد کارهای پیگیری",suggestFollowUpDesc:"از عوامل بخواهید پس از تکمیل یکی، کارهای بعدی را پیشنهاد دهند.",maxSuggestions:"حداکثر پیشنهادها",maxSuggestionsDesc:"تعداد کارهای پیگیری که یک عامل میتواند پیشنهاد دهد را محدود میکند.",defaultPriority:"اولویت پیشفرض",defaultPriorityDesc:"اولویت اولیه برای کارهای جدید وقتی فیلد اولویت فعال است.",defaultOwner:"صاحب پیشفرض",defaultOwnerDesc:"صاحب اولیه برای کارهای جدید وقتی فیلد صاحب فعال است.",priority:"اولویت",priorityDesc:"فعالسازی فراداده اولویت روی کارها.",assignee:"مسئول",assigneeDesc:"فعالسازی فراداده مسئول روی کارها.",tags:"برچسبها",tagsDesc:"فعالسازی فراداده برچسب روی کارها.",dueDate:"تاریخ سررسید",dueDateDesc:"فعالسازی فراداده تاریخ سررسید روی کارها.",ownerType:"نوع صاحب",ownerTypeDesc:"فعالسازی فراداده مالکیت انسان/AI روی کارها.",tools:"ابزارها",toolsDesc:"فعالسازی راهنمای ابزار فرم آزاد برای کارهای عامل AI.",searchPlaceholder:"جستجوی هر گزینه",searchResults:"نتایج جستجو",searchResultsLabel:"نتایج جستجو",matchingOptions:"گزینههای منطبق در تنظیمات پروژه.",options:"گزینهها",noOptionFound:"گزینهای یافت نشد",tryAnotherSearch:"عبارت جستجوی دیگری امتحان کنید.",currentValue:"مقدار فعلی",configKey:"کلید پیکربندی",choices:"گزینهها",hoverForHelp:"برای بهروزرسانی این پنل راهنما، روی گزینه دیگری حرکت کنید یا تب کنید.",pages:"صفحات",backToBoard:"بازگشت به تخته",matches:"تطابقها",settingsTitle:"تنظیمات"},yYe={detected:"تعارض تشخیص داده شد",detectedDesc:"این کار در حین ویرایش خارجاً تغییر یافته است.",conflictingChanges:"کار <code>{{taskId}}</code> تغییرات متعارض دارد. انتخاب کنید چگونه حل شود:",yourVersion:"نسخه شما (محلی)",diskVersion:"نسخه دیسک (راه دور)",cancel:"انصراف",reloadFromDisk:"بارگذاری مجدد از دیسک",keepMyVersion:"نسخه من را نگه دار",title:"عنوان",priority:"اولویت",body:"بدنه",subtasks:"زیرکارها",none:"(هیچ)"},_Ye={title:"عنوان",subtasks:"زیرکار",context:"زمینه",notes:"یادداشتها",whatWasDone:"چه کاری انجام شد",tags:"برچسبها",assignee:"مسئول",priority:"اولویت"},kYe={settingsUpdatedExternally:"تنظیمات خارجاً بهروزرسانی شد — بارگذاری مجدد شد"},wYe={app:oYe,common:cYe,emptyState:pYe,header:lYe,filterBar:dYe,column:uYe,card:mYe,drawer:fYe,subtask:gYe,commandPalette:hYe,listView:bYe,settings:vYe,conflict:yYe,sectionLabels:_Ye,toast:kYe},xYe={name:"kandown",tagline:"AI Markdown Kanban Manager"},AYe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},CYe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},NYe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},SYe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},$Ye={addTask:"Add task",columnColor:"Column color",color:"Color"},EYe={delete:"Delete task",confirmDelete:"Click again to delete"},PYe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},TYe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},LYe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},MYe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},jYe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},DYe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},IYe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},RYe={settingsUpdatedExternally:"Settings updated externally — reloaded"},OYe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},FYe={app:xYe,common:AYe,emptyState:CYe,header:NYe,filterBar:SYe,column:$Ye,card:EYe,drawer:PYe,subtask:TYe,commandPalette:LYe,listView:MYe,settings:jYe,conflict:DYe,sectionLabels:IYe,toast:RYe,languageNames:OYe},zYe={name:"kandown",tagline:"AI Markdown Kanban Manager"},HYe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},BYe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},qYe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},UYe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},VYe={addTask:"Add task",columnColor:"Column color",color:"Color"},ZYe={delete:"Delete task",confirmDelete:"Click again to delete"},GYe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},WYe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},KYe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},YYe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},XYe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},QYe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},JYe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},eXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},tXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},nXe={app:zYe,common:HYe,emptyState:BYe,header:qYe,filterBar:UYe,column:VYe,card:ZYe,drawer:GYe,subtask:WYe,commandPalette:KYe,listView:YYe,settings:XYe,conflict:QYe,sectionLabels:JYe,toast:eXe,languageNames:tXe},aXe={name:"kandown",tagline:"AI Markdown Kanban Manager"},iXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},rXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},oXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},cXe={addTask:"Add task",columnColor:"Column color",color:"Color"},pXe={delete:"Delete task",confirmDelete:"Click again to delete"},lXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},dXe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},uXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},mXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},fXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},gXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},hXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},bXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},vXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},yXe={app:aXe,common:iXe,emptyState:rXe,header:sXe,filterBar:oXe,column:cXe,card:pXe,drawer:lXe,subtask:dXe,commandPalette:uXe,listView:mXe,settings:fXe,conflict:gXe,sectionLabels:hXe,toast:bXe,languageNames:vXe},_Xe={name:"kandown",tagline:"AI Markdown Kanban Manager"},kXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},wXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},xXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},AXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},CXe={addTask:"Add task",columnColor:"Column color",color:"Color"},NXe={delete:"Delete task",confirmDelete:"Click again to delete"},SXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},$Xe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},EXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},PXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},TXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},LXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},MXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},jXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},DXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},IXe={app:_Xe,common:kXe,emptyState:wXe,header:xXe,filterBar:AXe,column:CXe,card:NXe,drawer:SXe,subtask:$Xe,commandPalette:EXe,listView:PXe,settings:TXe,conflict:LXe,sectionLabels:MXe,toast:jXe,languageNames:DXe},RXe={name:"kandown",tagline:"AI Markdown Kanban Manager"},OXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},FXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},zXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},HXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},BXe={addTask:"Add task",columnColor:"Column color",color:"Color"},qXe={delete:"Delete task",confirmDelete:"Click again to delete"},UXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},VXe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},ZXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},GXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},WXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},KXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},YXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},XXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},QXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},JXe={app:RXe,common:OXe,emptyState:FXe,header:zXe,filterBar:HXe,column:BXe,card:qXe,drawer:UXe,subtask:VXe,commandPalette:ZXe,listView:GXe,settings:WXe,conflict:KXe,sectionLabels:YXe,toast:XXe,languageNames:QXe},eQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},tQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},nQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},aQe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},iQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},rQe={addTask:"Add task",columnColor:"Column color",color:"Color"},sQe={delete:"Delete task",confirmDelete:"Click again to delete"},oQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},cQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},pQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},lQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},dQe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},uQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},mQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},fQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},gQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},hQe={app:eQe,common:tQe,emptyState:nQe,header:aQe,filterBar:iQe,column:rQe,card:sQe,drawer:oQe,subtask:cQe,commandPalette:pQe,listView:lQe,settings:dQe,conflict:uQe,sectionLabels:mQe,toast:fQe,languageNames:gQe},bQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},vQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},yQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},_Qe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},kQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},wQe={addTask:"Add task",columnColor:"Column color",color:"Color"},xQe={delete:"Delete task",confirmDelete:"Click again to delete"},AQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},CQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},NQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},SQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},$Qe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},EQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},PQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},TQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},LQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},MQe={app:bQe,common:vQe,emptyState:yQe,header:_Qe,filterBar:kQe,column:wQe,card:xQe,drawer:AQe,subtask:CQe,commandPalette:NQe,listView:SQe,settings:$Qe,conflict:EQe,sectionLabels:PQe,toast:TQe,languageNames:LQe},jQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},DQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},IQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},RQe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},OQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},FQe={addTask:"Add task",columnColor:"Column color",color:"Color"},zQe={delete:"Delete task",confirmDelete:"Click again to delete"},HQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},BQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},qQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},UQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},VQe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},ZQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},GQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},WQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},KQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},YQe={app:jQe,common:DQe,emptyState:IQe,header:RQe,filterBar:OQe,column:FQe,card:zQe,drawer:HQe,subtask:BQe,commandPalette:qQe,listView:UQe,settings:VQe,conflict:ZQe,sectionLabels:GQe,toast:WQe,languageNames:KQe},XQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},QQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},JQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},tJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},nJe={addTask:"Add task",columnColor:"Column color",color:"Color"},aJe={delete:"Delete task",confirmDelete:"Click again to delete"},iJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},rJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},sJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},oJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},cJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},pJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},lJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},dJe={settingsUpdatedExternally:"Settings updated externally — reloaded"},uJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},mJe={app:XQe,common:QQe,emptyState:JQe,header:eJe,filterBar:tJe,column:nJe,card:aJe,drawer:iJe,subtask:rJe,commandPalette:sJe,listView:oJe,settings:cJe,conflict:pJe,sectionLabels:lJe,toast:dJe,languageNames:uJe},fJe={name:"kandown",tagline:"AI Markdown Kanban Manager"},gJe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},hJe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},vJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},yJe={addTask:"Add task",columnColor:"Column color",color:"Color"},_Je={delete:"Delete task",confirmDelete:"Click again to delete"},kJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},wJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},xJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},AJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},CJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},NJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},SJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},$Je={settingsUpdatedExternally:"Settings updated externally — reloaded"},EJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},PJe={app:fJe,common:gJe,emptyState:hJe,header:bJe,filterBar:vJe,column:yJe,card:_Je,drawer:kJe,subtask:wJe,commandPalette:xJe,listView:AJe,settings:CJe,conflict:NJe,sectionLabels:SJe,toast:$Je,languageNames:EJe},TJe={name:"kandown",tagline:"AI Markdown Kanban Manager"},LJe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},MJe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},jJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},DJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},IJe={addTask:"Add task",columnColor:"Column color",color:"Color"},RJe={delete:"Delete task",confirmDelete:"Click again to delete"},OJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},FJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},zJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},HJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},BJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},qJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},UJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},VJe={settingsUpdatedExternally:"Settings updated externally — reloaded"},ZJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},GJe={app:TJe,common:LJe,emptyState:MJe,header:jJe,filterBar:DJe,column:IJe,card:RJe,drawer:OJe,subtask:FJe,commandPalette:zJe,listView:HJe,settings:BJe,conflict:qJe,sectionLabels:UJe,toast:VJe,languageNames:ZJe},cX=["en","fr","zh","es","pt","hi","de","it","nl","pl","uk","ro","sv","cs","el","hu","fi","da","no","sk","bg","sr","hr","lt","lv","sl","et","ar","bn","ru","ja","ko","tr","vi","id","ur","fa","th","ms","ta","te","mr","gu","kn","ml","si","my","km"],pX={en:"English",fr:"Français",zh:"中文",es:"Español",pt:"Português",hi:"हिन्दी",de:"Deutsch",it:"Italiano",nl:"Nederlands",pl:"Polski",uk:"Українська",ro:"Română",sv:"Svenska",cs:"Čeština",el:"Ελληνικά",hu:"Magyar",fi:"Suomi",da:"Dansk",no:"Norsk",sk:"Slovenčina",bg:"Български",sr:"Српски",hr:"Hrvatski",lt:"Lietuvių",lv:"Latviešu",sl:"Slovenščina",et:"Eesti",ar:"العربية",bn:"বাংলা",ru:"Русский",ja:"日本語",ko:"한국어",tr:"Türkçe",vi:"Tiếng Việt",id:"Bahasa Indonesia",ur:"اردو",fa:"فارسی",th:"ไทย",ms:"Bahasa Melayu",ta:"தமிழ்",te:"తెలుగు",mr:"मराठी",gu:"ગુજરાતી",kn:"ಕನ್ನಡ",ml:"മലയാളം",si:"සිංහල",my:"မြန်မာဘာသာ",km:"ខ្មែរ"},WJe={en:{translation:mFe},fr:{translation:TFe},zh:{translation:WFe},es:{translation:dze},pt:{translation:$ze},hi:{translation:Vze},de:{translation:cHe},it:{translation:CHe},nl:{translation:BHe},pl:{translation:rBe},uk:{translation:wBe},ro:{translation:FBe},sv:{translation:nqe},cs:{translation:yqe},el:{translation:Iqe},hu:{translation:Jqe},fi:{translation:hUe},da:{translation:MUe},no:{translation:YUe},sk:{translation:mVe},bg:{translation:PVe},sr:{translation:GVe},hr:{translation:lZe},lt:{translation:SZe},lv:{translation:UZe},sl:{translation:oGe},et:{translation:AGe},ar:{translation:zGe},bn:{translation:nWe},ru:{translation:vWe},ja:{translation:jWe},ko:{translation:YWe},tr:{translation:uKe},vi:{translation:$Ke},id:{translation:UKe},ur:{translation:sYe},fa:{translation:wYe},th:{translation:FYe},ms:{translation:nXe},ta:{translation:yXe},te:{translation:IXe},mr:{translation:JXe},gu:{translation:hQe},kn:{translation:MQe},ml:{translation:YQe},si:{translation:mJe},my:{translation:PJe},km:{translation:GJe}};function KJe(e="en"){return Da.use(Jee).init({resources:WJe,lng:e,fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}})}async function YJe(e,t){await Da.changeLanguage(e)}const lX={en:"🇺🇸",zh:"🇨🇳",hi:"🇮🇳",es:"🇪🇸",fr:"🇫🇷",ar:"🇸🇦",bn:"🇧🇩",ru:"🇷🇺",pt:"🇧🇷",id:"🇮🇩",ur:"🇵🇰",tr:"🇹🇷",de:"🇩🇪",ja:"🇯🇵",pcm:"🇳🇬",vi:"🇻🇳",ko:"🇰🇷",it:"🇮🇹",pl:"🇵🇱",uk:"🇺🇦",fa:"🇮🇷",nl:"🇳🇱",el:"🇬🇷",ro:"🇷🇴",sv:"🇸🇪",cs:"🇨🇿",hu:"🇭🇺",fi:"🇫🇮",da:"🇩🇰",no:"🇳🇴",sk:"🇸🇰",bg:"🇧🇬",sr:"🇷🇸",hr:"🇭🇷",lt:"🇱🇹",lv:"🇱🇻",et:"🇪🇪",sl:"🇸🇮"},XJe=["en","fr","zh","es","pt","hi","de","it","ar","bn","ru","id","ur","tr","ja","vi","ko","fa","pl","uk","nl","el","ro","cs","sv","hu","fi","da","no","sk","bg","sr","hr","lt","lv","et","sl"],_R=XJe.filter(e=>cX.includes(e)).map(e=>({code:e,flag:lX[e]??"🌐",nameEn:pX[e]??e}));function QJe({value:e,onChange:t}){const{t:n}=Rn(),[a,i]=$.useState(!1),[r,s]=$.useState(""),[o,c]=$.useState(0),p=$.useRef(null),d=$.useRef(null),m=$.useRef(null),f=_R.find(x=>x.code===e),h=_R.filter(x=>x.nameEn.toLowerCase().includes(r.toLowerCase())||x.code.toLowerCase().includes(r.toLowerCase())),b=()=>{i(!0),s(""),c(0)},k=()=>{i(!1),s("")};$.useEffect(()=>{if(!a)return;const x=S=>{if(S.key==="Escape"){k();return}if(S.key==="ArrowDown"&&(S.preventDefault(),c(E=>Math.min(E+1,h.length-1))),S.key==="ArrowUp"&&(S.preventDefault(),c(E=>Math.max(E-1,0))),S.key==="Enter"){S.preventDefault();const E=h[o];E&&(t(E.code),k())}};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[a,h,o]),$.useEffect(()=>{a&&d.current&&setTimeout(()=>d.current?.focus(),50)},[a]),$.useEffect(()=>{if(!a)return;m.current?.children[o]?.scrollIntoView({block:"nearest"})},[o,a]);const w=f?`${f.flag} ${f.nameEn} — ${n(`languageNames.${f.code}`)}`:`${lX.en} ${pX.en} — ${n("languageNames.en")}`;return _.jsxs("div",{className:"relative",ref:p,children:[_.jsxs("button",{type:"button",onClick:a?k:b,className:"flex h-8 w-full items-center justify-between gap-2 truncate rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors hover:bg-bg-3 focus:border-border-focus md:w-[240px]",children:[_.jsx("span",{className:"truncate",children:w}),_.jsx("span",{className:`shrink-0 text-[10px] transition-transform ${a?"rotate-180":""}`,children:"▾"})]}),a&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"fixed inset-0 z-40",onClick:k}),_.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1.5 w-[320px] rounded-xl border border-border bg-bg shadow-xl",children:[_.jsxs("div",{className:"flex items-center gap-2 border-b border-border px-3 py-2",children:[_.jsx(Pz,{className:"shrink-0 text-fg-muted",size:14}),_.jsx("input",{ref:d,value:r,onChange:x=>{s(x.target.value),c(0)},placeholder:n("settings.searchPlaceholder"),className:"flex-1 bg-transparent text-[13px] text-fg outline-none placeholder:text-fg-faint"})]}),_.jsxs("ul",{ref:m,className:"max-h-56 overflow-y-auto py-1",children:[h.length===0&&_.jsx("li",{className:"px-3 py-2 text-[12.5px] text-fg-muted",children:n("settings.noOptionFound")}),h.map((x,S)=>_.jsx("li",{children:_.jsxs("button",{type:"button",onClick:()=>{t(x.code),k()},onMouseEnter:()=>c(S),className:`flex w-full items-center gap-2 px-3 py-2 text-[13px] transition-colors ${S===o?"bg-bg-2 text-fg":"text-fg hover:bg-bg-2"} ${x.code===e?"font-medium":""}`,children:[_.jsx("span",{className:"shrink-0 text-base",children:x.flag}),_.jsx("span",{className:"truncate",children:x.nameEn}),_.jsx("span",{className:"shrink-0 text-fg-muted",children:"—"}),_.jsx("span",{className:"truncate text-fg-muted",children:n(`languageNames.${x.code}`)}),x.code===e&&_.jsx("span",{className:"ml-auto shrink-0 text-fg-muted",children:"✓"})]})},x.code))]}),_.jsxs("div",{className:"border-t border-border px-3 py-1.5 text-center text-[10.5px] text-fg-faint",children:["↑↓ ",n("settings.navigate")," · Enter ",n("settings.select")," · Esc ",n("common.close")]})]})]})]})}const ml=e=>[{id:"appearance",label:e("settings.appearance"),kicker:e("settings.kickerInterface"),description:e("settings.appearanceDesc"),icon:Sce},{id:"agent",label:e("settings.agent"),kicker:e("settings.kickerAutomation"),description:e("settings.agentDesc"),icon:Pce},{id:"board",label:e("settings.board"),kicker:e("settings.kickerIdentifiers"),description:e("settings.boardDesc"),icon:xce},{id:"fields",label:e("settings.fields"),kicker:e("settings.kickerMetadata"),description:e("settings.fieldsDesc"),icon:Ice},{id:"notifications",label:e("settings.notifications"),kicker:e("settings.kickerSignals"),description:e("settings.notificationsDesc"),icon:pce},{id:"about",label:e("settings.about")??"About",kicker:e("settings.kickerAbout")??"Version & updates",description:e("settings.aboutDesc")??"Kandown version and auto-update status.",icon:kce}],JJe=e=>[{key:"ui.language",label:e("settings.language"),section:"appearance",type:"language",description:e("settings.languageDesc"),keywords:["locale","translation"]},{key:"ui.theme",label:e("settings.mode"),section:"appearance",type:"select",description:e("settings.modeDesc"),options:[{value:"auto",label:e("settings.auto")},{value:"light",label:e("settings.light")},{value:"dark",label:e("settings.dark")}],keywords:["dark","light","auto"]},{key:"ui.skin",label:e("settings.skin"),section:"appearance",type:"skin",description:e("settings.skinDesc"),options:Mg.map(t=>({value:t.id,label:t.label})),keywords:["color","theme","palette"]},{key:"ui.background",label:e("settings.background"),section:"appearance",type:"select",description:e("settings.backgroundDesc"),options:boe.map(t=>({value:t.id,label:t.label})),keywords:["liquid","solid","animation"]},{key:"ui.font",label:e("settings.font"),section:"appearance",type:"select",description:e("settings.fontDesc"),options:h_.map(t=>({value:t.id,label:t.label})),keywords:["typography","text"]},{key:"agent.suggestFollowUp",label:e("settings.suggestFollowUp"),section:"agent",type:"toggle",description:e("settings.suggestFollowUpDesc"),keywords:["ai","suggestions","automation"]},{key:"agent.maxSuggestions",label:e("settings.maxSuggestions"),section:"agent",type:"number",description:e("settings.maxSuggestionsDesc"),min:1,max:5,keywords:["limit","follow-up"]},{key:"board.columns",label:e("settings.columns"),section:"board",type:"text",description:e("settings.columnsDesc"),placeholder:"Backlog, Todo, In Progress, Review, Done",keywords:["statuses","workflow","kanban"]},{key:"board.defaultPriority",label:e("settings.defaultPriority"),section:"fields",type:"select",description:e("settings.defaultPriorityDesc"),options:["P1","P2","P3","P4"].map(t=>({value:t,label:t})),keywords:["p1","p2","p3","p4","priority default"],parentKey:"fields.priority"},{key:"board.defaultOwnerType",label:e("settings.defaultOwner"),section:"fields",type:"select",description:e("settings.defaultOwnerDesc"),options:["human","ai"].map(t=>({value:t,label:t})),keywords:["human","ai","owner default"],parentKey:"fields.ownerType"},{key:"fields.priority",label:e("settings.priority"),section:"fields",type:"toggle",description:e("settings.priorityDesc"),keywords:["p1","p2","importance"]},{key:"fields.assignee",label:e("settings.assignee"),section:"fields",type:"toggle",description:e("settings.assigneeDesc"),keywords:["owner","person","user"]},{key:"fields.tags",label:e("settings.tags"),section:"fields",type:"toggle",description:e("settings.tagsDesc"),keywords:["labels","categories"]},{key:"fields.dueDate",label:e("settings.dueDate"),section:"fields",type:"toggle",description:e("settings.dueDateDesc"),keywords:["deadline","date"]},{key:"fields.ownerType",label:e("settings.ownerType"),section:"fields",type:"toggle",description:e("settings.ownerTypeDesc"),keywords:["human","ai","agent"]},{key:"fields.tools",label:e("settings.tools"),section:"fields",type:"toggle",description:e("settings.toolsDesc"),keywords:["filesystem","cli","websearch","browser","mcp"]},{key:"notifications.permission",label:e("settings.notificationPermission"),section:"notifications",type:"permission",description:e("settings.notificationPermissionDesc"),keywords:["chrome","browser","permission"]},{key:"notifications.browser",label:e("settings.browserNotifications"),section:"notifications",type:"toggle",description:e("settings.browserNotificationsDesc"),keywords:["chrome","desktop","system"]},{key:"notifications.statusChanges",label:e("settings.statusChangeNotifications"),section:"notifications",type:"toggle",description:e("settings.statusChangeNotificationsDesc"),keywords:["status","column","workflow"]},{key:"notifications.taskEdits",label:e("settings.taskEditNotifications"),section:"notifications",type:"toggle",description:e("settings.taskEditNotificationsDesc"),keywords:["file","ai","external edit","debounce"]},{key:"notifications.subtaskCompletions",label:e("settings.subtaskNotifications"),section:"notifications",type:"toggle",description:e("settings.subtaskNotificationsDesc"),keywords:["subtask","checklist","done"]},{key:"notifications.sound",label:e("settings.notificationSound"),section:"notifications",type:"toggle",description:e("settings.notificationSoundDesc"),keywords:["audio","sound","listen"]},{key:"notifications.soundId",label:e("settings.notificationSoundChoice"),section:"notifications",type:"select",description:e("settings.notificationSoundChoiceDesc"),options:[{value:"soft",label:e("settings.soundSoft")},{value:"chime",label:e("settings.soundChime")},{value:"ping",label:e("settings.soundPing")},{value:"pop",label:e("settings.soundPop")}],keywords:["audio","tone","sound"],parentKey:"notifications.sound"}];function e_(e,t){const n=t.split(".");let a=e;for(const i of n){if(a==null)return;a=a[i]}return a}function kR(e,t,n){const a=structuredClone(e),i=t.split(".");let r=a;for(let s=0;s<i.length-1;s++)r=r[i[s]];return r[i[i.length-1]]=n,a}function dX(e){return typeof e=="boolean"?e?"on":"off":e==null?"":String(e)}function eet(e,t){return[e.label,e.key,e.description,e.section,dX(t),...e.keywords??[],...e.options?.flatMap(n=>[n.label,n.value])??[]].join(" ").toLowerCase()}function xC(e,t){return e.parentKey?!!e_(t,e.parentKey):!0}function tet(){const{t:e}=Rn(),t=fe(U=>U.config),n=fe(U=>U.updateConfig),a=fe(U=>U.setCurrentPage),i=fe(U=>U.dirHandle),r=fe(U=>U.isOpen),s=fe(U=>U.projectName),o=fe(U=>U.loadConfig),c=fe(U=>U.toast),[p,d]=$.useState("appearance"),[m,f]=$.useState(""),[h,b]=$.useState(""),[k,w]=$.useState(null),[x,S]=$.useState(()=>Ez()),[E,P]=$.useState("idle"),[L,j]=$.useState(null),F=$.useCallback(async()=>{if(E!=="checking"){P("checking"),j(null);try{const U=await fetch("https://registry.npmjs.org/kandown/latest");if(!U.ok)throw new Error("Network error");const ae=(await U.json()).version;ae===u3?P("upToDate"):(j(ae),P("available"))}catch{P("error")}}},[E]);$.useEffect(()=>tu.on("configChanged",()=>{o(),c(e("toast.settingsUpdatedExternally"),"info")}),[o,c,e]),$.useEffect(()=>{const U=window.setTimeout(()=>b(m),300);return()=>window.clearTimeout(U)},[m]);const z=h.trim().toLowerCase(),R=JJe(e),M=ml(e).find(U=>U.id===p)??ml(e)[0],K=R.find(U=>U.key===k)??R.find(U=>U.section===p)??R[0],J=$.useMemo(()=>ml(e).reduce((U,Y)=>(U[Y.id]=R.filter(ae=>ae.section===Y.id&&xC(ae,t)).length,U),{appearance:0,agent:0,board:0,fields:0,notifications:0,about:0}),[t,e,R]),W=$.useMemo(()=>z?R.filter(U=>xC(U,t)&&eet(U,e_(t,U.key)).includes(z)):R.filter(U=>U.section===p&&xC(U,t)),[p,t,z,R]),B=(U,Y)=>{if(U.type!=="permission"){if(U.key==="board.columns"){const ae=String(Y).split(",").map(D=>D.trim()).filter(Boolean);if(ae.length===0)return;n(D=>kR(D,U.key,ae));return}n(ae=>kR(ae,U.key,Y))}},V=async()=>{const U=await Zoe();S(U),U==="granted"?c(e("settings.notificationPermissionGranted"),"success"):U==="denied"?c(e("settings.notificationPermissionDenied"),"error"):U==="unsupported"&&c(e("settings.notificationPermissionUnsupported"),"error")};if(!i&&!r)return _.jsx("div",{className:"flex flex-1 items-center justify-center",children:_.jsx("p",{className:"text-fg-muted",children:e("settings.noProjectOpen")})});const H=i?.name??s??"Server project";return _.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[_.jsxs("aside",{className:"flex w-[292px] flex-none flex-col border-r border-border bg-bg/75",children:[_.jsxs("div",{className:"border-b border-border px-4 py-3",children:[_.jsx(da,{variant:"ghost",icon:"ArrowLeft",label:e("settings.backToBoard"),onClick:()=>a("board"),title:e("settings.backToBoard"),className:"mb-3 h-7 px-1.5 text-[12.5px]",iconSize:14}),_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-[7px] border border-border bg-bg-2 text-fg",children:_.jsx(Tz,{size:17,stroke:1.8})}),_.jsxs("div",{className:"min-w-0",children:[_.jsx("h1",{className:"truncate text-[17px] font-semibold tracking-tight text-fg",children:e("settings.settingsTitle")}),_.jsx("p",{className:"truncate text-[12.5px] text-fg-muted",children:H})]})]})]}),_.jsx("div",{className:"border-b border-border px-4 py-3",children:_.jsxs("label",{className:"relative block",children:[_.jsx(Pz,{"aria-hidden":"true",size:14,stroke:1.8,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-fg-faint"}),_.jsx("input",{value:m,onChange:U=>f(U.target.value),placeholder:e("settings.searchPlaceholder"),className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 pl-8 pr-8 text-[13.5px] text-fg outline-none transition-colors placeholder:text-fg-faint focus:border-border-focus focus:bg-bg-3"}),m&&_.jsx("button",{type:"button",onClick:()=>f(""),className:"absolute right-2 top-1/2 -translate-y-1/2 rounded-[4px] px-1 text-[12px] text-fg-muted hover:bg-bg-3 hover:text-fg",children:"esc"})]})}),_.jsxs("nav",{className:"flex-1 overflow-y-auto px-2 py-3",children:[_.jsx("div",{className:"mb-2 px-2 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:e("settings.pages")}),_.jsx("div",{className:"flex flex-col gap-1",children:ml(e).map(U=>{const Y=U.icon,ae=!z&&p===U.id;return _.jsxs("button",{type:"button",onClick:()=>{d(U.id),f("")},className:`flex items-center gap-2 rounded-[7px] px-2.5 py-2 text-left transition-colors ${ae?"bg-bg-3 text-fg":"text-fg-dim hover:bg-bg-2 hover:text-fg"}`,children:[_.jsx(Y,{size:16,stroke:1.8,className:"flex-none text-fg-muted"}),_.jsxs("span",{className:"min-w-0 flex-1",children:[_.jsx("span",{className:"block truncate text-[13.5px] font-medium",children:U.label}),_.jsx("span",{className:"block truncate text-[11.5px] text-fg-muted",children:U.kicker})]}),_.jsx("span",{className:"rounded-full bg-bg px-1.5 py-0.5 text-[11px] text-fg-muted tabular-nums",children:J[U.id]}),_.jsx(mce,{size:13,stroke:1.8,className:"text-fg-faint"})]},U.id)})}),z&&_.jsx(net,{settings:W,activeSectionId:p,onSelect:U=>{d(U.section),f("")}})]})]}),_.jsx("main",{className:"min-w-0 flex-1 overflow-y-auto",children:_.jsx("div",{className:"px-6 py-6",children:_.jsxs(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[_.jsxs("div",{className:"mb-5 flex items-start justify-between gap-4",children:[_.jsxs("div",{children:[_.jsx("p",{className:"mb-1 text-[12px] font-semibold uppercase tracking-wider text-fg-muted",children:z?e("settings.searchResults"):M.kicker}),_.jsx("h2",{className:"text-[22px] font-semibold tracking-tight text-fg",children:z?`"${m.trim()}"`:M.label}),_.jsx("p",{className:"mt-1 max-w-[560px] text-[13.5px] leading-relaxed text-fg-muted",children:z?`${W.length} ${e("settings.matchingOptions")}`:M.description})]}),_.jsxs("div",{className:"hidden items-center gap-1 rounded-[7px] border border-border bg-bg-2 px-2 py-1 text-[12px] text-fg-muted sm:flex",children:[_.jsx(oce,{size:13,stroke:1.8}),W.length," options"]})]}),_.jsxs("div",{className:"grid gap-6 xl:grid-cols-[minmax(360px,50%)_minmax(280px,1fr)]",children:[_.jsx("div",{className:"overflow-hidden rounded-[8px] border border-border bg-bg-1",children:p==="about"?_.jsx(set,{currentVersion:u3,updateStatus:E,latestVersion:L,onCheckUpdate:F}):W.length===0?_.jsxs("div",{className:"px-4 py-10 text-center",children:[_.jsx("p",{className:"text-[14px] font-medium text-fg",children:e("settings.noOptionFound")}),_.jsx("p",{className:"mt-1 text-[13px] text-fg-muted",children:e("settings.tryAnotherSearch")})]}):W.map((U,Y)=>_.jsx(aet,{setting:U,value:e_(t,U.key),showSection:!!z,isLast:Y===W.length-1,onChange:ae=>B(U,ae),onHelp:()=>w(U.key),nested:!!U.parentKey,notificationPermission:x,onRequestNotificationPermission:V},U.key))}),_.jsx("aside",{className:"hidden min-h-[420px] items-center justify-center xl:flex",children:_.jsx("div",{className:"sticky top-6 w-full max-w-[360px] rounded-[8px] border border-border bg-bg-1 px-5 py-5",children:_.jsx(iet,{setting:K,value:e_(t,K.key)})})})]})]},z?`search-${z}`:M.id)})})]})}function net({settings:e,activeSectionId:t,onSelect:n}){const{t:a}=Rn();return _.jsxs("div",{className:"mt-5",children:[_.jsx("div",{className:"mb-2 px-2 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:a("settings.matches")}),_.jsx("div",{className:"flex flex-col gap-1",children:e.slice(0,12).map(i=>{const r=ml(a).find(o=>o.id===i.section),s=i.section===t;return _.jsxs("button",{type:"button",onClick:()=>n(i),className:"rounded-[7px] px-2.5 py-2 text-left text-fg-dim transition-colors hover:bg-bg-2 hover:text-fg",children:[_.jsx("span",{className:"block truncate text-[13px] font-medium",children:i.label}),_.jsxs("span",{className:"mt-0.5 flex items-center gap-1 text-[11.5px] text-fg-muted",children:[r?.label??i.section,s&&_.jsx("span",{className:"text-fg-faint",children:"current"})]})]},i.key)})})]})}function aet({setting:e,value:t,showSection:n,isLast:a,onChange:i,onHelp:r,nested:s,notificationPermission:o,onRequestNotificationPermission:c}){const{t:p}=Rn(),d=()=>{e.type==="toggle"&&i(!t)},m=f=>{const h=Number(t),b=e.min??0,k=e.max??99;i(Math.max(b,Math.min(k,h+f)))};return _.jsxs("div",{onMouseEnter:r,onFocus:r,className:`grid gap-3 px-4 py-3 transition-colors hover:bg-bg-2 focus-within:bg-bg-2 md:grid-cols-[minmax(0,1fr)_minmax(128px,190px)] md:items-center ${a?"":"border-b border-border"} ${s?"bg-bg/35 pl-8":""}`,children:[_.jsxs("div",{className:"min-w-0",children:[_.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[_.jsx("span",{className:"text-[14px] font-medium text-fg",children:e.label}),n&&_.jsx("span",{className:"rounded-full bg-bg-2 px-1.5 py-0.5 text-[11px] text-fg-muted",children:ml(p).find(f=>f.id===e.section)?.label??e.section})]}),_.jsx("p",{className:"mt-0.5 text-[12.5px] leading-snug text-fg-muted",children:e.description}),_.jsx("p",{className:"mt-1 font-mono text-[11px] text-fg-faint",children:e.key})]}),_.jsxs("div",{className:"flex justify-start md:justify-end",children:[e.type==="toggle"&&_.jsx("button",{type:"button",onClick:d,"aria-pressed":!!t,className:`relative inline-flex h-6 w-10 items-center rounded-full transition-colors ${t?"bg-success":"bg-bg-3"}`,children:_.jsx("span",{className:`inline-block h-4 w-4 rounded-full bg-white transition-transform ${t?"translate-x-[21px]":"translate-x-1"}`})}),e.type==="skin"&&_.jsx(ret,{value:String(t),onChange:i}),e.type==="select"&&e.options&&_.jsx("select",{value:String(t),onChange:f=>i(f.target.value),className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors focus:border-border-focus focus:bg-bg-3 md:w-[168px]",children:e.options.map(f=>_.jsx("option",{value:f.value,children:f.label},f.value))}),e.type==="language"&&_.jsx(QJe,{value:String(t),onChange:f=>i(f)}),e.type==="text"&&_.jsx("input",{value:String(t??""),onChange:f=>i(f.target.value.trim()),placeholder:e.placeholder,className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors placeholder:text-fg-faint focus:border-border-focus focus:bg-bg-3 md:w-[168px]"}),e.type==="number"&&_.jsxs("div",{className:"inline-flex h-8 items-center overflow-hidden rounded-[7px] border border-border bg-bg-2",children:[_.jsx("button",{type:"button",onClick:()=>m(-1),className:"h-8 w-8 text-[15px] text-fg-muted transition-colors hover:bg-bg-3 hover:text-fg",children:"-"}),_.jsx("span",{className:"w-9 text-center text-[13.5px] text-fg tabular-nums",children:String(t)}),_.jsx("button",{type:"button",onClick:()=>m(1),className:"h-8 w-8 text-[15px] text-fg-muted transition-colors hover:bg-bg-3 hover:text-fg",children:"+"})]}),e.type==="permission"&&_.jsxs("button",{type:"button",onClick:c,disabled:o==="granted"||o==="unsupported",className:"h-8 rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13px] text-fg transition-colors hover:bg-bg-3 disabled:cursor-default disabled:text-fg-muted disabled:hover:bg-bg-2",children:[o==="granted"&&p("settings.permissionGranted"),o==="denied"&&p("settings.permissionDenied"),o==="default"&&p("settings.permissionAsk"),o==="unsupported"&&p("settings.permissionUnsupported")]})]})]})}function iet({setting:e,value:t}){const{t:n}=Rn(),a=ml(n).find(o=>o.id===e.section),i=a?.icon??Tz,r=dX(t)||"empty",s=e.options?.map(o=>o.label).join(", ");return _.jsxs("div",{className:"flex min-h-[280px] flex-col justify-center",children:[_.jsx("div",{className:"mb-4 inline-flex h-10 w-10 items-center justify-center rounded-[8px] border border-border bg-bg-2 text-fg",children:_.jsx(i,{size:19,stroke:1.8})}),_.jsx("p",{className:"mb-1 text-[12px] font-semibold uppercase tracking-wider text-fg-muted",children:a?.label??e.section}),_.jsx("h3",{className:"text-[18px] font-semibold tracking-tight text-fg",children:e.label}),_.jsx("p",{className:"mt-3 text-[14px] leading-relaxed text-fg-muted",children:e.description}),_.jsxs("div",{className:"mt-5 space-y-2 border-t border-border pt-4",children:[_.jsxs("div",{className:"flex items-center justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.currentValue")}),_.jsx("span",{className:"rounded-[5px] bg-bg-2 px-2 py-1 font-mono text-fg",children:r})]}),_.jsxs("div",{className:"flex items-start justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.configKey")}),_.jsx("span",{className:"max-w-[210px] break-all rounded-[5px] bg-bg-2 px-2 py-1 font-mono text-right text-fg",children:e.key})]}),s&&_.jsxs("div",{className:"flex items-start justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.choices")}),_.jsx("span",{className:"max-w-[210px] text-right leading-relaxed text-fg-dim",children:s})]})]}),_.jsx("p",{className:"mt-5 text-[12.5px] leading-relaxed text-fg-faint",children:n("settings.hoverForHelp")})]})}function ret({value:e,onChange:t}){return _.jsx("div",{className:"grid w-full grid-cols-1 gap-1.5 md:w-[190px]",children:Mg.map(n=>{const a=n.id===e,i=[n.light.background,n.light.primary,n.dark.background,n.dark.primary];return _.jsx("button",{type:"button",onClick:()=>t(n.id),className:`rounded-[7px] border px-2 py-1.5 text-left transition-colors ${a?"border-border-focus bg-bg-3 text-fg":"border-border bg-bg-2 text-fg-dim hover:border-border-strong hover:text-fg"}`,title:n.description,children:_.jsxs("span",{className:"flex items-center justify-between gap-2",children:[_.jsx("span",{className:"truncate text-[12.5px] font-medium",children:n.label}),_.jsx("span",{className:"flex flex-none overflow-hidden rounded-[3px] border border-border",children:i.map((r,s)=>_.jsx("span",{className:"h-3 w-3",style:{backgroundColor:`hsl(${r})`}},`${n.id}-${s}`))})]})},n.id)})})}function set({currentVersion:e,updateStatus:t,latestVersion:n,onCheckUpdate:a}){const{t:i}=Rn();return _.jsxs("div",{className:"flex flex-col gap-6 px-5 py-6",children:[_.jsxs("div",{className:"flex flex-col gap-3",children:[_.jsxs("div",{className:"flex items-center justify-between",children:[_.jsx("span",{className:"text-[13px] font-medium text-fg-muted",children:"Version"}),_.jsxs("span",{className:"rounded-[5px] bg-bg-2 px-2.5 py-1 font-mono text-[13px] font-semibold text-fg",children:["v",e]})]}),_.jsxs("div",{className:"flex items-center justify-between",children:[_.jsx("span",{className:"text-[13px] font-medium text-fg-muted",children:"Status"}),t==="idle"&&_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg transition-colors hover:bg-bg-3",children:i("settings.checkForUpdates")}),t==="checking"&&_.jsx("span",{className:"text-[12.5px] text-fg-muted",children:i("settings.checkingForUpdates")}),t==="upToDate"&&_.jsxs("span",{className:"rounded-[5px] bg-success/10 px-2.5 py-1 text-[12.5px] font-medium text-success",children:["✓ ",i("settings.upToDate")]}),t==="available"&&_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsxs("span",{className:"rounded-[5px] bg-warning/10 px-2.5 py-1 text-[12.5px] font-medium text-warning",children:["v",n," ",i("settings.available")]}),_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg transition-colors hover:bg-bg-3",children:i("settings.refresh")})]}),t==="error"&&_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg-muted transition-colors hover:bg-bg-3",children:i("settings.retry")})]})]}),_.jsx("div",{className:"flex flex-col gap-2 rounded-[7px] border border-border bg-bg-2 p-3",children:_.jsx("p",{className:"text-[12.5px] text-fg-muted",children:i("settings.autoUpdateDescription")??"Kandown auto-updates when you run npx kandown. To force an update, run npm install -g kandown."})}),_.jsxs("div",{className:"flex flex-col gap-1",children:[_.jsx("span",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint",children:i("settings.links")??"Links"}),_.jsx("a",{href:"https://github.com/vava-nessa/kandown",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-fg underline underline-offset-2 hover:text-fg-muted",children:"GitHub"}),_.jsx("a",{href:"https://www.npmjs.com/package/kandown",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-fg underline underline-offset-2 hover:text-fg-muted",children:"npm"})]})]})}function oet(){const e=fe(t=>t.toasts);return _.jsx("div",{className:"fixed bottom-5 left-1/2 -translate-x-1/2 z-[200] flex flex-col items-center gap-2 pointer-events-none",children:_.jsx(ps,{children:e.map(t=>_.jsx(_t.div,{initial:{opacity:0,y:20,scale:.96},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:8,scale:.96},transition:{type:"spring",stiffness:380,damping:30},className:`glass px-3.5 py-2 rounded-[6px] text-[13px] font-medium shadow-[0_8px_32px_rgba(0,0,0,0.6)] pointer-events-auto ${t.type==="error"?"text-danger border-danger/30":(t.type==="info","text-fg")}`,children:t.message},t.id))})})}function cet(){const{t:e}=Rn(),t=fe(i=>i.conflictState),n=fe(i=>i.showConflictModal),a=fe(i=>i.resolveConflict);return _.jsx(ps,{children:n&&t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[200] bg-black/50 backdrop-blur-[4px]"}),_.jsx(_t.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},transition:{duration:0},className:"fixed inset-0 z-[201] flex items-center justify-center p-[10vh] pointer-events-none",children:_.jsxs("div",{className:"pointer-events-auto w-full max-w-[560px] rounded-2xl border border-border bg-bg shadow-2xl",children:[_.jsxs("div",{className:"flex items-center gap-3 border-b border-border px-5 py-4 rounded-t-2xl",children:[_.jsx("span",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-destructive/10 text-destructive",children:_.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[_.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),_.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),_.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),_.jsxs("div",{children:[_.jsx("h2",{className:"text-[16px] font-semibold text-fg",children:e("conflict.detected")}),_.jsx("p",{className:"text-[12.5px] text-fg-muted",children:e("conflict.detectedDesc")})]})]}),_.jsxs("div",{className:"px-5 py-4 space-y-3",children:[_.jsx("p",{className:"text-[13.5px] text-fg",dangerouslySetInnerHTML:{__html:e("conflict.conflictingChanges",{taskId:t.taskId.toUpperCase()})}}),_.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[_.jsx(wR,{label:e("conflict.yourVersion"),frontmatter:t.local.frontmatter,body:t.local.body,subtasks:t.local.subtasks}),_.jsx(wR,{label:e("conflict.diskVersion"),frontmatter:t.remote.frontmatter,body:t.remote.body,subtasks:t.remote.subtasks})]})]}),_.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-border px-5 py-3 rounded-b-2xl",children:[_.jsx(hu,{variant:"outline",onClick:()=>a("cancel"),children:e("conflict.cancel")}),_.jsx(hu,{variant:"outline",onClick:()=>a("reload"),children:e("conflict.reloadFromDisk")}),_.jsx(hu,{variant:"default",onClick:()=>a("overwrite"),children:e("conflict.keepMyVersion")})]})]})})]})})}function wR({label:e,frontmatter:t,body:n,subtasks:a}){const{t:i}=Rn();return _.jsxs("div",{className:"rounded-lg border border-border bg-bg-1 overflow-hidden",children:[_.jsx("div",{className:"bg-bg-2 border-b border-border px-3 py-2",children:_.jsx("span",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-muted",children:e})}),_.jsxs("div",{className:"p-3 space-y-2 text-[12.5px]",children:[_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.title"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.title||i("conflict.none")})]}),t.priority&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.priority"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.priority})]}),t.assignee&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("drawer.assignee"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.assignee})]}),Array.isArray(t.tags)&&t.tags.length>0&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.tags")||"Tags",":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.tags.join(", ")})]}),_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.body"),":"]})," ",_.jsxs("span",{className:"text-fg line-clamp-2",children:[n.slice(0,60),n.length>60?"...":""]})]}),_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.subtasks"),":"]})," ",_.jsxs("span",{className:"font-medium text-fg",children:[a.filter(r=>r.done).length,"/",a.length," ",i("drawer.doneSubtasks")]})]})]})]})}function pet(){const e=fe(P=>P.dirHandle),t=fe(P=>P.isOpen),n=fe(P=>P.viewMode),a=fe(P=>P.setViewMode),i=fe(P=>P.drawerTaskId),r=fe(P=>P.commandOpen),s=fe(P=>P.setCommandOpen),o=fe(P=>P.cheatsheetOpen),c=fe(P=>P.setCheatsheetOpen),p=fe(P=>P.createTask),{t:d}=Rn(),m=fe(P=>P.reloadBoard),f=fe(P=>P.recentProjects),h=fe(P=>P.openRecentProject),b=fe(P=>P.tryAutoOpenServerProject),k=fe(P=>P.currentPage),w=fe(P=>P.showArchives),x=fe(P=>P.showMetadata),S=fe(P=>P.setShowMetadata),E=fe(P=>P.config);return $.useEffect(()=>{const P=E.ui.language;P&&cX.includes(P)&&Da.language!==P&&YJe(P)},[E.ui.language]),$.useEffect(()=>{const L=new URLSearchParams(window.location.search).get("p");if(L&&!t&&!e){const j=f.find(F=>F.name===L);j&&h(j)}},[f,t,e,h]),$.useEffect(()=>{b()},[b]),$.useEffect(()=>{const P=L=>{const j=document.activeElement,F=!!j&&(j.tagName==="INPUT"||j.tagName==="TEXTAREA"||j.isContentEditable);if((L.metaKey||L.ctrlKey)&&L.key==="k"){L.preventDefault(),s(!r);return}if(L.key==="?"&&!F&&!i){L.preventDefault(),c(!o);return}if((L.metaKey||L.ctrlKey)&&L.key==="1"){L.preventDefault(),a("board");return}if((L.metaKey||L.ctrlKey)&&L.key==="2"){L.preventDefault(),a("list");return}F||i||r||(L.key==="n"&&(t||e)&&(L.preventDefault(),p()),L.key==="r"&&(t||e)&&(L.preventDefault(),m()),L.key==="/"&&(t||e)&&(L.preventDefault(),document.querySelector('header input[type="text"]')?.focus()))};return window.addEventListener("keydown",P),()=>window.removeEventListener("keydown",P)},[t,e,r,o,i,s,c,a,p,m]),_.jsxs("div",{className:"flex flex-col h-screen",children:[_.jsx(ice,{}),k==="settings"?_.jsx(tet,{}):t||e?_.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[E.ui.background==="static-gradient"&&_.jsx("div",{className:"absolute inset-0 z-0 bg-gradient-to-br from-primary/10 via-background to-accent/10"}),_.jsx("div",{className:`flex flex-col h-full relative ${E.ui.background==="static-gradient"?"z-10":""}`,children:w?_.jsx(rpe,{}):n==="board"?_.jsx(ipe,{}):_.jsx(cpe,{})}),_.jsxs("button",{type:"button",onClick:()=>S(!x),title:d(x?"header.showMetadata":"header.hideMetadata"),className:"fixed bottom-3 right-3 z-40 px-2.5 py-1 rounded-md bg-card/80 backdrop-blur border border-border text-[11px] text-fg-muted hover:text-fg hover:border-border-strong transition-colors flex items-center gap-1.5",children:[x?_.jsx(Zn.Eye,{size:12}):_.jsx(Zn.EyeOff,{size:12}),_.jsx("span",{children:d(x?"header.showMetadata":"header.hideMetadata")})]})]}):_.jsx(lpe,{}),_.jsx(HOe,{}),_.jsx(qOe,{}),_.jsx(GOe,{}),_.jsx(oet,{}),_.jsx(cet,{})]})}KJe("en");wee.createRoot(document.getElementById("root")).render(_.jsx($.StrictMode,{children:_.jsx(pet,{})}));function uX(e){return e&&e.__esModule?e.default:e}function gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $0,Ke,mX,Ng,fX,xR,D1={},gX=[],det=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Kc(e,t){for(var n in t)e[n]=t[n];return e}function hX(e){var t=e.parentNode;t&&t.removeChild(e)}function o4(e,t,n){var a,i,r,s={};for(r in t)r=="key"?a=t[r]:r=="ref"?i=t[r]:s[r]=t[r];if(arguments.length>2&&(s.children=arguments.length>3?$0.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)s[r]===void 0&&(s[r]=e.defaultProps[r]);return t_(e,s,a,i,null)}function t_(e,t,n,a,i){var r={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++mX};return i==null&&Ke.vnode!=null&&Ke.vnode(r),r}function So(){return{current:null}}function nm(e){return e.children}function Vs(e,t){this.props=e,this.context=t}function am(e,t){if(t==null)return e.__?am(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?am(e):null}function bX(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return bX(e)}}function AR(e){(!e.__d&&(e.__d=!0)&&Ng.push(e)&&!I1.__r++||xR!==Ke.debounceRendering)&&((xR=Ke.debounceRendering)||fX)(I1)}function I1(){for(var e;I1.__r=Ng.length;)e=Ng.sort(function(t,n){return t.__v.__b-n.__v.__b}),Ng=[],e.some(function(t){var n,a,i,r,s,o;t.__d&&(s=(r=(n=t).__v).__e,(o=n.__P)&&(a=[],(i=Kc({},r)).__v=r.__v+1,QE(o,r,i,n.__n,o.ownerSVGElement!==void 0,r.__h!=null?[s]:null,a,s??am(r),r.__h),kX(a,r),r.__e!=s&&bX(r)))})}function vX(e,t,n,a,i,r,s,o,c,p){var d,m,f,h,b,k,w,x=a&&a.__k||gX,S=x.length;for(n.__k=[],d=0;d<t.length;d++)if((h=n.__k[d]=(h=t[d])==null||typeof h=="boolean"?null:typeof h=="string"||typeof h=="number"||typeof h=="bigint"?t_(null,h,null,null,h):Array.isArray(h)?t_(nm,{children:h},null,null,null):h.__b>0?t_(h.type,h.props,h.key,null,h.__v):h)!=null){if(h.__=n,h.__b=n.__b+1,(f=x[d])===null||f&&h.key==f.key&&h.type===f.type)x[d]=void 0;else for(m=0;m<S;m++){if((f=x[m])&&h.key==f.key&&h.type===f.type){x[m]=void 0;break}f=null}QE(e,h,f=f||D1,i,r,s,o,c,p),b=h.__e,(m=h.ref)&&f.ref!=m&&(w||(w=[]),f.ref&&w.push(f.ref,null,h),w.push(m,h.__c||b,h)),b!=null?(k==null&&(k=b),typeof h.type=="function"&&h.__k===f.__k?h.__d=c=yX(h,c,e):c=_X(e,h,f,x,b,c),typeof n.type=="function"&&(n.__d=c)):c&&f.__e==c&&c.parentNode!=e&&(c=am(f))}for(n.__e=k,d=S;d--;)x[d]!=null&&(typeof n.type=="function"&&x[d].__e!=null&&x[d].__e==n.__d&&(n.__d=am(a,d+1)),xX(x[d],x[d]));if(w)for(d=0;d<w.length;d++)wX(w[d],w[++d],w[++d])}function yX(e,t,n){for(var a,i=e.__k,r=0;i&&r<i.length;r++)(a=i[r])&&(a.__=e,t=typeof a.type=="function"?yX(a,t,n):_X(n,a,a,i,a.__e,t));return t}function R1(e,t){return t=t||[],e==null||typeof e=="boolean"||(Array.isArray(e)?e.some(function(n){R1(n,t)}):t.push(e)),t}function _X(e,t,n,a,i,r){var s,o,c;if(t.__d!==void 0)s=t.__d,t.__d=void 0;else if(n==null||i!=r||i.parentNode==null)e:if(r==null||r.parentNode!==e)e.appendChild(i),s=null;else{for(o=r,c=0;(o=o.nextSibling)&&c<a.length;c+=2)if(o==i)break e;e.insertBefore(i,r),s=r}return s!==void 0?s:i.nextSibling}function uet(e,t,n,a,i){var r;for(r in n)r==="children"||r==="key"||r in t||O1(e,r,null,n[r],a);for(r in t)i&&typeof t[r]!="function"||r==="children"||r==="key"||r==="value"||r==="checked"||n[r]===t[r]||O1(e,r,t[r],n[r],a)}function CR(e,t,n){t[0]==="-"?e.setProperty(t,n):e[t]=n==null?"":typeof n!="number"||det.test(t)?n:n+"px"}function O1(e,t,n,a,i){var r;e:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof a=="string"&&(e.style.cssText=a=""),a)for(t in a)n&&t in n||CR(e.style,t,"");if(n)for(t in n)a&&n[t]===a[t]||CR(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")r=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?a||e.addEventListener(t,r?SR:NR,r):e.removeEventListener(t,r?SR:NR,r);else if(t!=="dangerouslySetInnerHTML"){if(i)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if(t!=="href"&&t!=="list"&&t!=="form"&&t!=="tabIndex"&&t!=="download"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n!=null&&(n!==!1||t[0]==="a"&&t[1]==="r")?e.setAttribute(t,n):e.removeAttribute(t))}}function NR(e){this.l[e.type+!1](Ke.event?Ke.event(e):e)}function SR(e){this.l[e.type+!0](Ke.event?Ke.event(e):e)}function QE(e,t,n,a,i,r,s,o,c){var p,d,m,f,h,b,k,w,x,S,E,P=t.type;if(t.constructor!==void 0)return null;n.__h!=null&&(c=n.__h,o=t.__e=n.__e,t.__h=null,r=[o]),(p=Ke.__b)&&p(t);try{e:if(typeof P=="function"){if(w=t.props,x=(p=P.contextType)&&a[p.__c],S=p?x?x.props.value:p.__:a,n.__c?k=(d=t.__c=n.__c).__=d.__E:("prototype"in P&&P.prototype.render?t.__c=d=new P(w,S):(t.__c=d=new Vs(w,S),d.constructor=P,d.render=fet),x&&x.sub(d),d.props=w,d.state||(d.state={}),d.context=S,d.__n=a,m=d.__d=!0,d.__h=[]),d.__s==null&&(d.__s=d.state),P.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=Kc({},d.__s)),Kc(d.__s,P.getDerivedStateFromProps(w,d.__s))),f=d.props,h=d.state,m)P.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(P.getDerivedStateFromProps==null&&w!==f&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(w,S),!d.__e&&d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(w,d.__s,S)===!1||t.__v===n.__v){d.props=w,d.state=d.__s,t.__v!==n.__v&&(d.__d=!1),d.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(L){L&&(L.__=t)}),d.__h.length&&s.push(d);break e}d.componentWillUpdate!=null&&d.componentWillUpdate(w,d.__s,S),d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(f,h,b)})}d.context=S,d.props=w,d.state=d.__s,(p=Ke.__r)&&p(t),d.__d=!1,d.__v=t,d.__P=e,p=d.render(d.props,d.state,d.context),d.state=d.__s,d.getChildContext!=null&&(a=Kc(Kc({},a),d.getChildContext())),m||d.getSnapshotBeforeUpdate==null||(b=d.getSnapshotBeforeUpdate(f,h)),E=p!=null&&p.type===nm&&p.key==null?p.props.children:p,vX(e,Array.isArray(E)?E:[E],t,n,a,i,r,s,o,c),d.base=t.__e,t.__h=null,d.__h.length&&s.push(d),k&&(d.__E=d.__=null),d.__e=!1}else r==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=met(n.__e,t,n,a,i,r,s,c);(p=Ke.diffed)&&p(t)}catch(L){t.__v=null,(c||r!=null)&&(t.__e=o,t.__h=!!c,r[r.indexOf(o)]=null),Ke.__e(L,t,n)}}function kX(e,t){Ke.__c&&Ke.__c(t,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(a){a.call(n)})}catch(a){Ke.__e(a,n.__v)}})}function met(e,t,n,a,i,r,s,o){var c,p,d,m=n.props,f=t.props,h=t.type,b=0;if(h==="svg"&&(i=!0),r!=null){for(;b<r.length;b++)if((c=r[b])&&"setAttribute"in c==!!h&&(h?c.localName===h:c.nodeType===3)){e=c,r[b]=null;break}}if(e==null){if(h===null)return document.createTextNode(f);e=i?document.createElementNS("http://www.w3.org/2000/svg",h):document.createElement(h,f.is&&f),r=null,o=!1}if(h===null)m===f||o&&e.data===f||(e.data=f);else{if(r=r&&$0.call(e.childNodes),p=(m=n.props||D1).dangerouslySetInnerHTML,d=f.dangerouslySetInnerHTML,!o){if(r!=null)for(m={},b=0;b<e.attributes.length;b++)m[e.attributes[b].name]=e.attributes[b].value;(d||p)&&(d&&(p&&d.__html==p.__html||d.__html===e.innerHTML)||(e.innerHTML=d&&d.__html||""))}if(uet(e,f,m,i,o),d)t.__k=[];else if(b=t.props.children,vX(e,Array.isArray(b)?b:[b],t,n,a,i&&h!=="foreignObject",r,s,r?r[0]:n.__k&&am(n,0),o),r!=null)for(b=r.length;b--;)r[b]!=null&&hX(r[b]);o||("value"in f&&(b=f.value)!==void 0&&(b!==m.value||b!==e.value||h==="progress"&&!b)&&O1(e,"value",b,m.value,!1),"checked"in f&&(b=f.checked)!==void 0&&b!==e.checked&&O1(e,"checked",b,m.checked,!1))}return e}function wX(e,t,n){try{typeof e=="function"?e(t):e.current=t}catch(a){Ke.__e(a,n)}}function xX(e,t,n){var a,i;if(Ke.unmount&&Ke.unmount(e),(a=e.ref)&&(a.current&&a.current!==e.__e||wX(a,null,t)),(a=e.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(r){Ke.__e(r,t)}a.base=a.__P=null}if(a=e.__k)for(i=0;i<a.length;i++)a[i]&&xX(a[i],t,typeof e.type!="function");n||e.__e==null||hX(e.__e),e.__e=e.__d=void 0}function fet(e,t,n){return this.constructor(e,n)}function AX(e,t,n){var a,i,r;Ke.__&&Ke.__(e,t),i=(a=typeof n=="function")?null:n&&n.__k||t.__k,r=[],QE(t,e=(!a&&n||t).__k=o4(nm,null,[e]),i||D1,D1,t.ownerSVGElement!==void 0,!a&&n?[n]:i?null:t.firstChild?$0.call(t.childNodes):null,r,!a&&n?n:i?i.__e:t.firstChild,a),kX(r,e)}$0=gX.slice,Ke={__e:function(e,t){for(var n,a,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((a=n.constructor)&&a.getDerivedStateFromError!=null&&(n.setState(a.getDerivedStateFromError(e)),i=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(e),i=n.__d),i)return n.__E=n}catch(r){e=r}throw e}},mX=0,Vs.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Kc({},this.state),typeof e=="function"&&(e=e(Kc({},n),this.props)),e&&Kc(n,e),e!=null&&this.__v&&(t&&this.__h.push(t),AR(this))},Vs.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),AR(this))},Vs.prototype.render=nm,Ng=[],fX=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,I1.__r=0;var get=0;function ye(e,t,n,a,i){var r,s,o={};for(s in t)s=="ref"?r=t[s]:o[s]=t[s];var c={type:e,props:o,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--get,__source:a,__self:i};if(typeof e=="function"&&(r=e.defaultProps))for(s in r)o[s]===void 0&&(o[s]=r[s]);return Ke.vnode&&Ke.vnode(c),c}function het(e,t){try{window.localStorage[`emoji-mart.${e}`]=JSON.stringify(t)}catch{}}function bet(e){try{const t=window.localStorage[`emoji-mart.${e}`];if(t)return JSON.parse(t)}catch{}}var Vo={set:het,get:bet};const AC=new Map,vet=[{v:15,emoji:"🫨"},{v:14,emoji:"🫠"},{v:13.1,emoji:"😶🌫️"},{v:13,emoji:"🥸"},{v:12.1,emoji:"🧑🦰"},{v:12,emoji:"🥱"},{v:11,emoji:"🥰"},{v:5,emoji:"🤩"},{v:4,emoji:"👱♀️"},{v:3,emoji:"🤣"},{v:2,emoji:"👋🏻"},{v:1,emoji:"🙃"}];function yet(){for(const{v:e,emoji:t}of vet)if(CX(t))return e}function _et(){return!CX("🇨🇦")}function CX(e){if(AC.has(e))return AC.get(e);const t=ket(e);return AC.set(e,t),t}const ket=(()=>{let e=null;try{navigator.userAgent.includes("jsdom")||(e=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}))}catch{}if(!e)return()=>!1;const t=25,n=20,a=Math.floor(t/2);return e.font=a+"px Arial, Sans-Serif",e.textBaseline="top",e.canvas.width=n*2,e.canvas.height=t,i=>{e.clearRect(0,0,n*2,t),e.fillStyle="#FF0000",e.fillText(i,0,22),e.fillStyle="#0000FF",e.fillText(i,n,22);const r=e.getImageData(0,0,n,t).data,s=r.length;let o=0;for(;o<s&&!r[o+3];o+=4);if(o>=s)return!1;const c=n+o/4%n,p=Math.floor(o/4/n),d=e.getImageData(c,p,1,1).data;return!(r[o]!==d[0]||r[o+2]!==d[2]||e.measureText(i).width>=n)}})();var $R={latestVersion:yet,noCountryFlags:_et};const c4=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","scream","disappointed","unamused","weary","sob","sunglasses","heart"];let Sa=null;function wet(e){Sa||(Sa=Vo.get("frequently")||{});const t=e.id||e;t&&(Sa[t]||(Sa[t]=0),Sa[t]+=1,Vo.set("last",t),Vo.set("frequently",Sa))}function xet({maxFrequentRows:e,perLine:t}){if(!e)return[];Sa||(Sa=Vo.get("frequently"));let n=[];if(!Sa){Sa={};for(let r in c4.slice(0,t)){const s=c4[r];Sa[s]=t-r,n.push(s)}return n}const a=e*t,i=Vo.get("last");for(let r in Sa)n.push(r);if(n.sort((r,s)=>{const o=Sa[s],c=Sa[r];return o==c?r.localeCompare(s):o-c}),n.length>a){const r=n.slice(a);n=n.slice(0,a);for(let s of r)s!=i&&delete Sa[s];i&&n.indexOf(i)==-1&&(delete Sa[n[n.length-1]],n.splice(-1,1,i)),Vo.set("frequently",Sa)}return n}var JE={add:wet,get:xet,DEFAULTS:c4},NX={};NX=JSON.parse('{"search":"Search","search_no_results_1":"Oh no!","search_no_results_2":"That emoji couldn’t be found","pick":"Pick an emoji…","add_custom":"Add custom emoji","categories":{"activity":"Activity","custom":"Custom","flags":"Flags","foods":"Food & Drink","frequent":"Frequently used","nature":"Animals & Nature","objects":"Objects","people":"Smileys & People","places":"Travel & Places","search":"Search Results","symbols":"Symbols"},"skins":{"1":"Default","2":"Light","3":"Medium-Light","4":"Medium","5":"Medium-Dark","6":"Dark","choose":"Choose default skin tone"}}');var Lo={autoFocus:{value:!1},dynamicWidth:{value:!1},emojiButtonColors:{value:null},emojiButtonRadius:{value:"100%"},emojiButtonSize:{value:36},emojiSize:{value:24},emojiVersion:{value:15,choices:[1,2,3,4,5,11,12,12.1,13,13.1,14,15]},exceptEmojis:{value:[]},icons:{value:"auto",choices:["auto","outline","solid"]},locale:{value:"en",choices:["en","ar","be","cs","de","es","fa","fi","fr","hi","it","ja","ko","nl","pl","pt","ru","sa","tr","uk","vi","zh"]},maxFrequentRows:{value:4},navPosition:{value:"top",choices:["top","bottom","none"]},noCountryFlags:{value:!1},noResultsEmoji:{value:null},perLine:{value:9},previewEmoji:{value:null},previewPosition:{value:"bottom",choices:["top","bottom","none"]},searchPosition:{value:"sticky",choices:["sticky","static","none"]},set:{value:"native",choices:["native","apple","facebook","google","twitter"]},skin:{value:1,choices:[1,2,3,4,5,6]},skinTonePosition:{value:"preview",choices:["preview","search","none"]},theme:{value:"auto",choices:["auto","light","dark"]},categories:null,categoryIcons:null,custom:null,data:null,i18n:null,getImageURL:null,getSpritesheetURL:null,onAddCustomEmoji:null,onClickOutside:null,onEmojiSelect:null,stickySearch:{deprecated:!0,value:!0}};let Aa=null,mt=null;const CC={};async function ER(e){if(CC[e])return CC[e];const n=await(await fetch(e)).json();return CC[e]=n,n}let NC=null,SX=null,$X=!1;function ab(e,{caller:t}={}){return NC||(NC=new Promise(n=>{SX=n})),e?Aet(e):t&&!$X&&console.warn(`\`${t}\` requires data to be initialized first. Promise will be pending until \`init\` is called.`),NC}async function Aet(e){$X=!0;let{emojiVersion:t,set:n,locale:a}=e;if(t||(t=Lo.emojiVersion.value),n||(n=Lo.set.value),a||(a=Lo.locale.value),mt)mt.categories=mt.categories.filter(c=>!c.name);else{mt=(typeof e.data=="function"?await e.data():e.data)||await ER(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/sets/${t}/${n}.json`),mt.emoticons={},mt.natives={},mt.categories.unshift({id:"frequent",emojis:[]});for(const c in mt.aliases){const p=mt.aliases[c],d=mt.emojis[p];d&&(d.aliases||(d.aliases=[]),d.aliases.push(c))}mt.originalCategories=mt.categories}if(Aa=(typeof e.i18n=="function"?await e.i18n():e.i18n)||(a=="en"?uX(NX):await ER(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/i18n/${a}.json`)),e.custom)for(let c in e.custom){c=parseInt(c);const p=e.custom[c],d=e.custom[c-1];if(!(!p.emojis||!p.emojis.length)){p.id||(p.id=`custom_${c+1}`),p.name||(p.name=Aa.categories.custom),d&&!p.icon&&(p.target=d.target||d),mt.categories.push(p);for(const m of p.emojis)mt.emojis[m.id]=m}}e.categories&&(mt.categories=mt.originalCategories.filter(c=>e.categories.indexOf(c.id)!=-1).sort((c,p)=>{const d=e.categories.indexOf(c.id),m=e.categories.indexOf(p.id);return d-m}));let i=null,r=null;n=="native"&&(i=$R.latestVersion(),r=e.noCountryFlags||$R.noCountryFlags());let s=mt.categories.length,o=!1;for(;s--;){const c=mt.categories[s];if(c.id=="frequent"){let{maxFrequentRows:m,perLine:f}=e;m=m>=0?m:Lo.maxFrequentRows.value,f||(f=Lo.perLine.value),c.emojis=JE.get({maxFrequentRows:m,perLine:f})}if(!c.emojis||!c.emojis.length){mt.categories.splice(s,1);continue}const{categoryIcons:p}=e;if(p){const m=p[c.id];m&&!c.icon&&(c.icon=m)}let d=c.emojis.length;for(;d--;){const m=c.emojis[d],f=m.id?m:mt.emojis[m],h=()=>{c.emojis.splice(d,1)};if(!f||e.exceptEmojis&&e.exceptEmojis.includes(f.id)){h();continue}if(i&&f.version>i){h();continue}if(r&&c.id=="flags"&&!TX.includes(f.id)){h();continue}if(!f.search){if(o=!0,f.search=","+[[f.id,!1],[f.name,!0],[f.keywords,!1],[f.emoticons,!1]].map(([k,w])=>{if(k)return(Array.isArray(k)?k:[k]).map(x=>(w?x.split(/[-|_|\s]+/):[x]).map(S=>S.toLowerCase())).flat()}).flat().filter(k=>k&&k.trim()).join(","),f.emoticons)for(const k of f.emoticons)mt.emoticons[k]||(mt.emoticons[k]=f.id);let b=0;for(const k of f.skins){if(!k)continue;b++;const{native:w}=k;w&&(mt.natives[w]=f.id,f.search+=`,${w}`);const x=b==1?"":`:skin-tone-${b}:`;k.shortcodes=`:${f.id}:${x}`}}}}o&&ep.reset(),SX()}function EX(e,t,n){e||(e={});const a={};for(let i in t)a[i]=PX(i,e,t,n);return a}function PX(e,t,n,a){const i=n[e];let r=a&&a.getAttribute(e)||(t[e]!=null&&t[e]!=null?t[e]:null);return i&&(r!=null&&i.value&&typeof i.value!=typeof r&&(typeof i.value=="boolean"?r=r!="false":r=i.value.constructor(r)),i.transform&&r&&(r=i.transform(r)),(r==null||i.choices&&i.choices.indexOf(r)==-1)&&(r=i.value)),r}const Cet=/^(?:\:([^\:]+)\:)(?:\:skin-tone-(\d)\:)?$/;let p4=null;function Net(e){return e.id?e:mt.emojis[e]||mt.emojis[mt.aliases[e]]||mt.emojis[mt.natives[e]]}function $et(){p4=null}async function Eet(e,{maxResults:t,caller:n}={}){if(!e||!e.trim().length)return null;t||(t=90),await ab(null,{caller:n||"SearchIndex.search"});const a=e.toLowerCase().replace(/(\w)-/,"$1 ").split(/[\s|,]+/).filter((o,c,p)=>o.trim()&&p.indexOf(o)==c);if(!a.length)return;let i=p4||(p4=Object.values(mt.emojis)),r,s;for(const o of a){if(!i.length)break;r=[],s={};for(const c of i){if(!c.search)continue;const p=c.search.indexOf(`,${o}`);p!=-1&&(r.push(c),s[c.id]||(s[c.id]=0),s[c.id]+=c.id==o?0:p+1)}i=r}return r.length<2||(r.sort((o,c)=>{const p=s[o.id],d=s[c.id];return p==d?o.id.localeCompare(c.id):p-d}),r.length>t&&(r=r.slice(0,t))),r}var ep={search:Eet,get:Net,reset:$et,SHORTCODES_REGEX:Cet};const TX=["checkered_flag","crossed_flags","pirate_flag","rainbow-flag","transgender_flag","triangular_flag_on_post","waving_black_flag","waving_white_flag"];function Pet(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((n,a)=>n==t[a])}async function Tet(e=1){for(let t in[...Array(e).keys()])await new Promise(requestAnimationFrame)}function LX(e,{skinIndex:t=0}={}){const n=e.skins[t]||(t=0,e.skins[t]),a={id:e.id,name:e.name,native:n.native,unified:n.unified,keywords:e.keywords,shortcodes:n.shortcodes||e.shortcodes};return e.skins.length>1&&(a.skin=t+1),n.src&&(a.src=n.src),e.aliases&&e.aliases.length&&(a.aliases=e.aliases),e.emoticons&&e.emoticons.length&&(a.emoticons=e.emoticons),a}async function Let(e){const t=await ep.search(e,{maxResults:1,caller:"getEmojiDataFromNative"});if(!t||!t.length)return null;const n=t[0];let a=0;for(let i of n.skins){if(i.native==e)break;a++}return LX(n,{skinIndex:a})}const Met={activity:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M16.17 337.5c0 44.98 7.565 83.54 13.98 107.9C35.22 464.3 50.46 496 174.9 496c9.566 0 19.59-.4707 29.84-1.271L17.33 307.3C16.53 317.6 16.17 327.7 16.17 337.5zM495.8 174.5c0-44.98-7.565-83.53-13.98-107.9c-4.688-17.54-18.34-31.23-36.04-35.95C435.5 27.91 392.9 16 337 16c-9.564 0-19.59 .4707-29.84 1.271l187.5 187.5C495.5 194.4 495.8 184.3 495.8 174.5zM26.77 248.8l236.3 236.3c142-36.1 203.9-150.4 222.2-221.1L248.9 26.87C106.9 62.96 45.07 177.2 26.77 248.8zM256 335.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L164.7 283.3C161.6 280.2 160 276.1 160 271.1c0-8.529 6.865-16 16-16c4.095 0 8.189 1.562 11.31 4.688l64.01 64C254.4 327.8 256 331.9 256 335.1zM304 287.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L212.7 235.3C209.6 232.2 208 228.1 208 223.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01C302.5 279.8 304 283.9 304 287.1zM256 175.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01c3.125 3.125 4.688 7.219 4.688 11.31c0 9.133-7.468 16-16 16c-4.094 0-8.189-1.562-11.31-4.688l-64.01-64.01C257.6 184.2 256 180.1 256 175.1z"})})},custom:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:ye("path",{d:"M417.1 368c-5.937 10.27-16.69 16-27.75 16c-5.422 0-10.92-1.375-15.97-4.281L256 311.4V448c0 17.67-14.33 32-31.1 32S192 465.7 192 448V311.4l-118.3 68.29C68.67 382.6 63.17 384 57.75 384c-11.06 0-21.81-5.734-27.75-16c-8.828-15.31-3.594-34.88 11.72-43.72L159.1 256L41.72 187.7C26.41 178.9 21.17 159.3 29.1 144C36.63 132.5 49.26 126.7 61.65 128.2C65.78 128.7 69.88 130.1 73.72 132.3L192 200.6V64c0-17.67 14.33-32 32-32S256 46.33 256 64v136.6l118.3-68.29c3.838-2.213 7.939-3.539 12.07-4.051C398.7 126.7 411.4 132.5 417.1 144c8.828 15.31 3.594 34.88-11.72 43.72L288 256l118.3 68.28C421.6 333.1 426.8 352.7 417.1 368z"})}),flags:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M64 496C64 504.8 56.75 512 48 512h-32C7.25 512 0 504.8 0 496V32c0-17.75 14.25-32 32-32s32 14.25 32 32V496zM476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87C160.9 .3055 131.6 4.867 96 15.75v350.5c32-9.984 59.87-14.1 84.85-14.1c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0z"})})},foods:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M481.9 270.1C490.9 279.1 496 291.3 496 304C496 316.7 490.9 328.9 481.9 337.9C472.9 346.9 460.7 352 448 352H64C51.27 352 39.06 346.9 30.06 337.9C21.06 328.9 16 316.7 16 304C16 291.3 21.06 279.1 30.06 270.1C39.06 261.1 51.27 256 64 256H448C460.7 256 472.9 261.1 481.9 270.1zM475.3 388.7C478.3 391.7 480 395.8 480 400V416C480 432.1 473.3 449.3 461.3 461.3C449.3 473.3 432.1 480 416 480H96C79.03 480 62.75 473.3 50.75 461.3C38.74 449.3 32 432.1 32 416V400C32 395.8 33.69 391.7 36.69 388.7C39.69 385.7 43.76 384 48 384H464C468.2 384 472.3 385.7 475.3 388.7zM50.39 220.8C45.93 218.6 42.03 215.5 38.97 211.6C35.91 207.7 33.79 203.2 32.75 198.4C31.71 193.5 31.8 188.5 32.99 183.7C54.98 97.02 146.5 32 256 32C365.5 32 457 97.02 479 183.7C480.2 188.5 480.3 193.5 479.2 198.4C478.2 203.2 476.1 207.7 473 211.6C469.1 215.5 466.1 218.6 461.6 220.8C457.2 222.9 452.3 224 447.3 224H64.67C59.73 224 54.84 222.9 50.39 220.8zM372.7 116.7C369.7 119.7 368 123.8 368 128C368 131.2 368.9 134.3 370.7 136.9C372.5 139.5 374.1 141.6 377.9 142.8C380.8 143.1 384 144.3 387.1 143.7C390.2 143.1 393.1 141.6 395.3 139.3C397.6 137.1 399.1 134.2 399.7 131.1C400.3 128 399.1 124.8 398.8 121.9C397.6 118.1 395.5 116.5 392.9 114.7C390.3 112.9 387.2 111.1 384 111.1C379.8 111.1 375.7 113.7 372.7 116.7V116.7zM244.7 84.69C241.7 87.69 240 91.76 240 96C240 99.16 240.9 102.3 242.7 104.9C244.5 107.5 246.1 109.6 249.9 110.8C252.8 111.1 256 112.3 259.1 111.7C262.2 111.1 265.1 109.6 267.3 107.3C269.6 105.1 271.1 102.2 271.7 99.12C272.3 96.02 271.1 92.8 270.8 89.88C269.6 86.95 267.5 84.45 264.9 82.7C262.3 80.94 259.2 79.1 256 79.1C251.8 79.1 247.7 81.69 244.7 84.69V84.69zM116.7 116.7C113.7 119.7 112 123.8 112 128C112 131.2 112.9 134.3 114.7 136.9C116.5 139.5 118.1 141.6 121.9 142.8C124.8 143.1 128 144.3 131.1 143.7C134.2 143.1 137.1 141.6 139.3 139.3C141.6 137.1 143.1 134.2 143.7 131.1C144.3 128 143.1 124.8 142.8 121.9C141.6 118.1 139.5 116.5 136.9 114.7C134.3 112.9 131.2 111.1 128 111.1C123.8 111.1 119.7 113.7 116.7 116.7L116.7 116.7z"})})},frequent:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z"}),ye("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512zM232 256C232 264 236 271.5 242.7 275.1L338.7 339.1C349.7 347.3 364.6 344.3 371.1 333.3C379.3 322.3 376.3 307.4 365.3 300L280 243.2V120C280 106.7 269.3 96 255.1 96C242.7 96 231.1 106.7 231.1 120L232 256z"})})},nature:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8"}),ye("path",{d:"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",children:ye("path",{d:"M332.7 19.85C334.6 8.395 344.5 0 356.1 0C363.6 0 370.6 3.52 375.1 9.502L392 32H444.1C456.8 32 469.1 37.06 478.1 46.06L496 64H552C565.3 64 576 74.75 576 88V112C576 156.2 540.2 192 496 192H426.7L421.6 222.5L309.6 158.5L332.7 19.85zM448 64C439.2 64 432 71.16 432 80C432 88.84 439.2 96 448 96C456.8 96 464 88.84 464 80C464 71.16 456.8 64 448 64zM416 256.1V480C416 497.7 401.7 512 384 512H352C334.3 512 320 497.7 320 480V364.8C295.1 377.1 268.8 384 240 384C211.2 384 184 377.1 160 364.8V480C160 497.7 145.7 512 128 512H96C78.33 512 64 497.7 64 480V249.8C35.23 238.9 12.64 214.5 4.836 183.3L.9558 167.8C-3.331 150.6 7.094 133.2 24.24 128.1C41.38 124.7 58.76 135.1 63.05 152.2L66.93 167.8C70.49 182 83.29 191.1 97.97 191.1H303.8L416 256.1z"})})},objects:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z"}),ye("path",{d:"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",children:ye("path",{d:"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"})})},people:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"}),ye("path",{d:"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 432C332.1 432 396.2 382 415.2 314.1C419.1 300.4 407.8 288 393.6 288H118.4C104.2 288 92.92 300.4 96.76 314.1C115.8 382 179.9 432 256 432V432zM176.4 160C158.7 160 144.4 174.3 144.4 192C144.4 209.7 158.7 224 176.4 224C194 224 208.4 209.7 208.4 192C208.4 174.3 194 160 176.4 160zM336.4 224C354 224 368.4 209.7 368.4 192C368.4 174.3 354 160 336.4 160C318.7 160 304.4 174.3 304.4 192C304.4 209.7 318.7 224 336.4 224z"})})},places:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5"}),ye("path",{d:"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M39.61 196.8L74.8 96.29C88.27 57.78 124.6 32 165.4 32H346.6C387.4 32 423.7 57.78 437.2 96.29L472.4 196.8C495.6 206.4 512 229.3 512 256V448C512 465.7 497.7 480 480 480H448C430.3 480 416 465.7 416 448V400H96V448C96 465.7 81.67 480 64 480H32C14.33 480 0 465.7 0 448V256C0 229.3 16.36 206.4 39.61 196.8V196.8zM109.1 192H402.9L376.8 117.4C372.3 104.6 360.2 96 346.6 96H165.4C151.8 96 139.7 104.6 135.2 117.4L109.1 192zM96 256C78.33 256 64 270.3 64 288C64 305.7 78.33 320 96 320C113.7 320 128 305.7 128 288C128 270.3 113.7 256 96 256zM416 320C433.7 320 448 305.7 448 288C448 270.3 433.7 256 416 256C398.3 256 384 270.3 384 288C384 305.7 398.3 320 416 320z"})})},symbols:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M500.3 7.251C507.7 13.33 512 22.41 512 31.1V175.1C512 202.5 483.3 223.1 447.1 223.1C412.7 223.1 383.1 202.5 383.1 175.1C383.1 149.5 412.7 127.1 447.1 127.1V71.03L351.1 90.23V207.1C351.1 234.5 323.3 255.1 287.1 255.1C252.7 255.1 223.1 234.5 223.1 207.1C223.1 181.5 252.7 159.1 287.1 159.1V63.1C287.1 48.74 298.8 35.61 313.7 32.62L473.7 .6198C483.1-1.261 492.9 1.173 500.3 7.251H500.3zM74.66 303.1L86.5 286.2C92.43 277.3 102.4 271.1 113.1 271.1H174.9C185.6 271.1 195.6 277.3 201.5 286.2L213.3 303.1H239.1C266.5 303.1 287.1 325.5 287.1 351.1V463.1C287.1 490.5 266.5 511.1 239.1 511.1H47.1C21.49 511.1-.0019 490.5-.0019 463.1V351.1C-.0019 325.5 21.49 303.1 47.1 303.1H74.66zM143.1 359.1C117.5 359.1 95.1 381.5 95.1 407.1C95.1 434.5 117.5 455.1 143.1 455.1C170.5 455.1 191.1 434.5 191.1 407.1C191.1 381.5 170.5 359.1 143.1 359.1zM440.3 367.1H496C502.7 367.1 508.6 372.1 510.1 378.4C513.3 384.6 511.6 391.7 506.5 396L378.5 508C372.9 512.1 364.6 513.3 358.6 508.9C352.6 504.6 350.3 496.6 353.3 489.7L391.7 399.1H336C329.3 399.1 323.4 395.9 321 389.6C318.7 383.4 320.4 376.3 325.5 371.1L453.5 259.1C459.1 255 467.4 254.7 473.4 259.1C479.4 263.4 481.6 271.4 478.7 278.3L440.3 367.1zM116.7 219.1L19.85 119.2C-8.112 90.26-6.614 42.31 24.85 15.34C51.82-8.137 93.26-3.642 118.2 21.83L128.2 32.32L137.7 21.83C162.7-3.642 203.6-8.137 231.6 15.34C262.6 42.31 264.1 90.26 236.1 119.2L139.7 219.1C133.2 225.6 122.7 225.6 116.7 219.1H116.7z"})})}},jet={loupe:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:ye("path",{d:"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"})}),delete:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:ye("path",{d:"M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z"})})};var F1={categories:Met,search:jet};function l4(e){let{id:t,skin:n,emoji:a}=e;if(e.shortcodes){const o=e.shortcodes.match(ep.SHORTCODES_REGEX);o&&(t=o[1],o[2]&&(n=o[2]))}if(a||(a=ep.get(t||e.native)),!a)return e.fallback;const i=a.skins[n-1]||a.skins[0],r=i.src||(e.set!="native"&&!e.spritesheet?typeof e.getImageURL=="function"?e.getImageURL(e.set,i.unified):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/64/${i.unified}.png`:void 0),s=typeof e.getSpritesheetURL=="function"?e.getSpritesheetURL(e.set):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/sheets-256/64.png`;return ye("span",{class:"emoji-mart-emoji","data-emoji-set":e.set,children:r?ye("img",{style:{maxWidth:e.size||"1em",maxHeight:e.size||"1em",display:"inline-block"},alt:i.native||i.shortcodes,src:r}):e.set=="native"?ye("span",{style:{fontSize:e.size,fontFamily:'"EmojiMart", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji"'},children:i.native}):ye("span",{style:{display:"block",width:e.size,height:e.size,backgroundImage:`url(${s})`,backgroundSize:`${100*mt.sheet.cols}% ${100*mt.sheet.rows}%`,backgroundPosition:`${100/(mt.sheet.cols-1)*i.x}% ${100/(mt.sheet.rows-1)*i.y}%`}})})}const Det=typeof window<"u"&&window.HTMLElement?window.HTMLElement:Object;class MX extends Det{static get observedAttributes(){return Object.keys(this.Props)}update(t={}){for(let n in t)this.attributeChangedCallback(n,null,t[n])}attributeChangedCallback(t,n,a){if(!this.component)return;const i=PX(t,{[t]:a},this.constructor.Props,this);this.component.componentWillReceiveProps?this.component.componentWillReceiveProps({[t]:i}):(this.component.props[t]=i,this.component.forceUpdate())}disconnectedCallback(){this.disconnected=!0,this.component&&this.component.unregister&&this.component.unregister()}constructor(t={}){if(super(),this.props=t,t.parent||t.ref){let n=null;const a=t.parent||(n=t.ref&&t.ref.current);n&&(n.innerHTML=""),a&&a.appendChild(this)}}}class Iet extends MX{setShadow(){this.attachShadow({mode:"open"})}injectStyles(t){if(!t)return;const n=document.createElement("style");n.textContent=t,this.shadowRoot.insertBefore(n,this.shadowRoot.firstChild)}constructor(t,{styles:n}={}){super(t),this.setShadow(),this.injectStyles(n)}}var jX={fallback:"",id:"",native:"",shortcodes:"",size:{value:"",transform:e=>/\D/.test(e)?e:`${e}px`},set:Lo.set,skin:Lo.skin};class eP extends MX{async connectedCallback(){const t=EX(this.props,jX,this);t.element=this,t.ref=n=>{this.component=n},await ab(),!this.disconnected&&AX(ye(l4,{...t}),this)}constructor(t){super(t)}}gr(eP,"Props",jX);typeof customElements<"u"&&!customElements.get("em-emoji")&&customElements.define("em-emoji",eP);var PR,d4=[],TR=Ke.__b,LR=Ke.__r,MR=Ke.diffed,jR=Ke.__c,DR=Ke.unmount;function Ret(){var e;for(d4.sort(function(t,n){return t.__v.__b-n.__v.__b});e=d4.pop();)if(e.__P)try{e.__H.__h.forEach(n_),e.__H.__h.forEach(u4),e.__H.__h=[]}catch(t){e.__H.__h=[],Ke.__e(t,e.__v)}}Ke.__b=function(e){TR&&TR(e)},Ke.__r=function(e){LR&&LR(e);var t=e.__c.__H;t&&(t.__h.forEach(n_),t.__h.forEach(u4),t.__h=[])},Ke.diffed=function(e){MR&&MR(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(d4.push(t)!==1&&PR===Ke.requestAnimationFrame||((PR=Ke.requestAnimationFrame)||function(n){var a,i=function(){clearTimeout(r),IR&&cancelAnimationFrame(a),setTimeout(n)},r=setTimeout(i,100);IR&&(a=requestAnimationFrame(i))})(Ret))},Ke.__c=function(e,t){t.some(function(n){try{n.__h.forEach(n_),n.__h=n.__h.filter(function(a){return!a.__||u4(a)})}catch(a){t.some(function(i){i.__h&&(i.__h=[])}),t=[],Ke.__e(a,n.__v)}}),jR&&jR(e,t)},Ke.unmount=function(e){DR&&DR(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(a){try{n_(a)}catch(i){t=i}}),t&&Ke.__e(t,n.__v))};var IR=typeof requestAnimationFrame=="function";function n_(e){var t=e.__c;typeof t=="function"&&(e.__c=void 0,t())}function u4(e){e.__c=e.__()}function Oet(e,t){for(var n in t)e[n]=t[n];return e}function RR(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var a in t)if(a!=="__source"&&e[a]!==t[a])return!0;return!1}function z1(e){this.props=e}(z1.prototype=new Vs).isPureReactComponent=!0,z1.prototype.shouldComponentUpdate=function(e,t){return RR(this.props,e)||RR(this.state,t)};var OR=Ke.__b;Ke.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),OR&&OR(e)};var Fet=Ke.__e;Ke.__e=function(e,t,n){if(e.then){for(var a,i=t;i=i.__;)if((a=i.__c)&&a.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),a.__c(e,t)}Fet(e,t,n)};var FR=Ke.unmount;function SC(){this.__u=0,this.t=null,this.__b=null}function DX(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function by(){this.u=null,this.o=null}Ke.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),FR&&FR(e)},(SC.prototype=new Vs).__c=function(e,t){var n=t.__c,a=this;a.t==null&&(a.t=[]),a.t.push(n);var i=DX(a.__v),r=!1,s=function(){r||(r=!0,n.__R=null,i?i(o):o())};n.__R=s;var o=function(){if(!--a.__u){if(a.state.__e){var p=a.state.__e;a.__v.__k[0]=(function m(f,h,b){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(k){return m(k,h,b)}),f.__c&&f.__c.__P===h&&(f.__e&&b.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=b)),f})(p,p.__c.__P,p.__c.__O)}var d;for(a.setState({__e:a.__b=null});d=a.t.pop();)d.forceUpdate()}},c=t.__h===!0;a.__u++||c||a.setState({__e:a.__b=a.__v.__k[0]}),e.then(s,s)},SC.prototype.componentWillUnmount=function(){this.t=[]},SC.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),a=this.__v.__k[0].__c;this.__v.__k[0]=(function r(s,o,c){return s&&(s.__c&&s.__c.__H&&(s.__c.__H.__.forEach(function(p){typeof p.__c=="function"&&p.__c()}),s.__c.__H=null),(s=Oet({},s)).__c!=null&&(s.__c.__P===c&&(s.__c.__P=o),s.__c=null),s.__k=s.__k&&s.__k.map(function(p){return r(p,o,c)})),s})(this.__b,n,a.__O=a.__P)}this.__b=null}var i=t.__e&&o4(nm,null,e.fallback);return i&&(i.__h=null),[o4(nm,null,t.__e?null:e.children),i]};var zR=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};(by.prototype=new Vs).__e=function(e){var t=this,n=DX(t.__v),a=t.o.get(e);return a[0]++,function(i){var r=function(){t.props.revealOrder?(a.push(i),zR(t,e,a)):i()};n?n(r):r()}},by.prototype.render=function(e){this.u=null,this.o=new Map;var t=R1(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},by.prototype.componentDidUpdate=by.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){zR(e,n,t)})};var zet=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Het=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Bet=typeof document<"u",qet=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};Vs.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Vs.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var HR=Ke.event;function Uet(){}function Vet(){return this.cancelBubble}function Zet(){return this.defaultPrevented}Ke.event=function(e){return HR&&(e=HR(e)),e.persist=Uet,e.isPropagationStopped=Vet,e.isDefaultPrevented=Zet,e.nativeEvent=e};var BR={configurable:!0,get:function(){return this.class}},qR=Ke.vnode;Ke.vnode=function(e){var t=e.type,n=e.props,a=n;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var r in a={},n){var s=n[r];Bet&&r==="children"&&t==="noscript"||r==="value"&&"defaultValue"in n&&s==null||(r==="defaultValue"&&"value"in n&&n.value==null?r="value":r==="download"&&s===!0?s="":/ondoubleclick/i.test(r)?r="ondblclick":/^onchange(textarea|input)/i.test(r+t)&&!qet(n.type)?r="oninput":/^onfocus$/i.test(r)?r="onfocusin":/^onblur$/i.test(r)?r="onfocusout":/^on(Ani|Tra|Tou|BeforeInp)/.test(r)?r=r.toLowerCase():i&&Het.test(r)?r=r.replace(/[A-Z0-9]/,"-$&").toLowerCase():s===null&&(s=void 0),a[r]=s)}t=="select"&&a.multiple&&Array.isArray(a.value)&&(a.value=R1(n.children).forEach(function(o){o.props.selected=a.value.indexOf(o.props.value)!=-1})),t=="select"&&a.defaultValue!=null&&(a.value=R1(n.children).forEach(function(o){o.props.selected=a.multiple?a.defaultValue.indexOf(o.props.value)!=-1:a.defaultValue==o.props.value})),e.props=a,n.class!=n.className&&(BR.enumerable="className"in n,n.className!=null&&(a.class=n.className),Object.defineProperty(a,"className",BR))}e.$$typeof=zet,qR&&qR(e)};var UR=Ke.__r;Ke.__r=function(e){UR&&UR(e),e.__c};const Get={light:"outline",dark:"solid"};class Wet extends z1{renderIcon(t){const{icon:n}=t;if(n){if(n.svg)return ye("span",{class:"flex",dangerouslySetInnerHTML:{__html:n.svg}});if(n.src)return ye("img",{src:n.src})}const a=F1.categories[t.id]||F1.categories.custom,i=this.props.icons=="auto"?Get[this.props.theme]:this.props.icons;return a[i]||a}render(){let t=null;return ye("nav",{id:"nav",class:"padding","data-position":this.props.position,dir:this.props.dir,children:ye("div",{class:"flex relative",children:[this.categories.map((n,a)=>{const i=n.name||Aa.categories[n.id],r=!this.props.unfocused&&n.id==this.state.categoryId;return r&&(t=a),ye("button",{"aria-label":i,"aria-selected":r||void 0,title:i,type:"button",class:"flex flex-grow flex-center",onMouseDown:s=>s.preventDefault(),onClick:()=>{this.props.onClick({category:n,i:a})},children:this.renderIcon(n)})}),ye("div",{class:"bar",style:{width:`${100/this.categories.length}%`,opacity:t==null?0:1,transform:this.props.dir==="rtl"?`scaleX(-1) translateX(${t*100}%)`:`translateX(${t*100}%)`}})]})})}constructor(){super(),this.categories=mt.categories.filter(t=>!t.target),this.state={categoryId:this.categories[0].id}}}class Ket extends z1{shouldComponentUpdate(t){for(let n in t)if(n!="children"&&t[n]!=this.props[n])return!0;return!1}render(){return this.props.children}}const vy={rowsPerRender:10};class Yet extends Vs{getInitialState(t=this.props){return{skin:Vo.get("skin")||t.skin,theme:this.initTheme(t.theme)}}componentWillMount(){this.dir=Aa.rtl?"rtl":"ltr",this.refs={menu:So(),navigation:So(),scroll:So(),search:So(),searchInput:So(),skinToneButton:So(),skinToneRadio:So()},this.initGrid(),this.props.stickySearch==!1&&this.props.searchPosition=="sticky"&&(console.warn("[EmojiMart] Deprecation warning: `stickySearch` has been renamed `searchPosition`."),this.props.searchPosition="static")}componentDidMount(){if(this.register(),this.shadowRoot=this.base.parentNode,this.props.autoFocus){const{searchInput:t}=this.refs;t.current&&t.current.focus()}}componentWillReceiveProps(t){this.nextState||(this.nextState={});for(const n in t)this.nextState[n]=t[n];clearTimeout(this.nextStateTimer),this.nextStateTimer=setTimeout(()=>{let n=!1;for(const i in this.nextState)this.props[i]=this.nextState[i],(i==="custom"||i==="categories")&&(n=!0);delete this.nextState;const a=this.getInitialState();if(n)return this.reset(a);this.setState(a)})}componentWillUnmount(){this.unregister()}async reset(t={}){await ab(this.props),this.initGrid(),this.unobserve(),this.setState(t,()=>{this.observeCategories(),this.observeRows()})}register(){document.addEventListener("click",this.handleClickOutside),this.observe()}unregister(){document.removeEventListener("click",this.handleClickOutside),this.darkMedia?.removeEventListener("change",this.darkMediaCallback),this.unobserve()}observe(){this.observeCategories(),this.observeRows()}unobserve({except:t=[]}={}){Array.isArray(t)||(t=[t]);for(const n of this.observers)t.includes(n)||n.disconnect();this.observers=[].concat(t)}initGrid(){const{categories:t}=mt;this.refs.categories=new Map;const n=mt.categories.map(i=>i.id).join(",");this.navKey&&this.navKey!=n&&this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0),this.navKey=n,this.grid=[],this.grid.setsize=0;const a=(i,r)=>{const s=[];s.__categoryId=r.id,s.__index=i.length,this.grid.push(s);const o=this.grid.length-1,c=o%vy.rowsPerRender?{}:So();return c.index=o,c.posinset=this.grid.setsize+1,i.push(c),s};for(let i of t){const r=[];let s=a(r,i);for(let o of i.emojis)s.length==this.getPerLine()&&(s=a(r,i)),this.grid.setsize+=1,s.push(o);this.refs.categories.set(i.id,{root:So(),rows:r})}}initTheme(t){if(t!="auto")return t;if(!this.darkMedia){if(this.darkMedia=matchMedia("(prefers-color-scheme: dark)"),this.darkMedia.media.match(/^not/))return"light";this.darkMedia.addEventListener("change",this.darkMediaCallback)}return this.darkMedia.matches?"dark":"light"}initDynamicPerLine(t=this.props){if(!t.dynamicWidth)return;const{element:n,emojiButtonSize:a}=t,i=()=>{const{width:s}=n.getBoundingClientRect();return Math.floor(s/a)},r=new ResizeObserver(()=>{this.unobserve({except:r}),this.setState({perLine:i()},()=>{this.initGrid(),this.forceUpdate(()=>{this.observeCategories(),this.observeRows()})})});return r.observe(n),this.observers.push(r),i()}getPerLine(){return this.state.perLine||this.props.perLine}getEmojiByPos([t,n]){const a=this.state.searchResults||this.grid,i=a[t]&&a[t][n];if(i)return ep.get(i)}observeCategories(){const t=this.refs.navigation.current;if(!t)return;const n=new Map,a=s=>{s!=t.state.categoryId&&t.setState({categoryId:s})},i={root:this.refs.scroll.current,threshold:[0,1]},r=new IntersectionObserver(s=>{for(const c of s){const p=c.target.dataset.id;n.set(p,c.intersectionRatio)}const o=[...n];for(const[c,p]of o)if(p){a(c);break}},i);for(const{root:s}of this.refs.categories.values())r.observe(s.current);this.observers.push(r)}observeRows(){const t={...this.state.visibleRows},n=new IntersectionObserver(a=>{for(const i of a){const r=parseInt(i.target.dataset.index);i.isIntersecting?t[r]=!0:delete t[r]}this.setState({visibleRows:t})},{root:this.refs.scroll.current,rootMargin:`${this.props.emojiButtonSize*(vy.rowsPerRender+5)}px 0px ${this.props.emojiButtonSize*vy.rowsPerRender}px`});for(const{rows:a}of this.refs.categories.values())for(const i of a)i.current&&n.observe(i.current);this.observers.push(n)}preventDefault(t){t.preventDefault()}unfocusSearch(){const t=this.refs.searchInput.current;t&&t.blur()}navigate({e:t,input:n,left:a,right:i,up:r,down:s}){const o=this.state.searchResults||this.grid;if(!o.length)return;let[c,p]=this.state.pos;const d=(()=>{if(c==0&&p==0&&!t.repeat&&(a||r))return null;if(c==-1)return!t.repeat&&(i||s)&&n.selectionStart==n.value.length?[0,0]:null;if(a||i){let m=o[c];const f=a?-1:1;if(p+=f,!m[p]){if(c+=f,m=o[c],!m)return c=a?0:o.length-1,p=a?0:o[c].length-1,[c,p];p=a?m.length-1:0}return[c,p]}if(r||s){c+=r?-1:1;const m=o[c];return m?(m[p]||(p=m.length-1),[c,p]):(c=r?0:o.length-1,p=r?0:o[c].length-1,[c,p])}})();if(d)t.preventDefault();else{this.state.pos[0]>-1&&this.setState({pos:[-1,-1]});return}this.setState({pos:d,keyboard:!0},()=>{this.scrollTo({row:d[0]})})}scrollTo({categoryId:t,row:n}){const a=this.state.searchResults||this.grid;if(!a.length)return;const i=this.refs.scroll.current,r=i.getBoundingClientRect();let s=0;if(n>=0&&(t=a[n].__categoryId),t&&(s=(this.refs[t]||this.refs.categories.get(t).root).current.getBoundingClientRect().top-(r.top-i.scrollTop)+1),n>=0)if(!n)s=0;else{const o=a[n].__index,c=s+o*this.props.emojiButtonSize,p=c+this.props.emojiButtonSize+this.props.emojiButtonSize*.88;if(c<i.scrollTop)s=c;else if(p>i.scrollTop+r.height)s=p-r.height;else return}this.ignoreMouse(),i.scrollTop=s}ignoreMouse(){this.mouseIsIgnored=!0,clearTimeout(this.ignoreMouseTimer),this.ignoreMouseTimer=setTimeout(()=>{delete this.mouseIsIgnored},100)}handleEmojiOver(t){this.mouseIsIgnored||this.state.showSkins||this.setState({pos:t||[-1,-1],keyboard:!1})}handleEmojiClick({e:t,emoji:n,pos:a}){if(this.props.onEmojiSelect&&(!n&&a&&(n=this.getEmojiByPos(a)),n)){const i=LX(n,{skinIndex:this.state.skin-1});this.props.maxFrequentRows&&JE.add(i,this.props),this.props.onEmojiSelect(i,t)}}closeSkins(){this.state.showSkins&&(this.setState({showSkins:null,tempSkin:null}),this.base.removeEventListener("click",this.handleBaseClick),this.base.removeEventListener("keydown",this.handleBaseKeydown))}handleSkinMouseOver(t){this.setState({tempSkin:t})}handleSkinClick(t){this.ignoreMouse(),this.closeSkins(),this.setState({skin:t,tempSkin:null}),Vo.set("skin",t)}renderNav(){return ye(Wet,{ref:this.refs.navigation,icons:this.props.icons,theme:this.state.theme,dir:this.dir,unfocused:!!this.state.searchResults,position:this.props.navPosition,onClick:this.handleCategoryClick},this.navKey)}renderPreview(){const t=this.getEmojiByPos(this.state.pos),n=this.state.searchResults&&!this.state.searchResults.length;return ye("div",{id:"preview",class:"flex flex-middle",dir:this.dir,"data-position":this.props.previewPosition,children:[ye("div",{class:"flex flex-middle flex-grow",children:[ye("div",{class:"flex flex-auto flex-middle flex-center",style:{height:this.props.emojiButtonSize,fontSize:this.props.emojiButtonSize},children:ye(l4,{emoji:t,id:n?this.props.noResultsEmoji||"cry":this.props.previewEmoji||(this.props.previewPosition=="top"?"point_down":"point_up"),set:this.props.set,size:this.props.emojiButtonSize,skin:this.state.tempSkin||this.state.skin,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})}),ye("div",{class:`margin-${this.dir[0]}`,children:t||n?ye("div",{class:`padding-${this.dir[2]} align-${this.dir[0]}`,children:[ye("div",{class:"preview-title ellipsis",children:t?t.name:Aa.search_no_results_1}),ye("div",{class:"preview-subtitle ellipsis color-c",children:t?t.skins[0].shortcodes:Aa.search_no_results_2})]}):ye("div",{class:"preview-placeholder color-c",children:Aa.pick})})]}),!t&&this.props.skinTonePosition=="preview"&&this.renderSkinToneButton()]})}renderEmojiButton(t,{pos:n,posinset:a,grid:i}){const r=this.props.emojiButtonSize,s=this.state.tempSkin||this.state.skin,c=(t.skins[s-1]||t.skins[0]).native,p=Pet(this.state.pos,n),d=n.concat(t.id).join("");return ye(Ket,{selected:p,skin:s,size:r,children:ye("button",{"aria-label":c,"aria-selected":p||void 0,"aria-posinset":a,"aria-setsize":i.setsize,"data-keyboard":this.state.keyboard,title:this.props.previewPosition=="none"?t.name:void 0,type:"button",class:"flex flex-center flex-middle",tabindex:"-1",onClick:m=>this.handleEmojiClick({e:m,emoji:t}),onMouseEnter:()=>this.handleEmojiOver(n),onMouseLeave:()=>this.handleEmojiOver(),style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize,fontSize:this.props.emojiSize,lineHeight:0},children:[ye("div",{"aria-hidden":"true",class:"background",style:{borderRadius:this.props.emojiButtonRadius,backgroundColor:this.props.emojiButtonColors?this.props.emojiButtonColors[(a-1)%this.props.emojiButtonColors.length]:void 0}}),ye(l4,{emoji:t,set:this.props.set,size:this.props.emojiSize,skin:s,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})]})},d)}renderSearch(){const t=this.props.previewPosition=="none"||this.props.skinTonePosition=="search";return ye("div",{children:[ye("div",{class:"spacer"}),ye("div",{class:"flex flex-middle",children:[ye("div",{class:"search relative flex-grow",children:[ye("input",{type:"search",ref:this.refs.searchInput,placeholder:Aa.search,onClick:this.handleSearchClick,onInput:this.handleSearchInput,onKeyDown:this.handleSearchKeyDown,autoComplete:"off"}),ye("span",{class:"icon loupe flex",children:F1.search.loupe}),this.state.searchResults&&ye("button",{title:"Clear","aria-label":"Clear",type:"button",class:"icon delete flex",onClick:this.clearSearch,onMouseDown:this.preventDefault,children:F1.search.delete})]}),t&&this.renderSkinToneButton()]})]})}renderSearchResults(){const{searchResults:t}=this.state;return t?ye("div",{class:"category",ref:this.refs.search,children:[ye("div",{class:`sticky padding-small align-${this.dir[0]}`,children:Aa.categories.search}),ye("div",{children:t.length?t.map((n,a)=>ye("div",{class:"flex",children:n.map((i,r)=>this.renderEmojiButton(i,{pos:[a,r],posinset:a*this.props.perLine+r+1,grid:t}))})):ye("div",{class:`padding-small align-${this.dir[0]}`,children:this.props.onAddCustomEmoji&&ye("a",{onClick:this.props.onAddCustomEmoji,children:Aa.add_custom})})})]}):null}renderCategories(){const{categories:t}=mt,n=!!this.state.searchResults,a=this.getPerLine();return ye("div",{style:{visibility:n?"hidden":void 0,display:n?"none":void 0,height:"100%"},children:t.map(i=>{const{root:r,rows:s}=this.refs.categories.get(i.id);return ye("div",{"data-id":i.target?i.target.id:i.id,class:"category",ref:r,children:[ye("div",{class:`sticky padding-small align-${this.dir[0]}`,children:i.name||Aa.categories[i.id]}),ye("div",{class:"relative",style:{height:s.length*this.props.emojiButtonSize},children:s.map((o,c)=>{const p=o.index-o.index%vy.rowsPerRender,d=this.state.visibleRows[p],m="current"in o?o:void 0;if(!d&&!m)return null;const f=c*a,h=f+a,b=i.emojis.slice(f,h);return b.length<a&&b.push(...new Array(a-b.length)),ye("div",{"data-index":o.index,ref:m,class:"flex row",style:{top:c*this.props.emojiButtonSize},children:d&&b.map((k,w)=>{if(!k)return ye("div",{style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize}});const x=ep.get(k);return this.renderEmojiButton(x,{pos:[o.index,w],posinset:o.posinset+w,grid:this.grid})})},o.index)})})]})})})}renderSkinToneButton(){return this.props.skinTonePosition=="none"?null:ye("div",{class:"flex flex-auto flex-center flex-middle",style:{position:"relative",width:this.props.emojiButtonSize,height:this.props.emojiButtonSize},children:ye("button",{type:"button",ref:this.refs.skinToneButton,class:"skin-tone-button flex flex-auto flex-center flex-middle","aria-selected":this.state.showSkins?"":void 0,"aria-label":Aa.skins.choose,title:Aa.skins.choose,onClick:this.openSkins,style:{width:this.props.emojiSize,height:this.props.emojiSize},children:ye("span",{class:`skin-tone skin-tone-${this.state.skin}`})})})}renderLiveRegion(){const t=this.getEmojiByPos(this.state.pos),n=t?t.name:"";return ye("div",{"aria-live":"polite",class:"sr-only",children:n})}renderSkins(){const n=this.refs.skinToneButton.current.getBoundingClientRect(),a=this.base.getBoundingClientRect(),i={};return this.dir=="ltr"?i.right=a.right-n.right-3:i.left=n.left-a.left-3,this.props.previewPosition=="bottom"&&this.props.skinTonePosition=="preview"?i.bottom=a.bottom-n.top+6:(i.top=n.bottom-a.top+3,i.bottom="auto"),ye("div",{ref:this.refs.menu,role:"radiogroup",dir:this.dir,"aria-label":Aa.skins.choose,class:"menu hidden","data-position":i.top?"top":"bottom",style:i,children:[...Array(6).keys()].map(r=>{const s=r+1,o=this.state.skin==s;return ye("div",{children:[ye("input",{type:"radio",name:"skin-tone",value:s,"aria-label":Aa.skins[s],ref:o?this.refs.skinToneRadio:null,defaultChecked:o,onChange:()=>this.handleSkinMouseOver(s),onKeyDown:c=>{(c.code=="Enter"||c.code=="Space"||c.code=="Tab")&&(c.preventDefault(),this.handleSkinClick(s))}}),ye("button",{"aria-hidden":"true",tabindex:"-1",onClick:()=>this.handleSkinClick(s),onMouseEnter:()=>this.handleSkinMouseOver(s),onMouseLeave:()=>this.handleSkinMouseOver(),class:"option flex flex-grow flex-middle",children:[ye("span",{class:`skin-tone skin-tone-${s}`}),ye("span",{class:"margin-small-lr",children:Aa.skins[s]})]})]})})})}render(){const t=this.props.perLine*this.props.emojiButtonSize;return ye("section",{id:"root",class:"flex flex-column",dir:this.dir,style:{width:this.props.dynamicWidth?"100%":`calc(${t}px + (var(--padding) + var(--sidebar-width)))`},"data-emoji-set":this.props.set,"data-theme":this.state.theme,"data-menu":this.state.showSkins?"":void 0,children:[this.props.previewPosition=="top"&&this.renderPreview(),this.props.navPosition=="top"&&this.renderNav(),this.props.searchPosition=="sticky"&&ye("div",{class:"padding-lr",children:this.renderSearch()}),ye("div",{ref:this.refs.scroll,class:"scroll flex-grow padding-lr",children:ye("div",{style:{width:this.props.dynamicWidth?"100%":t,height:"100%"},children:[this.props.searchPosition=="static"&&this.renderSearch(),this.renderSearchResults(),this.renderCategories()]})}),this.props.navPosition=="bottom"&&this.renderNav(),this.props.previewPosition=="bottom"&&this.renderPreview(),this.state.showSkins&&this.renderSkins(),this.renderLiveRegion()]})}constructor(t){super(),gr(this,"darkMediaCallback",()=>{this.props.theme=="auto"&&this.setState({theme:this.darkMedia.matches?"dark":"light"})}),gr(this,"handleClickOutside",n=>{const{element:a}=this.props;n.target!=a&&(this.state.showSkins&&this.closeSkins(),this.props.onClickOutside&&this.props.onClickOutside(n))}),gr(this,"handleBaseClick",n=>{this.state.showSkins&&(n.target.closest(".menu")||(n.preventDefault(),n.stopImmediatePropagation(),this.closeSkins()))}),gr(this,"handleBaseKeydown",n=>{this.state.showSkins&&n.key=="Escape"&&(n.preventDefault(),n.stopImmediatePropagation(),this.closeSkins())}),gr(this,"handleSearchClick",()=>{this.getEmojiByPos(this.state.pos)&&this.setState({pos:[-1,-1]})}),gr(this,"handleSearchInput",async()=>{const n=this.refs.searchInput.current;if(!n)return;const{value:a}=n,i=await ep.search(a),r=()=>{this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0)};if(!i)return this.setState({searchResults:i,pos:[-1,-1]},r);const s=n.selectionStart==n.value.length?[0,0]:[-1,-1],o=[];o.setsize=i.length;let c=null;for(let p of i)(!o.length||c.length==this.getPerLine())&&(c=[],c.__categoryId="search",c.__index=o.length,o.push(c)),c.push(p);this.ignoreMouse(),this.setState({searchResults:o,pos:s},r)}),gr(this,"handleSearchKeyDown",n=>{const a=n.currentTarget;switch(n.stopImmediatePropagation(),n.key){case"ArrowLeft":this.navigate({e:n,input:a,left:!0});break;case"ArrowRight":this.navigate({e:n,input:a,right:!0});break;case"ArrowUp":this.navigate({e:n,input:a,up:!0});break;case"ArrowDown":this.navigate({e:n,input:a,down:!0});break;case"Enter":n.preventDefault(),this.handleEmojiClick({e:n,pos:this.state.pos});break;case"Escape":n.preventDefault(),this.state.searchResults?this.clearSearch():this.unfocusSearch();break}}),gr(this,"clearSearch",()=>{const n=this.refs.searchInput.current;n&&(n.value="",n.focus(),this.handleSearchInput())}),gr(this,"handleCategoryClick",({category:n,i:a})=>{this.scrollTo(a==0?{row:-1}:{categoryId:n.id})}),gr(this,"openSkins",n=>{const{currentTarget:a}=n,i=a.getBoundingClientRect();this.setState({showSkins:i},async()=>{await Tet(2);const r=this.refs.menu.current;r&&(r.classList.remove("hidden"),this.refs.skinToneRadio.current.focus(),this.base.addEventListener("click",this.handleBaseClick,!0),this.base.addEventListener("keydown",this.handleBaseKeydown,!0))})}),this.observers=[],this.state={pos:[-1,-1],perLine:this.initDynamicPerLine(t),visibleRows:{0:!0},...this.getInitialState(t)}}}class tP extends Iet{async connectedCallback(){const t=EX(this.props,Lo,this);t.element=this,t.ref=n=>{this.component=n},await ab(t),!this.disconnected&&AX(ye(Yet,{...t}),this.shadowRoot)}constructor(t){super(t,{styles:uX(IX)})}}gr(tP,"Props",Lo);typeof customElements<"u"&&!customElements.get("em-emoji-picker")&&customElements.define("em-emoji-picker",tP);var IX={};IX=`:host {
|
|
565
|
+
\v\f
\u2028\u2029])`),t));else if(c==="posix")if(!i&&(d==="graph"||d==="print")){if(a==="strict")throw new Error(`POSIX class "${d}" requires min target ES2024 or non-strict accuracy`);let m={graph:"!-~",print:" -~"}[d];p&&(m=`\0-${ta(m.codePointAt(0)-1)}${ta(m.codePointAt(2)+1)}-`),n(Dn(No(`[${m}]`),t))}else n(Dn(wC(No(iOe.get(d)),p),t));else if(c==="property")YE.has(C0(d))||(e.key="sc");else if(c==="space")n(jc(ou("space",{negate:p}),t));else if(c==="word")n(Dn(wC(No(Co),p),t));else throw new Error(`Unexpected character set kind "${c}"`)},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){const{kind:o,flags:c}=e;if(o==="flags")if(!c.enable&&!c.disable)a();else{const p=Xr({flags:c});p.body[0].body=s(),i(Dn(p,t),{traverse:!0})}else if(o==="keep"){const p=n.body[0],m=n.body.length===1&&qY(p,{type:"Group"})&&p.body[0].body.length===1?p.body[0]:n;if(t.parent!==m||m.body.length>1)throw new Error(et`Uses "\K" in a way that's unsupported`);const f=rl({behind:!0});f.body[0].body=r(),i(Dn(f,t))}else throw new Error(`Unexpected directive kind "${o}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:a}=e;if(a==="fail")n(Dn(rl({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${a.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Xr();t.body[0].body.push(e.body),e.body=Dn(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let a=!1,i=!1;for(const r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{const s=rX(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error(et`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!kC(n)&&(n=_C(n,t),e.ref=n)}},cOe={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:o,reffedNodesByReferencer:c}){const p=i.get(e);if(p&&o.has(e.number)){const m=jc(fR(e.number),t);c.set(m,o.get(e.number)),n(m);return}o.set(e.number,e),s.set(e.number,[]),e.name&&bh(s,e.name,[]);const d=s.get(e.name??e.number);for(let m=0;m<d.length;m++){const f=d[m];if(p===f.node||p&&p===f.origin||e===f.origin){d.splice(m,1);break}}if(s.get(e.number).push({node:e,origin:p}),e.name&&s.get(e.name).push({node:e,origin:p}),e.name){const m=bh(r,e.name,new Map);let f=!1;if(p)f=!0;else for(const h of m.values())if(!h.hasDuplicateNameToRemove){f=!0;break}r.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=j1(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},a){const{isRecursive:i,ref:r}=e;if(i){let d=t;for(;(d=d.parent)&&!(d.type==="CapturingGroup"&&(d.name===r||d.number===r)););a.reffedNodesByReferencer.set(e,d);return}const s=a.subroutineRefMap.get(r),o=r===0,c=o?fR(0):nX(s,a.groupOriginByCopy,null);let p=c;if(!o){const d=aX(uOe(s,f=>f.type==="Group"&&!!f.flags)),m=d?j1(a.globalFlags,d):a.globalFlags;lOe(m,a.currentFlags)||(p=Xr({flags:mOe(m)}),p.body[0].body.push(c))}n(Dn(p,t),{traverse:!o})}},pOe={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}const r=a.reffedNodesByReferencer.get(e).filter(s=>dOe(s,e));if(!r.length)n(Dn(rl({negate:!0}),t));else if(r.length>1){const s=Xr({atomic:!0,body:r.reverse().map(o=>Ul({body:[n4(o.number)]}))});n(Dn(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a<n;a++){const i=VY();e.body.at(-1).body.push(i)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function tX(e){Cg(e,{"*"({node:t,parent:n}){t.parent=n}})}function lOe(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function dOe(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const a=iX(n.parent);for(const i of a){if(i===n)break;if(i===e||sX(i,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function nX(e,t,n,a){const i=Array.isArray(e)?[]:{};for(const[r,s]of Object.entries(e))r==="parent"?i.parent=Array.isArray(n)?a:n:s&&typeof s=="object"?i[r]=nX(s,t,i,n):(r==="type"&&s==="CapturingGroup"&&t.set(i,t.get(e)??e),i[r]=s);return i}function fR(e){const t=GY(e);return t.isRecursive=!0,t}function uOe(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function _C(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function aX(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:a})=>{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function mOe({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function iX(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function rX(e){const t=e.find(n=>n.kind==="search_start"||hOe(n,{negate:!1})||!fOe(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const a of t.body){const i=rX(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function sX(e,t){const n=iX(e)??[];for(const a of n)if(a===t||sX(a,t))return!0;return!1}function fOe({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function gOe(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function hOe(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&qY(e.body[0],{type:"Assertion",kind:"search_start"})}function kC(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function No(e,t){const a=UY(e,{...t,unicodePropertyMap:YE}).body;return a.length>1||a[0].body.length>1?Xr({body:a}):a[0].body[0]}function wC(e,t){return e.negate=t,e}function jc(e,t){return e.parent=t,e}function Dn(e,t){return tX(e),e.parent=t,e}function bOe(e,t){const n=QY(t),a=r4(n.target,"ES2024"),i=r4(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,o=null;if(!i){const h=[e.flags.ignoreCase];Cg(e,vOe,{getCurrentModI:()=>h.at(-1),popModI(){h.pop()},pushModI(b){h.push(b)},setHasCasedChar(){h.at(-1)?s=!0:o=!0}})}const c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!o)};let p=e;const d={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:p,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&o),useFlagMods:i,useFlagV:a,verbose:n.verbose};function m(h){return d.lastNode=p,p=h,XRe(yOe[h.type],`Unexpected node type "${h.type}"`)(h,d,m)}const f={pattern:e.body.map(m).join("|"),flags:m(e.flags),options:{...e.options}};return a||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],d.captureMap.forEach((h,b)=>{h.hidden&&f._hiddenCaptures.push(b),h.transferTo&&bh(f._captureTransfers,h.transferTo,[]).push(b)}),f}var vOe={"*":{enter({node:e},t){if(hR(e)){const n=t.getCurrentModI();t.pushModI(e.flags?j1({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){hR(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){XE(ta(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),oX(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&eX.has(e.value)&&t.setHasCasedChar()}},yOe={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?et`\B`:et`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},o=t.originMap.get(e);return o&&(s.hidden=!0,r>o.number&&(s.transferTo=o.number)),t.captureMap.set(r,s),`(${i?`?<${i}>`:""}${a.map(n).join("|")})`},Character({value:e},t){const n=ta(e),a=Qd(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&XE(n)){const i=JY(n);return t.inCharClass?i.join(""):i.length>1?`[${i.join("")}]`:i[0]}return n},CharacterClass(e,t,n){const{kind:a,negate:i,parent:r}=e;let{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");cs.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(bR)&&(s=[A0(45),...s.filter(p=>!bR(p))]);const o=()=>`[${i?"^":""}${s.map(n).join(a==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||cs.bugNestedClassIgnoresNegation)&&!i){const d=s.filter(m=>m.type==="CharacterClass"&&m.kind==="union"&&m.negate);if(d.length){const m=Xr(),f=m.body[0];return m.parent=r,f.parent=m,s=s.filter(h=>!d.includes(h)),e.body=s,s.length?(e.parent=f,f.body.push(e)):m.body.pop(),d.forEach(h=>{const b=Ul({body:[h]});h.parent=b,b.parent=m,m.body.push(b)}),n(m)}}t.inCharClass=!0;const p=o();return t.inCharClass=!1,p}const c=s[0];if(a==="union"&&!i&&c&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(cs.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&c.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return o()},CharacterClassRange(e,t){const n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=Qd(n,i),s=Qd(a,i),o=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const c=oX(e);AOe(c).forEach(d=>{o.add(Array.isArray(d)?`${Qd(d[0],i)}-${Qd(d[1],i)}`:Qd(d,i))})}return`${r}-${s}${[...o].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":et`[^\n]`;if(e==="digit")return t?et`\D`:et`\d`;if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&eX.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?et`\P`:et`\p`}{${a?`${a}=`:""}${n}}`}if(e==="word")return t?et`\W`:et`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){const s=i.currentFlags;n&&(i.currentFlags=j1(s,n));const o=t.map(r).join("|"),c=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?o:`(?${COe(e,n,i.useFlagMods)}${o})`;return i.currentFlags=s,c},LookaroundAssertion({body:e,kind:t,negate:n},a,i){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(i).join("|")})`},Quantifier(e,t,n){return n(e.body)+NOe(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const a=n.recursionLimit;return t===0?`(?R=${a})`:et`\g<${t}&R=${a}>`}},_Oe=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),kOe=new Set(["-","\\","]","^","["]),wOe=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),gR=new Map([[9,et`\t`],[10,et`\n`],[11,et`\v`],[12,et`\f`],[13,et`\r`],[8232,et`\u2028`],[8233,et`\u2029`],[65279,et`\uFEFF`]]),xOe=/^\p{Cased}$/u;function XE(e){return xOe.test(e)}function oX(e,t){const n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){const o=ta(s);if(!XE(o))continue;const c=JY(o).filter(p=>{const d=p.codePointAt(0);return d<a||d>i});if(c.length&&(r.push(...c),n))break}return r}function Qd(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(gR.has(e))return gR.get(e);if(e<32||e>126&&e<160||e>262143||t&&SOe(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const i=n?a?wOe:kOe:_Oe,r=ta(e);return(i.has(r)?"\\":"")+r}function AOe(e){const t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[];let a=null;for(let i=0;i<t.length;i++)t[i+1]===t[i]+1?a??=t[i]:a===null?n.push(t[i]):(n.push([a,t[i]]),a=null);return n}function COe(e,t,n){if(e)return">";let a="";if(t&&n){const{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return`${a}:`}function NOe({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a=`{${n}}`:a=`{${n},${t===1/0?"":t}}`,a+{greedy:"",lazy:"?",possessive:"+"}[e]}function hR({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function SOe(e){return e>47&&e<58}function bR({type:e,value:t}){return e==="Character"&&t===45}var v=class s4 extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){const i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");const r=t;super(r,n),this.#a=r.source,r instanceof s4&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{const r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=EOe(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:i,...r}=this.rawOptions;this.#e=new s4(this.#a,this.flags,r)}const n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;const i=this.#r(t.slice(a));return i&&($Oe(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;const n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;const a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);const r=[0];for(let s=1;s<a.length;s++){const{hidden:o,transferTo:c}=this.#t.get(s)??{};if(o?r.push(null):(r.push(n.length),n.push(a[s]),this.hasIndices&&n.indices.push(i[s])),c&&a[s]!==void 0){const p=r[c];if(!p)throw new Error(`Invalid capture transfer to "${p}"`);if(n[p]=a[s],this.hasIndices&&(n.indices[p]=i[s]),n.groups){this.#n||(this.#n=POe(this.source));const d=this.#n.get(c);d&&(n.groups[d]=a[s],this.hasIndices&&(n.indices.groups[d]=i[s]))}}}return n}};function $Oe(e,t,n,a){if(e.index+=t,e.input=n,a){const i=e.indices;for(let s=0;s<i.length;s++){const o=i[s];o&&(i[s]=[o[0]+t,o[1]+t])}const r=i.groups;r&&Object.keys(r).forEach(s=>{const o=r[s];o&&(r[s]=[o[0]+t,o[1]+t])})}}function EOe(e,t){const n=new Map;for(const a of e)n.set(a,{hidden:!0});for(const[a,i]of t)for(const r of i)bh(n,r,{}).transferTo=a;return n}function POe(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let a=0,i=0,r;for(;r=t.exec(e);){const{0:s,groups:{capture:o,name:c}}=r;s==="["?a++:a?s==="]"&&a--:o&&(i++,c&&n.set(i,c))}return n}function TOe(e,t){const n=LOe(e,t);return n.options?new v(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function LOe(e,t){const n=QY(t),a=UY(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:YE}),i=sOe(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=bOe(i,n),s=KRe(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),o=GRe(s.pattern),c=ZRe(o.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),p={pattern:c.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${r.flags}${r.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const d=c.hiddenCaptures.sort((b,k)=>b-k),m=Array.from(c.captureTransfers),f=i._strategy,h=p.pattern.length>=n.lazyCompileLength;(d.length||m.length||f||h)&&(p.options={...d.length&&{hiddenCaptures:d},...m.length&&{transfers:m},...f&&{strategy:f},...h&&{lazyCompile:h}})}return p}function MOe(e,t){return TOe(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function jOe(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=n=>MOe(n,{target:t.target}),{createScanner(n){return new YIe(n,t)},createString(n){return{content:n}}}}var DOe=KIe({langs:{c:()=>Se(()=>Promise.resolve().then(()=>Jet),void 0,import.meta.url),cpp:()=>Se(()=>Promise.resolve().then(()=>ZR),void 0,import.meta.url),"c++":()=>Se(()=>Promise.resolve().then(()=>ZR),void 0,import.meta.url),css:()=>Se(()=>Promise.resolve().then(()=>ptt),void 0,import.meta.url),glsl:()=>Se(()=>Promise.resolve().then(()=>ntt),void 0,import.meta.url),graphql:()=>Se(()=>Promise.resolve().then(()=>YR),void 0,import.meta.url),gql:()=>Se(()=>Promise.resolve().then(()=>YR),void 0,import.meta.url),haml:()=>Se(()=>Promise.resolve().then(()=>btt),void 0,import.meta.url),html:()=>Se(()=>Promise.resolve().then(()=>ytt),void 0,import.meta.url),java:()=>Se(()=>Promise.resolve().then(()=>ktt),void 0,import.meta.url),javascript:()=>Se(()=>Promise.resolve().then(()=>GR),void 0,import.meta.url),js:()=>Se(()=>Promise.resolve().then(()=>GR),void 0,import.meta.url),json:()=>Se(()=>Promise.resolve().then(()=>xtt),void 0,import.meta.url),jsonc:()=>Se(()=>Promise.resolve().then(()=>Ntt),void 0,import.meta.url),jsonl:()=>Se(()=>Promise.resolve().then(()=>Ett),void 0,import.meta.url),jsx:()=>Se(()=>Promise.resolve().then(()=>mtt),void 0,import.meta.url),julia:()=>Se(()=>Promise.resolve().then(()=>QR),void 0,import.meta.url),jl:()=>Se(()=>Promise.resolve().then(()=>QR),void 0,import.meta.url),less:()=>Se(()=>Promise.resolve().then(()=>Rtt),void 0,import.meta.url),markdown:()=>Se(()=>Promise.resolve().then(()=>JR),void 0,import.meta.url),md:()=>Se(()=>Promise.resolve().then(()=>JR),void 0,import.meta.url),mdx:()=>Se(()=>Promise.resolve().then(()=>Btt),void 0,import.meta.url),php:()=>Se(()=>Promise.resolve().then(()=>Gtt),void 0,import.meta.url),postcss:()=>Se(()=>Promise.resolve().then(()=>Ktt),void 0,import.meta.url),pug:()=>Se(()=>Promise.resolve().then(()=>eO),void 0,import.meta.url),jade:()=>Se(()=>Promise.resolve().then(()=>eO),void 0,import.meta.url),python:()=>Se(()=>Promise.resolve().then(()=>XR),void 0,import.meta.url),py:()=>Se(()=>Promise.resolve().then(()=>XR),void 0,import.meta.url),r:()=>Se(()=>Promise.resolve().then(()=>Ltt),void 0,import.meta.url),regexp:()=>Se(()=>Promise.resolve().then(()=>VR),void 0,import.meta.url),regex:()=>Se(()=>Promise.resolve().then(()=>VR),void 0,import.meta.url),sass:()=>Se(()=>Promise.resolve().then(()=>ent),void 0,import.meta.url),scss:()=>Se(()=>Promise.resolve().then(()=>ant),void 0,import.meta.url),shellscript:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),bash:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),sh:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),shell:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),zsh:()=>Se(()=>Promise.resolve().then(()=>qf),void 0,import.meta.url),sql:()=>Se(()=>Promise.resolve().then(()=>itt),void 0,import.meta.url),svelte:()=>Se(()=>Promise.resolve().then(()=>ont),void 0,import.meta.url),typescript:()=>Se(()=>Promise.resolve().then(()=>WR),void 0,import.meta.url),ts:()=>Se(()=>Promise.resolve().then(()=>WR),void 0,import.meta.url),vue:()=>Se(()=>Promise.resolve().then(()=>_nt),void 0,import.meta.url),"vue-html":()=>Se(()=>Promise.resolve().then(()=>xnt),void 0,import.meta.url),wasm:()=>Se(()=>Promise.resolve().then(()=>Nnt),void 0,import.meta.url),wgsl:()=>Se(()=>Promise.resolve().then(()=>Ent),void 0,import.meta.url),xml:()=>Se(()=>Promise.resolve().then(()=>Utt),void 0,import.meta.url),yaml:()=>Se(()=>Promise.resolve().then(()=>tO),void 0,import.meta.url),yml:()=>Se(()=>Promise.resolve().then(()=>tO),void 0,import.meta.url),tsx:()=>Se(()=>Promise.resolve().then(()=>KR),void 0,import.meta.url),typescriptreact:()=>Se(()=>Promise.resolve().then(()=>KR),void 0,import.meta.url),haskell:()=>Se(()=>Promise.resolve().then(()=>nO),void 0,import.meta.url),hs:()=>Se(()=>Promise.resolve().then(()=>nO),void 0,import.meta.url),"c#":()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),csharp:()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),cs:()=>Se(()=>Promise.resolve().then(()=>$C),void 0,import.meta.url),latex:()=>Se(()=>Promise.resolve().then(()=>Fnt),void 0,import.meta.url),lua:()=>Se(()=>Promise.resolve().then(()=>Hnt),void 0,import.meta.url),mermaid:()=>Se(()=>Promise.resolve().then(()=>aO),void 0,import.meta.url),mmd:()=>Se(()=>Promise.resolve().then(()=>aO),void 0,import.meta.url),ruby:()=>Se(()=>Promise.resolve().then(()=>iO),void 0,import.meta.url),rb:()=>Se(()=>Promise.resolve().then(()=>iO),void 0,import.meta.url),rust:()=>Se(()=>Promise.resolve().then(()=>rO),void 0,import.meta.url),rs:()=>Se(()=>Promise.resolve().then(()=>rO),void 0,import.meta.url),scala:()=>Se(()=>Promise.resolve().then(()=>Ynt),void 0,import.meta.url),swift:()=>Se(()=>Promise.resolve().then(()=>Jnt),void 0,import.meta.url),kotlin:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),kt:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),kts:()=>Se(()=>Promise.resolve().then(()=>EC),void 0,import.meta.url),"objective-c":()=>Se(()=>Promise.resolve().then(()=>sO),void 0,import.meta.url),objc:()=>Se(()=>Promise.resolve().then(()=>sO),void 0,import.meta.url)},themes:{"github-dark":()=>Se(()=>Promise.resolve().then(()=>rat),void 0,import.meta.url),"github-light":()=>Se(()=>Promise.resolve().then(()=>oat),void 0,import.meta.url)},engine:()=>jOe()}),IOe={defaultLanguage:"javascript",supportedLanguages:{text:{name:"Plain Text",aliases:["text","txt","plain"]},c:{name:"C",aliases:["c"]},cpp:{name:"C++",aliases:["cpp","c++"]},css:{name:"CSS",aliases:["css"]},glsl:{name:"GLSL",aliases:["glsl"]},graphql:{name:"GraphQL",aliases:["graphql","gql"]},haml:{name:"Ruby Haml",aliases:["haml"]},html:{name:"HTML",aliases:["html"]},java:{name:"Java",aliases:["java"]},javascript:{name:"JavaScript",aliases:["javascript","js"]},json:{name:"JSON",aliases:["json"]},jsonc:{name:"JSON with Comments",aliases:["jsonc"]},jsonl:{name:"JSON Lines",aliases:["jsonl"]},jsx:{name:"JSX",aliases:["jsx"]},julia:{name:"Julia",aliases:["julia","jl"]},less:{name:"Less",aliases:["less"]},markdown:{name:"Markdown",aliases:["markdown","md"]},mdx:{name:"MDX",aliases:["mdx"]},php:{name:"PHP",aliases:["php"]},postcss:{name:"PostCSS",aliases:["postcss"]},pug:{name:"Pug",aliases:["pug","jade"]},python:{name:"Python",aliases:["python","py"]},r:{name:"R",aliases:["r"]},regexp:{name:"RegExp",aliases:["regexp","regex"]},sass:{name:"Sass",aliases:["sass"]},scss:{name:"SCSS",aliases:["scss"]},shellscript:{name:"Shell",aliases:["shellscript","bash","sh","shell","zsh"]},sql:{name:"SQL",aliases:["sql"]},svelte:{name:"Svelte",aliases:["svelte"]},typescript:{name:"TypeScript",aliases:["typescript","ts"]},vue:{name:"Vue",aliases:["vue"]},"vue-html":{name:"Vue HTML",aliases:["vue-html"]},wasm:{name:"WebAssembly",aliases:["wasm"]},wgsl:{name:"WGSL",aliases:["wgsl"]},xml:{name:"XML",aliases:["xml"]},yaml:{name:"YAML",aliases:["yaml","yml"]},tsx:{name:"TSX",aliases:["tsx","typescriptreact"]},haskell:{name:"Haskell",aliases:["haskell","hs"]},csharp:{name:"C#",aliases:["c#","csharp","cs"]},latex:{name:"LaTeX",aliases:["latex"]},lua:{name:"Lua",aliases:["lua"]},mermaid:{name:"Mermaid",aliases:["mermaid","mmd"]},ruby:{name:"Ruby",aliases:["ruby","rb"]},rust:{name:"Rust",aliases:["rust","rs"]},scala:{name:"Scala",aliases:["scala"]},swift:{name:"Swift",aliases:["swift"]},kotlin:{name:"Kotlin",aliases:["kotlin","kt","kts"]},"objective-c":{name:"Objective C",aliases:["objective-c","objc"]}},createHighlighter:()=>DOe({themes:["github-dark","github-light"],langs:[]})};const{audio:Tat,file:Lat,video:Mat,table:jat,toggleListItem:Dat,codeBlock:Iat,...ROe}=ZU,{underline:Rat,textColor:Oat,backgroundColor:Fat,...OOe}=Sk,FOe=u$.create({blockSpecs:{...ROe,codeBlock:IU(IOe)},inlineContentSpecs:d$,styleSpecs:OOe});function vR(){const e=getComputedStyle(document.documentElement),t=a=>`hsl(${e.getPropertyValue(`--${a}`).trim()})`,n=e.getPropertyValue("--font-sans").trim();return{colors:{editor:{text:t("foreground"),background:t("background")},menu:{text:t("popover-foreground"),background:t("popover")},tooltip:{text:t("popover-foreground"),background:t("popover")},hovered:{text:t("accent-foreground"),background:t("accent")},selected:{text:t("primary-foreground"),background:t("primary")},disabled:{text:t("muted-foreground"),background:t("muted")},shadow:"transparent",border:t("border"),sideMenu:t("border-strong")},borderRadius:6,fontFamily:n||"Inter, system-ui, sans-serif"}}function zOe(){const[e,t]=$.useState(vR);return $.useEffect(()=>{const n=new MutationObserver(()=>t(vR()));return n.observe(document.documentElement,{attributeFilter:["class","style"]}),()=>n.disconnect()},[]),e}function yR({value:e,onChange:t,readOnly:n=!1,placeholder:a,minHeight:i="120px"}){const r=!n&&!!t,s=$.useRef(!0),o=zOe(),[c,p]=$.useState(()=>typeof document<"u"&&document.documentElement.classList.contains("dark")?"dark":"light");$.useEffect(()=>{const f=new MutationObserver(()=>{p(document.documentElement.classList.contains("dark")?"dark":"light")});return f.observe(document.documentElement,{attributeFilter:["class"]}),()=>f.disconnect()},[]);const d=Kk({schema:FOe});$.useEffect(()=>{const f=d.portalElement;f&&f.style.setProperty("--bn-ui-base-z-index","150")},[d]),$.useEffect(()=>{const f=d.portalElement;f&&(f.setAttribute("data-mantine-color-scheme",c),f.setAttribute("data-color-scheme",c))},[d,c]),$.useEffect(()=>{s.current=!0;const f=d.tryParseMarkdownToBlocks(e||"");d.replaceBlocks(d.document,f),requestAnimationFrame(()=>{s.current=!1})},[]);const m=$.useCallback(()=>{if(s.current||!t)return;const h=d.blocksToMarkdownLossy(d.document).replace(/^ +$/gm,"");t(h)},[d,t]);return _.jsx("div",{className:"blocknote-editor-wrapper rounded-[6px] overflow-hidden",style:{minHeight:i},"data-placeholder":a,"data-mantine-color-scheme":c,"data-color-scheme":c,children:_.jsx(lY,{editor:d,theme:o,editable:r,onChange:m})})}function HOe(){const{t:e}=Rn(),t=fe(W=>W.drawerTaskId),n=fe(W=>W.drawerData),a=fe(W=>W.columns),i=fe(W=>W.config),r=fe(W=>W.closeDrawer),s=fe(W=>W.saveDrawer),o=fe(W=>W.saveDrawerMetadata),c=fe(W=>W.deleteTask),p=fe(W=>W.archiveTask),d=fe(W=>W.unarchiveTask),m=fe(W=>W.agentHook),f=fe(W=>W.sendTaskToAgent),h=String(n?.frontmatter.archived)==="true",b=fe(W=>W.updateDrawerData),k=$.useRef(null),w=$.useRef(null),x=$.useRef(!1),S=!!t&&!!n,E=$.useCallback(()=>{w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{x.current||(x.current=!0,o().finally(()=>{x.current=!1}))},150)},[o]),P=$.useCallback(async()=>{w.current&&clearTimeout(w.current),w.current=null,x.current&&await new Promise(W=>{const B=setInterval(()=>{x.current||(clearInterval(B),W(void 0))},20)})},[]),L=$.useCallback(async()=>{await P(),await s()},[P,s]),j=$.useCallback(async()=>{await P(),r()},[P,r]),F=$.useCallback(async()=>{t&&confirm(`${e("common.delete")} ${t.toUpperCase()}?`)&&(await c(t),await j())},[j,c,t,e]),z=$.useCallback(async()=>{t&&(h?await d(t):(await P(),await p(t)))},[t,h,p,d,P]),R=t?a.find(W=>W.tasks.some(B=>B.id===t))?.name:null,M=$.useCallback(()=>{t&&f(t)},[t,f]),K=$.useMemo(()=>{const W=new Map,B=(i.board.columns[i.board.columns.length-1]||"Done").toLowerCase();for(const V of a)for(const H of V.tasks){const U=H.frontmatter&&(H.frontmatter.archived===!0||H.frontmatter.archived==="true");W.set(H.id,{exists:!0,resolved:U||V.name.toLowerCase()===B})}for(const V of a)for(const H of V.tasks){const U=Array.isArray(H.frontmatter.depends_on)?H.frontmatter.depends_on:[];for(const Y of U)typeof Y!="string"||!Y.trim()||W.has(Y)||W.set(Y,{exists:!1,resolved:!0})}return W},[a,i.board.columns]);if($.useEffect(()=>{S&&setTimeout(()=>k.current?.focus(),250)},[S]),$.useEffect(()=>{k.current&&(k.current.style.height="auto",k.current.style.height=k.current.scrollHeight+"px")},[n?.frontmatter.title]),$.useEffect(()=>{if(!S)return;const W=B=>{B.key==="Escape"&&!B.defaultPrevented&&L(),(B.metaKey||B.ctrlKey)&&B.key==="s"&&(B.preventDefault(),L()),(B.metaKey||B.ctrlKey)&&B.key==="Backspace"&&(B.preventDefault(),F())};return window.addEventListener("keydown",W),()=>window.removeEventListener("keydown",W)},[S,L,F]),!n)return null;const J=(W,B)=>{b(V=>({...V,frontmatter:{...V.frontmatter,[W]:B}})),E()};return _.jsx(ps,{children:S&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:0},onClick:L,className:"fixed inset-0 bg-black/50 backdrop-blur-[4px] z-[100]"}),_.jsx(_t.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},transition:{duration:0},className:"fixed inset-0 z-[101] flex items-center justify-center p-[10vh] pointer-events-none",children:_.jsxs("div",{className:"w-[80vw] max-w-[1200px] h-[80vh] pointer-events-auto flex flex-col glass rounded-2xl shadow-2xl",children:[_.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border rounded-t-2xl",children:[_.jsxs("div",{className:"flex items-center gap-2.5",children:[_.jsx("span",{className:"font-mono text-[12.5px] text-fg-muted px-1.5 py-0.5 bg-bg-2 border border-border rounded-[4px]",children:t?.toUpperCase()}),R&&_.jsxs("span",{className:"text-[12.5px] text-fg-dim",children:["· ",R]})]}),_.jsx(da,{variant:"icon",icon:"X",onClick:L,title:e("drawer.close")})]}),_.jsx("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx("textarea",{ref:k,value:n.frontmatter.title||"",onChange:W=>J("title",W.target.value),placeholder:e("drawer.taskTitle"),rows:1,className:"w-full bg-transparent border-none outline-none text-fg text-[22px] font-semibold tracking-tight leading-tight resize-none placeholder:text-fg-faint"}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("dependencies.label")}),_.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:(Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on.filter(W=>typeof W=="string"):[]).map((W,B)=>{const V=K.get(W)?.resolved??!1,H=K.get(W)?.exists??!0;return _.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md text-[12px] font-mono border ${H?V?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-red-500/40 bg-red-500/10 text-red-700 dark:text-red-300"}`,title:e(H?V?"dependencies.resolved":"dependencies.unresolved":"dependencies.unknown"),children:[W,_.jsx("button",{type:"button","aria-label":e("dependencies.remove"),onClick:()=>{const U=(Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on:[]).filter((Y,ae)=>ae!==B);J("depends_on",U.length>0?U:void 0)},className:"text-current opacity-60 hover:opacity-100",children:"×"})]},B)})}),_.jsx("input",{type:"text",className:"w-full bg-bg-2 border border-border rounded px-2 py-1.5 text-[13px] text-fg placeholder:text-fg-faint focus:outline-none focus:border-border-strong",placeholder:e("dependencies.addPlaceholder"),onKeyDown:W=>{if(W.key!=="Enter")return;W.preventDefault();const B=(W.currentTarget.value||"").trim();if(!B)return;const V=B.replace(/^#/,"").trim(),H=Array.isArray(n.frontmatter.depends_on)?n.frontmatter.depends_on.filter(U=>typeof U=="string"):[];if(H.includes(V)||V===n.frontmatter.id){W.currentTarget.value="";return}J("depends_on",[...H,V]),W.currentTarget.value=""}})]}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("drawer.description")}),_.jsx(yR,{value:n.body,onChange:W=>b(B=>({...B,body:W})),placeholder:e("drawer.descriptionPlaceholder"),minHeight:"280px"})]}),_.jsx("div",{className:"h-px bg-border -mx-5"}),_.jsxs("div",{children:[_.jsx("div",{className:"text-[12px] font-semibold uppercase tracking-wider text-fg-muted mb-2",children:e("drawer.report")}),_.jsx(yR,{value:n.frontmatter.report||"",onChange:W=>J("report",W),placeholder:e("drawer.reportPlaceholder"),minHeight:"180px"})]})]})}),_.jsxs("div",{className:"flex items-center justify-between gap-2 px-5 py-3 border-t border-border rounded-b-2xl",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(da,{variant:"danger",icon:"Trash",label:e("drawer.deleteTask"),shortcut:"⌘⌫",onClick:F}),_.jsx(da,{variant:"secondary",icon:h?"ArchiveRestore":"Archive",label:e(h?"drawer.restore":"drawer.archive"),onClick:z}),m&&_.jsx(da,{variant:"secondary",icon:"Arrow",label:`${e("drawer.sendToAgent")} · ${m.label}`,onClick:M,title:e("drawer.sendToAgentTitle")})]}),_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(da,{variant:"secondary",label:e("drawer.cancel"),shortcut:"Esc",onClick:L}),_.jsx(da,{variant:"primary",label:e("drawer.saveClose"),shortcut:"⌘S",onClick:s})]})]})]})})]})})}function BOe({text:e,keyword:t}){if(!t)return _.jsx(_.Fragment,{children:e});const n=e.split(new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"));return _.jsx(_.Fragment,{children:n.map((a,i)=>a.toLowerCase()===t.toLowerCase()?_.jsx("mark",{className:"bg-yellow-200/60 text-fg rounded px-0.5 font-semibold",children:a},i):_.jsx("span",{children:a},i))})}function qOe(){const{t:e}=Rn(),t=fe(R=>R.commandOpen),n=fe(R=>R.setCommandOpen),a=fe(R=>R.columns),i=fe(R=>R.openDrawer),r=fe(R=>R.createTask),s=fe(R=>R.reloadBoard),o=fe(R=>R.setViewMode),c=fe(R=>R.setDensity),p=fe(R=>R.clearFilters),d=fe(R=>R.setCheatsheetOpen),m=fe(R=>R.taskContents),f=fe(R=>R.loadTaskContents),[h,b]=$.useState(""),[k,w]=$.useState(0),x=$.useRef(null),S=$.useRef(null);$.useEffect(()=>{if(t&&h.length>0){const M=a.flatMap(K=>K.tasks.map(J=>J.id)).filter(K=>!m.has(K));M.length>0&&f(M)}},[t,h,a,m,f]);const E=$.useMemo(()=>{const R=a.flatMap(J=>J.tasks.map(W=>({id:"task:"+W.id,label:`${W.id.replace(/^t/,"")} — ${W.title}`,boldPrefix:!0,hint:J.name,category:"task",onSelect:()=>{n(!1),i(W.id)}}))),M=[{id:"action:new",label:e("commandPalette.newTask"),hint:e("commandPalette.createNew"),category:"action",onSelect:()=>{n(!1),r()}},{id:"action:reload",label:e("commandPalette.reloadBoard"),hint:e("commandPalette.readFromDisk"),category:"action",onSelect:()=>{n(!1),s()}},{id:"action:clear",label:e("commandPalette.clearFilters"),category:"action",onSelect:()=>{n(!1),p()}},{id:"action:cheatsheet",label:e("cheatsheet.title"),hint:"?",category:"action",onSelect:()=>{n(!1),d(!0)}}],K=[{id:"view:board",label:e("commandPalette.boardView"),category:"view",onSelect:()=>{n(!1),o("board")}},{id:"view:list",label:e("commandPalette.listView"),category:"view",onSelect:()=>{n(!1),o("list")}},{id:"view:compact",label:e("commandPalette.compactDensity"),category:"view",onSelect:()=>{n(!1),c("compact")}},{id:"view:comfortable",label:e("commandPalette.comfortableDensity"),category:"view",onSelect:()=>{n(!1),c("comfortable")}}];return[...M,...K,...R]},[a,n,i,r,s,p,d,o,c]),P=$.useMemo(()=>{if(!h.trim())return new Map;const R=h.toLowerCase(),M=new Map;for(const K of E){if(K.category!=="task")continue;const J=K.id.replace("task:",""),W=m.get(J);if(!W)continue;const B=wz(W,R);B.length>0&&M.set(J,B)}return M},[h,E,m]),L=$.useMemo(()=>{if(!h)return E.slice(0,50);const R=h.toLowerCase();return E.filter(M=>M.label.toLowerCase().includes(R)||(M.hint||"").toLowerCase().includes(R)).slice(0,50)},[h,E]);$.useEffect(()=>{t&&(b(""),w(0),setTimeout(()=>x.current?.focus(),60))},[t]),$.useEffect(()=>{w(0)},[h]),$.useEffect(()=>{const R=S.current;if(!R)return;const M=R.querySelector(`[data-idx="${k}"]`);M&&M.scrollIntoView({block:"nearest"})},[k]);const j=R=>{R.key==="Escape"?n(!1):R.key==="ArrowDown"?(R.preventDefault(),w(M=>Math.min(M+1,L.length-1))):R.key==="ArrowUp"?(R.preventDefault(),w(M=>Math.max(M-1,0))):R.key==="Enter"&&(R.preventDefault(),L[k]?.onSelect())},F=$.useMemo(()=>{const R={action:[],view:[],task:[]};for(const M of L)R[M.category].push(M);return R},[L]),z={action:e("commandPalette.actions"),view:e("commandPalette.view"),task:e("commandPalette.tasks")};return _.jsx(ps,{children:t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:()=>n(!1),className:"fixed inset-0 bg-black/60 backdrop-blur-[3px] z-[200]"}),_.jsxs(_t.div,{initial:{opacity:0,scale:.97,y:-12},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:-8},transition:{type:"spring",stiffness:400,damping:32,mass:.8},className:"fixed inset-0 m-auto h-fit w-[min(640px,92vw)] z-[201] glass rounded-[10px] shadow-[0_24px_80px_rgba(0,0,0,0.6)] overflow-hidden",children:[_.jsxs("div",{className:"flex items-center gap-2 px-4 h-11 border-b border-border",children:[_.jsx(Zn.Search,{size:14,className:"text-fg-muted flex-shrink-0"}),_.jsx("input",{ref:x,type:"text",value:h,onChange:R=>b(R.target.value),onKeyDown:j,placeholder:e("commandPalette.placeholder"),className:"flex-1 bg-transparent border-none outline-none text-fg text-[14.5px] placeholder:text-fg-muted"}),_.jsx("span",{className:"kbd",children:"esc"})]}),_.jsxs("div",{ref:S,className:"max-h-[420px] overflow-y-auto py-1.5",children:[L.length===0&&_.jsx("div",{className:"px-4 py-6 text-center text-[13px] text-fg-muted",children:e("common.noResults")}),["action","view","task"].map(R=>F[R].length>0?_.jsxs("div",{className:"py-1",children:[_.jsx("div",{className:"px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:z[R]}),F[R].map(M=>{const K=L.indexOf(M),J=K===k,W=R==="task"?P.get(M.id.replace("task:","")):void 0;return _.jsxs("div",{children:[_.jsxs("button",{"data-idx":K,onClick:M.onSelect,onMouseEnter:()=>w(K),className:`w-full flex items-center justify-between px-3 py-1.5 text-[13.5px] text-left transition-colors ${J?"bg-bg-3 text-fg":"text-fg-dim"}`,children:[_.jsx("span",{className:`truncate ${M.boldPrefix?"font-bold":""}`,children:M.label}),M.hint&&_.jsx("span",{className:"text-[12px] text-fg-muted ml-2 flex-shrink-0",children:M.hint})]}),J&&W&&W.length>0&&_.jsx("div",{className:"px-3 pb-2",children:_.jsx("div",{className:"flex flex-col gap-1 bg-bg rounded border border-border p-2",children:W.slice(0,2).map((B,V)=>_.jsxs("div",{className:"text-[12px] text-fg-dim",children:[_.jsx("span",{className:"text-[10.5px] font-medium text-fg-muted uppercase tracking-wide mr-1.5",children:e(`sectionLabels.${B.section}`)||B.section}),_.jsx(BOe,{text:B.snippet,keyword:B.keyword})]},V))})})]},M.id)})]},R):null)]}),_.jsxs("div",{className:"flex items-center gap-3 px-4 h-8 border-t border-border text-[12px] text-fg-muted",children:[_.jsxs("span",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"kbd",children:"↑↓"})," ",e("commandPalette.navigate")]}),_.jsxs("span",{className:"flex items-center gap-1.5",children:[_.jsx("span",{className:"kbd",children:"↵"})," ",e("commandPalette.select")]})]})]})]})})}const UOe=[{titleKey:"global",shortcuts:[{keys:["⌘","K"],descriptionKey:"commandPalette"},{keys:["?"],descriptionKey:"showCheatsheet"},{keys:["⌘","1"],descriptionKey:"boardView"},{keys:["⌘","2"],descriptionKey:"listView"},{keys:["N"],descriptionKey:"newTask"},{keys:["R"],descriptionKey:"reloadBoard"},{keys:["/"],descriptionKey:"focusSearch"},{keys:["Esc"],descriptionKey:"closeOverlay"}]},{titleKey:"drawer",shortcuts:[{keys:["⌘","S"],descriptionKey:"saveClose"},{keys:["⌘","⌫"],descriptionKey:"deleteTask"},{keys:["Esc"],descriptionKey:"cancel"}]},{titleKey:"commandPalette",shortcuts:[{keys:["↑","↓"],descriptionKey:"navigate"},{keys:["↵"],descriptionKey:"select"},{keys:["Esc"],descriptionKey:"close"}]},{titleKey:"tui",shortcuts:[{keys:["H","L"],descriptionKey:"switchColumn"},{keys:["J","K"],descriptionKey:"selectTask"},{keys:["Enter"],descriptionKey:"openTask"},{keys:["M"],descriptionKey:"contextMenu"},{keys:["A"],descriptionKey:"launchAgent"},{keys:["D"],descriptionKey:"toggleDaemon"},{keys:["Q"],descriptionKey:"quit"}]}];function VOe({children:e}){return _.jsx("kbd",{className:"kbd",children:e})}function ZOe({keys:e,label:t}){return _.jsxs("div",{className:"flex items-center justify-between gap-4 py-1.5",children:[_.jsx("span",{className:"text-[13.5px] text-fg-dim",children:t}),_.jsx("span",{className:"flex items-center gap-1 flex-shrink-0",children:e.map((n,a)=>_.jsxs("span",{className:"flex items-center gap-1",children:[_.jsx(VOe,{children:n}),a<e.length-1&&_.jsx("span",{className:"text-fg-faint text-[11px]",children:"+"})]},a))})]})}function GOe(){const{t:e}=Rn(),t=fe(a=>a.cheatsheetOpen),n=fe(a=>a.setCheatsheetOpen);return _.jsx(ps,{children:t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onClick:()=>n(!1),className:"fixed inset-0 bg-black/60 backdrop-blur-[3px] z-[200]","aria-hidden":"true"}),_.jsxs(_t.div,{role:"dialog","aria-modal":"true","aria-label":e("cheatsheet.title"),initial:{opacity:0,scale:.97,y:-8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:-8},transition:{type:"spring",stiffness:400,damping:32,mass:.8},className:"fixed inset-0 m-auto h-fit w-[min(720px,92vw)] max-h-[80vh] z-[201] glass rounded-[10px] shadow-[0_24px_80px_rgba(0,0,0,0.6)] overflow-hidden flex flex-col",children:[_.jsxs("div",{className:"flex items-center justify-between px-5 h-12 border-b border-border flex-shrink-0",children:[_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx(Zn.Keyboard,{size:15,className:"text-fg-muted"}),_.jsx("h2",{className:"text-[14.5px] font-semibold text-fg",children:e("cheatsheet.title")})]}),_.jsx("button",{type:"button",onClick:()=>n(!1),"aria-label":e("cheatsheet.close"),className:"text-fg-muted hover:text-fg transition-colors",children:_.jsx(Zn.X,{size:16})})]}),_.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-5 px-5 py-5 overflow-y-auto",children:UOe.map(a=>_.jsxs("section",{children:[_.jsx("h3",{className:"text-[11px] font-semibold uppercase tracking-wider text-fg-faint mb-1.5",children:e(`cheatsheet.groups.${a.titleKey}`)}),_.jsx("div",{className:"flex flex-col divide-y divide-border/40",children:a.shortcuts.map((i,r)=>_.jsx(ZOe,{keys:i.keys,label:e(`cheatsheet.shortcuts.${i.descriptionKey}`)},r))})]},a.titleKey))}),_.jsxs("div",{className:"flex items-center justify-between gap-3 px-5 h-9 border-t border-border text-[12px] text-fg-muted flex-shrink-0",children:[_.jsx("span",{children:e("cheatsheet.footerHint")}),_.jsx("span",{className:"kbd",children:"esc"})]})]})]})})}const WOe={name:"kandown",tagline:"AI Markdown Kanban Manager"},KOe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},YOe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>.",serverModeDesc:"Kandown is running in server mode. Click below to open your project — the browser will remember your choice for next time.",openThisProject:"Open this project"},XOe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder...",archives:"Archives",backToBoard:"Back to board",showMetadata:"Show metadata",hideMetadata:"Hide metadata"},QOe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},JOe={addTask:"Add task",columnColor:"Column color",color:"Color",addColumn:"Add",addToSettings:"Add this status as a board column",createColumn:"Add column",createPrompt:"Column name",renameColumn:"Rename column",renamePrompt:"New column name",deleteColumn:"Delete column",deleteConfirm:'Delete "{{name}}" and its {{count}} tasks?'},eFe={delete:"Delete task",confirmDelete:"Click again to delete",blockedBy:"Blocked by: {{ids}}"},tFe={label:"Dependencies",addPlaceholder:"task id (e.g. t42)",add:"Add",remove:"Remove",none:"No dependencies",resolved:"Resolved",unresolved:"Blocked",unknown:"Unknown task",blockedByPanel:"Blocked by",blocksPanel:"Blocks"},nFe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",archive:"Archive",restore:"Restore",saveClose:"Save & Close",cancel:"Cancel",sendToAgent:"Send to Agent",sendToAgentTitle:"Forward the full task to the configured agent hook (env: KANDOWN_AGENT_HOOK_URL)"},aFe={empty:"No archived tasks."},iFe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},rFe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},sFe={title:"Keyboard shortcuts",close:"Close cheatsheet",footerHint:"Press any key to dismiss",groups:{global:"Global",drawer:"Task drawer",commandPalette:"Command palette",tui:"Terminal UI"},shortcuts:{commandPalette:"Open command palette",showCheatsheet:"Toggle this cheatsheet",boardView:"Board view",listView:"List view",newTask:"New task",reloadBoard:"Reload from disk",focusSearch:"Focus search",closeOverlay:"Close overlay / drawer",saveClose:"Save & close",deleteTask:"Delete task",cancel:"Cancel",navigate:"Navigate items",select:"Select item",close:"Close palette",switchColumn:"Switch column",selectTask:"Select task",openTask:"Open task detail",contextMenu:"Open context menu",launchAgent:"Launch AI agent",toggleDaemon:"Toggle web daemon",quit:"Quit"}},oFe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},cFe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",notifications:"Notifications",notificationsDesc:"Browser and in-page signals for file changes while the board is open.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",columns:"Columns",columnsDesc:"Comma-separated board columns stored in kandown.json.",stackDefaultState:"Task groups",stackDefaultStateDesc:"Default view when several tasks share the same [bracket] or #hashtag title tag. Search always expands them so matches stay visible.",stackCollapsed:"Collapsed (stacked)",stackExpanded:"Expanded (all visible)",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",notificationPermission:"Chrome permission",notificationPermissionDesc:"Allow the browser to show desktop notifications for this open project.",browserNotifications:"Browser notifications",browserNotificationsDesc:"Show a desktop notification when a selected task event happens and permission is granted.",statusChangeNotifications:"Status changes",statusChangeNotificationsDesc:"Notify when a task moves between board columns.",taskEditNotifications:"Task edits",taskEditNotificationsDesc:"Notify when a task file changes on disk after a 2 second debounce.",subtaskNotifications:"Subtask completions",subtaskNotificationsDesc:"Notify when a subtask changes from open to done.",notificationSound:"Play sound",notificationSoundDesc:"Play an in-page sound for enabled notification events while the board tab is open.",notificationSoundChoice:"Sound",notificationSoundChoiceDesc:"Choose the generated audio cue used for in-page notifications.",soundSoft:"Soft",soundChime:"Chime",soundPing:"Ping",soundPop:"Pop",permissionAsk:"Allow",permissionGranted:"Allowed",permissionDenied:"Blocked",permissionUnsupported:"Unsupported",notificationPermissionGranted:"Browser notifications enabled",notificationPermissionDenied:"Browser notifications are blocked in Chrome settings",notificationPermissionUnsupported:"This browser does not support desktop notifications",about:"About",aboutDesc:"Kandown version and auto-update status.",kickerAbout:"Version & updates",checkForUpdates:"Check for updates",checkingForUpdates:"Checking…",upToDate:"Up to date",available:"available",refresh:"Refresh",retry:"Retry",autoUpdateDescription:"Kandown auto-updates when you run npx kandown. To force an update, run: npm install -g kandown",links:"Links",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata",kickerSignals:"Signals"},pFe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},lFe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},dFe={settingsUpdatedExternally:"Settings updated externally — reloaded"},uFe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},mFe={app:WOe,common:KOe,emptyState:YOe,header:XOe,filterBar:QOe,column:JOe,card:eFe,dependencies:tFe,drawer:nFe,archive:aFe,subtask:iFe,commandPalette:rFe,cheatsheet:sFe,listView:oFe,settings:cFe,conflict:pFe,sectionLabels:lFe,toast:dFe,languageNames:uFe},fFe={name:"kandown",tagline:"Gestionnaire Kanban Markdown IA"},gFe={search:"Rechercher",searchPlaceholder:"Rechercher des tâches...",cancel:"Annuler",save:"Enregistrer",delete:"Supprimer",close:"Fermer",clear:"Effacer",clearAll:"Tout effacer",add:"Ajouter",remove:"Retirer",done:"Terminé",loading:"Chargement...",noResults:"Aucun résultat",currentValue:"Valeur actuelle",configKey:"Clé de config",choices:"Choix",openFolder:"Ouvrir un dossier",selectFolder:"Sélectionner un dossier",recent:"Récent",settings:"Paramètres",board:"Tableau",reload:"Recharger",newTask:"Nouvelle tâche"},hFe={unsupportedBrowser:"Navigateur non supporté",unsupportedBrowserDesc:"Ce moteur nécessite l'<code>API File System Access</code>. Utilisez Chrome, Edge, Brave ou Opera. Firefox et Safari ne la supportent pas encore.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bFe={tasks:"tâches",recentProjects:"Projets récents","openFolder...":"Ouvrir un dossier...",archives:"Archives",backToBoard:"Retour au board",showMetadata:"Afficher les métadonnées",hideMetadata:"Masquer les métadonnées"},vFe={searchPlaceholder:"Rechercher des tâches...",clearAll:"Tout effacer",ownerAll:"👤 Tous",ownerHuman:"👤 Humain",ownerAI:"🤖 IA"},yFe={addTask:"Ajouter une tâche",columnColor:"Couleur de la colonne",color:"Couleur"},_Fe={delete:"Supprimer la tâche",confirmDelete:"Cliquez à nouveau pour supprimer"},kFe={close:"Fermer (Esc)",taskTitle:"Titre de la tâche",doneSubtasks:"terminé",priority:"Priorité",noPriority:"Aucune priorité",urgentP1:"Urgent · P1",highP2:"Haute · P2",mediumP3:"Moyenne · P3",lowP4:"Basse · P4",assignee:"Assigné à",assigneePlaceholder:"nom d'utilisateur",tags:"Tags",tagsPlaceholder:"backend, sécurité, api",dueDate:"Date d'échéance",owner:"Propriétaire",unset:"Non défini",human:"👤 Humain",ai:"🤖 IA",tools:"Outils",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Écrivez du contexte, des liens, des décisions...",report:"Rapport",reportPlaceholder:"La sortie IA apparaîtra ici...",subtasks:"Sous-tâches",addSubtask:"Ajouter une sous-tâche",deleteTask:"Supprimer",archive:"Archiver",restore:"Restaurer",saveClose:"Enregistrer et fermer",cancel:"Annuler"},wFe={empty:"Aucune tâche archivée."},xFe={placeholder:"Sous-tâche...",description:"Description",descriptionPlaceholder:"Ajoutez du contexte, des liens ou des notes pour cette étape...",report:"Rapport",reportPlaceholder:"Ce qui a été fait, décisions prises, compromis...",aiFillsThis:"L'IA remplit ceci après completion",collapse:"Réduire",expand:"Développer"},AFe={placeholder:"Tapez une commande ou recherchez...",actions:"Actions",view:"Affichage",tasks:"Tâches",newTask:"Nouvelle tâche",createNew:"Créer une nouvelle tâche",reloadBoard:"Recharger le tableau",readFromDisk:"Relire les fichiers depuis le disque",clearFilters:"Effacer les filtres",boardView:"Vue tableau",listView:"Vue liste",compactDensity:"Densité compacte",comfortableDensity:"Densité confortable",navigate:"naviguer",select:"sélectionner"},CFe={id:"ID",title:"Titre",status:"Statut",tags:"Tags",assignee:"Assigné",progress:"Progression",noMatchingTasks:"Aucune tâche correspondante"},NFe={noProjectOpen:"Aucun projet ouvert",appearance:"Apparence",appearanceDesc:"Thème, skin, arrière-plan, police et langue.",agent:"Agent",agentDesc:"Comportement de suivi pour le travail de tâches assisté par IA.",board:"Tableau",boardDesc:"Comportement de l'identifiant de tâche et paramètres par défaut du tableau.",fields:"Champs",fieldsDesc:"Champs optionnels affichés sur les tâches et les cartes du tableau.",language:"Langue",languageDesc:"Langue de l'interface stockée dans la config du projet.",mode:"Mode",modeDesc:"Suit automatiquement la préférence système clair ou sombre.",auto:"Auto",light:"Clair",dark:"Sombre",skin:"Thème",skinDesc:"Les tokens de couleur sont stockés par projet dans kandown.json.",background:"Arrière-plan",backgroundDesc:"Choisissez une surface plate ou un arrière-plan liquide animé.",font:"Police",fontDesc:"Pile de polices système locales, sans requête réseau.",suggestFollowUp:"Suggérer des tâches de suivi",suggestFollowUpDesc:"Demander aux agents de proposer des tâches suivantes après en avoir terminé une.",maxSuggestions:"Suggestions max",maxSuggestionsDesc:"Limite le nombre de tâches de suivi qu'un agent peut proposer.",columns:"Colonnes",columnsDesc:"Colonnes du tableau séparées par des virgules, stockées dans kandown.json.",stackDefaultState:"Groupes de tâches",stackDefaultStateDesc:"Affichage par défaut quand plusieurs tâches partagent le même tag [crochet] ou #hashtag dans leur titre. La recherche les déplie toujours pour que les correspondances restent visibles.",stackCollapsed:"Pliées (empilées)",stackExpanded:"Dépliées (toutes visibles)",defaultPriority:"Priorité par défaut",defaultPriorityDesc:"Priorité initiale pour les nouvelles tâches lorsque le champ Priorité est activé.",defaultOwner:"Propriétaire par défaut",defaultOwnerDesc:"Propriétaire initial pour les nouvelles tâches lorsque le champ Propriétaire est activé.",priority:"Priorité",priorityDesc:"Activer les métadonnées de priorité sur les tâches.",assignee:"Assigné à",assigneeDesc:"Activer les métadonnées d'assignation sur les tâches.",tags:"Tags",tagsDesc:"Activer les métadonnées de tags sur les tâches.",dueDate:"Date d'échéance",dueDateDesc:"Activer les métadonnées de date d'échéance sur les tâches.",ownerType:"Type de propriétaire",ownerTypeDesc:"Activer les métadonnées de propriété humain/IA sur les tâches.",tools:"Outils",toolsDesc:"Activer les indices d'outils en forme libre pour les tâches d'agent IA.",searchPlaceholder:"Rechercher une option",searchResults:"Résultats de recherche",searchResultsLabel:"Résultats de recherche",matchingOptions:"options correspondantes dans les paramètres du projet.",options:"options",noOptionFound:"Aucune option trouvée",tryAnotherSearch:"Essayez un autre terme de recherche.",currentValue:"Valeur actuelle",configKey:"Clé de config",choices:"Choix",hoverForHelp:"Survolez ou tabulez sur une autre option pour mettre à jour ce panneau d'aide.",pages:"Pages",backToBoard:"Retour au tableau",matches:"Correspondances",settingsTitle:"Paramètres",kickerInterface:"Interface",kickerAutomation:"Automatisation",kickerIdentifiers:"Identifiants",kickerMetadata:"Métadonnées"},SFe={detected:"Conflit détecté",detectedDesc:"Cette tâche a été modifiée de l'extérieur pendant que vous l'éditiez.",conflictingChanges:"La tâche <code>{{taskId}}</code> a des changements conflictuels. Choisissez comment résoudre :",yourVersion:"Votre version (locale)",diskVersion:"Version disque (distante)",cancel:"Annuler",reloadFromDisk:"Recharger depuis le disque",keepMyVersion:"Garder ma version",title:"Titre",priority:"Priorité",body:"Corps",subtasks:"Sous-tâches",none:"(aucun)"},$Fe={title:"Titre",subtasks:"Sous-tâche",context:"Contexte",notes:"Notes",whatWasDone:"Ce qui a été fait",tags:"Tags",assignee:"Assigné",priority:"Priorité"},EFe={settingsUpdatedExternally:"Paramètres mis à jour depuis l'extérieur — rechargés"},PFe={en:"Anglais",fr:"Français",zh:"Chinois",es:"Espagnol",pt:"Portugais",hi:"Hindi",de:"Allemand",it:"Italien",nl:"Néerlandais",pl:"Polonais",uk:"Ukrainien",ro:"Roumain",sv:"Suédois",cs:"Tchèque",el:"Grec",hu:"Hongrois",fi:"Finnois",da:"Danois",no:"Norvégien",sk:"Slovaque",bg:"Bulgare",sr:"Serbe",hr:"Croate",lt:"Lituanien",lv:"Letton",et:"Estonien",sl:"Slovène",ar:"Arabe",bn:"Bengali",ru:"Russe",id:"Indonésien",ur:"ourdou",tr:"Turc",ja:"Japonais",vi:"Vietnamien",ko:"Coréen",fa:"Perse",pcm:"Pidgin nigérian"},TFe={app:fFe,common:gFe,emptyState:hFe,header:bFe,filterBar:vFe,column:yFe,card:_Fe,drawer:kFe,archive:wFe,subtask:xFe,commandPalette:AFe,listView:CFe,settings:NFe,conflict:SFe,sectionLabels:$Fe,toast:EFe,languageNames:PFe},LFe={name:"kandown",tagline:"AI Markdown 看板管理器"},MFe={search:"搜索",searchPlaceholder:"搜索任务...",cancel:"取消",save:"保存",delete:"删除",close:"关闭",clear:"清除",clearAll:"清除全部",add:"添加",remove:"移除",done:"已完成",loading:"加载中...",noResults:"无结果",currentValue:"当前值",configKey:"配置键",choices:"选项",openFolder:"打开文件夹",selectFolder:"选择文件夹",recent:"最近",settings:"设置",board:"看板",reload:"重新加载",newTask:"新建任务"},jFe={unsupportedBrowser:"不支持的浏览器",unsupportedBrowserDesc:"此引擎需要 <code>File System Access API</code>。请使用 Chrome、Edge、Brave 或 Opera。Firefox 和 Safari 尚不支持。",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},DFe={tasks:"个任务",recentProjects:"最近项目","openFolder...":"打开文件夹..."},IFe={searchPlaceholder:"搜索任务...",clearAll:"清除全部",ownerAll:"👤 全部",ownerHuman:"👤 人工",ownerAI:"🤖 AI"},RFe={addTask:"添加任务",columnColor:"列颜色",color:"颜色"},OFe={delete:"删除任务",confirmDelete:"再次点击确认删除"},FFe={close:"关闭 (Esc)",taskTitle:"任务标题",doneSubtasks:"已完成",priority:"优先级",noPriority:"无优先级",urgentP1:"紧急 · P1",highP2:"高 · P2",mediumP3:"中 · P3",lowP4:"低 · P4",assignee:"指派给",assigneePlaceholder:"用户名",tags:"标签",tagsPlaceholder:"后端, 安全, api",dueDate:"截止日期",owner:"所有者",unset:"未设置",human:"👤 人工",ai:"🤖 AI",tools:"工具",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"描述",descriptionPlaceholder:"编写上下文、链接、决策...",report:"报告",reportPlaceholder:"AI 输出将显示在此处...",subtasks:"子任务",addSubtask:"添加子任务",deleteTask:"删除",saveClose:"保存并关闭",cancel:"取消"},zFe={placeholder:"子任务...",description:"描述",descriptionPlaceholder:"为此步骤添加上下文、链接或笔记...",report:"报告",reportPlaceholder:"完成的工作、所做的决策、权衡...",aiFillsThis:"AI 完成后填写此处",collapse:"收起",expand:"展开"},HFe={placeholder:"输入命令或搜索...",actions:"操作",view:"视图",tasks:"任务",newTask:"新建任务",createNew:"创建新任务",reloadBoard:"重新加载看板",readFromDisk:"从磁盘重新读取文件",clearFilters:"清除筛选",boardView:"看板视图",listView:"列表视图",compactDensity:"紧凑密度",comfortableDensity:"舒适密度",navigate:"导航",select:"选择"},BFe={id:"ID",title:"标题",status:"状态",tags:"标签",assignee:"指派",progress:"进度",noMatchingTasks:"无匹配任务"},qFe={noProjectOpen:"未打开项目",appearance:"外观",appearanceDesc:"主题、皮肤、背景、字体和语言。",agent:"代理",agentDesc:"AI辅助任务工作的后续行为。",board:"看板",boardDesc:"任务ID行为和看板级默认值。",fields:"字段",fieldsDesc:"显示在任务和看板卡上的可选字段。",language:"语言",languageDesc:"UI语言存储在此项目配置中。",mode:"模式",modeDesc:"自动跟随系统浅色或深色偏好。",auto:"自动",light:"浅色",dark:"深色",skin:"主题",skinDesc:"颜色令牌存储在项目的kandown.json中。",background:"背景",backgroundDesc:"选择平面或动画液体背景。",font:"字体",fontDesc:"本地系统字体堆栈,无网络请求。",suggestFollowUp:"建议后续任务",suggestFollowUpDesc:"要求代理在完成一个任务后提出下一个任务。",maxSuggestions:"最大建议数",maxSuggestionsDesc:"限制代理可能提出的后续任务数量。",defaultPriority:"默认优先级",defaultPriorityDesc:"启用优先级字段时新任务的初始优先级。",defaultOwner:"默认所有者",defaultOwnerDesc:"启用所有者字段时新任务的初始所有者。",priority:"优先级",priorityDesc:"在任务上启用优先级元数据。",assignee:"指派人",assigneeDesc:"在任务上启用指派人元数据。",tags:"标签",tagsDesc:"在任务上启用标签元数据。",dueDate:"截止日期",dueDateDesc:"在任务上启用截止日期元数据。",ownerType:"所有者类型",ownerTypeDesc:"启用人类/AI所有权元数据。",tools:"工具",toolsDesc:"为AI代理任务启用自由形式的工具提示。",searchPlaceholder:"搜索任何选项",searchResults:"搜索结果",searchResultsLabel:"搜索结果",matchingOptions:"个匹配选项,分布在项目设置中。",options:"个选项",noOptionFound:"未找到选项",tryAnotherSearch:"尝试其他搜索词。",currentValue:"当前值",configKey:"配置键",choices:"选项",hoverForHelp:"悬停或切换到其他选项以更新此帮助面板。",pages:"页面",backToBoard:"返回看板",matches:"匹配",settingsTitle:"设置",kickerInterface:"界面",kickerAutomation:"自动化",kickerIdentifiers:"标识符",kickerMetadata:"元数据"},UFe={detected:"检测到冲突",detectedDesc:"此任务在您编辑时被外部修改。",conflictingChanges:"任务 <code>{{taskId}}</code> 存在冲突的更改。选择解决方式:",yourVersion:"您的版本(本地)",diskVersion:"磁盘版本(远程)",cancel:"取消",reloadFromDisk:"从磁盘重新加载",keepMyVersion:"保留我的版本",title:"标题",priority:"优先级",body:"正文",subtasks:"子任务",none:"(无)"},VFe={title:"标题",subtasks:"子任务",context:"上下文",notes:"笔记",whatWasDone:"已完成工作",tags:"标签",assignee:"指派人",priority:"优先级"},ZFe={settingsUpdatedExternally:"设置已从外部更新 — 已重新加载"},GFe={en:"英语",fr:"法语",zh:"中文",es:"西班牙语",pt:"葡萄牙语",hi:"印地语",de:"德语",it:"意大利语",nl:"荷兰语",pl:"波兰语",uk:"乌克兰语",ro:"罗马尼亚语",sv:"瑞典语",cs:"捷克语",el:"希腊语",hu:"匈牙利语",fi:"芬兰语",da:"丹麦语",no:"挪威语",sk:"斯洛伐克语",bg:"保加利亚语",sr:"塞尔维亚语",hr:"克罗地亚语",lt:"立陶宛语",lv:"拉脱维亚语",et:"爱沙尼亚语",sl:"斯洛文尼亚语",ar:"阿拉伯语",bn:"孟加拉语",ru:"俄语",id:"印尼语",ur:"乌尔都语",tr:"土耳其语",ja:"日语",vi:"越南语",ko:"韩语",fa:"波斯语",pcm:"尼日利亚皮钦语"},WFe={app:LFe,common:MFe,emptyState:jFe,header:DFe,filterBar:IFe,column:RFe,card:OFe,drawer:FFe,subtask:zFe,commandPalette:HFe,listView:BFe,settings:qFe,conflict:UFe,sectionLabels:VFe,toast:ZFe,languageNames:GFe},KFe={name:"kandown",tagline:"Gestor de Kanban en Markdown con IA"},YFe={search:"Buscar",searchPlaceholder:"Buscar tareas...",cancel:"Cancelar",save:"Guardar",delete:"Eliminar",close:"Cerrar",clear:"Limpiar",clearAll:"Limpiar todo",add:"Añadir",remove:"Quitar",done:"Hecho",loading:"Cargando...",noResults:"Sin resultados",currentValue:"Valor actual",configKey:"Clave de config",choices:"Opciones",openFolder:"Abrir carpeta",selectFolder:"Seleccionar carpeta",recent:"Reciente",settings:"Ajustes",board:"Tablero",reload:"Recargar",newTask:"Nueva tarea"},XFe={unsupportedBrowser:"Navegador no soportado",unsupportedBrowserDesc:"Este motor requiere la <code>File System Access API</code>. Usa Chrome, Edge, Brave u Opera. Firefox y Safari aún no la soportan.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},QFe={tasks:"tareas",recentProjects:"Proyectos recientes","openFolder...":"Abrir carpeta..."},JFe={searchPlaceholder:"Buscar tareas...",clearAll:"Limpiar todo",ownerAll:"👤 Todos",ownerHuman:"👤 Humano",ownerAI:"🤖 IA"},eze={addTask:"Añadir tarea",columnColor:"Color de columna",color:"Color"},tze={delete:"Eliminar tarea",confirmDelete:"Haz clic de nuevo para eliminar"},nze={close:"Cerrar (Esc)",taskTitle:"Título de la tarea",doneSubtasks:"hecho",priority:"Prioridad",noPriority:"Sin prioridad",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Media · P3",lowP4:"Baja · P4",assignee:"Asignado a",assigneePlaceholder:"nombre de usuario",tags:"Etiquetas",tagsPlaceholder:"backend, seguridad, api",dueDate:"Fecha límite",owner:"Propietario",unset:"No establecido",human:"👤 Humano",ai:"🤖 IA",tools:"Herramientas",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descripción",descriptionPlaceholder:"Escribe contexto, enlaces, decisiones...",report:"Informe",reportPlaceholder:"La salida de IA aparecerá aquí...",subtasks:"Subtareas",addSubtask:"Añadir subtarea",deleteTask:"Eliminar",saveClose:"Guardar y cerrar",cancel:"Cancelar"},aze={placeholder:"Subtarea...",description:"Descripción",descriptionPlaceholder:"Añade contexto, enlaces o notas para este paso...",report:"Informe",reportPlaceholder:"Qué se hizo, decisiones tomadas, compromisos...",aiFillsThis:"La IA lo llena después de completar",collapse:"Contraer",expand:"Expandir"},ize={placeholder:"Escribe un comando o busca...",actions:"Acciones",view:"Vista",tasks:"Tareas",newTask:"Nueva tarea",createNew:"Crear una nueva tarea",reloadBoard:"Recargar tablero",readFromDisk:"Volver a leer archivos del disco",clearFilters:"Limpiar filtros",boardView:"Vista de tablero",listView:"Vista de lista",compactDensity:"Densidad compacta",comfortableDensity:"Densidad cómoda",navigate:"navegar",select:"seleccionar"},rze={id:"ID",title:"Título",status:"Estado",tags:"Etiquetas",assignee:"Asignado",progress:"Progreso",noMatchingTasks:"No hay tareas coincidentes"},sze={noProjectOpen:"Ningún proyecto abierto",appearance:"Apariencia",appearanceDesc:"Tema, skin, fondo, fuente e idioma.",agent:"Agente",agentDesc:"Comportamiento de seguimiento para trabajo de tareas asistido por IA.",board:"Tablero",boardDesc:"Comportamiento del ID de tarea y valores predeterminados del tablero.",fields:"Campos",fieldsDesc:"Campos opcionales mostrados en tareas y tarjetas del tablero.",language:"Idioma",languageDesc:"Idioma de la UI almacenado en la config del proyecto.",mode:"Modo",modeDesc:"Sigue automáticamente la preferencia del sistema claro u oscuro.",auto:"Auto",light:"Claro",dark:"Oscuro",skin:"Skin",skinDesc:"Los tokens de color se almacenan por proyecto en kandown.json.",background:"Fondo",backgroundDesc:"Elige una superficie plana o un fondo líquido animado.",font:"Fuente",fontDesc:"Pila de fuentes del sistema local, sin solicitud de red.",suggestFollowUp:"Sugerir tareas de seguimiento",suggestFollowUpDesc:"Pide a los agentes que propongan siguientes tareas después de terminar una.",maxSuggestions:"Máx. sugerencias",maxSuggestionsDesc:"Limita el número de tareas de seguimiento que un agente puede proponer.",defaultPriority:"Prioridad predeterminada",defaultPriorityDesc:"Prioridad inicial para nuevas tareas cuando el campo Prioridad está habilitado.",defaultOwner:"Propietario predeterminado",defaultOwnerDesc:"Propietario inicial para nuevas tareas cuando el campo Propietario está habilitado.",priority:"Prioridad",priorityDesc:"Habilitar metadatos de prioridad en tareas.",assignee:"Asignado a",assigneeDesc:"Habilitar metadatos de asignado en tareas.",tags:"Etiquetas",tagsDesc:"Habilitar metadatos de etiquetas en tareas.",dueDate:"Fecha límite",dueDateDesc:"Habilitar metadatos de fecha límite en tareas.",ownerType:"Tipo de propietario",ownerTypeDesc:"Habilitar metadatos de propiedad humano/IA en tareas.",tools:"Herramientas",toolsDesc:"Habilitar sugerencias de herramientas de forma libre para tareas de agente IA.",searchPlaceholder:"Buscar cualquier opción",searchResults:"Resultados de búsqueda",searchResultsLabel:"Resultados de búsqueda",matchingOptions:"opciones coincidentes en la configuración del proyecto.",options:"opciones",noOptionFound:"No se encontró ninguna opción",tryAnotherSearch:"Prueba con otro término de búsqueda.",currentValue:"Valor actual",configKey:"Clave de config",choices:"Opciones",hoverForHelp:"Pasa el cursor o tabula otra opción para actualizar este panel de ayuda.",pages:"Páginas",backToBoard:"Volver al tablero",matches:"Coincidencias",settingsTitle:"Ajustes",kickerInterface:"Interfaz",kickerAutomation:"Automatización",kickerIdentifiers:"Identificadores",kickerMetadata:"Metadatos"},oze={detected:"Conflicto detectado",detectedDesc:"Esta tarea fue modificada externamente mientras la editabas.",conflictingChanges:"La tarea <code>{{taskId}}</code> tiene cambios conflictivos. Elige cómo resolver:",yourVersion:"Tu versión (local)",diskVersion:"Versión del disco (remota)",cancel:"Cancelar",reloadFromDisk:"Recargar desde el disco",keepMyVersion:"Mantener mi versión",title:"Título",priority:"Prioridad",body:"Cuerpo",subtasks:"Subtareas",none:"(ninguno)"},cze={title:"Título",subtasks:"Subtarea",context:"Contexto",notes:"Notas",whatWasDone:"Qué se hizo",tags:"Etiquetas",assignee:"Asignado",priority:"Prioridad"},pze={settingsUpdatedExternally:"Ajustes actualizados externamente — recargados"},lze={en:"Inglés",fr:"Francés",zh:"Chino",es:"Español",pt:"Portugués",hi:"Hindi",de:"Alemán",it:"Italiano",nl:"Holandés",pl:"Polaco",uk:"Ucraniano",ro:"Rumano",sv:"Sueco",cs:"Checo",el:"Griego",hu:"Húngaro",fi:"Finés",da:"Danés",no:"Noruego",sk:"Eslovaco",bg:"Búlgaro",sr:"Serbio",hr:"Croata",lt:"Lituano",lv:"Letón",et:"Estonio",sl:"Esloveno",ar:"Árabe",bn:"Bengalí",ru:"Ruso",id:"Indonesio",ur:"Urdu",tr:"Turco",ja:"Japonés",vi:"Vietnamita",ko:"Coreano",fa:"Persa",pcm:"Pidgin nigeriano"},dze={app:KFe,common:YFe,emptyState:XFe,header:QFe,filterBar:JFe,column:eze,card:tze,drawer:nze,subtask:aze,commandPalette:ize,listView:rze,settings:sze,conflict:oze,sectionLabels:cze,toast:pze,languageNames:lze},uze={name:"kandown",tagline:"Gerenciador Kanban Markdown com IA"},mze={search:"Buscar",searchPlaceholder:"Buscar tarefas...",cancel:"Cancelar",save:"Salvar",delete:"Excluir",close:"Fechar",clear:"Limpar",clearAll:"Limpar tudo",add:"Adicionar",remove:"Remover",done:"Feito",loading:"Carregando...",noResults:"Sem resultados",currentValue:"Valor atual",configKey:"Chave de config",choices:"Opções",openFolder:"Abrir pasta",selectFolder:"Selecionar pasta",recent:"Recente",settings:"Configurações",board:"Quadro",reload:"Recarregar",newTask:"Nova tarefa"},fze={unsupportedBrowser:"Navegador não suportado",unsupportedBrowserDesc:"Este motor requer a <code>File System Access API</code>. Use Chrome, Edge, Brave ou Opera. Firefox e Safari ainda não suportam.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},gze={tasks:"tarefas",recentProjects:"Projetos recentes","openFolder...":"Abrir pasta..."},hze={searchPlaceholder:"Buscar tarefas...",clearAll:"Limpar tudo",ownerAll:"👤 Todos",ownerHuman:"👤 Humano",ownerAI:"🤖 IA"},bze={addTask:"Adicionar tarefa",columnColor:"Cor da coluna",color:"Cor"},vze={delete:"Excluir tarefa",confirmDelete:"Clique novamente para excluir"},yze={close:"Fechar (Esc)",taskTitle:"Título da tarefa",doneSubtasks:"feito",priority:"Prioridade",noPriority:"Sem prioridade",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Média · P3",lowP4:"Baixa · P4",assignee:"Atribuído a",assigneePlaceholder:"nome de usuário",tags:"Tags",tagsPlaceholder:"backend, segurança, api",dueDate:"Data de vencimento",owner:"Proprietário",unset:"Não definido",human:"👤 Humano",ai:"🤖 IA",tools:"Ferramentas",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descrição",descriptionPlaceholder:"Escreva contexto, links, decisões...",report:"Relatório",reportPlaceholder:"A saída da IA aparecerá aqui...",subtasks:"Subtarefas",addSubtask:"Adicionar subtarefa",deleteTask:"Excluir",saveClose:"Salvar e fechar",cancel:"Cancelar"},_ze={placeholder:"Subtarefa...",description:"Descrição",descriptionPlaceholder:"Adicione contexto, links ou notas para esta etapa...",report:"Relatório",reportPlaceholder:"O que foi feito, decisões tomadas, concessões...",aiFillsThis:"A IA preenche isso após completar",collapse:"Recolher",expand:"Expandir"},kze={placeholder:"Digite um comando ou pesquise...",actions:"Ações",view:"Visualização",tasks:"Tarefas",newTask:"Nova tarefa",createNew:"Criar uma nova tarefa",reloadBoard:"Recarregar quadro",readFromDisk:"Reler arquivos do disco",clearFilters:"Limpar filtros",boardView:"Visualização em quadro",listView:"Visualização em lista",compactDensity:"Densidade compacta",comfortableDensity:"Densidade confortável",navigate:"navegar",select:"selecionar"},wze={id:"ID",title:"Título",status:"Status",tags:"Tags",assignee:"Atribuído",progress:"Progresso",noMatchingTasks:"Nenhuma tarefa correspondente"},xze={noProjectOpen:"Nenhum projeto aberto",appearance:"Aparência",appearanceDesc:"Tema, skin, fundo, fonte e idioma.",agent:"Agente",agentDesc:"Comportamento de acompanhamento para trabalho de tarefas assistido por IA.",board:"Quadro",boardDesc:"Comportamento do ID da tarefa e padrões do quadro.",fields:"Campos",fieldsDesc:"Campos opcionais mostrados em tarefas e cartões do quadro.",language:"Idioma",languageDesc:"Idioma da UI armazenado na config do projeto.",mode:"Modo",modeDesc:"Segue automaticamente a preferência do sistema claro ou escuro.",auto:"Auto",light:"Claro",dark:"Escuro",skin:"Skin",skinDesc:"Os tokens de cor são armazenados por projeto em kandown.json.",background:"Fundo",backgroundDesc:"Escolha uma superfície plana ou um fundo líquido animado.",font:"Fonte",fontDesc:"Pilha de fontes do sistema local, sem solicitação de rede.",suggestFollowUp:"Sugerir tarefas de acompanhamento",suggestFollowUpDesc:"Pedir aos agentes que proponham próximas tarefas após terminar uma.",maxSuggestions:"Máx. sugestões",maxSuggestionsDesc:"Limita o número de tarefas de acompanhamento que um agente pode propor.",defaultPriority:"Prioridade padrão",defaultPriorityDesc:"Prioridade inicial para novas tarefas quando o campo Prioridade está habilitado.",defaultOwner:"Proprietário padrão",defaultOwnerDesc:"Proprietário inicial para novas tarefas quando o campo Proprietário está habilitado.",priority:"Prioridade",priorityDesc:"Habilitar metadados de prioridade nas tarefas.",assignee:"Atribuído a",assigneeDesc:"Habilitar metadados de atribuído nas tarefas.",tags:"Tags",tagsDesc:"Habilitar metadados de tags nas tarefas.",dueDate:"Data de vencimento",dueDateDesc:"Habilitar metadados de data de vencimento nas tarefas.",ownerType:"Tipo de proprietário",ownerTypeDesc:"Habilitar metadados de propriedade humano/IA nas tarefas.",tools:"Ferramentas",toolsDesc:"Habilitar dicas de ferramentas em formato livre para tarefas de agente IA.",searchPlaceholder:"Pesquisar qualquer opção",searchResults:"Resultados da pesquisa",searchResultsLabel:"Resultados da pesquisa",matchingOptions:"opções correspondentes nas configurações do projeto.",options:"opções",noOptionFound:"Nenhuma opção encontrada",tryAnotherSearch:"Tente outro termo de pesquisa.",currentValue:"Valor atual",configKey:"Chave de config",choices:"Opções",hoverForHelp:"Passe o mouse ou tabule outra opção para atualizar este painel de ajuda.",pages:"Páginas",backToBoard:"Voltar ao quadro",matches:"Correspondências",settingsTitle:"Configurações",kickerInterface:"Interface",kickerAutomation:"Automatização",kickerIdentifiers:"Identificadores",kickerMetadata:"Metadados"},Aze={detected:"Conflito detectado",detectedDesc:"Esta tarefa foi modificada externamente enquanto você a editava.",conflictingChanges:"A tarefa <code>{{taskId}}</code> tem alterações conflitantes. Escolha como resolver:",yourVersion:"Sua versão (local)",diskVersion:"Versão do disco (remota)",cancel:"Cancelar",reloadFromDisk:"Recarregar do disco",keepMyVersion:"Manter minha versão",title:"Título",priority:"Prioridade",body:"Corpo",subtasks:"Subtarefas",none:"(nenhum)"},Cze={title:"Título",subtasks:"Subtarefa",context:"Contexto",notes:"Notas",whatWasDone:"O que foi feito",tags:"Tags",assignee:"Atribuído",priority:"Prioridade"},Nze={settingsUpdatedExternally:"Configurações atualizadas externamente — recarregadas"},Sze={en:"Inglês",fr:"Francês",zh:"Chinês",es:"Espanhol",pt:"Português",hi:"Hindi",de:"Alemão",it:"Italiano",ja:"Japonês",ko:"Coreano",ru:"Russo",ar:"Árabe",nl:"Holandês",pl:"Polonês",tr:"Turco",vi:"Vietnamita",th:"Tailandês",id:"Indonésio",cs:"Tcheco",sv:"Sueco",da:"Dinamarquês",fi:"Finlandês",no:"Norueguês",hu:"Húngaro",el:"Grego",he:"Hebraico",uk:"Ucraniano"},$ze={app:uze,common:mze,emptyState:fze,header:gze,filterBar:hze,column:bze,card:vze,drawer:yze,subtask:_ze,commandPalette:kze,listView:wze,settings:xze,conflict:Aze,sectionLabels:Cze,toast:Nze,languageNames:Sze},Eze={name:"kandown",tagline:"AI मार्कडाउन कानबन प्रबंधक"},Pze={search:"खोजें",searchPlaceholder:"कार्य खोजें...",cancel:"रद्द करें",save:"सहेजें",delete:"हटाएं",close:"बंद करें",clear:"साफ़ करें",clearAll:"सब साफ़ करें",add:"जोड़ें",remove:"हटाएं",done:"हो गया",loading:"लोड हो रहा है...",noResults:"कोई परिणाम नहीं",currentValue:"वर्तमान मान",configKey:"कॉन्फ़िग कुंजी",choices:"विकल्प",openFolder:"फ़ोल्डर खोलें",selectFolder:"फ़ोल्डर चुनें",recent:"हाल का",settings:"सेटिंग्स",board:"बोर्ड",reload:"पुनः लोड करें",newTask:"नया कार्य"},Tze={unsupportedBrowser:"असमर्थित ब्राउज़र",unsupportedBrowserDesc:"इस इंजन को <code>File System Access API</code> की आवश्यकता है। Chrome, Edge, Brave या Opera का उपयोग करें। Firefox और Safari अभी तक इसका समर्थन नहीं करते।",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},Lze={tasks:"कार्य",recentProjects:"हाल की परियोजनाएं","openFolder...":"फ़ोल्डर खोलें..."},Mze={searchPlaceholder:"कार्य खोजें...",clearAll:"सब साफ़ करें",ownerAll:"👤 सभी",ownerHuman:"👤 मानव",ownerAI:"🤖 AI"},jze={addTask:"कार्य जोड़ें",columnColor:"कॉलम रंग",color:"रंग"},Dze={delete:"कार्य हटाएं",confirmDelete:"हटाने के लिए फिर से क्लिक करें"},Ize={close:"बंद करें (Esc)",taskTitle:"कार्य शीर्षक",doneSubtasks:"हो गया",priority:"प्राथमिकता",noPriority:"कोई प्राथमिकता नहीं",urgentP1:"अत्यावश्यक · P1",highP2:"उच्च · P2",mediumP3:"मध्यम · P3",lowP4:"निम्न · P4",assignee:"को सौंपा गया",assigneePlaceholder:"उपयोगकर्ता नाम",tags:"टैग",tagsPlaceholder:"बैकएंड, सुरक्षा, api",dueDate:"देय तिथि",owner:"मालिक",unset:"अनसेट",human:"👤 मानव",ai:"🤖 AI",tools:"उपकरण",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"विवरण",descriptionPlaceholder:"संदर्भ, लिंक, निर्णय लिखें...",report:"रिपोर्ट",reportPlaceholder:"AI आउटपुट यहां दिखाई देगा...",subtasks:"उप-कार्य",addSubtask:"उप-कार्य जोड़ें",deleteTask:"हटाएं",saveClose:"सहेजें और बंद करें",cancel:"रद्द करें"},Rze={placeholder:"उप-कार्य...",description:"विवरण",descriptionPlaceholder:"इस चरण के लिए संदर्भ, लिंक या नोट्स जोड़ें...",report:"रिपोर्ट",reportPlaceholder:"क्या किया गया, निर्णय लिए गए, समझौते...",aiFillsThis:"AI पूरा करने के बाद यह भरता है",collapse:"संक्षिप्त करें",expand:"विस्तार करें"},Oze={placeholder:"कमांड टाइप करें या खोजें...",actions:"क्रियाएं",view:"दृश्य",tasks:"कार्य",newTask:"नया कार्य",createNew:"एक नया कार्य बनाएं",reloadBoard:"बोर्ड पुनः लोड करें",readFromDisk:"डिस्क से फ़ाइलें पुनः पढ़ें",clearFilters:"फ़िल्टर साफ़ करें",boardView:"बोर्ड दृश्य",listView:"सूची दृश्य",compactDensity:"संक्षिप्त घनत्व",comfortableDensity:"आरामदायक घनत्व",navigate:"नेविगेट करें",select:"चुनें"},Fze={id:"ID",title:"शीर्षक",status:"स्थिति",tags:"टैग",assignee:"को सौंपा",progress:"प्रगति",noMatchingTasks:"कोई मिलान कार्य नहीं"},zze={noProjectOpen:"कोई परियोजना खुली नहीं",appearance:"रूप",appearanceDesc:"थीम, स्किन, पृष्ठभूमि, फ़ॉन्ट और भाषा।",agent:"एजेंट",agentDesc:"AI-सहायता कार्य कार्य के लिए अनुवर्ती व्यवहार।",board:"बोर्ड",boardDesc:"कार्य ID व्यवहार और बोर्ड-स्तरीय डिफ़ॉल्ट।",fields:"फ़ील्ड",fieldsDesc:"कार्यों और बोर्ड कार्ड पर दिखाए गए वैकल्पिक फ़ील्ड।",language:"भाषा",languageDesc:"UI भाषा इस परियोजना config में संग्रहीत है।",mode:"मोड",modeDesc:"सिस्टम के हल्के या गहरे प्राथमिकता का स्वतः अनुसरण करें।",auto:"स्वतः",light:"हल्का",dark:"गहरा",skin:"स्किन",skinDesc:"रंग टोकन प्रति परियोजना kandown.json में संग्रहीत हैं।",background:"पृष्ठभूमि",backgroundDesc:"एक सपाट सतह या एनिमेटेड तरल पृष्ठभूमि चुनें।",font:"फ़ॉन्ट",fontDesc:"स्थानीय सिस्टम फ़ॉन्ट स्टैक, बिना नेटवर्क अनुरोध के।",suggestFollowUp:"अनुवर्ती कार्य सुझाएं",suggestFollowUpDesc:"एक कार्य समाप्त करने के बाद एजेंटों से अगले कार्य सुझाने के लिए कहें।",maxSuggestions:"अधिकतम सुझाव",maxSuggestionsDesc:"एक एजेंट द्वारा प्रस्तावित अनुवर्ती कार्यों की संख्या को सीमित करें।",defaultPriority:"डिफ़ॉल्ट प्राथमिकता",defaultPriorityDesc:"प्राथमिकता फ़ील्ड सक्षम होने पर नए कार्यों के लिए प्रारंभिक प्राथमिकता।",defaultOwner:"डिफ़ॉल्ट मालिक",defaultOwnerDesc:"मालिक फ़ील्ड सक्षम होने पर नए कार्यों के लिए प्रारंभिक मालिक।",priority:"प्राथमिकता",priorityDesc:"कार्यों पर प्राथमिकता मेटाडेटा सक्षम करें।",assignee:"को सौंपा गया",assigneeDesc:"कार्यों पर सौंपे गए मेटाडेटा सक्षम करें।",tags:"टैग",tagsDesc:"कार्यों पर टैग मेटाडेटा सक्षम करें।",dueDate:"देय तिथि",dueDateDesc:"कार्यों पर देय तिथि मेटाडेटा सक्षम करें।",ownerType:"मालिक प्रकार",ownerTypeDesc:"कार्यों पर मानव/AI स्वामित्व मेटाडेटा सक्षम करें।",tools:"उपकरण",toolsDesc:"AI-एजेंट कार्यों के लिए मुक्त-रूप उपकरण संकेत सक्षम करें।",searchPlaceholder:"कोई भी विकल्प खोजें",searchResults:"खोज परिणाम",searchResultsLabel:"खोज परिणाम",matchingOptions:"परियोजना सेटिंग्स में मिलान विकल्प।",options:"विकल्प",noOptionFound:"कोई विकल्प नहीं मिला",tryAnotherSearch:"कोई अन्य खोज शब्द आज़माएं।",currentValue:"वर्तमान मान",configKey:"कॉन्फ़िग कुंजी",choices:"विकल्प",hoverForHelp:"इस सहायता पैनल को अपडेट करने के लिए होवर करें या दूसरे विकल्प पर टैब करें।",pages:"पृष्ठ",backToBoard:"बोर्ड पर वापस जाएं",matches:"मिलान",settingsTitle:"सेटिंग्स",kickerInterface:"इंटरफ़ेस",kickerAutomation:"स्वचालन",kickerIdentifiers:"पहचानकर्ता",kickerMetadata:"मेटाडेटा"},Hze={detected:"विरोधाभास का पता चला",detectedDesc:"यह कार्य आपके संपादन के दौरान बाहरी रूप से संशोधित किया गया था।",conflictingChanges:"कार्य <code>{{taskId}}</code> में विरोधाभासी परिवर्तन हैं। चुनें कि कैसे हल करें:",yourVersion:"आपका संस्करण (स्थानीय)",diskVersion:"डिस्क संस्करण (दूरस्थ)",cancel:"रद्द करें",reloadFromDisk:"डिस्क से पुनः लोड करें",keepMyVersion:"मेरा संस्करण रखें",title:"शीर्षक",priority:"प्राथमिकता",body:"शरीर",subtasks:"उप-कार्य",none:"(कोई नहीं)"},Bze={title:"शीर्षक",subtasks:"उप-कार्य",context:"संदर्भ",notes:"नोट्स",whatWasDone:"क्या किया गया",tags:"टैग",assignee:"को सौंपा",priority:"प्राथमिकता"},qze={settingsUpdatedExternally:"सेटिंग्स बाहरी रूप से अपडेट की गईं — पुनः लोड की गईं"},Uze={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"हिन्दी",de:"German",it:"Italian",ja:"Japanese",ko:"Korean",ru:"Russian",ar:"Arabic",nl:"Dutch",pl:"Polish",tr:"Turkish",vi:"Vietnamese",th:"Thai",id:"Indonesian",cs:"Czech",sv:"Swedish",da:"Danish",fi:"Finnish",no:"Norwegian",hu:"Hungarian",el:"Greek",he:"Hebrew",uk:"Ukrainian"},Vze={app:Eze,common:Pze,emptyState:Tze,header:Lze,filterBar:Mze,column:jze,card:Dze,drawer:Ize,subtask:Rze,commandPalette:Oze,listView:Fze,settings:zze,conflict:Hze,sectionLabels:Bze,toast:qze,languageNames:Uze},Zze={name:"kandown",tagline:"KI-gestützter Markdown-Kanban-Manager"},Gze={search:"Suchen",searchPlaceholder:"Aufgaben suchen...",cancel:"Abbrechen",save:"Speichern",delete:"Löschen",close:"Schließen",clear:"Leeren",clearAll:"Alles leeren",add:"Hinzufügen",remove:"Entfernen",done:"Erledigt",loading:"Laden...",noResults:"Keine Ergebnisse",currentValue:"Aktueller Wert",configKey:"Konfigschlüssel",choices:"Optionen",openFolder:"Ordner öffnen",selectFolder:"Ordner auswählen",recent:"Zuletzt",settings:"Einstellungen",board:"Board",reload:"Neu laden",newTask:"Neue Aufgabe"},Wze={unsupportedBrowser:"Nicht unterstützter Browser",unsupportedBrowserDesc:"Diese Engine benötigt die <code>File System Access API</code>. Verwenden Sie Chrome, Edge, Brave oder Opera. Firefox und Safari unterstützen diese noch nicht.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},Kze={tasks:"Aufgaben",recentProjects:"Letzte Projekte","openFolder...":"Ordner öffnen..."},Yze={searchPlaceholder:"Aufgaben suchen...",clearAll:"Alles leeren",ownerAll:"👤 Alle",ownerHuman:"👤 Mensch",ownerAI:"🤖 KI"},Xze={addTask:"Aufgabe hinzufügen",columnColor:"Spaltenfarbe",color:"Farbe"},Qze={delete:"Aufgabe löschen",confirmDelete:"Erneut klicken zum Löschen"},Jze={close:"Schließen (Esc)",taskTitle:"Aufgabentitel",doneSubtasks:"erledigt",priority:"Priorität",noPriority:"Keine Priorität",urgentP1:"Dringend · P1",highP2:"Hoch · P2",mediumP3:"Mittel · P3",lowP4:"Niedrig · P4",assignee:"Zugewiesen an",assigneePlaceholder:"Benutzername",tags:"Tags",tagsPlaceholder:"backend, sicherheit, api",dueDate:"Fälligkeitsdatum",owner:"Eigentümer",unset:"Nicht gesetzt",human:"👤 Mensch",ai:"🤖 KI",tools:"Werkzeuge",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beschreibung",descriptionPlaceholder:"Kontext, Links, Entscheidungen schreiben...",report:"Bericht",reportPlaceholder:"KI-Ausgabe erscheint hier...",subtasks:"Unteraufgaben",addSubtask:"Unteraufgabe hinzufügen",deleteTask:"Löschen",saveClose:"Speichern & Schließen",cancel:"Abbrechen"},eHe={placeholder:"Unteraufgabe...",description:"Beschreibung",descriptionPlaceholder:"Kontext, Links oder Notizen für diesen Schritt hinzufügen...",report:"Bericht",reportPlaceholder:"Was wurde getan, getroffene Entscheidungen, Kompromisse...",aiFillsThis:"KI füllt dies nach Abschluss aus",collapse:"Einklappen",expand:"Ausklappen"},tHe={placeholder:"Befehl eingeben oder suchen...",actions:"Aktionen",view:"Ansicht",tasks:"Aufgaben",newTask:"Neue Aufgabe",createNew:"Eine neue Aufgabe erstellen",reloadBoard:"Board neu laden",readFromDisk:"Dateien vom Disk erneut lesen",clearFilters:"Filter leeren",boardView:"Board-Ansicht",listView:"Listenansicht",compactDensity:"Kompakte Dichte",comfortableDensity:"Komfortable Dichte",navigate:"navigieren",select:"auswählen"},nHe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Zugewiesen",progress:"Fortschritt",noMatchingTasks:"Keine passenden Aufgaben"},aHe={noProjectOpen:"Kein Projekt geöffnet",appearance:"Aussehen",appearanceDesc:"Thema, Skin, Hintergrund, Schriftart und Sprache.",agent:"Agent",agentDesc:"Nachfolgeverhalten für KI-unterstützte Aufgabenarbeit.",board:"Board",boardDesc:"Aufgaben-ID-Verhalten und Board-Standardwerte.",fields:"Felder",fieldsDesc:"Optionale Felder, die auf Aufgaben und Board-Karten angezeigt werden.",language:"Sprache",languageDesc:"UI-Sprache in der Projektkonfiguration gespeichert.",mode:"Modus",modeDesc:"Folgt automatisch der hellen oder dunklen Systempräferenz.",auto:"Auto",light:"Hell",dark:"Dunkel",skin:"Skin",skinDesc:"Farbtokens werden pro Projekt in kandown.json gespeichert.",background:"Hintergrund",backgroundDesc:"Wählen Sie eine flache Oberfläche oder einen animierten Flüssigkeitshintergrund.",font:"Schriftart",fontDesc:"Lokaler System-Schriftart-Stack, ohne Netzwerkanfrage.",suggestFollowUp:"Folgeaufgaben vorschlagen",suggestFollowUpDesc:"Agenten bitten, nach dem Beenden einer Aufgabe weitere Aufgaben vorzuschlagen.",maxSuggestions:"Max. Vorschläge",maxSuggestionsDesc:"Begrenzt die Anzahl der Folgeaufgaben, die ein Agent vorschlagen kann.",defaultPriority:"Standardpriorität",defaultPriorityDesc:"Anfangspriorität für neue Aufgaben, wenn das Prioritätsfeld aktiviert ist.",defaultOwner:"Standardeigentümer",defaultOwnerDesc:"Standardbesitzer für neue Aufgaben, wenn das Eigentümerfeld aktiviert ist.",priority:"Priorität",priorityDesc:"Prioritätsmetadaten für Aufgaben aktivieren.",assignee:"Zugewiesen an",assigneeDesc:"Zuweisungsmetadaten für Aufgaben aktivieren.",tags:"Tags",tagsDesc:"Tag-Metadaten für Aufgaben aktivieren.",dueDate:"Fälligkeitsdatum",dueDateDesc:"Fälligkeitsdatum-Metadaten für Aufgaben aktivieren.",ownerType:"Eigentümertyp",ownerTypeDesc:"Metadaten für menschliche/KI-Besitz für Aufgaben aktivieren.",tools:"Werkzeuge",toolsDesc:"Freiform-Werkzeughinweise für KI-Agent-Aufgaben aktivieren.",searchPlaceholder:"Beliebige Option suchen",searchResults:"Suchergebnisse",searchResultsLabel:"Suchergebnisse",matchingOptions:"passende Optionen in den Projekteinstellungen.",options:"Optionen",noOptionFound:"Keine Option gefunden",tryAnotherSearch:"Versuchen Sie einen anderen Suchbegriff.",currentValue:"Aktueller Wert",configKey:"Konfigschlüssel",choices:"Optionen",hoverForHelp:"Mit der Maus darüberfahren oder auf eine andere Option tabben, um dieses Hilfefenster zu aktualisieren.",pages:"Seiten",backToBoard:"Zurück zum Board",matches:"Treffer",settingsTitle:"Einstellungen",kickerInterface:"Oberfläche",kickerAutomation:"Automatisierung",kickerIdentifiers:"Bezeichner",kickerMetadata:"Metadaten"},iHe={detected:"Konflikt erkannt",detectedDesc:"Diese Aufgabe wurde während Ihrer Bearbeitung extern geändert.",conflictingChanges:"Aufgabe <code>{{taskId}}</code> hat widersprüchliche Änderungen. Wählen Sie, wie Sie dies lösen möchten:",yourVersion:"Ihre Version (lokal)",diskVersion:"Diskversion (remote)",cancel:"Abbrechen",reloadFromDisk:"Vom Disk neu laden",keepMyVersion:"Meine Version behalten",title:"Titel",priority:"Priorität",body:"Inhalt",subtasks:"Unteraufgaben",none:"(keine)"},rHe={title:"Titel",subtasks:"Unteraufgabe",context:"Kontext",notes:"Notizen",whatWasDone:"Was wurde getan",tags:"Tags",assignee:"Zugewiesen",priority:"Priorität"},sHe={settingsUpdatedExternally:"Einstellungen extern aktualisiert — neu geladen"},oHe={en:"Englisch",fr:"Französisch",zh:"Chinesisch",es:"Spanisch",pt:"Portugiesisch",hi:"Hindi",de:"Deutsch",it:"Italienisch",ja:"Japanisch",ko:"Koreanisch",ru:"Russisch",ar:"Arabisch",nl:"Niederländisch",pl:"Polnisch",tr:"Türkisch",vi:"Vietnamesisch",th:"Thailändisch",id:"Indonesisch",cs:"Tschechisch",sv:"Schwedisch",da:"Dänisch",fi:"Finnisch",no:"Norwegisch",hu:"Ungarisch",el:"Griechisch",he:"Hebräisch",uk:"Ukrainisch"},cHe={app:Zze,common:Gze,emptyState:Wze,header:Kze,filterBar:Yze,column:Xze,card:Qze,drawer:Jze,subtask:eHe,commandPalette:tHe,listView:nHe,settings:aHe,conflict:iHe,sectionLabels:rHe,toast:sHe,languageNames:oHe},pHe={name:"kandown",tagline:"Gestore Kanban Markdown con IA"},lHe={search:"Cerca",searchPlaceholder:"Cerca attività...",cancel:"Annulla",save:"Salva",delete:"Elimina",close:"Chiudi",clear:"Svuota",clearAll:"Svuota tutto",add:"Aggiungi",remove:"Rimuovi",done:"Fatto",loading:"Caricamento...",noResults:"Nessun risultato",currentValue:"Valore attuale",configKey:"Chiave config",choices:"Scelte",openFolder:"Apri cartella",selectFolder:"Seleziona cartella",recent:"Recente",settings:"Impostazioni",board:"Lavagna",reload:"Ricarica",newTask:"Nuova attività"},dHe={unsupportedBrowser:"Browser non supportato",unsupportedBrowserDesc:"Questo motore richiede la <code>File System Access API</code>. Usa Chrome, Edge, Brave o Opera. Firefox e Safari non la supportano ancora.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},uHe={tasks:"attività",recentProjects:"Progetti recenti","openFolder...":"Apri cartella..."},mHe={searchPlaceholder:"Cerca attività...",clearAll:"Svuota tutto",ownerAll:"👤 Tutti",ownerHuman:"👤 Umano",ownerAI:"🤖 IA"},fHe={addTask:"Aggiungi attività",columnColor:"Colore colonna",color:"Colore"},gHe={delete:"Elimina attività",confirmDelete:"Clicca di nuovo per eliminare"},hHe={close:"Chiudi (Esc)",taskTitle:"Titolo attività",doneSubtasks:"fatto",priority:"Priorità",noPriority:"Nessuna priorità",urgentP1:"Urgente · P1",highP2:"Alta · P2",mediumP3:"Media · P3",lowP4:"Bassa · P4",assignee:"Assegnato a",assigneePlaceholder:"nome utente",tags:"Tag",tagsPlaceholder:"backend, sicurezza, api",dueDate:"Data di scadenza",owner:"Proprietario",unset:"Non impostato",human:"👤 Umano",ai:"🤖 IA",tools:"Strumenti",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Descrizione",descriptionPlaceholder:"Scrivi contesto, link, decisioni...",report:"Rapporto",reportPlaceholder:"L'output dell'IA apparirà qui...",subtasks:"Sottoattività",addSubtask:"Aggiungi sottoattività",deleteTask:"Elimina",saveClose:"Salva e chiudi",cancel:"Annulla"},bHe={placeholder:"Sottoattività...",description:"Descrizione",descriptionPlaceholder:"Aggiungi contesto, link o note per questo passaggio...",report:"Rapporto",reportPlaceholder:"Cosa è stato fatto, decisioni prese, compromessi...",aiFillsThis:"L'IA lo compila dopo il completamento",collapse:"Comprimi",expand:"Espandi"},vHe={placeholder:"Digita un comando o cerca...",actions:"Azioni",view:"Vista",tasks:"Attività",newTask:"Nuova attività",createNew:"Crea una nuova attività",reloadBoard:"Ricarica lavagna",readFromDisk:"Rileggi file dal disco",clearFilters:"Svuota filtri",boardView:"Vista lavagna",listView:"Vista lista",compactDensity:"Densità compatta",comfortableDensity:"Densità confortevole",navigate:"naviga",select:"seleziona"},yHe={id:"ID",title:"Titolo",status:"Stato",tags:"Tag",assignee:"Assegnato",progress:"Progresso",noMatchingTasks:"Nessuna attività corrispondente"},_He={noProjectOpen:"Nessun progetto aperto",appearance:"Aspetto",appearanceDesc:"Tema, skin, sfondo, font e lingua.",agent:"Agente",agentDesc:"Comportamento di follow-up per il lavoro di attività assistito dall'IA.",board:"Lavagna",boardDesc:"Comportamento dell'ID attività e impostazioni predefinite della lavagna.",fields:"Campi",fieldsDesc:"Campi opzionali mostrati su attività e schede della lavagna.",language:"Lingua",languageDesc:"Lingua dell'UI memorizzata nella config del progetto.",mode:"Modalità",modeDesc:"Segue automaticamente la preferenza chiara o scura del sistema.",auto:"Auto",light:"Chiaro",dark:"Scuro",skin:"Skin",skinDesc:"I token di colore sono memorizzati per progetto in kandown.json.",background:"Sfondo",backgroundDesc:"Scegli una superficie piatta o uno sfondo liquido animato.",font:"Font",fontDesc:"Stack di font di sistema locali, senza richiesta di rete.",suggestFollowUp:"Suggerisci attività di follow-up",suggestFollowUpDesc:"Chiedi agli agenti di proporre attività successive dopo averne completata una.",maxSuggestions:"Max suggerimenti",maxSuggestionsDesc:"Limita il numero di attività di follow-up che un agente può proporre.",defaultPriority:"Priorità predefinita",defaultPriorityDesc:"Priorità iniziale per nuove attività quando il campo Priorità è abilitato.",defaultOwner:"Proprietario predefinito",defaultOwnerDesc:"Proprietario iniziale per nuove attività quando il campo Proprietario è abilitato.",priority:"Priorità",priorityDesc:"Abilita metadati di priorità sulle attività.",assignee:"Assegnato a",assigneeDesc:"Abilita metadati di assegnazione sulle attività.",tags:"Tag",tagsDesc:"Abilita metadati di tag sulle attività.",dueDate:"Data di scadenza",dueDateDesc:"Abilita metadati di data di scadenza sulle attività.",ownerType:"Tipo di proprietario",ownerTypeDesc:"Abilita metadati di proprietà umano/IA sulle attività.",tools:"Strumenti",toolsDesc:"Abilita suggerimenti di strumenti in forma libera per attività di agente IA.",searchPlaceholder:"Cerca qualsiasi opzione",searchResults:"Risultati della ricerca",searchResultsLabel:"Risultati della ricerca",matchingOptions:"opzioni corrispondenti nelle impostazioni del progetto.",options:"opzioni",noOptionFound:"Nessuna opzione trovata",tryAnotherSearch:"Prova un altro termine di ricerca.",currentValue:"Valore attuale",configKey:"Chiave config",choices:"Scelte",hoverForHelp:"Passa il mouse o vai su un'altra opzione per aggiornare questo pannello di aiuto.",pages:"Pagine",backToBoard:"Torna alla lavagna",matches:"Corrispondenze",settingsTitle:"Impostazioni",kickerInterface:"Interfaccia",kickerAutomation:"Automazione",kickerIdentifiers:"Identificatori",kickerMetadata:"Metadati"},kHe={detected:"Conflitto rilevato",detectedDesc:"Questa attività è stata modificata esternamente mentre la modificavi.",conflictingChanges:"L'attività <code>{{taskId}}</code> ha modifiche conflittuali. Scegli come risolvere:",yourVersion:"La tua versione (locale)",diskVersion:"Versione del disco (remota)",cancel:"Annulla",reloadFromDisk:"Ricarica dal disco",keepMyVersion:"Mantieni la mia versione",title:"Titolo",priority:"Priorità",body:"Corpo",subtasks:"Sottoattività",none:"(nessuna)"},wHe={title:"Titolo",subtasks:"Sottoattività",context:"Contesto",notes:"Note",whatWasDone:"Cosa è stato fatto",tags:"Tag",assignee:"Assegnato",priority:"Priorità"},xHe={settingsUpdatedExternally:"Impostazioni aggiornate esternamente — ricaricate"},AHe={en:"Inglese",fr:"Francese",zh:"Cinese",es:"Spagnolo",pt:"Portoghese",hi:"Hindi",de:"Tedesco",it:"Italiano",ja:"Giapponese",ko:"Coreano",ru:"Russo",ar:"Arabo",nl:"Olandese",pl:"Polacco",tr:"Turco",vi:"Vietnamita",th:"Tailandese",id:"Indonesiano",cs:"Ceco",sv:"Svedese",da:"Danese",fi:"Finlandese",no:"Norvegese",hu:"Ungherese",el:"Greco",he:"Ebraico",uk:"Ucraino"},CHe={app:pHe,common:lHe,emptyState:dHe,header:uHe,filterBar:mHe,column:fHe,card:gHe,drawer:hHe,subtask:bHe,commandPalette:vHe,listView:yHe,settings:_He,conflict:kHe,sectionLabels:wHe,toast:xHe,languageNames:AHe},NHe={name:"kandown",tagline:"AI Markdown Kanban Manager"},SHe={search:"Zoeken",searchPlaceholder:"Taken zoeken...",cancel:"Annuleren",save:"Opslaan",delete:"Verwijderen",close:"Sluiten",clear:"Wissen",clearAll:"Alles wissen",add:"Toevoegen",remove:"Verwijderen",done:"Klaar",loading:"Laden...",noResults:"Geen resultaten",currentValue:"Huidige waarde",configKey:"Configuratiesleutel",choices:"Keuzes",openFolder:"Map openen",selectFolder:"Map selecteren",recent:"Recent",settings:"Instellingen",board:"Board",reload:"Herladen",newTask:"Nieuwe taak"},$He={unsupportedBrowser:"Niet-ondersteunde browser",unsupportedBrowserDesc:"Deze engine vereist de <code>File System Access API</code>. Gebruik Chrome, Edge, Brave of Opera. Firefox en Safari worden nog niet ondersteund.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},EHe={tasks:"taken",recentProjects:"Recente projecten","openFolder...":"Map openen..."},PHe={searchPlaceholder:"Taken zoeken...",clearAll:"Alles wissen",ownerAll:"👤 Alle",ownerHuman:"👤 Mens",ownerAI:"🤖 AI"},THe={addTask:"Taak toevoegen",columnColor:"Kolomkleur",color:"Kleur"},LHe={delete:"Taak verwijderen",confirmDelete:"Klik nogmaals om te verwijderen"},MHe={close:"Sluiten (Esc)",taskTitle:"Taaktitel",doneSubtasks:"klaar",priority:"Prioriteit",noPriority:"Geen prioriteit",urgentP1:"Urgent · P1",highP2:"Hoog · P2",mediumP3:"Medium · P3",lowP4:"Laag · P4",assignee:"Toegewezen aan",assigneePlaceholder:"gebruikersnaam",tags:"Tags",tagsPlaceholder:"backend, beveiliging, api",dueDate:"Einddatum",owner:"Eigenaar",unset:"Niet ingesteld",human:"👤 Mens",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"bestandssysteem, cli, websearch, browser...",description:"Beschrijving",descriptionPlaceholder:"Schrijf context, links, beslissingen...",report:"Rapport",reportPlaceholder:"AI-uitvoer verschijnt hier...",subtasks:"Subtaken",addSubtask:"Subtaak toevoegen",deleteTask:"Verwijderen",saveClose:"Opslaan & Sluiten",cancel:"Annuleren"},jHe={placeholder:"Subtaak...",description:"Beschrijving",descriptionPlaceholder:"Voeg context, links of notities toe voor deze stap...",report:"Rapport",reportPlaceholder:"Wat is gedaan, beslissingen genomen, afwegingen...",aiFillsThis:"AI vult dit in na voltooiing",collapse:"Inklappen",expand:"Uitklappen"},DHe={placeholder:"Typ een commando of zoek...",actions:"Acties",view:"Weergave",tasks:"Taken",newTask:"Nieuwe taak",createNew:"Maak een nieuwe taak",reloadBoard:"Board herladen",readFromDisk:"Bestanden opnieuw van schijf lezen",clearFilters:"Filters wissen",boardView:"Board-weergave",listView:"Lijstweergave",compactDensity:"Compacte dichtheid",comfortableDensity:"Comfortabele dichtheid",navigate:"navigeer",select:"selecteer"},IHe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Toegewezen aan",progress:"Voortgang",noMatchingTasks:"Geen overeenkomende taken"},RHe={noProjectOpen:"Geen project geopend",appearance:"Uiterlijk",appearanceDesc:"Thema, skin, achtergrond, lettertype en taal.",agent:"Agent",agentDesc:"Follow-up gedrag voor door AI ondersteunde taakuitvoering.",board:"Board",boardDesc:"Gedrag van taak-IDs en board-brede standaardwaarden.",fields:"Velden",fieldsDesc:"Optionele velden getoond bij taken en board-kaarten.",language:"Taal",languageDesc:"UI-taal opgeslagen in de projectconfiguratie.",mode:"Modus",modeDesc:"Volgt automatisch je systeemvoorkeur voor licht of donker.",auto:"Auto",light:"Licht",dark:"Donker",skin:"Skin",skinDesc:"Kleurtokens worden per project opgeslagen in kandown.json.",background:"Achtergrond",backgroundDesc:"Kies een effen oppervlak of een geanimeerde vloeibare achtergrond.",font:"Lettertype",fontDesc:"Lokaal lettertype van het systeem, zonder netwerkaanvraag.",suggestFollowUp:"Follow-up taken voorstellen",suggestFollowUpDesc:"Vraag agents om next taken voor te stellen na het afronden van één.",maxSuggestions:"Max suggesties",maxSuggestionsDesc:"Beperkt het aantal follow-up taken dat een agent kan voorstellen.",defaultPriority:"Standaard prioriteit",defaultPriorityDesc:"Initiële prioriteit voor nieuwe taken wanneer het Prioriteit-veld is ingeschakeld.",defaultOwner:"Standaard eigenaar",defaultOwnerDesc:"Initiële eigenaar voor nieuwe taken wanneer het Eigenaar-veld is ingeschakeld.",priority:"Prioriteit",priorityDesc:"Schakel prioriteitsmetagegevens in voor taken.",assignee:"Toegewezen aan",assigneeDesc:"Schakel toegewezen-metagegevens in voor taken.",tags:"Tags",tagsDesc:"Schakel tag-metagegevens in voor taken.",dueDate:"Einddatum",dueDateDesc:"Schakel einddatum-metagegevens in voor taken.",ownerType:"Eigenaarstype",ownerTypeDesc:"Schakel mens/AI-eigenaarsmetagegevens in voor taken.",tools:"Tools",toolsDesc:"Schakel vrije tool-hints in voor AI-agent taken.",searchPlaceholder:"Zoek elke optie",searchResults:"Zoekresultaten",searchResultsLabel:"Zoekresultaten",matchingOptions:"overeenkomende opties in projectinstellingen.",options:"opties",noOptionFound:"Geen optie gevonden",tryAnotherSearch:"Probeer een andere zoekterm.",currentValue:"Huidige waarde",configKey:"Configuratiesleutel",choices:"Keuzes",hoverForHelp:"Beweeg of tab door een andere optie om dit helppaneel bij te werken.",pages:"Pagina's",backToBoard:"Terug naar board",matches:"Overeenkomsten",settingsTitle:"Instellingen",kickerInterface:"Interface",kickerAutomation:"Automatisering",kickerIdentifiers:"Identificatoren",kickerMetadata:"Metagegevens"},OHe={detected:"Conflict Gedetecteerd",detectedDesc:"Deze taak is extern gewijzigd terwijl je aan het bewerken was.",conflictingChanges:"Taak <code>{{taskId}}</code> heeft tegenstrijdige wijzigingen. Kies hoe op te lossen:",yourVersion:"Jouw versie (lokaal)",diskVersion:"Schijfversie (extern)",cancel:"Annuleren",reloadFromDisk:"Herladen van schijf",keepMyVersion:"Houd mijn versie",title:"Titel",priority:"Prioriteit",body:"Inhoud",subtasks:"Subtaken",none:"(geen)"},FHe={title:"Titel",subtasks:"Subtaak",context:"Context",notes:"Notities",whatWasDone:"Wat is gedaan",tags:"Tags",assignee:"Toegewezen aan",priority:"Prioriteit"},zHe={settingsUpdatedExternally:"Instellingen extern bijgewerkt — herladen"},HHe={en:"Engels",fr:"Frans",zh:"Chinees",es:"Spaans",pt:"Portugees",hi:"Hindi",de:"Duits",it:"Italiaans",nl:"Nederlands",pl:"Pools",uk:"Oekraïens",ro:"Roemeens"},BHe={app:NHe,common:SHe,emptyState:$He,header:EHe,filterBar:PHe,column:THe,card:LHe,drawer:MHe,subtask:jHe,commandPalette:DHe,listView:IHe,settings:RHe,conflict:OHe,sectionLabels:FHe,toast:zHe,languageNames:HHe},qHe={name:"kandown",tagline:"AI Markdown Kanban Manager"},UHe={search:"Szukaj",searchPlaceholder:"Szukaj zadań...",cancel:"Anuluj",save:"Zapisz",delete:"Usuń",close:"Zamknij",clear:"Wyczyść",clearAll:"Wyczyść wszystko",add:"Dodaj",remove:"Usuń",done:"Gotowe",loading:"Ładowanie...",noResults:"Brak wyników",currentValue:"Aktualna wartość",configKey:"Klucz konfiguracji",choices:"Wybory",openFolder:"Otwórz folder",selectFolder:"Wybierz folder",recent:"Ostatnie",settings:"Ustawienia",board:"Tablica",reload:"Przeładuj",newTask:"Nowe zadanie"},VHe={unsupportedBrowser:"Nieobsługiwana przeglądarka",unsupportedBrowserDesc:"Ta silnik wymaga <code>File System Access API</code>. Użyj Chrome, Edge, Brave lub Opera. Firefox i Safari jeszcze nie obsługują tej funkcji.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},ZHe={tasks:"zadania",recentProjects:"Ostatnie projekty","openFolder...":"Otwórz folder..."},GHe={searchPlaceholder:"Szukaj zadań...",clearAll:"Wyczyść wszystko",ownerAll:"👤 Wszyscy",ownerHuman:"👤 Człowiek",ownerAI:"🤖 AI"},WHe={addTask:"Dodaj zadanie",columnColor:"Kolor kolumny",color:"Kolor"},KHe={delete:"Usuń zadanie",confirmDelete:"Kliknij ponownie, aby usunąć"},YHe={close:"Zamknij (Esc)",taskTitle:"Tytuł zadania",doneSubtasks:"wykonane",priority:"Priorytet",noPriority:"Brak priorytetu",urgentP1:"Pilne · P1",highP2:"Wysoki · P2",mediumP3:"Średni · P3",lowP4:"Niski · P4",assignee:"Przypisana osoba",assigneePlaceholder:"nazwa użytkownika",tags:"Tagi",tagsPlaceholder:"backend, bezpieczeństwo, api",dueDate:"Termin",owner:"Właściciel",unset:"Nie ustawiono",human:"👤 Człowiek",ai:"🤖 AI",tools:"Narzędzia",toolsPlaceholder:"system plików, cli, wyszukiwanie, przeglądarka...",description:"Opis",descriptionPlaceholder:"Napisz kontekst, linki, decyzje...",report:"Raport",reportPlaceholder:"Wynik AI pojawi się tutaj...",subtasks:"Podzadania",addSubtask:"Dodaj podzadanie",deleteTask:"Usuń",saveClose:"Zapisz i zamknij",cancel:"Anuluj"},XHe={placeholder:"Podzadanie...",description:"Opis",descriptionPlaceholder:"Dodaj kontekst, linki lub notatki do tego kroku...",report:"Raport",reportPlaceholder:"Co zostało zrobione, podjęte decyzje, kompromisy...",aiFillsThis:"AI wypełnia to po zakończeniu",collapse:"Zwiń",expand:"Rozwiń"},QHe={placeholder:"Wpisz polecenie lub szukaj...",actions:"Akcje",view:"Widok",tasks:"Zadania",newTask:"Nowe zadanie",createNew:"Utwórz nowe zadanie",reloadBoard:"Przeładuj tablicę",readFromDisk:"Odczytaj pliki z dysku",clearFilters:"Wyczyść filtry",boardView:"Widok tablicy",listView:"Widok listy",compactDensity:"Kompaktowa gęstość",comfortableDensity:"Komfortowa gęstość",navigate:"nawiguj",select:"wybierz"},JHe={id:"ID",title:"Tytuł",status:"Status",tags:"Tagi",assignee:"Przypisana osoba",progress:"Postęp",noMatchingTasks:"Brak pasujących zadań"},eBe={noProjectOpen:"Żaden projekt nie jest otwarty",appearance:"Wygląd",appearanceDesc:"Motyw, skóra, tło, czcionka i język.",agent:"Agent",agentDesc:"Zachowanie follow-up dla zadań wspomaganych przez AI.",board:"Tablica",boardDesc:"Zachowanie ID zadań i domyślne ustawienia na poziomie tablicy.",fields:"Pola",fieldsDesc:"Opcjonalne pola wyświetlane na zadaniach i kartach tablicy.",language:"Język",languageDesc:"Język interfejsu użytkownika przechowywany w konfiguracji projektu.",mode:"Tryb",modeDesc:"Automatycznie podąża za preferencją systemu dotyczącą jasnego lub ciemnego motywu.",auto:"Auto",light:"Jasny",dark:"Ciemny",skin:"Skóra",skinDesc:"Tokeny kolorów są przechowywane dla każdego projektu w kandown.json.",background:"Tło",backgroundDesc:"Wybierz płaską powierzchnię lub animowane płynne tło.",font:"Czcionka",fontDesc:"Lokalny stos czcionek systemowych, bez żądania sieciowego.",suggestFollowUp:"Proponuj zadania follow-up",suggestFollowUpDesc:"Poproś agentów o proponowanie następnych zadań po zakończeniu jednego.",maxSuggestions:"Maks. sugestii",maxSuggestionsDesc:"Ogranicza liczbę zadań follow-up, które agent może zaproponować.",defaultPriority:"Domyślny priorytet",defaultPriorityDesc:"Początkowy priorytet dla nowych zadań, gdy pole Priorytet jest włączone.",defaultOwner:"Domyślny właściciel",defaultOwnerDesc:"Początkowy właściciel dla nowych zadań, gdy pole Właściciel jest włączone.",priority:"Priorytet",priorityDesc:"Włącz metadane priorytetu na zadaniach.",assignee:"Przypisana osoba",assigneeDesc:"Włącz metadane przypisanej osoby na zadaniach.",tags:"Tagi",tagsDesc:"Włącz metadane tagów na zadaniach.",dueDate:"Termin",dueDateDesc:"Włącz metadane terminu na zadaniach.",ownerType:"Typ właściciela",ownerTypeDesc:"Włącz metadane typu właściciela (człowiek/AI) na zadaniach.",tools:"Narzędzia",toolsDesc:"Włącz wskazówki dotyczące narzędzi dla zadań agenta AI.",searchPlaceholder:"Szukaj opcji",searchResults:"Wyniki wyszukiwania",searchResultsLabel:"Wyniki wyszukiwania",matchingOptions:"pasujących opcji w ustawieniach projektu.",options:"opcji",noOptionFound:"Nie znaleziono opcji",tryAnotherSearch:"Spróbuj innego wyszukiwania.",currentValue:"Aktualna wartość",configKey:"Klucz konfiguracji",choices:"Wybory",hoverForHelp:"Najedź lub przełącz się do innej opcji, aby zaktualizować ten panel pomocy.",pages:"Strony",backToBoard:"Wróć do tablicy",matches:"Dopasowania",settingsTitle:"Ustawienia",kickerInterface:"Interfejs",kickerAutomation:"Automatyzacja",kickerIdentifiers:"Identyfikatory",kickerMetadata:"Metadane"},tBe={detected:"Wykryto konflikt",detectedDesc:"To zadanie zostało zmodyfikowane zewnętrznie podczas edycji.",conflictingChanges:"Zadanie <code>{{taskId}}</code> ma sprzeczne zmiany. Wybierz, jak rozwiązać:",yourVersion:"Twoja wersja (lokalna)",diskVersion:"Wersja dyskowa (zdalna)",cancel:"Anuluj",reloadFromDisk:"Przeładuj z dysku",keepMyVersion:"Zachowaj moją wersję",title:"Tytuł",priority:"Priorytet",body:"Treść",subtasks:"Podzadania",none:"(brak)"},nBe={title:"Tytuł",subtasks:"Podzadanie",context:"Kontekst",notes:"Notatki",whatWasDone:"Co zostało zrobione",tags:"Tagi",assignee:"Przypisana osoba",priority:"Priorytet"},aBe={settingsUpdatedExternally:"Ustawienia zaktualizowane zewnętrznie — przeładowano"},iBe={en:"Angielski",fr:"Francuski",zh:"Chiński",es:"Hiszpański",pt:"Portugalski",hi:"Hindi",de:"Niemiecki",it:"Włoski",nl:"Holenderski",pl:"Polski",uk:"Ukraiński",ro:"Rumuński"},rBe={app:qHe,common:UHe,emptyState:VHe,header:ZHe,filterBar:GHe,column:WHe,card:KHe,drawer:YHe,subtask:XHe,commandPalette:QHe,listView:JHe,settings:eBe,conflict:tBe,sectionLabels:nBe,toast:aBe,languageNames:iBe},sBe={name:"kandown",tagline:"AI Markdown Kanban Manager"},oBe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},cBe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},pBe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},lBe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},dBe={addTask:"Add task",columnColor:"Column color",color:"Color"},uBe={delete:"Delete task",confirmDelete:"Click again to delete"},mBe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},fBe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},gBe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},hBe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},bBe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},vBe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},yBe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},_Be={settingsUpdatedExternally:"Settings updated externally — reloaded"},kBe={en:"Англійська",fr:"Французька",zh:"Китайська",es:"Іспанська",pt:"Португальська",hi:"Хінді",de:"Німецька",it:"Італійська",nl:"Нідерландська",pl:"Польська",uk:"Українська",ro:"Румунська"},wBe={app:sBe,common:oBe,emptyState:cBe,header:pBe,filterBar:lBe,column:dBe,card:uBe,drawer:mBe,subtask:fBe,commandPalette:gBe,listView:hBe,settings:bBe,conflict:vBe,sectionLabels:yBe,toast:_Be,languageNames:kBe},xBe={name:"kandown",tagline:"AI Markdown Kanban Manager"},ABe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},CBe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},NBe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},SBe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},$Be={addTask:"Add task",columnColor:"Column color",color:"Color"},EBe={delete:"Delete task",confirmDelete:"Click again to delete"},PBe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},TBe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},LBe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},MBe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},jBe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},DBe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},IBe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},RBe={settingsUpdatedExternally:"Settings updated externally — reloaded"},OBe={en:"Engleză",fr:"Franceză",zh:"Chineză",es:"Spaniolă",pt:"Portugheză",hi:"Hindi",de:"Germană",it:"Italiană",nl:"Olandeză",pl:"Poloneză",uk:"Ucraineană",ro:"Română"},FBe={app:xBe,common:ABe,emptyState:CBe,header:NBe,filterBar:SBe,column:$Be,card:EBe,drawer:PBe,subtask:TBe,commandPalette:LBe,listView:MBe,settings:jBe,conflict:DBe,sectionLabels:IBe,toast:RBe,languageNames:OBe},zBe={name:"kandown",tagline:"AI Markdown Kanban-hanterare"},HBe={search:"Sök",searchPlaceholder:"Sök uppgifter...",cancel:"Avbryt",save:"Spara",delete:"Ta bort",close:"Stäng",clear:"Rensa",clearAll:"Rensa allt",add:"Lägg till",remove:"Ta bort",done:"Klart",loading:"Laddar...",noResults:"Inga resultat",currentValue:"Aktuellt värde",configKey:"Konfigurationsnyckel",choices:"Val",openFolder:"Öppna mapp",selectFolder:"Välj mapp",recent:"Senaste",settings:"Inställningar",board:"Styrning",reload:"Ladda om",newTask:"Ny uppgift"},BBe={unsupportedBrowser:"Webbläsaren stöds inte",unsupportedBrowserDesc:"Den här motorn kräver <code>File System Access API</code>. Använd Chrome, Edge, Brave eller Opera. Firefox och Safari stöds ännu inte.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},qBe={tasks:"uppgifter",recentProjects:"Senaste projekt","openFolder...":"Öppna mapp..."},UBe={searchPlaceholder:"Sök uppgifter...",clearAll:"Rensa allt",ownerAll:"👤 Alla",ownerHuman:"👤 Människa",ownerAI:"🤖 AI"},VBe={addTask:"Lägg till uppgift",columnColor:"Kolumnfärg",color:"Färg"},ZBe={delete:"Ta bort uppgift",confirmDelete:"Klicka igen för att ta bort"},GBe={close:"Stäng (Esc)",taskTitle:"Uppgiftstitel",doneSubtasks:"klart",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Brådskande · P1",highP2:"Hög · P2",mediumP3:"Medel · P3",lowP4:"Låg · P4",assignee:"Tilldelad",assigneePlaceholder:"användarnamn",tags:"Taggar",tagsPlaceholder:"backend, säkerhet, api",dueDate:"Förfallodatum",owner:"Ägare",unset:"Ej inställd",human:"👤 Människa",ai:"🤖 AI",tools:"Verktyg",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivning",descriptionPlaceholder:"Skriv lite kontext, länkar, beslut...",report:"Rapport",reportPlaceholder:"AI-utdata visas här...",subtasks:"Delauppgifter",addSubtask:"Lägg till delauppgift",deleteTask:"Ta bort",saveClose:"Spara & Stäng",cancel:"Avbryt"},WBe={placeholder:"Delauppgift...",description:"Beskrivning",descriptionPlaceholder:"Lägg till kontext, länkar eller anteckningar för det här steget...",report:"Rapport",reportPlaceholder:"Vad som gjordes, beslut som fattades, avvägningar...",aiFillsThis:"AI fyller i detta efter att ha slutfört",collapse:"Minimera",expand:"Expandera"},KBe={placeholder:"Skriv ett kommando eller sök...",actions:"Åtgärder",view:"Vy",tasks:"Uppgifter",newTask:"Ny uppgift",createNew:"Skapa en ny uppgift",reloadBoard:"Ladda om styret",readFromDisk:"Läs filer från disk",clearFilters:"Rensa filter",boardView:"Styrvy",listView:"Listvy",compactDensity:"Kompakt täthet",comfortableDensity:"Bekväm täthet",navigate:"navigera",select:"välj"},YBe={id:"ID",title:"Titel",status:"Status",tags:"Taggar",assignee:"Tilldelad",progress:"Framsteg",noMatchingTasks:"Inga matchande uppgifter"},XBe={noProjectOpen:"Inget projekt öppet",appearance:"Utseende",appearanceDesc:"Tema, skinn, bakgrund, typsnitt och språk.",agent:"Agent",agentDesc:"Uppföljningsbeteende för AI-assisterat uppgiftsarbete.",board:"Styrning",boardDesc:"Uppgifts-ID-beteende och standardvärden för styret.",fields:"Fält",fieldsDesc:"Valfria fält som visas på uppgifter och kort.",language:"Språk",languageDesc:"UI-språk lagrat i projektkonfigurationen.",mode:"Läge",modeDesc:"Följer automatiskt ditt systems ljusa eller mörka preferens.",auto:"Auto",light:"Ljust",dark:"Mörkt",skin:"Skinn",skinDesc:"Färgtokens lagras per projekt i kandown.json.",background:"Bakgrund",backgroundDesc:"Välj en platt yta eller animerad flytande bakgrund.",font:"Typsnitt",fontDesc:"Lokal systemtypsnittstack, utan nätverksförfrågan.",suggestFollowUp:"Föreslå uppföljningsuppgifter",suggestFollowUpDesc:"Be agenter att föreslå nästa uppgifter efter att en är klar.",maxSuggestions:"Max förslag",maxSuggestionsDesc:"Begränsar antalet uppföljningsuppgifter en agent kan föreslå.",defaultPriority:"Standardprioritet",defaultPriorityDesc:"Initial prioritet för nya uppgifter när prioritetsfältet är aktiverat.",defaultOwner:"Standardägare",defaultOwnerDesc:"Initial ägare för nya uppgifter när ägarfältet är aktiverat.",priority:"Prioritet",priorityDesc:"Aktivera prioritetsmetadata på uppgifter.",assignee:"Tilldelad",assigneeDesc:"Aktivera tilldelningsmetadata på uppgifter.",tags:"Taggar",tagsDesc:"Aktivera taggmetadata på uppgifter.",dueDate:"Förfallodatum",dueDateDesc:"Aktivera förfallodatummetadata på uppgifter.",ownerType:"Ägartyp",ownerTypeDesc:"Aktivera människa/AI-ägarskapsmetadata på uppgifter.",tools:"Verktyg",toolsDesc:"Aktivera fria verktygstips för AI-agentuppgifter.",searchPlaceholder:"Sök efter ett alternativ",searchResults:"Sökresultat",searchResultsLabel:"Sökresultat",matchingOptions:"matchande alternativ i projektinställningarna.",options:"alternativ",noOptionFound:"Inget alternativ hittades",tryAnotherSearch:"Försök med en annan sökterm.",currentValue:"Aktuellt värde",configKey:"Konfigurationsnyckel",choices:"Val",hoverForHelp:"Hovra eller tabba genom ett annat alternativ för att uppdatera den här hjälpanvisningen.",pages:"Sidor",backToBoard:"Tillbaka till styret",matches:"Träffar",settingsTitle:"Inställningar",kickerInterface:"Gränssnitt",kickerAutomation:"Automatisering",kickerIdentifiers:"Identifierare",kickerMetadata:"Metadata"},QBe={detected:"Konflikt upptäckt",detectedDesc:"Den här uppgiften modifierades externt medan du redigerade.",conflictingChanges:"Uppgift <code>{{taskId}}</code> har motstridiga ändringar. Välj hur du vill lösa det:",yourVersion:"Din version (lokal)",diskVersion:"Diskversion (fjärr)",cancel:"Avbryt",reloadFromDisk:"Ladda om från disk",keepMyVersion:"Behåll min version",title:"Titel",priority:"Prioritet",body:"Innehåll",subtasks:"Delauppgifter",none:"(ingen)"},JBe={title:"Titel",subtasks:"Delauppgift",context:"Kontext",notes:"Anteckningar",whatWasDone:"Vad som gjordes",tags:"Taggar",assignee:"Tilldelad",priority:"Prioritet"},eqe={settingsUpdatedExternally:"Inställningar uppdaterades externt — omladdade"},tqe={en:"Engelska",fr:"Franska",zh:"Kinesiska",es:"Spanska",pt:"Portugisiska",hi:"Hindi",de:"Tyska",it:"Italienska",ja:"Japanska",ko:"Koreanska",ru:"Ryska",ar:"Arabiska",nl:"Nederländska",pl:"Polska",tr:"Turkiska",vi:"Vietnamesiska",th:"Thailändska",id:"Indonesiska",cs:"Tjeckiska",sv:"Svenska",da:"Danska",fi:"Finska",no:"Norska",hu:"Ungerska",el:"Grekiska",he:"Hebreiska",uk:"Ukrainska"},nqe={app:zBe,common:HBe,emptyState:BBe,header:qBe,filterBar:UBe,column:VBe,card:ZBe,drawer:GBe,subtask:WBe,commandPalette:KBe,listView:YBe,settings:XBe,conflict:QBe,sectionLabels:JBe,toast:eqe,languageNames:tqe},aqe={name:"kandown",tagline:"AI Markdown Kanban správce"},iqe={search:"Hledat",searchPlaceholder:"Hledat úkoly...",cancel:"Zrušit",save:"Uložit",delete:"Smazat",close:"Zavřít",clear:"Vymazat",clearAll:"Vymazat vše",add:"Přidat",remove:"Odebrat",done:"Hotovo",loading:"Načítání...",noResults:"Žádné výsledky",currentValue:"Aktuální hodnota",configKey:"Konfigurační klíč",choices:"Možnosti",openFolder:"Otevřít složku",selectFolder:"Vybrat složku",recent:"Nedávné",settings:"Nastavení",board:"Nástěnka",reload:"Obnovit",newTask:"Nový úkol"},rqe={unsupportedBrowser:"Nepodporovaný prohlížeč",unsupportedBrowserDesc:"Tento engine vyžaduje <code>File System Access API</code>. Použijte Chrome, Edge, Brave nebo Opera. Firefox a Safari zatím nejsou podporovány.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sqe={tasks:"úkoly",recentProjects:"Nedávné projekty","openFolder...":"Otevřít složku..."},oqe={searchPlaceholder:"Hledat úkoly...",clearAll:"Vymazat vše",ownerAll:"👤 Vše",ownerHuman:"👤 Člověk",ownerAI:"🤖 AI"},cqe={addTask:"Přidat úkol",columnColor:"Barva sloupce",color:"Barva"},pqe={delete:"Smazat úkol",confirmDelete:"Klikněte znovu pro smazání"},lqe={close:"Zavřít (Esc)",taskTitle:"Název úkolu",doneSubtasks:"hotovo",priority:"Priorita",noPriority:"Bez priority",urgentP1:"Neodkladné · P1",highP2:"Vysoká · P2",mediumP3:"Střední · P3",lowP4:"Nízká · P4",assignee:"Přiřazeno",assigneePlaceholder:"uživatelské jméno",tags:"Štítky",tagsPlaceholder:"backend, bezpečnost, api",dueDate:"Termín",owner:"Vlastník",unset:"Nenastaveno",human:"👤 Člověk",ai:"🤖 AI",tools:"Nástroje",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Popis",descriptionPlaceholder:"Napište nějaký kontext, odkazy, rozhodnutí...",report:"Zpráva",reportPlaceholder:"AI výstup se zobrazí zde...",subtasks:"Dílčí úkoly",addSubtask:"Přidat dílčí úkol",deleteTask:"Smazat",saveClose:"Uložit & Zavřít",cancel:"Zrušit"},dqe={placeholder:"Dílčí úkol...",description:"Popis",descriptionPlaceholder:"Přidejte kontext, odkazy nebo poznámky k tomuto kroku...",report:"Zpráva",reportPlaceholder:"Co bylo provedeno, rozhodnutí, kompromisy...",aiFillsThis:"AI to vyplní po dokončení",collapse:"Sbalit",expand:"Rozbalit"},uqe={placeholder:"Napište příkaz nebo hledejte...",actions:"Akce",view:"Zobrazení",tasks:"Úkoly",newTask:"Nový úkol",createNew:"Vytvořit nový úkol",reloadBoard:"Obnovit nástěnku",readFromDisk:"Znovu načíst soubory z disku",clearFilters:"Vymazat filtry",boardView:"Zobrazení nástěnky",listView:"Zobrazení seznamu",compactDensity:"Kompaktní hustota",comfortableDensity:"Pohodlná hustota",navigate:"navigovat",select:"vybrat"},mqe={id:"ID",title:"Název",status:"Stav",tags:"Štítky",assignee:"Přiřazeno",progress:"Průběh",noMatchingTasks:"Žádné odpovídající úkoly"},fqe={noProjectOpen:"Žádný otevřený projekt",appearance:"Vzhled",appearanceDesc:"Motiv, vzhled, pozadí, písmo a jazyk.",agent:"Agent",agentDesc:"Chování následných úkonů pro úkoly asistované AI.",board:"Nástěnka",boardDesc:"Chování ID úkolů a výchozí nastavení nástěnky.",fields:"Pole",fieldsDesc:"Volitelná pole zobrazená u úkolů a na kartách.",language:"Jazyk",languageDesc:"Jazyk rozhraní uložený v konfiguraci projektu.",mode:"Režim",modeDesc:"Automaticky sleduje vaši systémovou preferenci světlého nebo tmavého režimu.",auto:"Auto",light:"Světlý",dark:"Tmavý",skin:"Vzhled",skinDesc:"Barevné tokeny jsou uloženy v kandown.json pro každý projekt.",background:"Pozadí",backgroundDesc:"Zvolte plochý povrch nebo animované tekuté pozadí.",font:"Písmo",fontDesc:"Místní systémový zásobník písem, bez síťové požadavku.",suggestFollowUp:"Navrhnout následné úkoly",suggestFollowUpDesc:"Požádat agenty, aby navrhli další úkoly po dokončení jednoho.",maxSuggestions:"Max návrhů",maxSuggestionsDesc:"Omezuje počet následných úkolů, které agent může navrhnout.",defaultPriority:"Výchozí priorita",defaultPriorityDesc:"Počáteční priorita pro nové úkoly, když je pole Priority povoleno.",defaultOwner:"Výchozí vlastník",defaultOwnerDesc:"Počáteční vlastník pro nové úkoly, když je pole Vlastník povoleno.",priority:"Priorita",priorityDesc:"Povolit metadata priority u úkolů.",assignee:"Přiřazeno",assigneeDesc:"Povolit metadata přiřazení u úkolů.",tags:"Štítky",tagsDesc:"Povolit metadata štítků u úkolů.",dueDate:"Termín",dueDateDesc:"Povolit metadata termínu u úkolů.",ownerType:"Typ vlastníka",ownerTypeDesc:"Povolit metadata vlastnictví člověk/AI u úkolů.",tools:"Nástroje",toolsDesc:"Povolit volné nápovědy k nástrojům pro úkoly AI agenta.",searchPlaceholder:"Hledat libovolnou možnost",searchResults:"Výsledky hledání",searchResultsLabel:"Výsledky hledání",matchingOptions:"odpovídajících možností v nastavení projektu.",options:"možností",noOptionFound:"Možnost nenalezena",tryAnotherSearch:"Zkuste jiný hledaný výraz.",currentValue:"Aktuální hodnota",configKey:"Konfigurační klíč",choices:"Možnosti",hoverForHelp:"Najeďte nebo přejděte na jinou možnost pro aktualizaci této nápovědy.",pages:"Stránky",backToBoard:"Zpět na nástěnku",matches:"Shody",settingsTitle:"Nastavení",kickerInterface:"Rozhraní",kickerAutomation:"Automatizace",kickerIdentifiers:"Identifikátory",kickerMetadata:"Metadata"},gqe={detected:"Zjištěn konflikt",detectedDesc:"Tento úkol byl externě změněn během vaší úpravy.",conflictingChanges:"Úkol <code>{{taskId}}</code> má konfliktní změny. Zvolte, jak vyřešit:",yourVersion:"Vaše verze (lokální)",diskVersion:"Verze na disku (vzdálená)",cancel:"Zrušit",reloadFromDisk:"Načíst z disku",keepMyVersion:"Zachovat moji verzi",title:"Název",priority:"Priorita",body:"Obsah",subtasks:"Dílčí úkoly",none:"(žádný)"},hqe={title:"Název",subtasks:"Dílčí úkol",context:"Kontext",notes:"Poznámky",whatWasDone:"Co bylo provedeno",tags:"Štítky",assignee:"Přiřazeno",priority:"Priorita"},bqe={settingsUpdatedExternally:"Nastavení bylo externě aktualizováno — obnoveno"},vqe={en:"Angličtina",fr:"Francouzština",zh:"Čínština",es:"Španělština",pt:"Portugalština",hi:"Hindština",de:"Němčina",it:"Italština",ja:"Japonština",ko:"Korejština",ru:"Ruština",ar:"Arabština",nl:"Nizozemština",pl:"Polština",tr:"Turečtina",vi:"Vietnamština",th:"Thajština",id:"Indonéština",cs:"Čeština",sv:"Švédština",da:"Dánština",fi:"Finština",no:"Norština",hu:"Maďarština",el:"Řečtina",he:"Hebrejština",uk:"Ukrajinština"},yqe={app:aqe,common:iqe,emptyState:rqe,header:sqe,filterBar:oqe,column:cqe,card:pqe,drawer:lqe,subtask:dqe,commandPalette:uqe,listView:mqe,settings:fqe,conflict:gqe,sectionLabels:hqe,toast:bqe,languageNames:vqe},_qe={name:"kandown",tagline:"Διαχειριστής Kanban με AI σε Markdown"},kqe={search:"Αναζήτηση",searchPlaceholder:"Αναζήτηση εργασιών...",cancel:"Ακύρωση",save:"Αποθήκευση",delete:"Διαγραφή",close:"Κλείσιμο",clear:"Καθαρισμός",clearAll:"Καθαρισμός όλων",add:"Προσθήκη",remove:"Αφαίρεση",done:"Ολοκληρώθηκε",loading:"Φόρτωση...",noResults:"Δεν βρέθηκαν αποτελέσματα",currentValue:"Τρέχουσα τιμή",configKey:"Κλειδί διαμόρφωσης",choices:"Επιλογές",openFolder:"Άνοιγμα φακέλου",selectFolder:"Επιλογή φακέλου",recent:"Πρόσφατα",settings:"Ρυθμίσεις",board:"Πίνακας",reload:"Επαναφόρτωση",newTask:"Νέα εργασία"},wqe={unsupportedBrowser:"Μη υποστηριζόμενος browser",unsupportedBrowserDesc:"Αυτή η μηχανή απαιτεί το <code>File System Access API</code>. Χρησιμοποιήστε Chrome, Edge, Brave ή Opera. Τα Firefox και Safari δεν το υποστηρίζουν ακόμη.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},xqe={tasks:"εργασίες",recentProjects:"Πρόσφατα έργα","openFolder...":"Άνοιγμα φακέλου..."},Aqe={searchPlaceholder:"Αναζήτηση εργασιών...",clearAll:"Καθαρισμός όλων",ownerAll:"👤 Όλοι",ownerHuman:"👤 Άνθρωπος",ownerAI:"🤖 AI"},Cqe={addTask:"Προσθήκη εργασίας",columnColor:"Χρώμα στήλης",color:"Χρώμα"},Nqe={delete:"Διαγραφή εργασίας",confirmDelete:"Κάντε ξανά κλικ για διαγραφή"},Sqe={close:"Κλείσιμο (Esc)",taskTitle:"Τίτλος εργασίας",doneSubtasks:"ολοκληρωμένες",priority:"Προτεραιότητα",noPriority:"Χωρίς προτεραιότητα",urgentP1:"Επείγον · P1",highP2:"Υψηλή · P2",mediumP3:"Μεσαία · P3",lowP4:"Χαμηλή · P4",assignee:"Υπεύθυνος",assigneePlaceholder:"όνομα χρήστη",tags:"Ετικέτες",tagsPlaceholder:"backend, security, api",dueDate:"Ημερομηνία λήξης",owner:"Ιδιοκτήτης",unset:"Μη ορισμένο",human:"👤 Άνθρωπος",ai:"🤖 AI",tools:"Εργαλεία",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Περιγραφή",descriptionPlaceholder:"Γράψτε κάποιο πλαίσιο, συνδέσμους, αποφάσεις...",report:"Αναφορά",reportPlaceholder:"Η έξοδος AI θα εμφανιστεί εδώ...",subtasks:"Υποεκκρεμούντα",addSubtask:"Προσθήκη υποεκκρεμούντα",deleteTask:"Διαγραφή",saveClose:"Αποθήκευση & Κλείσιμο",cancel:"Ακύρωση"},$qe={placeholder:"Υποεκκρεμούν...",description:"Περιγραφή",descriptionPlaceholder:"Προσθέστε πλαίσιο, συνδέσμους ή σημειώσεις για αυτό το βήμα...",report:"Αναφορά",reportPlaceholder:"Τι έγινε, αποφάσεις που πάρθηκαν, συμβιβασμοί...",aiFillsThis:"Το AI συμπληρώνει αυτό μετά την ολοκλήρωση",collapse:"Σύμπτυξη",expand:"Ανάπτυξη"},Eqe={placeholder:"Πληκτρολογήστε μια εντολή ή αναζητήστε...",actions:"Ενέργειες",view:"Προβολή",tasks:"Εργασίες",newTask:"Νέα εργασία",createNew:"Δημιουργία νέας εργασίας",reloadBoard:"Επαναφόρτωση πίνακα",readFromDisk:"Επαναφορά αρχείων από δίσκο",clearFilters:"Καθαρισμός φίλτρων",boardView:"Προβολή πίνακα",listView:"Προβολή λίστας",compactDensity:"Συμπαγής πυκνότητα",comfortableDensity:"Άνετη πυκνότητα",navigate:"πλοήγηση",select:"επιλογή"},Pqe={id:"ID",title:"Τίτλος",status:"Κατάσταση",tags:"Ετικέτες",assignee:"Υπεύθυνος",progress:"Πρόοδος",noMatchingTasks:"Δεν βρέθηκαν αντίστοιχες εργασίες"},Tqe={noProjectOpen:"Δεν έχει ανοίξει έργο",appearance:"Εμφάνιση",appearanceDesc:"Θέμα, εμφάνιση, φόντο, γραμματοσειρά και γλώσσα.",agent:"Πράκτορας",agentDesc:"Συμπεριφορά παρακολούθησης για εργασίες που υποστηρίζονται από AI.",board:"Πίνακας",boardDesc:"Συμπεριφορά αναγνωριστικού εργασίας και προεπιλογές επιπέδου πίνακα.",fields:"Πεδία",fieldsDesc:"Προαιρετικά πεδία που εμφανίζονται σε εργασίες και κάρτες πίνακα.",language:"Γλώσσα",languageDesc:"Γλώσσα διεπαφής αποθηκευμένη στη διαμόρφωση αυτού του έργου.",mode:"Λειτουργία",modeDesc:"Ακολουθεί αυτόματα την προτίμηση φωτός ή σκότους του συστήματός σας.",auto:"Αυτόματο",light:"Ανοιχτό",dark:"Σκοτεινό",skin:"Εμφάνιση",skinDesc:"Τα χρωματικά tokens αποθηκεύονται ανά έργο στο kandown.json.",background:"Φόντο",backgroundDesc:"Επιλέξτε επίπεδη επιφάνεια ή κινούμενο υγρό φόντο.",font:"Γραμματοσειρά",fontDesc:"Στοίβα γραμματοσειράς τοπικού συστήματος, χωρίς αίτημα δικτύου.",suggestFollowUp:"Πρόταση συνεχειών εργασιών",suggestFollowUpDesc:"Ζητήστε από τους πράκτορες να προτείνουν επόμενες εργασίες μετά την ολοκλήρωση μιας.",maxSuggestions:"Μέγιστες προτάσεις",maxSuggestionsDesc:"Περιορίζει τον αριθμό συνεχειών εργασιών που μπορεί να προτείνει ένας πράκτορας.",defaultPriority:"Προεπιλεγμένη προτεραιότητα",defaultPriorityDesc:"Αρχική προτεραιότητα για νέες εργασίες όταν είναι ενεργοποιημένο το πεδίο Προτεραιότητα.",defaultOwner:"Προεπιλεγμένος ιδιοκτήτης",defaultOwnerDesc:"Αρχικός ιδιοκτήτης για νέες εργασίες όταν είναι ενεργοποιημένο το πεδίο Ιδιοκτήτης.",priority:"Προτεραιότητα",priorityDesc:"Ενεργοποίηση μεταδεδομένων προτεραιότητας σε εργασίες.",assignee:"Υπεύθυνος",assigneeDesc:"Ενεργοποίηση μεταδεδομένων υπευθύνου σε εργασίες.",tags:"Ετικέτες",tagsDesc:"Ενεργοποίηση μεταδεδομένων ετικετών σε εργασίες.",dueDate:"Ημερομηνία λήξης",dueDateDesc:"Ενεργοποίηση μεταδεδομένων ημερομηνίας λήξης σε εργασίες.",ownerType:"Τύπος ιδιοκτήτη",ownerTypeDesc:"Ενεργοποίηση μεταδεδομένων ιδιοκτησίας ανθρώπου/AI σε εργασίες.",tools:"Εργαλεία",toolsDesc:"Ενεργοποίηση υπόδειξης εργαλείων ελεύθερης μορφής για εργασίες AI-agent.",searchPlaceholder:"Αναζήτηση οποιασδήποτε επιλογής",searchResults:"Αποτελέσματα αναζήτησης",searchResultsLabel:"Αποτελέσματα αναζήτησης",matchingOptions:"αντιστοιχούσες επιλογές στις ρυθμίσεις έργου.",options:"επιλογές",noOptionFound:"Δεν βρέθηκε επιλογή",tryAnotherSearch:"Δοκιμάστε έναν άλλο όρο αναζήτησης.",currentValue:"Τρέχουσα τιμή",configKey:"Κλειδί διαμόρφωσης",choices:"Επιλογές",hoverForHelp:"Περάστε ή μετακινηθείτε με Tab σε μια άλλη επιλογή για να ενημερώσετε αυτόν τον πίνακα βοήθειας.",pages:"Σελίδες",backToBoard:"Επιστροφή στον πίνακα",matches:"Αντιστοιχίες",settingsTitle:"Ρυθμίσεις",kickerInterface:"Διεπαφή",kickerAutomation:"Αυτοματοποίηση",kickerIdentifiers:"Αναγνωριστικά",kickerMetadata:"Μεταδεδομένα"},Lqe={detected:"Εντοπίστηκε διένεξη",detectedDesc:"Αυτή η εργασία τροποποιήθηκε εξωτερικά κατά τη διάρκεια της επεξεργασίας σας.",conflictingChanges:"Η εργασία <code>{{taskId}}</code> έχει αντικρουόμενες αλλαγές. Επιλέξτε πώς να επιλυθεί:",yourVersion:"Η έκδοσή σας (τοπική)",diskVersion:"Έκδοση δίσκου (απομακρυσμένη)",cancel:"Ακύρωση",reloadFromDisk:"Επαναφόρτωση από δίσκο",keepMyVersion:"Κράτα την έκδοσή μου",title:"Τίτλος",priority:"Προτεραιότητα",body:"Σώμα",subtasks:"Υποεκκρεμούντα",none:"(καμία)"},Mqe={title:"Τίτλος",subtasks:"Υποεκκρεμούν",context:"Πλαίσιο",notes:"Σημειώσεις",whatWasDone:"Τι έγινε",tags:"Ετικέτες",assignee:"Υπεύθυνος",priority:"Προτεραιότητα"},jqe={settingsUpdatedExternally:"Οι ρυθμίσεις ενημερώθηκαν εξωτερικά — επαναφορτώθηκαν"},Dqe={en:"Αγγλικά",fr:"Γαλλικά",zh:"Κινέζικα",es:"Ισπανικά",pt:"Πορτογαλικά",hi:"Χίντι",de:"Γερμανικά",it:"Ιταλικά",ja:"Ιαπωνικά",ko:"Κορεατικά",ru:"Ρωσικά",ar:"Αραβικά",nl:"Ολλανδικά",pl:"Πολωνικά",tr:"Τουρκικά",vi:"Βιετναμέζικα",th:"Ταϊλανδικά",id:"Ινδονησιακά",cs:"Τσεχικά",sv:"Σουηδικά",da:"Δανικά",fi:"Φινλανδικά",no:"Νορβηγικά",hu:"Ουγγρικά",el:"Ελληνικά",he:"Εβραϊκά",uk:"Ουκρανικά"},Iqe={app:_qe,common:kqe,emptyState:wqe,header:xqe,filterBar:Aqe,column:Cqe,card:Nqe,drawer:Sqe,subtask:$qe,commandPalette:Eqe,listView:Pqe,settings:Tqe,conflict:Lqe,sectionLabels:Mqe,toast:jqe,languageNames:Dqe},Rqe={name:"kandown",tagline:"AI-alapú Markdown Kanban kezelő"},Oqe={search:"Keresés",searchPlaceholder:"Feladatok keresése...",cancel:"Mégse",save:"Mentés",delete:"Törlés",close:"Bezárás",clear:"Törlés",clearAll:"Összes törlése",add:"Hozzáadás",remove:"Eltávolítás",done:"Kész",loading:"Betöltés...",noResults:"Nincs eredmény",currentValue:"Jelenlegi érték",configKey:"Konfigurációs kulcs",choices:"Lehetőségek",openFolder:"Mappa megnyitása",selectFolder:"Mappa kiválasztása",recent:"Legutóbbi",settings:"Beállítások",board:"Tábla",reload:"Újratöltés",newTask:"Új feladat"},Fqe={unsupportedBrowser:"Nem támogatott böngésző",unsupportedBrowserDesc:"Ez a motor a <code>File System Access API</code>-t igényli. Használj Chrome-ot, Edge-et, Brave-et vagy Opera-t. A Firefox és Safari még nem támogatja.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},zqe={tasks:"feladat",recentProjects:"Legutóbbi projektek","openFolder...":"Mappa megnyitása..."},Hqe={searchPlaceholder:"Feladatok keresése...",clearAll:"Összes törlése",ownerAll:"👤 Minden",ownerHuman:"👤 Ember",ownerAI:"🤖 AI"},Bqe={addTask:"Feladat hozzáadása",columnColor:"Oszlop színe",color:"Szín"},qqe={delete:"Feladat törlése",confirmDelete:"Kattints újra a törléshez"},Uqe={close:"Bezárás (Esc)",taskTitle:"Feladat címe",doneSubtasks:"kész",priority:"Prioritás",noPriority:"Nincs prioritás",urgentP1:"Sürgős · P1",highP2:"Magas · P2",mediumP3:"Közepes · P3",lowP4:"Alacsony · P4",assignee:"Felelős",assigneePlaceholder:"felhasználónév",tags:"Címkék",tagsPlaceholder:"backend, security, api",dueDate:"Határidő",owner:"Tulajdonos",unset:"Nincs beállítva",human:"👤 Ember",ai:"🤖 AI",tools:"Eszközök",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Leírás",descriptionPlaceholder:"Írj kontextust, linkeket, döntéseket...",report:"Jelentés",reportPlaceholder:"Az AI kimenete itt jelenik meg...",subtasks:"Alfeladatok",addSubtask:"Alfeladat hozzáadása",deleteTask:"Törlés",saveClose:"Mentés és bezárás",cancel:"Mégse"},Vqe={placeholder:"Alfeladat...",description:"Leírás",descriptionPlaceholder:"Adj kontextust, linkeket vagy jegyzeteket ehhez a lépéshez...",report:"Jelentés",reportPlaceholder:"Mi történt, milyen döntések születtek, kompromisszumok...",aiFillsThis:"Az AI ezt tölti ki a befejezés után",collapse:"Összecsukás",expand:"Kibontás"},Zqe={placeholder:"Írj be egy parancsot vagy keress...",actions:"Műveletek",view:"Nézet",tasks:"Feladatok",newTask:"Új feladat",createNew:"Új feladat létrehozása",reloadBoard:"Tábla újratöltése",readFromDisk:"Fájlok újraolvasása a lemezről",clearFilters:"Szűrők törlése",boardView:"Tábla nézet",listView:"Lista nézet",compactDensity:"Kompakt sűrűség",comfortableDensity:"Kényelmes sűrűség",navigate:"navigáció",select:"kiválasztás"},Gqe={id:"ID",title:"Cím",status:"Állapot",tags:"Címkék",assignee:"Felelős",progress:"Haladás",noMatchingTasks:"Nincs matching feladat"},Wqe={noProjectOpen:"Nincs projekt megnyitva",appearance:"Megjelenés",appearanceDesc:"Téma, kinézet, háttér, betűtípus és nyelv.",agent:"Ügynök",agentDesc:"Követési viselkedés az AI-asszisztált feladatokhoz.",board:"Tábla",boardDesc:"Feladat azonosító viselkedés és tábla szintű alapértékek.",fields:"Mezők",fieldsDesc:"Opcionális mezők, amelyek a feladatokon és a tábla kártyáin jelennek meg.",language:"Nyelv",languageDesc:"A felület nyelve ebben a projekt konfigurációban tárolva.",mode:"Mód",modeDesc:"Automatikusan követi a rendszered világos vagy sötét beállítását.",auto:"Automatikus",light:"Világos",dark:"Sötét",skin:"Kinézet",skinDesc:"A szín tokenek projektenként tárolódnak a kandown.json-ban.",background:"Háttér",backgroundDesc:"Válassz lapos felületet vagy animált folyékony hátteret.",font:"Betűtípus",fontDesc:"Helyi rendszer betűtípus, hálózati kérés nélkül.",suggestFollowUp:"Követő feladatok javaslata",suggestFollowUpDesc:"Kérd meg az ügynököket, hogy javasoljanak következő feladatokat az egyik befejezése után.",maxSuggestions:"Max javaslatok",maxSuggestionsDesc:"Korlátozza az ügynök által javasolható követő feladatok számát.",defaultPriority:"Alapértelmezett prioritás",defaultPriorityDesc:"Kezdeti prioritás az új feladatokhoz, amikor a Prioritás mező engedélyezve van.",defaultOwner:"Alapértelmezett tulajdonos",defaultOwnerDesc:"Kezdeti tulajdonos az új feladatokhoz, amikor a Tulajdonos mező engedélyezve van.",priority:"Prioritás",priorityDesc:"Prioritás metaadatok engedélyezése a feladatokon.",assignee:"Felelős",assigneeDesc:"Felelős metaadatok engedélyezése a feladatokon.",tags:"Címkék",tagsDesc:"Címke metaadatok engedélyezése a feladatokon.",dueDate:"Határidő",dueDateDesc:"Határidő metaadatok engedélyezése a feladatokon.",ownerType:"Tulajdonos típusa",ownerTypeDesc:"Ember/AI tulajdonosi metaadatok engedélyezése a feladatokon.",tools:"Eszközök",toolsDesc:"Szabad formájú eszköz tippek engedélyezése AI-agent feladatokhoz.",searchPlaceholder:"Bármilyen opció keresése",searchResults:"Keresési eredmények",searchResultsLabel:"Keresési eredmények",matchingOptions:"matching opció a projekt beállításokon.",options:"opció",noOptionFound:"Nem található opció",tryAnotherSearch:"Próbálj egy másik keresési kifejezést.",currentValue:"Jelenlegi érték",configKey:"Konfigurációs kulcs",choices:"Lehetőségek",hoverForHelp:"Vidd fölé vagy tab-olj egy másik opcióra a súgópanel frissítéséhez.",pages:"Oldalak",backToBoard:"Vissza a táblához",matches:"Találatok",settingsTitle:"Beállítások",kickerInterface:"Felület",kickerAutomation:"Automatizálás",kickerIdentifiers:"Azonosítók",kickerMetadata:"Metaadatok"},Kqe={detected:"Ütközés észlelve",detectedDesc:"Ezt a feladatot külsőleg módosították, miközben szerkesztetted.",conflictingChanges:"A <code>{{taskId}}</code> feladatnak ütköző változtatásai vannak. Válassz megoldást:",yourVersion:"A te verziód (lokális)",diskVersion:"Lemez verzió (távoli)",cancel:"Mégse",reloadFromDisk:"Újratöltés a lemezről",keepMyVersion:"Tartsd meg a verziómat",title:"Cím",priority:"Prioritás",body:"Törzs",subtasks:"Alfeladatok",none:"(nincs)"},Yqe={title:"Cím",subtasks:"Alfeladat",context:"Kontextus",notes:"Jegyzetek",whatWasDone:"Mi történt",tags:"Címkék",assignee:"Felelős",priority:"Prioritás"},Xqe={settingsUpdatedExternally:"Beállítások külsőleg frissítve — újratöltve"},Qqe={en:"Angol",fr:"Francia",zh:"Kínai",es:"Spanyol",pt:"Portugál",hi:"Hindi",de:"Német",it:"Olasz",ja:"Japán",ko:"Koreai",ru:"Orosz",ar:"Arab",nl:"Holland",pl:"Lengyel",tr:"Török",vi:"Vietnámi",th:"Thai",id:"Indonéz",cs:"Cseh",sv:"Svéd",da:"Dán",fi:"Finn",no:"Norvég",hu:"Magyar",el:"Görög",he:"Héber",uk:"Ukrán"},Jqe={app:Rqe,common:Oqe,emptyState:Fqe,header:zqe,filterBar:Hqe,column:Bqe,card:qqe,drawer:Uqe,subtask:Vqe,commandPalette:Zqe,listView:Gqe,settings:Wqe,conflict:Kqe,sectionLabels:Yqe,toast:Xqe,languageNames:Qqe},eUe={name:"kandown",tagline:"AI Markdown Kanban -hallinta"},tUe={search:"Hae",searchPlaceholder:"Hae tehtäviä...",cancel:"Peruuta",save:"Tallenna",delete:"Poista",close:"Sulje",clear:"Tyhjennä",clearAll:"Tyhjennä kaikki",add:"Lisää",remove:"Poista",done:"Valmis",loading:"Ladataan...",noResults:"Ei tuloksia",currentValue:"Nykyinen arvo",configKey:"Asetusavain",choices:"Vaihtoehdot",openFolder:"Avaa kansio",selectFolder:"Valitse kansio",recent:"Viimeaikaiset",settings:"Asetukset",board:"K board",reload:"Lataa uudelleen",newTask:"Uusi tehtävä"},nUe={unsupportedBrowser:"Selain ei ole tuettu",unsupportedBrowserDesc:"Tämä moottori vaatii <code>File System Access API</code>:n. Käytä Chromea, Edgeä, Bravea tai Operaa. Firefox ja Safari eivät vielä tue sitä.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},aUe={tasks:"tehtävää",recentProjects:"Viimeaikaiset projektit","openFolder...":"Avaa kansio..."},iUe={searchPlaceholder:"Hae tehtäviä...",clearAll:"Tyhjennä kaikki",ownerAll:"👤 Kaikki",ownerHuman:"👤 Ihminen",ownerAI:"🤖 AI"},rUe={addTask:"Lisää tehtävä",columnColor:"Sarakkeen väri",color:"Väri"},sUe={delete:"Poista tehtävä",confirmDelete:"Klikkaa uudelleen poistaaksesi"},oUe={close:"Sulje (Esc)",taskTitle:"Tehtävän otsikko",doneSubtasks:"tehty",priority:"Prioriteetti",noPriority:"Ei prioriteettia",urgentP1:"Kiireellinen · P1",highP2:"Korkea · P2",mediumP3:"Keskitaso · P3",lowP4:"Matala · P4",assignee:"Vastuuhenkilö",assigneePlaceholder:"käyttäjänimi",tags:"Tunnisteet",tagsPlaceholder:"backend, tietoturva, api",dueDate:"Eräpäivä",owner:"Omistaja",unset:"Ei asetettu",human:"👤 Ihminen",ai:"🤖 AI",tools:"Työkalut",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Kuvaus",descriptionPlaceholder:"Kirjoita taustatietoja, linkkejä, päätöksiä...",report:"Raportti",reportPlaceholder:"AI:n tuloste näkyy tässä...",subtasks:"Alitehtävät",addSubtask:"Lisää alitehtävä",deleteTask:"Poista",saveClose:"Tallenna & Sulje",cancel:"Peruuta"},cUe={placeholder:"Alitehtävä...",description:"Kuvaus",descriptionPlaceholder:"Lisää taustatietoja, linkkejä tai muistiinpanoja tähän vaiheeseen...",report:"Raportti",reportPlaceholder:"Mitä tehtiin, tehdyt päätökset, kompromissit...",aiFillsThis:"AI täyttää tämän suorituksen jälkeen",collapse:"Piilota",expand:"Laajenna"},pUe={placeholder:"Kirjoita komento tai hae...",actions:"Toiminnot",view:"Näkymä",tasks:"Tehtävät",newTask:"Uusi tehtävä",createNew:"Luo uusi tehtävä",reloadBoard:"Lataa boardi uudelleen",readFromDisk:"Lue tiedostot levyltä uudelleen",clearFilters:"Tyhjennä suodattimet",boardView:"Board-näkymä",listView:"Listanäkymä",compactDensity:"Tiivis tiheys",comfortableDensity:"Mukava tiheys",navigate:"navigoi",select:"valitse"},lUe={id:"ID",title:"Otsikko",status:"Tila",tags:"Tunnisteet",assignee:"Vastuuhenkilö",progress:"Edistyminen",noMatchingTasks:"Ei vastaavia tehtäviä"},dUe={noProjectOpen:"Projektia ei ole avattu",appearance:"Ulkoasu",appearanceDesc:"Teema, skin, tausta, fontti ja kieli.",agent:"Agentti",agentDesc:"Seurantakäyttäytyminen AI-avusteiselle tehtävätyölle.",board:"Boardi",boardDesc:"Tehtävä-ID-käyttäytyminen ja boardi-tason oletukset.",fields:"Kentät",fieldsDesc:"Valinnaiset kentät, jotka näytetään tehtävissä ja board-korteissa.",language:"Kieli",languageDesc:"Käyttöliittymän kieli tallennetaan tämän projektin asetuksiin.",mode:"Tila",modeDesc:"Seuraa automaattisesti järjestelmäsi vaaleaa tai tummaa asetusta.",auto:"Automaattinen",light:"Vaalea",dark:" Tumma",skin:"Ulkoasu",skinDesc:"Värit tallennetaan projektikohtaisesti kandown.json:ssa.",background:"Tausta",backgroundDesc:"Valitse litteä pinta tai animoitu nestemäinen tausta.",font:"Fontti",fontDesc:"Paikallinen järjestelmäfontti ilman verkkopyyntöä.",suggestFollowUp:"Ehdota jatkotehtäviä",suggestFollowUpDesc:"Pyydä agenteja ehdottamaan seuraavia tehtäviä yhden valmistuttua.",maxSuggestions:"Enimmäismäärä ehdotuksia",maxSuggestionsDesc:"Rajoittaa agentin ehdottamien jatkotehtävien määrää.",defaultPriority:"Oletusprioriteetti",defaultPriorityDesc:"Alkuprioriteetti uusille tehtäville, kun Prioriteetti-kenttä on käytössä.",defaultOwner:"Oletusomistaja",defaultOwnerDesc:"Alkuomistaja uusille tehtäville, kun Omistaja-kenttä on käytössä.",priority:"Prioriteetti",priorityDesc:"Ota käyttöön prioriteettimetatiedot tehtävissä.",assignee:"Vastuuhenkilö",assigneeDesc:"Ota käyttöön vastuuhenkilömetatiedot tehtävissä.",tags:"Tunnisteet",tagsDesc:"Ota käyttöön tunistikemetatiedot tehtävissä.",dueDate:"Eräpäivä",dueDateDesc:"Ota käyttöön eräpäivämetatiedot tehtävissä.",ownerType:"Omistajatyyppi",ownerTypeDesc:"Ota käyttöön ihmis/AI-omistajuusmetatiedot tehtävissä.",tools:"Työkalut",toolsDesc:"Ota käyttöön vapaamuotoiset työkaluvihjeet AI-agenttitehtäville.",searchPlaceholder:"Hae mitä tahansa vaihtoehtoa",searchResults:"Hakutulokset",searchResultsLabel:"Hakutulokset",matchingOptions:"vastaavaa vaihtoehtoa projektin asetuksissa.",options:"vaihtoehtoa",noOptionFound:"Vaihtoehtoa ei löytynyt",tryAnotherSearch:"Kokeile toista hakutermiä.",currentValue:"Nykyinen arvo",configKey:"Asetusavain",choices:"Vaihtoehdot",hoverForHelp:"Viittaa tai tabaa toisen vaihtoehdon päälle päivittääksesi tämän ohjepaneelin.",pages:"Sivut",backToBoard:"Takaisin boardille",matches:"Osumat",settingsTitle:"Asetukset",kickerInterface:"Käyttöliittymä",kickerAutomation:"Automaatio",kickerIdentifiers:"Tunnisteet",kickerMetadata:"Metatiedot"},uUe={detected:"Ristiriita havaittu",detectedDesc:"Tätä tehtävää muokattiin ulkoisesti, kun sinä muokkasit sitä.",conflictingChanges:"Tehtävällä <code>{{taskId}}</code> on ristiriitaisia muutoksia. Valitse miten ratkaista:",yourVersion:"Sinun versiosi (paikallinen)",diskVersion:"Levyn versio (etä)",cancel:"Peruuta",reloadFromDisk:"Lataa levyltä",keepMyVersion:"Pidä oma versio",title:"Otsikko",priority:"Prioriteetti",body:"Sisältö",subtasks:"Alitehtävät",none:"(ei mitään)"},mUe={title:"Otsikko",subtasks:"Alitehtävä",context:"Konteksti",notes:"Muistiinpanot",whatWasDone:"Mitä tehtiin",tags:"Tunnisteet",assignee:"Vastuuhenkilö",priority:"Prioriteetti"},fUe={settingsUpdatedExternally:"Asetukset päivitettiin ulkoisesti — ladattu uudelleen"},gUe={en:"Englanti",fi:"Suomi",da:"Tanska",no:"Norja",sk:"Slovakia",bg:"Bulgaria",sr:"Serbia",hr:"Kroatia",lt:"Lietuva",lv:"Latvia",et:"Viro",sl:"Slovenia",hu:"Unkari",cs:"Tšekki",pl:"Puola",ro:"Romania",de:"Saksa",fr:"Ranska",es:"Espanja",pt:"Portugali",it:"Italia",nl:"Hollanti",sv:"Ruotsi",ja:"Japani",ko:"Korea",zh:"Kiina",ar:"Arabia"},hUe={app:eUe,common:tUe,emptyState:nUe,header:aUe,filterBar:iUe,column:rUe,card:sUe,drawer:oUe,subtask:cUe,commandPalette:pUe,listView:lUe,settings:dUe,conflict:uUe,sectionLabels:mUe,toast:fUe,languageNames:gUe},bUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},vUe={search:"Søg",searchPlaceholder:"Søg opgaver...",cancel:"Annullér",save:"Gem",delete:"Slet",close:"Luk",clear:"Ryd",clearAll:"Ryd alt",add:"Tilføj",remove:"Fjern",done:"Færdig",loading:"Indlæser...",noResults:"Ingen resultater",currentValue:"Nuværende værdi",configKey:"Konfigurationsnøgle",choices:"Valgmuligheder",openFolder:"Åbn mappe",selectFolder:"Vælg mappe",recent:"Seneste",settings:"Indstillinger",board:"Board",reload:"Genindlæs",newTask:"Ny opgave"},yUe={unsupportedBrowser:"Ikke understøttet browser",unsupportedBrowserDesc:"Denne motor kræver <code>File System Access API</code>. Brug Chrome, Edge, Brave eller Opera. Firefox og Safari understøtter det ikke endnu.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},_Ue={tasks:"opgaver",recentProjects:"Seneste projekter","openFolder...":"Åbn mappe..."},kUe={searchPlaceholder:"Søg opgaver...",clearAll:"Ryd alt",ownerAll:"👤 Alle",ownerHuman:"👤 Menneske",ownerAI:"🤖 AI"},wUe={addTask:"Tilføj opgave",columnColor:"Kolonnefarve",color:"Farve"},xUe={delete:"Slet opgave",confirmDelete:"Klik igen for at slette"},AUe={close:"Luk (Esc)",taskTitle:"Opgavetitel",doneSubtasks:"færdig",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Haste · P1",highP2:"Høj · P2",mediumP3:"Mellem · P3",lowP4:"Lav · P4",assignee:"Ansvarlig",assigneePlaceholder:"brugernavn",tags:"Tags",tagsPlaceholder:"backend, sikkerhed, api",dueDate:"Tidsfrist",owner:"Ejer",unset:"Ikke sat",human:"👤 Menneske",ai:"🤖 AI",tools:"Værktøjer",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivelse",descriptionPlaceholder:"Skriv noget kontekst, links, beslutninger...",report:"Rapport",reportPlaceholder:"AI-output vises her...",subtasks:"Underopgaver",addSubtask:"Tilføj underopgave",deleteTask:"Slet",saveClose:"Gem & Luk",cancel:"Annullér"},CUe={placeholder:"Underopgave...",description:"Beskrivelse",descriptionPlaceholder:"Tilføj kontekst, links eller noter til dette trin...",report:"Rapport",reportPlaceholder:"Hvad der blev gjort, beslutninger taget, afvejen...",aiFillsThis:"AI udfylder dette efter færdiggørelse",collapse:"Skjul",expand:"Vis"},NUe={placeholder:"Skriv en kommando eller søg...",actions:"Handlinger",view:"Vis",tasks:"Opgaver",newTask:"Ny opgave",createNew:"Opret en ny opgave",reloadBoard:"Genindlæs board",readFromDisk:"Læs filer fra disk igen",clearFilters:"Ryd filtre",boardView:"Board-visning",listView:"Listevisning",compactDensity:"Kompakt tæthed",comfortableDensity:"Behagelig tæthed",navigate:"navigér",select:"vælg"},SUe={id:"ID",title:"Titel",status:"Status",tags:"Tags",assignee:"Ansvarlig",progress:"Fremskridt",noMatchingTasks:"Ingen matchende opgaver"},$Ue={noProjectOpen:"Intet projekt åbent",appearance:"Udseende",appearanceDesc:"Tema, skin, baggrund, font og sprog.",agent:"Agent",agentDesc:"Opfølgningsadfærd for AI-assisteret opgavearbejde.",board:"Board",boardDesc:"Opgave-ID-adfærd og board-niveau standarder.",fields:"Felter",fieldsDesc:"Valgfrie felter vist på opgaver og board-kort.",language:"Sprog",languageDesc:"UI-sprog gemt i denne projektkonfiguration.",mode:"Tilstand",modeDesc:"Følger automatisk dit systems lys eller mørk præference.",auto:"Automatisk",light:"Lys",dark:"Mørk",skin:"Skin",skinDesc:"Farvetokens gemmes per projekt i kandown.json.",background:"Baggrund",backgroundDesc:"Vælg en flad overflade eller animeret væskebaggrund.",font:"Font",fontDesc:"Lokal systemfont uden netværksforespørgsel.",suggestFollowUp:"Foreslå opfølgningsopgaver",suggestFollowUpDesc:"Bed agenter om at foreslå næste opgaver efter at have færdiggjort én.",maxSuggestions:"Maks forslag",maxSuggestionsDesc:"Begrænser antallet af opfølgningsopgaver en agent kan foreslå.",defaultPriority:"Standard prioritet",defaultPriorityDesc:"Startprioritet for nye opgaver når Prioritet-feltet er aktiveret.",defaultOwner:"Standard ejer",defaultOwnerDesc:"Startejer for nye opgaver når Ejer-feltet er aktiveret.",priority:"Prioritet",priorityDesc:"Aktivér prioritetsmetadata på opgaver.",assignee:"Ansvarlig",assigneeDesc:"Aktivér ansvarlig-metadata på opgaver.",tags:"Tags",tagsDesc:"Aktivér tag-metadata på opgaver.",dueDate:"Tidsfrist",dueDateDesc:"Aktivér tidsfrist-metadata på opgaver.",ownerType:"Ejertype",ownerTypeDesc:"Aktivér menneske/AI-ejerskabsmeta på opgaver.",tools:"Værktøjer",toolsDesc:"Aktivér fritext-værktøjshints til AI-agentopgaver.",searchPlaceholder:"Søg enhver mulighed",searchResults:"Søgeresultater",searchResultsLabel:"Søgeresultater",matchingOptions:"matchende muligheder på tværs af projektindstillinger.",options:"muligheder",noOptionFound:"Ingen mulighed fundet",tryAnotherSearch:"Prøv et andet søgeord.",currentValue:"Nuværende værdi",configKey:"Konfigurationsnøgle",choices:"Valgmuligheder",hoverForHelp:"Hold over eller tab til en anden mulighed for at opdatere denne hjælpepanel.",pages:"Sider",backToBoard:"Tilbage til board",matches:"Matches",settingsTitle:"Indstillinger",kickerInterface:"Grænseflade",kickerAutomation:"Automation",kickerIdentifiers:"Identifikatorer",kickerMetadata:"Metadata"},EUe={detected:"Konflikt opdaget",detectedDesc:"Denne opgave blev ændret eksternt, mens du redigerede.",conflictingChanges:"Opgave <code>{{taskId}}</code> har modstridende ændringer. Vælg hvordan du vil løse det:",yourVersion:"Din version (lokal)",diskVersion:"Diskversion (fjern)",cancel:"Annullér",reloadFromDisk:"Genindlæs fra disk",keepMyVersion:"Behold min version",title:"Titel",priority:"Prioritet",body:"Indhold",subtasks:"Underopgaver",none:"(ingen)"},PUe={title:"Titel",subtasks:"Underopgave",context:"Kontekst",notes:"Noter",whatWasDone:"Hvad der blev gjort",tags:"Tags",assignee:"Ansvarlig",priority:"Prioritet"},TUe={settingsUpdatedExternally:"Indstillinger opdateret eksternt — genindlæst"},LUe={en:"Engelsk",fi:"Finsk",da:"Dansk",no:"Norsk",sk:"Slovakisk",bg:"Bulgarsk",sr:"Serbisk",hr:"Kroatisk",lt:"Litauisk",lv:"Lettisk",et:"Estisk",sl:"Slovensk",hu:"Ungarsk",cs:"Tjekkisk",pl:"Polsk",ro:"Rumænsk",de:"Tysk",fr:"Fransk",es:"Spansk",pt:"Portugisisk",it:"Italiensk",nl:"Hollandsk",sv:"Svensk",ja:"Japansk",ko:"Koreansk",zh:"Kinesisk",ar:"Arabisk"},MUe={app:bUe,common:vUe,emptyState:yUe,header:_Ue,filterBar:kUe,column:wUe,card:xUe,drawer:AUe,subtask:CUe,commandPalette:NUe,listView:SUe,settings:$Ue,conflict:EUe,sectionLabels:PUe,toast:TUe,languageNames:LUe},jUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},DUe={search:"Søk",searchPlaceholder:"Søk etter oppgaver...",cancel:"Avbryt",save:"Lagre",delete:"Slett",close:"Lukk",clear:"Tøm",clearAll:"Tøm alt",add:"Legg til",remove:"Fjern",done:"Ferdig",loading:"Laster...",noResults:"Ingen resultater",currentValue:"Gjeldende verdi",configKey:"Konfigurasjonsnøkkel",choices:"Valg",openFolder:"Åpne mappe",selectFolder:"Velg mappe",recent:"Nylig",settings:"Innstillinger",board:"Tavle",reload:"Last på nytt",newTask:"Ny oppgave"},IUe={unsupportedBrowser:"Nettleseren støttes ikke",unsupportedBrowserDesc:"Denne motoren krever <code>File System Access API</code>. Bruk Chrome, Edge, Brave eller Opera. Firefox og Safari støttes ennå ikke.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},RUe={tasks:"oppgaver",recentProjects:"Nylige prosjekter","openFolder...":"Åpne mappe..."},OUe={searchPlaceholder:"Søk etter oppgaver...",clearAll:"Tøm alt",ownerAll:"👤 Alle",ownerHuman:"👤 Menneske",ownerAI:"🤖 KI"},FUe={addTask:"Legg til oppgave",columnColor:"Kolonnefarge",color:"Farge"},zUe={delete:"Slett oppgave",confirmDelete:"Klikk igjen for å slette"},HUe={close:"Lukk (Esc)",taskTitle:"Oppgavetittel",doneSubtasks:"ferdig",priority:"Prioritet",noPriority:"Ingen prioritet",urgentP1:"Haster · P1",highP2:"Høy · P2",mediumP3:"Medium · P3",lowP4:"Lav · P4",assignee:"Ansvarlig",assigneePlaceholder:"brukernavn",tags:"Merker",tagsPlaceholder:"backend, sikkerhet, api",dueDate:"Frist",owner:"Eier",unset:"Ikke satt",human:"👤 Menneske",ai:"🤖 KI",tools:"Verktøy",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Beskrivelse",descriptionPlaceholder:"Skriv kontekst, lenker, avgjørelser...",report:"Rapport",reportPlaceholder:"KI-output vil vises her...",subtasks:"Underoppgaver",addSubtask:"Legg til underoppgave",deleteTask:"Slett",saveClose:"Lagre & Lukk",cancel:"Avbryt"},BUe={placeholder:"Underoppgave...",description:"Beskrivelse",descriptionPlaceholder:"Legg til kontekst, lenker eller notater for dette steget...",report:"Rapport",reportPlaceholder:"Hva som ble gjort, avgjørelser tatt, avveininger...",aiFillsThis:"KI fyller ut dette etter fullføring",collapse:"Skjul",expand:"Vis"},qUe={placeholder:"Skriv en kommando eller søg...",actions:"Handlinger",view:"Vis",tasks:"Oppgaver",newTask:"Ny oppgave",createNew:"Opprett en ny oppgave",reloadBoard:"Last tavla på nytt",readFromDisk:"Les filene fra disk på nytt",clearFilters:"Tøm filtre",boardView:"Tavlevisning",listView:"Listevisning",compactDensity:"Kompakt tetthet",comfortableDensity:"Komfortabel tetthet",navigate:"naviger",select:"velg"},UUe={id:"ID",title:"Tittel",status:"Status",tags:"Merker",assignee:"Ansvarlig",progress:"Fremgang",noMatchingTasks:"Ingen matchende oppgaver"},VUe={noProjectOpen:"Ingen prosjekt åpent",appearance:"Utseende",appearanceDesc:"Tema, skinn, bakgrunn, skrift og språk.",agent:"Agent",agentDesc:"Oppfølgingsatferd for KI-assistert oppgavearbeid.",board:"Tavle",boardDesc:"Oppgave-ID-atferd og tavlenivå standarder.",fields:"Felt",fieldsDesc:"Valgfrie felt vist på oppgaver og tavlekort.",language:"Språk",languageDesc:"UI-språk lagret i denne prosjektkonfigurasjonen.",mode:"Modus",modeDesc:"Følger automatisk systemets lys eller mørk preferanse.",auto:"Auto",light:"Lys",dark:"Mørk",skin:"Skinn",skinDesc:"Fargetokens lagres per prosjekt i kandown.json.",background:"Bakgrunn",backgroundDesc:"Velg en flat overflate eller animert væskebakgrunn.",font:"Skrift",fontDesc:"Lokal systemskriftstabel, uten nettverksforespørsel.",suggestFollowUp:"Foreslå oppfølgingsoppgaver",suggestFollowUpDesc:"Be agenter om å foreslå neste oppgaver etter å ha fullført en.",maxSuggestions:"Maks forslag",maxSuggestionsDesc:"Begrenser antallet oppfølgingsoppgaver en agent kan foreslå.",defaultPriority:"Standard prioritet",defaultPriorityDesc:"Startprioritet for nye oppgaver når Prioritet-feltet er aktivert.",defaultOwner:"Standard eier",defaultOwnerDesc:"Starter eier for nye oppgaver når Eier-feltet er aktivert.",priority:"Prioritet",priorityDesc:"Aktiver prioritetsmetadata på oppgaver.",assignee:"Ansvarlig",assigneeDesc:"Aktiver ansvarlig-metadata på oppgaver.",tags:"Merker",tagsDesc:"Aktiver merke-metadata på oppgaver.",dueDate:"Frist",dueDateDesc:"Aktiver frist-metadata på oppgaver.",ownerType:"Eiertype",ownerTypeDesc:"Aktiver menneske/KI-eierskap-metadata på oppgaver.",tools:"Verktøy",toolsDesc:"Aktiver fri-form verktøyhints for KI-agentoppgaver.",searchPlaceholder:"Søk i et alternativ",searchResults:"Søkeresultater",searchResultsLabel:"Søkeresultater",matchingOptions:"matchende alternativer i prosjektinnstillingene.",options:"alternativer",noOptionFound:"Ingen alternativer funnet",tryAnotherSearch:"Prøv et annet søkeord.",currentValue:"Gjeldende verdi",configKey:"Konfigurasjonsnøkkel",choices:"Valg",hoverForHelp:"Hold over eller tab deg gjennom et annet alternativ for å oppdatere denne hjelpepanelet.",pages:"Sider",backToBoard:"Tilbake til tavla",matches:"Treff",settingsTitle:"Innstillinger",kickerInterface:"Grensesnitt",kickerAutomation:"Automatisering",kickerIdentifiers:"Identifikatorer",kickerMetadata:"Metadata"},ZUe={detected:"Konflikt oppdaget",detectedDesc:"Denne oppgaven ble endret eksternt mens du redigerte.",conflictingChanges:"Oppgave <code>{{taskId}}</code> har motstridende endringer. Velg hvordan du vil løse det:",yourVersion:"Din versjon (lokal)",diskVersion:"Diskversjon (ekstern)",cancel:"Avbryt",reloadFromDisk:"Last inn fra disk på nytt",keepMyVersion:"Behold min versjon",title:"Tittel",priority:"Prioritet",body:"Innhold",subtasks:"Underoppgaver",none:"(ingen)"},GUe={title:"Tittel",subtasks:"Underoppgave",context:"Kontekst",notes:"Notater",whatWasDone:"Hva som ble gjort",tags:"Merker",assignee:"Ansvarlig",priority:"Prioritet"},WUe={settingsUpdatedExternally:"Innstillinger oppdatert eksternt — lastet inn på nytt"},KUe={en:"Engelsk",fi:"Finsk",da:"Dansk",no:"Norsk",sk:"Slovakisk",bg:"Bulgarsk",sr:"Serbisk",hr:"Kroatisk",lt:"Litauisk",lv:"Lettisk",et:"Estisk",sl:"Slovensk",hu:"Ungarsk",cs:"Tsjekkisk",pl:"Polsk",ro:"Rumensk",de:"Tysk",fr:"Fransk",es:"Spansk",pt:"Portugisisk",it:"Italiensk",nl:"Nederlandsk",sv:"Svensk",ja:"Japansk",ko:"Koreansk",zh:"Kinesisk",ar:"Arabisk"},YUe={app:jUe,common:DUe,emptyState:IUe,header:RUe,filterBar:OUe,column:FUe,card:zUe,drawer:HUe,subtask:BUe,commandPalette:qUe,listView:UUe,settings:VUe,conflict:ZUe,sectionLabels:GUe,toast:WUe,languageNames:KUe},XUe={name:"kandown",tagline:"AI Markdown Kanban Manager"},QUe={search:"Hľadať",searchPlaceholder:"Hľadať úlohy...",cancel:"Zrušiť",save:"Uložiť",delete:"Odstrániť",close:"Zavrieť",clear:"Vymazať",clearAll:"Vymazať všetko",add:"Pridať",remove:"Odobrať",done:"Hotové",loading:"Načítavam...",noResults:"Žiadne výsledky",currentValue:"Aktuálna hodnota",configKey:"Konfiguračný kľúč",choices:"Možnosti",openFolder:"Otvoriť priečinok",selectFolder:"Vybrať priečinok",recent:"Nedávne",settings:"Nastavenia",board:"Tabuľa",reload:"Obnoviť",newTask:"Nová úloha"},JUe={unsupportedBrowser:"Nepodporovaný prehliadač",unsupportedBrowserDesc:"Tento engine vyžaduje <code>File System Access API</code>. Použite Chrome, Edge, Brave alebo Opera. Firefox a Safari ho zatiaľ nepodporujú.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eVe={tasks:"úlohy",recentProjects:"Nedávne projekty","openFolder...":"Otvoriť priečinok..."},tVe={searchPlaceholder:"Hľadať úlohy...",clearAll:"Vymazať všetko",ownerAll:"👤 Všetky",ownerHuman:"👤 Človek",ownerAI:"🤖 AI"},nVe={addTask:"Pridať úlohu",columnColor:"Farba stĺpca",color:"Farba"},aVe={delete:"Odstrániť úlohu",confirmDelete:"Kliknite znova pre odstránenie"},iVe={close:"Zavrieť (Esc)",taskTitle:"Názov úlohy",doneSubtasks:"hotové",priority:"Priorita",noPriority:"Bez priority",urgentP1:"Urgentné · P1",highP2:"Vysoká · P2",mediumP3:"Stredná · P3",lowP4:"Nízka · P4",assignee:"Zodpovedná osoba",assigneePlaceholder:"používateľské meno",tags:"Štítky",tagsPlaceholder:"backend, bezpečnosť, api",dueDate:"Termín",owner:"Vlastník",unset:"Nenastavené",human:"👤 Človek",ai:"🤖 AI",tools:"Nástroje",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Popis",descriptionPlaceholder:"Napíšte kontext, odkazy, rozhodnutia...",report:"Správa",reportPlaceholder:"AI výstup sa zobrazí tu...",subtasks:"Podúlohy",addSubtask:"Pridať podúlohu",deleteTask:"Odstrániť",saveClose:"Uložiť & Zavrieť",cancel:"Zrušiť"},rVe={placeholder:"Podúloha...",description:"Popis",descriptionPlaceholder:"Pridajte kontext, odkazy alebo poznámky k tomuto kroku...",report:"Správa",reportPlaceholder:"Čo bolo urobené, prijaté rozhodnutia, kompromisy...",aiFillsThis:"AI toto vyplní po dokončení",collapse:"Zabaliť",expand:"Rozbaliť"},sVe={placeholder:"Napíšte príkaz alebo hľadajte...",actions:"Akcie",view:"Zobrazenie",tasks:"Úlohy",newTask:"Nová úloha",createNew:"Vytvoriť novú úlohu",reloadBoard:"Obnoviť tabuľu",readFromDisk:"Znova načítať súbory z disku",clearFilters:"Vymazať filtre",boardView:"Zobrazenie tabule",listView:"Zobrazenie zoznamu",compactDensity:"Kompaktná hustota",comfortableDensity:"Pohodlná hustota",navigate:"prechádzať",select:"vybrať"},oVe={id:"ID",title:"Názov",status:"Stav",tags:"Štítky",assignee:"Zodpovedná osoba",progress:"Priebeh",noMatchingTasks:"Žiadne zodpovedajúce úlohy"},cVe={noProjectOpen:"Žiadny otvorený projekt",appearance:"Vzhľad",appearanceDesc:"Téma, vzhľad, pozadie, písmo a jazyk.",agent:"Agent",agentDesc:"Správanie pri následných úlohách pre AI-asistovanú prácu.",board:"Tabuľa",boardDesc:"Správanie ID úloh a predvolené nastavenia na úrovni tabule.",fields:"Polia",fieldsDesc:"Voliteľné polia zobrazené na úlohách a kartách tabule.",language:"Jazyk",languageDesc:"Jazyk rozhrania uložený v konfigurácii projektu.",mode:"Režim",modeDesc:"Automaticky sleduje predvoľbu svetlého alebo tmavého režimu systému.",auto:"Automaticky",light:"Svetlý",dark:"Tmavý",skin:"Vzhľad",skinDesc:"Farebné tokeny sú uložené pre každý projekt v kandown.json.",background:"Pozadie",backgroundDesc:"Vyberte plochý povrch alebo animované tekuté pozadie.",font:"Písmo",fontDesc:"Lokálny systémový zásobník písiem, bez sieťovej požiadavky.",suggestFollowUp:"Navrhnúť následné úlohy",suggestFollowUpDesc:"Požiadajte agentov, aby navrhli ďalšie úlohy po dokončení jednej.",maxSuggestions:"Max návrhov",maxSuggestionsDesc:"Obmedzuje počet následných úloh, ktoré môže agent navrhnúť.",defaultPriority:"Predvolená priorita",defaultPriorityDesc:"Počiatočná priorita pre nové úlohy, keď je pole Priorita povolené.",defaultOwner:"Predvolený vlastník",defaultOwnerDesc:"Počiatočný vlastník pre nové úlohy, keď je pole Vlastník povolené.",priority:"Priorita",priorityDesc:"Povoliť metaúdaje priority na úlohách.",assignee:"Zodpovedná osoba",assigneeDesc:"Povoliť metaúdaje zodpovednej osoby na úlohách.",tags:"Štítky",tagsDesc:"Povoliť metaúdaje štítkov na úlohách.",dueDate:"Termín",dueDateDesc:"Povoliť metaúdaje termínu na úlohách.",ownerType:"Typ vlastníka",ownerTypeDesc:"Povoliť metaúdaje vlastníctva človek/AI na úlohách.",tools:"Nástroje",toolsDesc:"Povoliť voľné nápovedy nástrojov pre úlohy AI agenta.",searchPlaceholder:"Hľadať akúkoľvek možnosť",searchResults:"Výsledky vyhľadávania",searchResultsLabel:"Výsledky vyhľadávania",matchingOptions:"zodpovedajúcich možností v nastaveniach projektu.",options:"možností",noOptionFound:"Nenájdená žiadna možnosť",tryAnotherSearch:"Skúste iný vyhľadávací výraz.",currentValue:"Aktuálna hodnota",configKey:"Konfiguračný kľúč",choices:"Možnosti",hoverForHelp:"Prejdite kurzorom alebo tabulátorom cez inú možnosť pre aktualizáciu tejto pomocnej tabuľky.",pages:"Stránky",backToBoard:"Späť na tabuľu",matches:"Zhody",settingsTitle:"Nastavenia",kickerInterface:"Rozhranie",kickerAutomation:"Automatizácia",kickerIdentifiers:"Identifikátory",kickerMetadata:"Metaúdaje"},pVe={detected:"Zistený konflikt",detectedDesc:"Táto úloha bola externe upravená počas vášho editovania.",conflictingChanges:"Úloha <code>{{taskId}}</code> má konfliktné zmeny. Vyberte, ako to vyriešiť:",yourVersion:"Vaša verzia (lokálna)",diskVersion:"Verzia na disku (vzdialená)",cancel:"Zrušiť",reloadFromDisk:"Znovu načítať z disku",keepMyVersion:"Zachovať moju verziu",title:"Názov",priority:"Priorita",body:"Obsah",subtasks:"Podúlohy",none:"(žiadne)"},lVe={title:"Názov",subtasks:"Podúloha",context:"Kontext",notes:"Poznámky",whatWasDone:"Čo bolo urobené",tags:"Štítky",assignee:"Zodpovedná osoba",priority:"Priorita"},dVe={settingsUpdatedExternally:"Nastavenia boli externe aktualizované — znovu načítané"},uVe={en:"Angličtina",fi:"Fínčina",da:"Dánčina",no:"Nórčina",sk:"Slovenčina",bg:"Bulharčina",sr:"Srbčina",hr:"Chorvátčina",lt:"Litovčina",lv:"Lotyština",et:"Estónčina",sl:"Slovinčina",hu:"Maďarčina",cs:"Čeština",pl:"Poľština",ro:"Rumunčina",de:"Nemčina",fr:"Francúzština",es:"Španielčina",pt:"Portugalčina",it:"Taliančina",nl:"Holandčina",sv:"Švédčina",ja:"Japončina",ko:"Kórejčina",zh:"Čínština",ar:"Arabčina"},mVe={app:XUe,common:QUe,emptyState:JUe,header:eVe,filterBar:tVe,column:nVe,card:aVe,drawer:iVe,subtask:rVe,commandPalette:sVe,listView:oVe,settings:cVe,conflict:pVe,sectionLabels:lVe,toast:dVe,languageNames:uVe},fVe={name:"kandown",tagline:"AI Markdown Канбан Мениджър"},gVe={search:"Търсене",searchPlaceholder:"Търсене на задачи...",cancel:"Отказ",save:"Запази",delete:"Изтрий",close:"Затвори",clear:"Изчисти",clearAll:"Изчисти всичко",add:"Добави",remove:"Премахни",done:"Готово",loading:"Зареждане...",noResults:"Няма резултати",currentValue:"Текуща стойност",configKey:"Ключ за конфигурация",choices:"Избор",openFolder:"Отвори папка",selectFolder:"Избери папка",recent:"Скорошни",settings:"Настройки",board:"Дъска",reload:"Презареди",newTask:"Нова задача"},hVe={unsupportedBrowser:"Неподдържан браузър",unsupportedBrowserDesc:"Тази система изисква <code>File System Access API</code>. Използвайте Chrome, Edge, Brave или Opera. Firefox и Safari все още не го поддържат.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bVe={tasks:"задачи",recentProjects:"Скорошни проекти","openFolder...":"Отвори папка..."},vVe={searchPlaceholder:"Търсене на задачи...",clearAll:"Изчисти всичко",ownerAll:"👤 Всички",ownerHuman:"👤 Човек",ownerAI:"🤖 AI"},yVe={addTask:"Добави задача",columnColor:"Цвят на колоната",color:"Цвят"},_Ve={delete:"Изтрий задача",confirmDelete:"Кликни отново за изтриване"},kVe={close:"Затвори (Esc)",taskTitle:"Задание на задача",doneSubtasks:"приключени",priority:"Приоритет",noPriority:"Без приоритет",urgentP1:"Спешно · P1",highP2:"Висок · P2",mediumP3:"Среден · P3",lowP4:"Нисък · P4",assignee:"Изпълнител",assigneePlaceholder:"потребителско име",tags:"Етикети",tagsPlaceholder:"backend, сигурност, api",dueDate:"Краен срок",owner:"Собственик",unset:"Не е зададен",human:"👤 Човек",ai:"🤖 AI",tools:"Инструменти",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Описание",descriptionPlaceholder:"Напишете контекст, връзки, решения...",report:"Доклад",reportPlaceholder:"Тук ще се покаже резултатът от AI...",subtasks:"Подзадачи",addSubtask:"Добави подзадача",deleteTask:"Изтрий",saveClose:"Запази и затвори",cancel:"Отказ"},wVe={placeholder:"Подзадача...",description:"Описание",descriptionPlaceholder:"Добавете контекст, връзки или бележки за тази стъпка...",report:"Доклад",reportPlaceholder:"Какво беше свършено, взети решения, компромиси...",aiFillsThis:"AI попълва това след приключване",collapse:"Свий",expand:"Разшири"},xVe={placeholder:"Въведете команда или търсете...",actions:"Действия",view:"Изглед",tasks:"Задачи",newTask:"Нова задача",createNew:"Създай нова задача",reloadBoard:"Презареди дъската",readFromDisk:"Прочетете файловете от диска",clearFilters:"Изчисти филтрите",boardView:"Изглед на дъска",listView:"Изглед на списък",compactDensity:"Компактна плътност",comfortableDensity:"Комфортна плътност",navigate:"навигирай",select:"избери"},AVe={id:"ID",title:"Задание",status:"Статус",tags:"Етикети",assignee:"Изпълнител",progress:"Прогрес",noMatchingTasks:"Няма съответстващи задачи"},CVe={noProjectOpen:"Няма отворен проект",appearance:"Внешен вид",appearanceDesc:"Тема, кожа, фон, шрифт и език.",agent:"Агент",agentDesc:"Поведение за последващи действия при работа с AI-assisted задачи.",board:"Дъска",boardDesc:"Поведение на ID на задачите и общи настройки за дъската.",fields:"Полета",fieldsDesc:"Незадължителни полета, показвани върху задачи и карти на дъската.",language:"Език",languageDesc:"Езикът на интерфейса се съхранява в конфигурацията на този проект.",mode:"Режим",modeDesc:"Следва автоматично системната ви настройка за светла или тъмна тема.",auto:"Автоматично",light:"Светла",dark:"Тъмна",skin:"Кожа",skinDesc:"Цветовите токени се съхраняват за всеки проект в kandown.json.",background:"Фон",backgroundDesc:"Изберете плосък фон или анимиран течен фон.",font:"Шрифт",fontDesc:"Локален системен стек от шрифтове, без мрежово запитване.",suggestFollowUp:"Предлагай последващи задачи",suggestFollowUpDesc:"Искайте от асистентите да предлагат следващи задачи след приключване.",maxSuggestions:"Макс. предложения",maxSuggestionsDesc:"Ограничава броя на последващите задачи, които агентът може да предложи.",defaultPriority:"Приоритет по подразбиране",defaultPriorityDesc:"Начален приоритет за нови задачи, когато полето Приоритет е активирано.",defaultOwner:"Собственик по подразбиране",defaultOwnerDesc:"Начален собственик за нови задачи, когато полето Собственик е активирано.",priority:"Приоритет",priorityDesc:"Активиране на приоритетни метаданни за задачи.",assignee:"Изпълнител",assigneeDesc:"Активиране на метаданни за изпълнител на задачи.",tags:"Етикети",tagsDesc:"Активиране на етикет метаданни за задачи.",dueDate:"Краен срок",dueDateDesc:"Активиране на метаданни за краен срок на задачи.",ownerType:"Тип собственик",ownerTypeDesc:"Активиране на метаданни за човек/AI собственост на задачи.",tools:"Инструменти",toolsDesc:"Активиране на свободни подсказки за инструменти за AI-agent задачи.",searchPlaceholder:"Търсене на всяка опция",searchResults:"Резултати от търсене",searchResultsLabel:"Резултати от търсене",matchingOptions:"съответстващи опции в настройките на проекта.",options:"опции",noOptionFound:"Не е намерена опция",tryAnotherSearch:"Опитайте с друг термин за търсене.",currentValue:"Текуща стойност",configKey:"Ключ за конфигурация",choices:"Избор",hoverForHelp:"Преминете с мишката или таба върху друга опция, за да актуализирате този помощен панел.",pages:"Страници",backToBoard:"Обратно към дъската",matches:"Съвпадения",settingsTitle:"Настройки",kickerInterface:"Интерфейс",kickerAutomation:"Автоматизация",kickerIdentifiers:"Идентификатори",kickerMetadata:"Метаданни"},NVe={detected:"Открит конфликт",detectedDesc:"Тази задача беше променена външно, докато я редактирахте.",conflictingChanges:"Задачата <code>{{taskId}}</code> има конфликтни промени. Изберете как да разрешите:",yourVersion:"Вашата версия (локална)",diskVersion:"Версия на диска (отдалечена)",cancel:"Отказ",reloadFromDisk:"Презареди от диска",keepMyVersion:"Запази моята версия",title:"Задание",priority:"Приоритет",body:"Съдържание",subtasks:"Подзадачи",none:"(няма)"},SVe={title:"Задание",subtasks:"Подзадача",context:"Контекст",notes:"Бележки",whatWasDone:"Какво беше свършено",tags:"Етикети",assignee:"Изпълнител",priority:"Приоритет"},$Ve={settingsUpdatedExternally:"Настройките са актуализирани външно — презаредени"},EVe={en:"Английски",fi:"Фински",da:"Датски",no:"Норвежки",sk:"Словашки",bg:"Български",sr:"Сръбски",hr:"Хърватски",lt:"Литовски",lv:"Латвийски",et:"Естонски",sl:"Словенски",hu:"Унгарски",cs:"Чешки",pl:"Полски",ro:"Румърски",de:"Немски",fr:"Френски",es:"Испански",pt:"Португалски",it:"Италиански",nl:"Нидерландски",sv:"Шведски",ja:"Японски",ko:"Корейски",zh:"Китайски",ar:"Арабски"},PVe={app:fVe,common:gVe,emptyState:hVe,header:bVe,filterBar:vVe,column:yVe,card:_Ve,drawer:kVe,subtask:wVe,commandPalette:xVe,listView:AVe,settings:CVe,conflict:NVe,sectionLabels:SVe,toast:$Ve,languageNames:EVe},TVe={name:"kandown",tagline:"AI Markdown Канбан Менаџер"},LVe={search:"Претрага",searchPlaceholder:"Претрага задатака...",cancel:"Откажи",save:"Сачувај",delete:"Обриши",close:"Затвори",clear:"Очисти",clearAll:"Очисти све",add:"Додај",remove:"Уклони",done:"Готово",loading:"Учитавање...",noResults:"Нема резултата",currentValue:"Тренутна вредност",configKey:"Кључ конфигурације",choices:"Избор",openFolder:"Отвори фасциклу",selectFolder:"Изабери фасциклу",recent:"Скорашanji",settings:"Подешавања",board:"Табла",reload:"Освежи",newTask:"Нови задатак"},MVe={unsupportedBrowser:"Неподржан прегледач",unsupportedBrowserDesc:"Овај систем захтева <code>File System Access API</code>. Користите Chrome, Edge, Brave или Opera. Firefox и Safari тојјош не подржавају.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},jVe={tasks:"задаци",recentProjects:"Скорашanji пројекти","openFolder...":"Отвори фасциклу..."},DVe={searchPlaceholder:"Претрага задатака...",clearAll:"Очисти све",ownerAll:"👤 Сви",ownerHuman:"👤 Човек",ownerAI:"🤖 AI"},IVe={addTask:"Додај задатак",columnColor:"Боја колоне",color:"Боја"},RVe={delete:"Обриши задатак",confirmDelete:"Кликни поново да обришеш"},OVe={close:"Затвори (Esc)",taskTitle:"Назив задатка",doneSubtasks:"завршено",priority:"Приоритет",noPriority:"Без приоритета",urgentP1:"Хитно · P1",highP2:"Висок · P2",mediumP3:"Средњи · P3",lowP4:"Низак · P4",assignee:"Задужен",assigneePlaceholder:"корисничко име",tags:"Ознаке",tagsPlaceholder:"backend, сигурност, api",dueDate:"Рок",owner:"Власник",unset:"Није постављено",human:"👤 Човек",ai:"🤖 AI",tools:"Алати",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Опис",descriptionPlaceholder:"Напишите контекст, линкове, одлуке...",report:"Извештај",reportPlaceholder:"Овде ће се појавити AI резултат...",subtasks:"Подзадаци",addSubtask:"Додај подзадатак",deleteTask:"Обриши",saveClose:"Сачувај и затвори",cancel:"Откажи"},FVe={placeholder:"Подзадатак...",description:"Опис",descriptionPlaceholder:"Додајте контекст, линкове или напомене за овај корак...",report:"Извештај",reportPlaceholder:"Шта је урађено, донете одлуке, компромиси...",aiFillsThis:"AI попуњава ово након завршетка",collapse:"Скупи",expand:"Прошири"},zVe={placeholder:"Унесите команду или претражите...",actions:"Акције",view:"Приказ",tasks:"Задаци",newTask:"Нови задатак",createNew:"Направи нови задатак",reloadBoard:"Освежи таблу",readFromDisk:"Прочитај фајлове са диска",clearFilters:"Очисти филтере",boardView:"Приказ табле",listView:"Приказ листе",compactDensity:"Компактна густина",comfortableDensity:"Удобна густина",navigate:"навигирај",select:"изабери"},HVe={id:"ID",title:"Назив",status:"Статус",tags:"Ознаке",assignee:"Задужен",progress:"Напредак",noMatchingTasks:"Нема одговарајућих задатака"},BVe={noProjectOpen:"Нема отвореног пројекта",appearance:"Изглед",appearanceDesc:"Тема, маска, позадина, фонт и језик.",agent:"Агент",agentDesc:"Понашање за даље кораке након рада са AI-асистираним задацима.",board:"Табла",boardDesc:"Понашање ID-а задатака и подразумевана подешавања табле.",fields:"Поља",fieldsDesc:"Опциона поља приказана на задацима и картама табле.",language:"Језик",languageDesc:"Језик интерфејса се чува у конфигурацији пројекта.",mode:"Режим",modeDesc:"Аутоматски прати системску поставку светле или тамне теме.",auto:"Аутоматски",light:"Светла",dark:"Тамна",skin:"Маска",skinDesc:"Бојени токени се чувају по пројекту у kandown.json.",background:"Позадина",backgroundDesc:"Изаберите раван или анимиран течан позадин.",font:"Фонт",fontDesc:"Локални системски скуп фонтова, без мрежног захтева.",suggestFollowUp:"Предложи следеће задатке",suggestFollowUpDesc:"Тражите од асистената да предлажу следеће задатке након завршетка.",maxSuggestions:"Макс. предлога",maxSuggestionsDesc:"Ограничава број следећих задатака које агент може предложити.",defaultPriority:"Подразумевани приоритет",defaultPriorityDesc:"Почетни приоритет за нове задатке када је Поље приоритета укључено.",defaultOwner:"Подразумевани власник",defaultOwnerDesc:"Почетни власник за нове задатке када је Поље власника укључено.",priority:"Приоритет",priorityDesc:"Омогући приоритет метаподатке на задацима.",assignee:"Задужен",assigneeDesc:"Омогући метаподатке задуженог на задацима.",tags:"Ознаке",tagsDesc:"Омогући ознаке метаподатке на задацима.",dueDate:"Рок",dueDateDesc:"Омогући метаподатке рока на задацима.",ownerType:"Тип власника",ownerTypeDesc:"Омогући метаподатке власника човек/AI на задацима.",tools:"Алати",toolsDesc:"Омогући слободне назнаке алата за AI-agent задатке.",searchPlaceholder:"Претражи било коју опцију",searchResults:"Резултати претраге",searchResultsLabel:"Резултати претраге",matchingOptions:"одговарајуће опције у подешавању пројекта.",options:"опције",noOptionFound:"Опција не пронађена",tryAnotherSearch:"Пробајте други појам за претрагу.",currentValue:"Тренутна вредност",configKey:"Кључ конфигурације",choices:"Избор",hoverForHelp:"Пређите мишем или табом преко друге опције да ажурирате овај панел за помоћ.",pages:"Странице",backToBoard:"Назад на таблу",matches:"Поклапања",settingsTitle:"Подешавања",kickerInterface:"Интерфејс",kickerAutomation:"Аутоматизација",kickerIdentifiers:"Идентификатори",kickerMetadata:"Метаподаци"},qVe={detected:"Конфликт откривен",detectedDesc:"Овај задатак је измењен споља док сте га уређивали.",conflictingChanges:"Задатак <code>{{taskId}}</code> има конфликтне промене. Изаберите како да решите:",yourVersion:"Ваша верзија (локална)",diskVersion:"Верзија на диску (удаљена)",cancel:"Откажи",reloadFromDisk:"Учитај са диска",keepMyVersion:"Задржи моју верзију",title:"Назив",priority:"Приоритет",body:"Садржај",subtasks:"Подзадаци",none:"(ниједно)"},UVe={title:"Назив",subtasks:"Подзадатак",context:"Контекст",notes:"Напомене",whatWasDone:"Шта је урађено",tags:"Ознаке",assignee:"Задужен",priority:"Приоритет"},VVe={settingsUpdatedExternally:"Подешавања су споља ажурирана — освежена"},ZVe={en:"Енглески",fi:"Фински",da:"Дански",no:"Норвешки",sk:"Словачки",bg:"Бугарски",sr:"Српски",hr:"Хрватски",lt:"Литвански",lv:"Летонски",et:"Естонски",sl:"Словеначки",hu:"Мађарски",cs:"Чешки",pl:"Пољски",ro:"Румунски",de:"Немачки",fr:"Француски",es:"Шпански",pt:"Португалски",it:"Италијански",nl:"Холандски",sv:"Шведски",ja:"Јапански",ko:"Корејски",zh:"Кинески",ar:"Арапски"},GVe={app:TVe,common:LVe,emptyState:MVe,header:jVe,filterBar:DVe,column:IVe,card:RVe,drawer:OVe,subtask:FVe,commandPalette:zVe,listView:HVe,settings:BVe,conflict:qVe,sectionLabels:UVe,toast:VVe,languageNames:ZVe},WVe={name:"kandown",tagline:"AI Markdown Upravitelj Zadataka"},KVe={search:"Pretraži",searchPlaceholder:"Pretraži zadatke...",cancel:"Otkaži",save:"Spremi",delete:"Izbriši",close:"Zatvori",clear:"Očisti",clearAll:"Očisti sve",add:"Dodaj",remove:"Ukloni",done:"Gotovo",loading:"Učitavanje...",noResults:"Nema rezultata",currentValue:"Trenutna vrijednost",configKey:"Ključ konfiguracije",choices:"Opcije",openFolder:"Otvori mapu",selectFolder:"Odaberi mapu",recent:"Nedavno",settings:"Postavke",board:"Ploča",reload:"Osvježi",newTask:"Novi zadatak"},YVe={unsupportedBrowser:"Nepodržan preglednik",unsupportedBrowserDesc:"Ovaj engine zahtijeva <code>File System Access API</code>. Koristite Chrome, Edge, Brave ili Opera. Firefox i Safari još ne podržavaju.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},XVe={tasks:"zadaci",recentProjects:"Nedavni projekti","openFolder...":"Otvori mapu..."},QVe={searchPlaceholder:"Pretraži zadatke...",clearAll:"Očisti sve",ownerAll:"👤 Svi",ownerHuman:"👤 Čovjek",ownerAI:"🤖 AI"},JVe={addTask:"Dodaj zadatak",columnColor:"Boja stupca",color:"Boja"},eZe={delete:"Izbriši zadatak",confirmDelete:"Ponovno kliknite za brisanje"},tZe={close:"Zatvori (Esc)",taskTitle:"Naslov zadatka",doneSubtasks:"gotovo",priority:"Prioritet",noPriority:"Bez prioriteta",urgentP1:"Hitno · P1",highP2:"Visok · P2",mediumP3:"Srednji · P3",lowP4:"Nizak · P4",assignee:"Izvršitelj",assigneePlaceholder:"korisničko ime",tags:"Oznake",tagsPlaceholder:"backend, sigurnost, api",dueDate:"Rok",owner:"Vlasnik",unset:"Nije postavljeno",human:"👤 Čovjek",ai:"🤖 AI",tools:"Alati",toolsPlaceholder:"datotečni sustav, cli, web pretraživanje, preglednik...",description:"Opis",descriptionPlaceholder:"Napišite neki kontekst, linkove, odluke...",report:"Izvještaj",reportPlaceholder:"AI izlaz će se pojaviti ovdje...",subtasks:"Podzadaci",addSubtask:"Dodaj podzadatak",deleteTask:"Izbriši",saveClose:"Spremi i zatvori",cancel:"Otkaži"},nZe={placeholder:"Podzadatak...",description:"Opis",descriptionPlaceholder:"Dodajte kontekst, linkove ili bilješke za ovaj korak...",report:"Izvještaj",reportPlaceholder:"Što je napravljeno, donese odluke, kompromisi...",aiFillsThis:"AI popunjava ovo nakon dovršetka",collapse:"Sažmi",expand:"Proširi"},aZe={placeholder:"Upišite naredbu ili pretražite...",actions:"Radnje",view:"Prikaz",tasks:"Zadaci",newTask:"Novi zadatak",createNew:"Stvori novi zadatak",reloadBoard:"Osvježi ploču",readFromDisk:"Ponovno čitaj datoteke s diska",clearFilters:"Očisti filtra",boardView:"Prikaz ploče",listView:"Prikaz popisa",compactDensity:"Kompatna gustoća",comfortableDensity:"Ugodna gustoća",navigate:"navigiraj",select:"odaberi"},iZe={id:"ID",title:"Naslov",status:"Status",tags:"Oznake",assignee:"Izvršitelj",progress:"Napredak",noMatchingTasks:"Nema podudarnih zadataka"},rZe={noProjectOpen:"Nijedan projekt nije otvoren",appearance:"Izgled",appearanceDesc:"Tema, presvlaka, pozadina, font i jezik.",agent:"Agent",agentDesc:"Ponašanje praćenja za AI potpomognuti rad na zadacima.",board:"Ploča",boardDesc:"Ponašanje ID-a zadatka i zadane postavke na razini ploče.",fields:"Polja",fieldsDesc:"Neobavezna polja prikazana na zadacima i karticama ploče.",language:"Jezik",languageDesc:"Jezik sučelja spremljen u konfiguraciji ovog projekta.",mode:"Način",modeDesc:"Automatski prati sistemske postavke svjetlog ili tamnog načina rada.",auto:"Automatski",light:"Svijetlo",dark:"Tamno",skin:"Presvlaka",skinDesc:"Bojni tokeni spremljeni su po projektu u kandown.json.",background:"Pozadina",backgroundDesc:"Odaberite ravnu površinu ili animiranu tekuću pozadinu.",font:"Font",fontDesc:"Lokalni font sustava, bez mrežne zahtjeva.",suggestFollowUp:"Predloži nastavne zadatke",suggestFollowUpDesc:"Zatražite od agenata da predlože sljedeće zadatke nakon završetka jednog.",maxSuggestions:"Maks. prijedloga",maxSuggestionsDesc:"Ograničava broj nastavnih zadataka koje agent može predložiti.",defaultPriority:"Zadani prioritet",defaultPriorityDesc:"Početni prioritet za nove zadatke kada je polje Prioritet omogućeno.",defaultOwner:"Zadani vlasnik",defaultOwnerDesc:"Početni vlasnik za nove zadatke kada je polje Vlasnik omogućeno.",priority:"Prioritet",priorityDesc:"Omogući metapodatke prioriteta na zadacima.",assignee:"Izvršitelj",assigneeDesc:"Omogući metapodatke izvršitelja na zadacima.",tags:"Oznake",tagsDesc:"Omogući metapodatke oznaka na zadacima.",dueDate:"Rok",dueDateDesc:"Omogući metapodatke roka na zadacima.",ownerType:"Tip vlasnika",ownerTypeDesc:"Omogući metapodatke vlasništva čovjek/AI na zadacima.",tools:"Alati",toolsDesc:"Omogući napomene za alate u slobodnoj formi za AI-agent zadatke.",searchPlaceholder:"Pretraži bilo koju opciju",searchResults:"Rezultati pretraživanja",searchResultsLabel:"Rezultati pretraživanja",matchingOptions:"podudarnih opcija u postavkama projekta.",options:"opcija",noOptionFound:"Nema opcije",tryAnotherSearch:"Pokušajte s drugim pojmom pretraživanja.",currentValue:"Trenutna vrijednost",configKey:"Ključ konfiguracije",choices:"Opcije",hoverForHelp:"Zadržite pokazivač ili prebacite se kroz drugu opciju za ažuriranje ove ploče pomoći.",pages:"Stranice",backToBoard:"Natrag na ploču",matches:"Podudaranja",settingsTitle:"Postavke",kickerInterface:"Sučelje",kickerAutomation:"Automatizacija",kickerIdentifiers:"Identifikatori",kickerMetadata:"Metapodaci"},sZe={detected:"Otkriven sukob",detectedDesc:"Ovaj zadatak je izmijenjen izvana dok ste uređivali.",conflictingChanges:"Zadatak <code>{{taskId}}</code> ima sukobljene izmjene. Odaberite način rješavanja:",yourVersion:"Vaša verzija (lokalna)",diskVersion:"Verzija diska (udaljena)",cancel:"Otkaži",reloadFromDisk:"Učitaj s diska",keepMyVersion:"Zadrži moju verziju",title:"Naslov",priority:"Prioritet",body:"Sadržaj",subtasks:"Podzadaci",none:"(nema)"},oZe={title:"Naslov",subtasks:"Podzadatak",context:"Kontekst",notes:"Bilješke",whatWasDone:"Što je napravljeno",tags:"Oznake",assignee:"Izvršitelj",priority:"Prioritet"},cZe={settingsUpdatedExternally:"Postavke su ažurirane izvana — osvježeno"},pZe={en:"Engleski",fi:"Finski",da:"Danski",no:"Norveški",sk:"Slovački",bg:"Bugarski",sr:"Srpski",hr:"Hrvatski",lt:"Litvanski",lv:"Latvijski",et:"Estonski",sl:"Slovenski",hu:"Mađarski",cs:"Češki",pl:"Poljski",ro:"Rumunjski",de:"Njemački",fr:"Francuski",es:"Španjolski",pt:"Portugalski",it:"Talijanski",nl:"Nizozemski",sv:"Švedski",ja:"Japanski",ko:"Korejski",zh:"Kineski",ar:"Arapski"},lZe={app:WVe,common:KVe,emptyState:YVe,header:XVe,filterBar:QVe,column:JVe,card:eZe,drawer:tZe,subtask:nZe,commandPalette:aZe,listView:iZe,settings:rZe,conflict:sZe,sectionLabels:oZe,toast:cZe,languageNames:pZe},dZe={name:"kandown",tagline:"AI Markdown Užduočių Valdytojas"},uZe={search:"Ieškoti",searchPlaceholder:"Ieškoti užduočių...",cancel:"Atšaukti",save:"Išsaugoti",delete:"Ištrinti",close:"Uždaryti",clear:"Išvalyti",clearAll:"Išvalyti viską",add:"Pridėti",remove:"Pašalinti",done:"Atlikta",loading:"Įkeliama...",noResults:"Rezultatų nėra",currentValue:"Dabartinė reikšmė",configKey:"Konfigūracijos raktas",choices:"Pasirinkimai",openFolder:"Atverti aplanką",selectFolder:"Pasirinkti aplanką",recent:"Paskutiniai",settings:"Nustatymai",board:" lenta",reload:"Perkrauti",newTask:"Nauja užduotis"},mZe={unsupportedBrowser:"Naršyklė nepalaikoma",unsupportedBrowserDesc:"Šiai sistemai reikalingas <code>File System Access API</code>. Naudokite Chrome, Edge, Brave arba Opera. Firefox ir Safari šiuo metu nepalaiko.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},fZe={tasks:"užduotys",recentProjects:"Paskutiniai projektai","openFolder...":"Atverti aplanką..."},gZe={searchPlaceholder:"Ieškoti užduočių...",clearAll:"Išvalyti viską",ownerAll:"👤 Visi",ownerHuman:"👤 Žmogus",ownerAI:"🤖 AI"},hZe={addTask:"Pridėti užduotį",columnColor:"Stulpelio spalva",color:"Spalva"},bZe={delete:"Ištrinti užduotį",confirmDelete:"Spustelėkite dar kartą norėdami ištrinti"},vZe={close:"Uždaryti (Esc)",taskTitle:"Užduoties pavadinimas",doneSubtasks:"atlikta",priority:"Prioritetas",noPriority:"Be prioriteto",urgentP1:"Skubu · P1",highP2:"Aukštas · P2",mediumP3:"Vidutinis · P3",lowP4:"Žemas · P4",assignee:"Atsakingas",assigneePlaceholder:"vartotojo vardas",tags:"Žymės",tagsPlaceholder:"backend, saugumas, api",dueDate:"Terminas",owner:"Savininkas",unset:"Nenustatyta",human:"👤 Žmogus",ai:"🤖 AI",tools:"Įrankiai",toolsPlaceholder:"failų sistema, cli, žiniatinklio paieška, naršyklė...",description:"Aprašymas",descriptionPlaceholder:"Užrašykite kontekstą, nuorodas, sprendimus...",report:"Ataskaita",reportPlaceholder:"AI rezultatas bus rodomas čia...",subtasks:"Dalinės užduotys",addSubtask:"Pridėti dalinę užduotį",deleteTask:"Ištrinti",saveClose:"Išsaugoti ir uždaryti",cancel:"Atšaukti"},yZe={placeholder:"Dalinė užduotis...",description:"Aprašymas",descriptionPlaceholder:"Pridėkite kontekstą, nuorodas arba užrašus šiam žingsniui...",report:"Ataskaita",reportPlaceholder:"Kas buvo atlikta, priimti sprendimai, kompromisai...",aiFillsThis:"AI užpildo tai užbaigus",collapse:"Suskleisti",expand:"Išskleisti"},_Ze={placeholder:"Įveskite komandą arba ieškokite...",actions:"Veiksmai",view:"Rodinys",tasks:"Užduotys",newTask:"Nauja užduotis",createNew:"Sukurti naują užduotį",reloadBoard:"Perkrauti lentą",readFromDisk:"Perskaityti failus iš disko",clearFilters:"Išvalyti filtrus",boardView:"Lentos rodinys",listView:"Sąrašo rodinys",compactDensity:"Kompaktiškas tankis",comfortableDensity:"Patogus tankis",navigate:"naviguoti",select:"pasirinkti"},kZe={id:"ID",title:"Pavadinimas",status:"Būsena",tags:"Žymės",assignee:"Atsakingas",progress:"Eiga",noMatchingTasks:"Nėra atitinkančių užduočių"},wZe={noProjectOpen:"Projektas neatvertas",appearance:"Išvaizda",appearanceDesc:"Tema, apvalkalas, fonas, šriftas ir kalba.",agent:"Agentas",agentDesc:"Tolesnio elgesio nustatymai AI padedamam užduočių darbui.",board:"Lenta",boardDesc:"Užduoties ID elgesys ir lentos lygio numatytieji nustatymai.",fields:"Laukai",fieldsDesc:"Pasirenkami laukai rodomi užduotyse ir lentos kortelėse.",language:"Kalba",languageDesc:"Sąsajos kalba saugoma šio projekto konfigūracijoje.",mode:"Režimas",modeDesc:"Automatiškai seka sistemos šviesos ar tamsos pageidavimus.",auto:"Automatiškai",light:"Šviesus",dark:"Tamsus",skin:"Apvalkalas",skinDesc:"Spalvos žetonai saugomi pagal projektą kandown.json faile.",background:"Fonas",backgroundDesc:"Pasirinkite lygią paviršių arba animuotą skystą foną.",font:"Šriftas",fontDesc:"Vietinė sistemos šriftų seka, nereikalaujanti tinklo užklausos.",suggestFollowUp:"Siūlyti tęstines užduotis",suggestFollowUpDesc:"Prašyti agentų siūlyti sekančias užduotis užbaigus vieną.",maxSuggestions:"Maks. pasiūlymų",maxSuggestionsDesc:"Riboja agento siūlomų tęstinių užduočių skaičių.",defaultPriority:"Numatytasis prioritetas",defaultPriorityDesc:"Pradinis prioritetas naujoms užduotims kai prioriteto laukas įjungtas.",defaultOwner:"Numatytasis savininkas",defaultOwnerDesc:"Pradinis savininkas naujoms užduotims kai savininko laukas įjungtas.",priority:"Prioritetas",priorityDesc:"Įjungti prioriteto metaduomenis užduotyse.",assignee:"Atsakingas",assigneeDesc:"Įjungti atsakingo metaduomenis užduotyse.",tags:"Žymės",tagsDesc:"Įjungti žymių metaduomenis užduotyse.",dueDate:"Terminas",dueDateDesc:"Įjungti termino metaduomenis užduotyse.",ownerType:"Savininko tipas",ownerTypeDesc:"Įjungti žmogaus/AI nuosavybės metaduomenis užduotyse.",tools:"Įrankiai",toolsDesc:"Įjungti laisvos formos įrankių užuominas AI agento užduotims.",searchPlaceholder:"Ieškoti bet kurios parinkties",searchResults:"Paieškos rezultatai",searchResultsLabel:"Paieškos rezultatai",matchingOptions:"atitinkančių parinkčių projekto nustatymuose.",options:"parinkčių",noOptionFound:"Parinkties nerasta",tryAnotherSearch:"Bandykite kitą paieškos terminą.",currentValue:"Dabartinė reikšmė",configKey:"Konfigūracijos raktas",choices:"Pasirinkimai",hoverForHelp:"Užveskite arba pereikite prie kitos parinkties norėdami atnaujinti šią pagalbos lentą.",pages:"Puslapiai",backToBoard:"Grįžti į lentą",matches:"Atitinka",settingsTitle:"Nustatymai",kickerInterface:"Sąsaja",kickerAutomation:"Automatizavimas",kickerIdentifiers:"Identifikatoriai",kickerMetadata:"Metaduomenys"},xZe={detected:"Aptiktas konfliktas",detectedDesc:"Ši užduotis buvo pakeista iš išorės kol jūs redagavote.",conflictingChanges:"Užduotis <code>{{taskId}}</code> turi konfliktinius pakeitimus. Pasirinkite kaip išspręsti:",yourVersion:"Jūsų versija (vietinė)",diskVersion:"Disko versija (nuotolinė)",cancel:"Atšaukti",reloadFromDisk:"Įkelti iš disko",keepMyVersion:"Laikyti mano versiją",title:"Pavadinimas",priority:"Prioritetas",body:"Turinys",subtasks:"Dalinės užduotys",none:"(nėra)"},AZe={title:"Pavadinimas",subtasks:"Dalinė užduotis",context:"Kontekstas",notes:"Užrašai",whatWasDone:"Kas buvo atlikta",tags:"Žymės",assignee:"Atsakingas",priority:"Prioritetas"},CZe={settingsUpdatedExternally:"Nustatymai buvo atnaujinti iš išorės — perkrauta"},NZe={en:"Anglų",fi:"Suomių",da:"Danų",no:"Norvegų",sk:"Slovakų",bg:"Bulgarų",sr:"Serbų",hr:"Kroatų",lt:"Lietuvių",lv:"Latvių",et:"Estų",sl:"Slovėnų",hu:"Vengų",cs:"Čekų",pl:"Lenkų",ro:"Rumunų",de:"Vokiečių",fr:"Prancūzų",es:"Ispanų",pt:"Portugalų",it:"Italų",nl:"Olandų",sv:"Švedų",ja:"Japonų",ko:"Korėjiečių",zh:"Kinų",ar:"Arabų"},SZe={app:dZe,common:uZe,emptyState:mZe,header:fZe,filterBar:gZe,column:hZe,card:bZe,drawer:vZe,subtask:yZe,commandPalette:_Ze,listView:kZe,settings:wZe,conflict:xZe,sectionLabels:AZe,toast:CZe,languageNames:NZe},$Ze={name:"kandown",tagline:"AI Markdown Kanban pārvaldnieks"},EZe={search:"Meklēt",searchPlaceholder:"Meklēt uzdevumus...",cancel:"Atcelt",save:"Saglabāt",delete:"Dzēst",close:"Aizvērt",clear:"Notīrīt",clearAll:"Notīrīt visu",add:"Pievienot",remove:"Noņemt",done:"Gatavs",loading:"Ielādē...",noResults:"Nav rezultātu",currentValue:"Pašreizējā vērtība",configKey:"Konfigurācijas atslēga",choices:"Iespējas",openFolder:"Atvērt mapi",selectFolder:"Izvēlēties mapi",recent:"Nesenie",settings:"Iestatījumi",board:"Tāfele",reload:"Pārlādēt",newTask:"Jauns uzdevums"},PZe={unsupportedBrowser:"Neatbalstīta pārlūkprogramma",unsupportedBrowserDesc:"Šim dzinējam nepieciešams <code>File System Access API</code>. Izmantojiet Chrome, Edge, Brave vai Opera. Firefox un Safari vēl to neatbalsta.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},TZe={tasks:"uzdevumi",recentProjects:"Nesenie projekti","openFolder...":"Atvērt mapi..."},LZe={searchPlaceholder:"Meklēt uzdevumus...",clearAll:"Notīrīt visu",ownerAll:"👤 Visi",ownerHuman:"👤 Cilvēks",ownerAI:"🤖 AI"},MZe={addTask:"Pievienot uzdevumu",columnColor:"Kolonnas krāsa",color:"Krāsa"},jZe={delete:"Dzēst uzdevumu",confirmDelete:"Vēlreiz noklikšķiniet, lai dzēstu"},DZe={close:"Aizvērt (Esc)",taskTitle:"Uzdevuma virsraksts",doneSubtasks:"izpildīti",priority:"Prioritāte",noPriority:"Bez prioritātes",urgentP1:"Steidzams · P1",highP2:"Augsts · P2",mediumP3:"Vidējs · P3",lowP4:"Zems · P4",assignee:"Atbildīgais",assigneePlaceholder:"lietotājvārds",tags:"Birka",tagsPlaceholder:"backend, drošība, api",dueDate:"Termiņš",owner:"Īpašnieks",unset:"Nav iestatīts",human:"👤 Cilvēks",ai:"🤖 AI",tools:"Rīki",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Apraksts",descriptionPlaceholder:"Pierakstiet kontekstu, saites, lēmumus...",report:"Atskaite",reportPlaceholder:"AI izvade parādīsies šeit...",subtasks:"Apakšuzdevumi",addSubtask:"Pievienot apakšuzdevumu",deleteTask:"Dzēst",saveClose:"Saglabāt un aizvērt",cancel:"Atcelt"},IZe={placeholder:"Apakšuzdevums...",description:"Apraksts",descriptionPlaceholder:"Pievienojiet kontekstu, saites vai piezīmes šim solim...",report:"Atskaite",reportPlaceholder:"Kas tika izdarīts, kādi lēmumi tika pieņemti, ķīļi...",aiFillsThis:"AI aizpilda pēc pabeigšanas",collapse:"Sakļaut",expand:"Izvērst"},RZe={placeholder:"Ievadiet komandu vai meklējiet...",actions:"Darbības",view:"Skats",tasks:"Uzdevumi",newTask:"Jauns uzdevums",createNew:"Izveidot jaunu uzdevumu",reloadBoard:"Pārlādēt tāfeli",readFromDisk:"Atkārtoti nolasīt failus no diska",clearFilters:"Notīrīt filtrus",boardView:"Tāfeles skats",listView:"Saraksta skats",compactDensity:"Kompakts blīvums",comfortableDensity:"Ērts blīvums",navigate:"navigācija",select:"izvēlēties"},OZe={id:"ID",title:"Virsraksts",status:"Statuss",tags:"Birka",assignee:"Atbildīgais",progress:"Progress",noMatchingTasks:"Nav atbilstošu uzdevumu"},FZe={noProjectOpen:"Nav atvērta projekta",appearance:"Izskats",appearanceDesc:"Tēma, izskats, fons, fonts un valoda.",agent:"Aģents",agentDesc:"Turpmākā uzvedība AI atbalstītam uzdevumu darbam.",board:"Tāfele",boardDesc:"Uzdevuma ID uzvedība un tāfeles līmeņa noklusējumi.",fields:"Lauki",fieldsDesc:"Neobligāti lauki, kas parādās uz uzdevumiem un tāfeles kartēm.",language:"Valoda",languageDesc:"UI valoda saglabāta šī projekta konfigurācijā.",mode:"Režīms",modeDesc:"Automātiski seko jūsu sistēmas gaismas vai tumšās preferences.",auto:"Auto",light:"Gaišs",dark:"Tumšs",skin:"Āda",skinDesc:"Krāsu marķieri ir saglabāti katram projektam kandown.json.",background:"Fons",backgroundDesc:"Izvēlieties līdzenu virsmu vai animētu šķidruma fonu.",font:"Fonts",fontDesc:"Lokāla sistēmas fontu kopa, bez tīkla pieprasījuma.",suggestFollowUp:"Ieteikt turpmākos uzdevumus",suggestFollowUpDesc:"Lūgt aģentiem piedāvāt nākamos uzdevumus pēc viena pabeigšanas.",maxSuggestions:"Maks. ieteikumu",maxSuggestionsDesc:"Ierobežo aģenta piedāvājamo turpmāko uzdevumu skaitu.",defaultPriority:"Noklusējuma prioritāte",defaultPriorityDesc:"Sākotnējā prioritāte jauniem uzdevumiem, kad Prioritātes lauks ir iespējots.",defaultOwner:"Noklusējuma īpašnieks",defaultOwnerDesc:"Sākotnējais īpašnieks jauniem uzdevumiem, kad Īpašnieka lauks ir iespējots.",priority:"Prioritāte",priorityDesc:"Iespējot prioritātes metadatus uz uzdevumiem.",assignee:"Atbildīgais",assigneeDesc:"Iespējot atbildīgā metadatus uz uzdevumiem.",tags:"Birka",tagsDesc:"Iespējot birku metadatus uz uzdevumiem.",dueDate:"Termiņš",dueDateDesc:"Iespējot termiņa metadatus uz uzdevumiem.",ownerType:"Īpašnieka tips",ownerTypeDesc:"Iespējot cilvēka/AI īpašnieka metadatus uz uzdevumiem.",tools:"Rīki",toolsDesc:"Iespējot brīvas formas rīku norādes AI aģenta uzdevumiem.",searchPlaceholder:"Meklēt jebkuru opciju",searchResults:"Meklēšanas rezultāti",searchResultsLabel:"Meklēšanas rezultāti",matchingOptions:"atbilstošas opcijas projekta iestatījumos.",options:"opcijas",noOptionFound:"Opcija nav atrasta",tryAnotherSearch:"Mēģiniet citu meklēšanas terminu.",currentValue:"Pašreizējā vērtība",configKey:"Konfigurācijas atslēga",choices:"Iespējas",hoverForHelp:"Norādiet vai tabulējiet cauri citai opcijai, lai atjauninātu šo palīdzības paneli.",pages:"Lapas",backToBoard:"Atpakaļ uz tāfeli",matches:"Atbilst",settingsTitle:"Iestatījumi",kickerInterface:"Saskarne",kickerAutomation:"Automatizācija",kickerIdentifiers:"Identifikatori",kickerMetadata:"Metadati"},zZe={detected:"Konflikts konstatēts",detectedDesc:"Šis uzdevums tika modificēts ārēji, kamēr jūs to rediģējāt.",conflictingChanges:"Uzdevumam <code>{{taskId}}</code> ir pretrunīgas izmaiņas. Izvēlieties, kā atrisināt:",yourVersion:"Jūsu versija (lokālā)",diskVersion:"Diska versija (attālā)",cancel:"Atcelt",reloadFromDisk:"Pārlādēt no diska",keepMyVersion:"Paturēt manu versiju",title:"Virsraksts",priority:"Prioritāte",body:"Saturs",subtasks:"Apakšuzdevumi",none:"(neviens)"},HZe={title:"Virsraksts",subtasks:"Apakšuzdevums",context:"Konteksts",notes:"Piezīmes",whatWasDone:"Kas tika izdarīts",tags:"Birka",assignee:"Atbildīgais",priority:"Prioritāte"},BZe={settingsUpdatedExternally:"Iestatījumi atjaunināti ārēji — pārlādēti"},qZe={en:"Angļu",fi:"Somu",da:"Dāņu",no:"Norvēģu",sk:"Slovāku",bg:"Bulgāru",sr:"Serbu",hr:"Horvātu",lt:"Lietuviešu",lv:"Latviešu",et:"Igauņu",sl:"Slovēņu",hu:"Ungāru",cs:"Čehu",pl:"Poļu",ro:"Rumāņu",de:"Vācu",fr:"Franču",es:"Spāņu",pt:"Portugāļu",it:"Itāļu",nl:"Nīderlandiešu",sv:"Zviedru",ja:"Japāņu",ko:"Korejiešu",zh:"Ķīniešu",ar:"Arābu"},UZe={app:$Ze,common:EZe,emptyState:PZe,header:TZe,filterBar:LZe,column:MZe,card:jZe,drawer:DZe,subtask:IZe,commandPalette:RZe,listView:OZe,settings:FZe,conflict:zZe,sectionLabels:HZe,toast:BZe,languageNames:qZe},VZe={name:"kandown",tagline:"AI Markdown Kanban upravljalnik"},ZZe={search:"Iskanje",searchPlaceholder:"Iskanje nalog...",cancel:"Prekliči",save:"Shrani",delete:"Izbriši",close:"Zapri",clear:"Počisti",clearAll:"Počisti vse",add:"Dodaj",remove:"Odstrani",done:"Končano",loading:"Nalaganje...",noResults:"Ni rezultatov",currentValue:"Trenutna vrednost",configKey:"Ključ nastavitev",choices:"Možnosti",openFolder:"Odpri mapo",selectFolder:"Izberi mapo",recent:"Nedavno",settings:"Nastavitve",board:"Deska",reload:"Osveži",newTask:"Nova naloga"},GZe={unsupportedBrowser:"Nepodprta brskalnik",unsupportedBrowserDesc:"Ta pogon zahteva <code>File System Access API</code>. Uporabite Chrome, Edge, Brave ali Opera. Firefox in Safari tega še ne podpirata.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},WZe={tasks:"naloge",recentProjects:"Nedavni projekti","openFolder...":"Odpri mapo..."},KZe={searchPlaceholder:"Iskanje nalog...",clearAll:"Počisti vse",ownerAll:"👤 Vsi",ownerHuman:"👤 Človek",ownerAI:"🤖 AI"},YZe={addTask:"Dodaj nalogo",columnColor:"Barva stolpca",color:"Barva"},XZe={delete:"Izbriši nalogo",confirmDelete:"Kliknite znova za brisanje"},QZe={close:"Zapri (Esc)",taskTitle:"Naslov naloge",doneSubtasks:"končano",priority:"Prioriteta",noPriority:"Brez prioritete",urgentP1:"Nujno · P1",highP2:"Visoka · P2",mediumP3:"Srednja · P3",lowP4:"Nizka · P4",assignee:"Prevzemnik",assigneePlaceholder:"uporabniško ime",tags:"Oznake",tagsPlaceholder:"backend, varnost, api",dueDate:"Rok",owner:"Lastnik",unset:"Ni nastavljeno",human:"👤 Človek",ai:"🤖 AI",tools:"Orodja",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Opis",descriptionPlaceholder:"Zapišite kontekst, povezave, odločitve...",report:"Poročilo",reportPlaceholder:"AI izpis se bo prikazal tukaj...",subtasks:"Podnaloge",addSubtask:"Dodaj podnalogo",deleteTask:"Izbriši",saveClose:"Shrani in zapri",cancel:"Prekliči"},JZe={placeholder:"Podnaloga...",description:"Opis",descriptionPlaceholder:"Dodajte kontekst, povezave ali opombe za ta korak...",report:"Poročilo",reportPlaceholder:"Kaj je bilo narejeno, katere odločitve so bile sprejete, kompromisi...",aiFillsThis:"AI izpolni po končanju",collapse:"Strni",expand:"Razširi"},eGe={placeholder:"Vnesite ukaz ali poiščite...",actions:"Dejanja",view:"Pogled",tasks:"Naloge",newTask:"Nova naloga",createNew:"Ustvari novo nalogo",reloadBoard:"Osveži desko",readFromDisk:"Znova preberi datoteke s diska",clearFilters:"Počisti filtre",boardView:"Pogled deske",listView:"Pogled seznama",compactDensity:"Kompaktna gostota",comfortableDensity:"Udobna gostota",navigate:"krmarjenje",select:"izberi"},tGe={id:"ID",title:"Naslov",status:"Status",tags:"Oznake",assignee:"Prevzemnik",progress:"Napredek",noMatchingTasks:"Nobena naloga ne ustreza"},nGe={noProjectOpen:"Noben projekt ni odprt",appearance:"Videz",appearanceDesc:"Tema, videz, ozadje, pisava in jezik.",agent:"Agent",agentDesc:"Nadaljnje obnašanje za AI-podprto delo z nalogami.",board:"Deska",boardDesc:"Vedenje ID-ja naloge in privzete nastavitve na ravni deske.",fields:"Polja",fieldsDesc:"Neobvezna polja, prikazana na nalogah in karticah deske.",language:"Jezik",languageDesc:"Jezik vmesnika shranjen v konfiguraciji tega projekta.",mode:"Način",modeDesc:"Samodejno sledi svetli ali temni sistemski nastavitvi.",auto:"Samodejno",light:"Svetlo",dark:"Temno",skin:"Videz",skinDesc:"Barvni žetoni so shranjeni na projekt v kandown.json.",background:"Ozadje",backgroundDesc:"Izberite ravno površino ali animirano tekoče ozadje.",font:"Pisava",fontDesc:"Lokalna sistemska pisava, brez omrežne zahteve.",suggestFollowUp:"Predlagaj nadaljnje naloge",suggestFollowUpDesc:"Agente prosite, naj predlagajo naslednje naloge po končanju ene.",maxSuggestions:"Največ predlogov",maxSuggestionsDesc:"Omejuje število nadaljnjih nalog, ki jih agent lahko predlaga.",defaultPriority:"Privzeta prioriteta",defaultPriorityDesc:"Začetna prioriteta za nove naloge, ko je polje Prioriteta omogočeno.",defaultOwner:"Privzeti lastnik",defaultOwnerDesc:"Začetni lastnik za nove naloge, ko je polje Lastnik omogočeno.",priority:"Prioriteta",priorityDesc:"Omogoči prioritetne metapodatke na nalogah.",assignee:"Prevzemnik",assigneeDesc:"Omogoči metapodatke prevzemnika na nalogah.",tags:"Oznake",tagsDesc:"Omogoči metapodatke oznak na nalogah.",dueDate:"Rok",dueDateDesc:"Omogoči metapodatke roka na nalogah.",ownerType:"Tip lastnika",ownerTypeDesc:"Omogoči metapodatke človeškega/AI lastništva na nalogah.",tools:"Orodja",toolsDesc:"Omogoči prostobesedilne namige za orodja AI-agenta.",searchPlaceholder:"Išči katero koli možnost",searchResults:"Rezultati iskanja",searchResultsLabel:"Rezultati iskanja",matchingOptions:"ustreznih možnosti v projektih.",options:"možnosti",noOptionFound:"Možnost ni najdena",tryAnotherSearch:"Poskusite z drugim iskalnim izrazom.",currentValue:"Trenutna vrednost",configKey:"Ključ nastavitev",choices:"Možnosti",hoverForHelp:"Miškinite ali tabulirajte čez drugo možnost, da osvežite to pomoč.",pages:"Strani",backToBoard:"Nazaj na desko",matches:"Ustreza",settingsTitle:"Nastavitve",kickerInterface:"Vmesnik",kickerAutomation:"Avtomatizacija",kickerIdentifiers:"Identifikatorji",kickerMetadata:"Metapodatki"},aGe={detected:"Zaznan konflikt",detectedDesc:"Ta naloga je bila med urejanjem spremenjena zunaj.",conflictingChanges:"Naloga <code>{{taskId}}</code> ima nasprotujoče si spremembe. Izberite, kako naj se razreši:",yourVersion:"Vaša različica (lokalna)",diskVersion:"Različica na disku (oddaljena)",cancel:"Prekliči",reloadFromDisk:"Osveži z diska",keepMyVersion:"Obdrži mojo različico",title:"Naslov",priority:"Prioriteta",body:"Vsebina",subtasks:"Podnaloge",none:"(nič)"},iGe={title:"Naslov",subtasks:"Podnaloga",context:"Kontekst",notes:"Opombe",whatWasDone:"Kaj je bilo narejeno",tags:"Oznake",assignee:"Prevzemnik",priority:"Prioriteta"},rGe={settingsUpdatedExternally:"Nastavitve so bile zunanje posodobljene — osveženo"},sGe={en:"Angleščina",fi:"Finščina",da:"Danščina",no:"Norveščina",sk:"Slovaščina",bg:"Bolgarščina",sr:"Srbščina",hr:"Hrvaščina",lt:"Litvanščina",lv:"Latvianščina",et:"Estonščina",sl:"Slovenščina",hu:"Madžarščina",cs:"Češčina",pl:"Poljščina",ro:"Romunščina",de:"Nemščina",fr:"Francoščina",es:"Španščina",pt:"Portugalščina",it:"Italijanščina",nl:"Nizozemščina",sv:"Švedščina",ja:"Japonščina",ko:"Korejščina",zh:"Kitajščina",ar:"Arabščina"},oGe={app:VZe,common:ZZe,emptyState:GZe,header:WZe,filterBar:KZe,column:YZe,card:XZe,drawer:QZe,subtask:JZe,commandPalette:eGe,listView:tGe,settings:nGe,conflict:aGe,sectionLabels:iGe,toast:rGe,languageNames:sGe},cGe={name:"kandown",tagline:"AI Markdown Kanban haldur"},pGe={search:"Otsi",searchPlaceholder:"Otsi ülesandeid...",cancel:"Katkesta",save:"Salvesta",delete:"Kustuta",close:"Sulge",clear:"Puhasta",clearAll:"Puhasta kõik",add:"Lisa",remove:"Eemalda",done:"Valmis",loading:"Laadimine...",noResults:"Tulemusi pole",currentValue:"Praegune väärtus",configKey:"Sätte võti",choices:"Valikud",openFolder:"Ava kaust",selectFolder:"Vali kaust",recent:"Hiljutised",settings:"Sätted",board:"Töölaud",reload:"Laadi ümber",newTask:"Uus ülesanne"},lGe={unsupportedBrowser:"Toetamata brauser",unsupportedBrowserDesc:"See mootor nõuab <code>File System Access API</code>-d. Kasuta Chrome, Edge, Brave või Opera. Firefox ja Safari seda veel ei toeta.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},dGe={tasks:"ülesanded",recentProjects:"Hiljutised projektid","openFolder...":"Ava kaust..."},uGe={searchPlaceholder:"Otsi ülesandeid...",clearAll:"Puhasta kõik",ownerAll:"👤 Kõik",ownerHuman:"👤 Inimene",ownerAI:"🤖 AI"},mGe={addTask:"Lisa ülesanne",columnColor:"Veeru värv",color:"Värv"},fGe={delete:"Kustuta ülesanne",confirmDelete:"Kustuta kinnitamiseks klõpsa uuesti"},gGe={close:"Sulge (Esc)",taskTitle:"Ülesande pealkiri",doneSubtasks:"tehtud",priority:"Tähtsus",noPriority:"Tähtsuseta",urgentP1:"Kiire · P1",highP2:"Kõrge · P2",mediumP3:"Keskmine · P3",lowP4:"Madal · P4",assignee:"Vastutaja",assigneePlaceholder:"kasutajanimi",tags:"Sildid",tagsPlaceholder:"backend, turvalisus, api",dueDate:"Tähtaeg",owner:"Omanik",unset:"Määramata",human:"👤 Inimene",ai:"🤖 AI",tools:"Tööriistad",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Kirjeldus",descriptionPlaceholder:"Kirjuta kontekst, lingid, otsused...",report:"Aruanne",reportPlaceholder:"AI väljund ilmub siia...",subtasks:"Alamülesanded",addSubtask:"Lisa alamülesanne",deleteTask:"Kustuta",saveClose:"Salvesta ja sulge",cancel:"Katkesta"},hGe={placeholder:"Alamülesanne...",description:"Kirjeldus",descriptionPlaceholder:"Lisa kontekst, lingid või märkmed selle sammu jaoks...",report:"Aruanne",reportPlaceholder:"Mida tehti, milliseid otsuseid langetati, kompromissid...",aiFillsThis:"AI täidab pärast lõpetamist",collapse:"Ahenda",expand:"Laienda"},bGe={placeholder:"Sisesta käsk või otsi...",actions:"Tegevused",view:"Vaade",tasks:"Ülesanded",newTask:"Uus ülesanne",createNew:"Loo uus ülesanne",reloadBoard:"Laadi töölaud ümber",readFromDisk:"Loe faile uuesti kettalt",clearFilters:"Puhasta filtrid",boardView:"Töölaua vaade",listView:"Nimekirja vaade",compactDensity:"Kompaktne tihedus",comfortableDensity:"Mugav tihedus",navigate:"navigeerimine",select:"vali"},vGe={id:"ID",title:"Pealkiri",status:"Staatus",tags:"Sildid",assignee:"Vastutaja",progress:"Edusamm",noMatchingTasks:"Ühtegi vastavat ülesannet pole"},yGe={noProjectOpen:"Projekt pole avatud",appearance:"Välimus",appearanceDesc:"Teema, kujundus, taust, font ja keel.",agent:"Agent",agentDesc:"Järelkäitumine AI-abistatud ülesannete töö jaoks.",board:"Töölaud",boardDesc:"Ülesande ID käitumine ja töölaua taseme vaikeseaded.",fields:"Väljad",fieldsDesc:"Valikulised väljad, mida ülesannetel ja töölaua kaartidel kuvatakse.",language:"Keel",languageDesc:"UI keelt salvestatakse selle projekti konfiguratsioonis.",mode:"Režiim",modeDesc:"Järgib automaatselt teie süsteemi heledat või tumedat eelistust.",auto:"Auto",light:"Hele",dark:"Tume",skin:"Kujundus",skinDesc:"Värvimärgid salvestatakse iga projekti jaoks kandown.json-is.",background:"Taust",backgroundDesc:"Vali lame pind või animeeritud vedel taust.",font:"Font",fontDesc:"Kohalik süsteemi fontide kogum, ilma võrgu päringuta.",suggestFollowUp:"Soovita järelülesandeid",suggestFollowUpDesc:"Küsi agentidelt järgmisi ülesandeid pärast ühe lõpetamist.",maxSuggestions:"Maks. soovitusi",maxSuggestionsDesc:"Piirab agentide poolt pakutavate järelülesannete arvu.",defaultPriority:"Vaikimisi tähtsus",defaultPriorityDesc:"Algne tähtsus uutele ülesannetele, kui Tähtsuse väli on lubatud.",defaultOwner:"Vaikimisi omanik",defaultOwnerDesc:"Algne omanik uutele ülesannetele, kui Omaniku väli on lubatud.",priority:"Tähtsus",priorityDesc:"Luba ülesannetel tähtsuse metaandmeid.",assignee:"Vastutaja",assigneeDesc:"Luba ülesannetel vastutaja metaandmeid.",tags:"Sildid",tagsDesc:"Luba ülesannetel siltide metaandmeid.",dueDate:"Tähtaeg",dueDateDesc:"Luba ülesannetel tähtaja metaandmeid.",ownerType:"Omaniku tüüp",ownerTypeDesc:"Luba ülesannetel inimese/AI omaniku metaandmeid.",tools:"Tööriistad",toolsDesc:"Luba AI-agendi ülesannete jaoks vabakujulisi tööriistade vihjeid.",searchPlaceholder:"Otsi mis tahes valikut",searchResults:"Otsingutulemused",searchResultsLabel:"Otsingutulemused",matchingOptions:"vastavat valikut projektiseadetes.",options:"valikut",noOptionFound:"Valikut ei leitud",tryAnotherSearch:"Proovi mõnda muud otsinguterminit.",currentValue:"Praegune väärtus",configKey:"Sätte võti",choices:"Valikud",hoverForHelp:"Liigu või tabulaeri üle teise valiku, et see spikker paneel värskendada.",pages:"Lehed",backToBoard:"Tagasi töölauale",matches:"Vastab",settingsTitle:"Sätted",kickerInterface:"Liides",kickerAutomation:"Automatiseerimine",kickerIdentifiers:"Identifikaatorid",kickerMetadata:"Metaandmed"},_Ge={detected:"Konflikt tuvastatud",detectedDesc:"Seda ülesannet muudeti väliselt, kui te seda redigeerisite.",conflictingChanges:"Ülesandel <code>{{taskId}}</code> on vastuolulised muudatused. Valige, kuidas lahendada:",yourVersion:"Teie versioon (kohalik)",diskVersion:"Ketta versioon (kaughallatav)",cancel:"Katkesta",reloadFromDisk:"Laadi kettalt ümber",keepMyVersion:"Hoia minu versioon",title:"Pealkiri",priority:"Tähtsus",body:"Sisu",subtasks:"Alamülesanded",none:"(puudub)"},kGe={title:"Pealkiri",subtasks:"Alamülesanne",context:"Kontekst",notes:"Märkmed",whatWasDone:"Mida tehti",tags:"Sildid",assignee:"Vastutaja",priority:"Tähtsus"},wGe={settingsUpdatedExternally:"Sätteid värskendati väliselt — ümber laaditud"},xGe={en:"Inglise",fi:"Soome",da:"Taani",no:"Norra",sk:"Slovaki",bg:"Bulgaaria",sr:"Serbia",hr:"Horvaatia",lt:"Leedu",lv:"Läti",et:"Eesti",sl:"Sloveeni",hu:"Ungari",cs:"Tšehhi",pl:"Poola",ro:"Rumeenia",de:"Saksa",fr:"Prantsuse",es:"Hispaania",pt:"Portugali",it:"Itaalia",nl:"Hollandi",sv:"Rootsi",ja:"Jaapani",ko:"Korea",zh:"Hiina",ar:"Araabia"},AGe={app:cGe,common:pGe,emptyState:lGe,header:dGe,filterBar:uGe,column:mGe,card:fGe,drawer:gGe,subtask:hGe,commandPalette:bGe,listView:vGe,settings:yGe,conflict:_Ge,sectionLabels:kGe,toast:wGe,languageNames:xGe},CGe={name:"kandown",tagline:"مدير كانبان بالذكاء الاصطناعي مع Markdown"},NGe={search:"بحث",searchPlaceholder:"البحث في المهام...",cancel:"إلغاء",save:"حفظ",delete:"حذف",close:"إغلاق",clear:"مسح",clearAll:"مسح الكل",add:"إضافة",remove:"إزالة",done:"تم",loading:"جارٍ التحميل...",noResults:"لا توجد نتائج",currentValue:"القيمة الحالية",configKey:"مفتاح الإعداد",choices:"الخيارات",openFolder:"فتح مجلد",selectFolder:"اختيار مجلد",recent:"الأخيرة",settings:"الإعدادات",board:"اللوحة",reload:"إعادة تحميل",newTask:"مهمة جديدة"},SGe={unsupportedBrowser:"المتصفح غير مدعوم",unsupportedBrowserDesc:"يتطلب هذا المحرك <code>File System Access API</code>. استخدم Chrome أو Edge أو Brave أو Opera. Firefox وSafari غير مدعومين حتى الآن.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},$Ge={tasks:"المهام",recentProjects:"المشاريع الأخيرة","openFolder...":"فتح مجلد..."},EGe={searchPlaceholder:"البحث في المهام...",clearAll:"مسح الكل",ownerAll:"👤 الكل",ownerHuman:"👤 بشري",ownerAI:"🤖 ذكاء اصطناعي"},PGe={addTask:"إضافة مهمة",columnColor:"لون العمود",color:"اللون"},TGe={delete:"حذف المهمة",confirmDelete:"انقر مرة أخرى للحذف"},LGe={close:"إغلاق (Esc)",taskTitle:"عنوان المهمة",doneSubtasks:"تم",priority:"الأولوية",noPriority:"لا أولوية",urgentP1:"عاجل · P1",highP2:"مرتفع · P2",mediumP3:"متوسط · P3",lowP4:"منخفض · P4",assignee:"المكلف",assigneePlaceholder:"اسم المستخدم",tags:"الوسوم",tagsPlaceholder:"backend, security, api",dueDate:"تاريخ الاستحقاق",owner:"المالك",unset:"غير محدد",human:"👤 بشري",ai:"🤖 ذكاء اصطناعي",tools:"الأدوات",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"الوصف",descriptionPlaceholder:"اكتب سياقًا أو روابط أو قرارات...",report:"التقرير",reportPlaceholder:"سيظهر مخرجات الذكاء الاصطناعي هنا...",subtasks:"المهام الفرعية",addSubtask:"إضافة مهمة فرعية",deleteTask:"حذف",saveClose:"حفظ وإغلاق",cancel:"إلغاء"},MGe={placeholder:"مهمة فرعية...",description:"الوصف",descriptionPlaceholder:"أضف سياقًا أو روابط أو ملاحظات لهذه الخطوة...",report:"التقرير",reportPlaceholder:"ما تم إنجازه والقرارات والتسويات...",aiFillsThis:"AI يملأ هذا بعد الانتهاء",collapse:"طي",expand:"توسيع"},jGe={placeholder:"اكتب أمرًا أو ابحث...",actions:"الإجراءات",view:"عرض",tasks:"المهام",newTask:"مهمة جديدة",createNew:"إنشاء مهمة جديدة",reloadBoard:"إعادة تحميل اللوحة",readFromDisk:"إعادة قراءة الملفات من القرص",clearFilters:"مسح الفلاتر",boardView:"عرض اللوحة",listView:"عرض القائمة",compactDensity:"كثافة مضغوطة",comfortableDensity:"كثافة مريحة",navigate:"تنقل",select:"اختيار"},DGe={id:"المعرف",title:"العنوان",status:"الحالة",tags:"الوسوم",assignee:"المكلف",progress:"التقدم",noMatchingTasks:"لا توجد مهام مطابقة"},IGe={noProjectOpen:"لا مشروع مفتوح",appearance:"المظهر",appearanceDesc:"السمة والجلد والخلفية والخط واللغة.",agent:"الوكيل",agentDesc:"سلوك المتابعة للمهام المساعدة بالذكاء الاصطناعي.",board:"اللوحة",boardDesc:"سلوك معرف المهمة والإعدادات الافتراضية على مستوى اللوحة.",fields:"الحقول",fieldsDesc:"حقول اختيارية معروضة على المهام وبطاقات اللوحة.",language:"اللغة",languageDesc:"لغة الواجهة المخزنة في إعداد المشروع.",mode:"الوضع",modeDesc:"التلقائي يتبع تفضيل النظام للضوء أو الظلام.",auto:"تلقائي",light:"فاتح",dark:"داكن",skin:"الجلد",skinDesc:"رموز الألوان مخزنة لكل مشروع في kandown.json.",background:"الخلفية",backgroundDesc:"اختر سطحًا مسطحًا أو خلفية سائلة متحركة.",font:"الخط",fontDesc:"خط نظام محلي بدون طلب شبكة.",suggestFollowUp:"اقتراح مهام المتابعة",suggestFollowUpDesc:"اطلب من الوكلاء اقتراح المهام التالية بعد الانتهاء من واحدة.",maxSuggestions:"الحد الأقصى للاقتراحات",maxSuggestionsDesc:"يحدد الحد الأقصى لعدد مهام المتابعة التي قد يقترحها الوكيل.",defaultPriority:"الأولوية الافتراضية",defaultPriorityDesc:"الأولوية الأولية للمهام الجديدة عند تمكين حقل الأولوية.",defaultOwner:"المالك الافتراضي",defaultOwnerDesc:"المالك الأولي للمهام الجديدة عند تمكين حقل المالك.",priority:"الأولوية",priorityDesc:"تمكين بيانات الأولوية على المهام.",assignee:"المكلف",assigneeDesc:"تمكين بيانات المكلف على المهام.",tags:"الوسوم",tagsDesc:"تمكين بيانات الوسوم على المهام.",dueDate:"تاريخ الاستحقاق",dueDateDesc:"تمكين بيانات تاريخ الاستحقاق على المهام.",ownerType:"نوع المالك",ownerTypeDesc:"تمكين بيانات الملكية البشرية/AI على المهام.",tools:"الأدوات",toolsDesc:"تمكين تلميحات الأدوات النصية لمهام الوكيل.",searchPlaceholder:"البحث في أي خيار",searchResults:"نتائج البحث",searchResultsLabel:"نتائج البحث",matchingOptions:"خيارات مطابقة عبر إعدادات المشروع.",options:"خيارات",noOptionFound:"لم يتم العثور على خيار",tryAnotherSearch:"جرب مصطلح بحث آخر.",currentValue:"القيمة الحالية",configKey:"مفتاح الإعداد",choices:"الخيارات",hoverForHelp:"مرر أو تنقل عبر خيار آخر لتحديث لوحة المساعدة هذه.",pages:"الصفحات",backToBoard:"العودة إلى اللوحة",matches:"التطابقات",settingsTitle:"الإعدادات"},RGe={detected:"تم اكتشاف تعارض",detectedDesc:"تم تعديل هذه المهمة خارجيًا أثناء التحرير.",conflictingChanges:"المهمة <code>{{taskId}}</code> تحتوي على تغييرات متناقضة. اختر كيفية الحل:",yourVersion:"نسختك (محلية)",diskVersion:"نسخة القرص (بعيدة)",cancel:"إلغاء",reloadFromDisk:"إعادة التحميل من القرص",keepMyVersion:"الاحتفاظ بنسختي",title:"العنوان",priority:"الأولوية",body:"المحتوى",subtasks:"المهام الفرعية",none:"(لا شيء)"},OGe={title:"العنوان",subtasks:"المهمة الفرعية",context:"السياق",notes:"الملاحظات",whatWasDone:"ما تم إنجازه",tags:"الوسوم",assignee:"المكلف",priority:"الأولوية"},FGe={settingsUpdatedExternally:"تم تحديث الإعدادات خارجيًا - تم إعادة التحميل"},zGe={app:CGe,common:NGe,emptyState:SGe,header:$Ge,filterBar:EGe,column:PGe,card:TGe,drawer:LGe,subtask:MGe,commandPalette:jGe,listView:DGe,settings:IGe,conflict:RGe,sectionLabels:OGe,toast:FGe},HGe={name:"kandown",tagline:"AI মার্কডাউন কানবান ম্যানেজার"},BGe={search:"অনুসন্ধান",searchPlaceholder:"টাস্ক অনুসন্ধান করুন...",cancel:"বাতিল",save:"সংরক্ষণ",delete:"মুছুন",close:"বন্ধ",clear:"পরিষ্কার",clearAll:"সব পরিষ্কার",add:"যোগ করুন",remove:"অপসারণ",done:"সম্পন্ন",loading:"লোড হচ্ছে...",noResults:"কোনো ফলাফল নেই",currentValue:"বর্তমান মান",configKey:"কনফিগ কী",choices:"পছন্দসমূহ",openFolder:"ফোল্ডার খুলুন",selectFolder:"ফোল্ডার নির্বাচন করুন",recent:"সাম্প্রতিক",settings:"সেটিংস",board:"বোর্ড",reload:"পুনরায় লোড",newTask:"নতুন টাস্ক"},qGe={unsupportedBrowser:"ব্রাউজার সমর্থিত নয়",unsupportedBrowserDesc:"এই ইঞ্জিনের জন্য <code>File System Access API</code> প্রয়োজন। Chrome, Edge, Brave বা Opera ব্যবহার করুন। Firefox এবং Safari এখনও সমর্থিত নয়।",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},UGe={tasks:"টাস্ক",recentProjects:"সাম্প্রতিক প্রজেক্ট","openFolder...":"ফোল্ডার খুলুন..."},VGe={searchPlaceholder:"টাস্ক অনুসন্ধান করুন...",clearAll:"সব পরিষ্কার",ownerAll:"👤 সব",ownerHuman:"👤 মানুষ",ownerAI:"🤖 AI"},ZGe={addTask:"টাস্ক যোগ করুন",columnColor:"কলামের রঙ",color:"রঙ"},GGe={delete:"টাস্ক মুছুন",confirmDelete:"মুছতে আবার ক্লিক করুন"},WGe={close:"বন্ধ (Esc)",taskTitle:"টাস্কের শিরোনাম",doneSubtasks:"সম্পন্ন",priority:"প্রাধান্য",noPriority:"কোনো প্রাধান্য নেই",urgentP1:"জরুরি · P1",highP2:"উচ্চ · P2",mediumP3:"মাঝারি · P3",lowP4:"নিম্ন · P4",assignee:"দায়িত্বপ্রাপ্ত",assigneePlaceholder:"ব্যবহারকারীর নাম",tags:"ট্যাগ",tagsPlaceholder:"backend, security, api",dueDate:"শেষ তারিখ",owner:"মালিক",unset:"অসেট",human:"👤 মানুষ",ai:"🤖 AI",tools:"টুলস",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"বিবরণ",descriptionPlaceholder:"কিছু প্রসঙ্গ, লিঙ্ক, সিদ্ধান্ত লিখুন...",report:"রিপোর্ট",reportPlaceholder:"AI আউটপুট এখানে দেখা যাবে...",subtasks:"সাবটাস্ক",addSubtask:"সাবটাস্ক যোগ করুন",deleteTask:"মুছুন",saveClose:"সংরক্ষণ ও বন্ধ",cancel:"বাতিল"},KGe={placeholder:"সাবটাস্ক...",description:"বিবরণ",descriptionPlaceholder:"এই ধাপে প্রসঙ্গ, লিঙ্ক বা নোট যোগ করুন...",report:"রিপোর্ট",reportPlaceholder:"কী করা হয়েছে, কী সিদ্ধান্ত নেওয়া হয়েছে, বাণিজ্যিক সিদ্ধান্ত...",aiFillsThis:"AI সম্পন্ন করার পরে এটি পূরণ করে",collapse:"ভাঁজ করুন",expand:"প্রসারিত করুন"},YGe={placeholder:"একটি কমান্ড লিখুন বা অনুসন্ধান করুন...",actions:"অ্যাকশন",view:"ভিউ",tasks:"টাস্ক",newTask:"নতুন টাস্ক",createNew:"একটি নতুন টাস্ক তৈরি করুন",reloadBoard:"বোর্ড পুনরায় লোড করুন",readFromDisk:"ডিস্ক থেকে ফাইলগুলি পুনরায় পড়ুন",clearFilters:"ফিল্টার পরিষ্কার করুন",boardView:"বোর্ড ভিউ",listView:"লিস্ট ভিউ",compactDensity:"কমপ্যাক্ট ঘনত্ব",comfortableDensity:"কমফোর্টেবল ঘনত্ব",navigate:"নেভিগেট",select:"নির্বাচন করুন"},XGe={id:"আইডি",title:"শিরোনাম",status:"স্ট্যাটাস",tags:"ট্যাগ",assignee:"দায়িত্বপ্রাপ্ত",progress:"অগ্রগতি",noMatchingTasks:"কোনো মিলে যাওয়া টাস্ক নেই"},QGe={noProjectOpen:"কোনো প্রজেক্ট খোলা নেই",appearance:"উপস্থিতি",appearanceDesc:"থিম, স্কিন, ব্যাকগ্রাউন্ড, ফন্ট এবং ভাষা।",agent:"এজেন্ট",agentDesc:"AI-সহায়তা টাস্ক কাজের জন্য ফলো-আপ আচরণ।",board:"বোর্ড",boardDesc:"টাস্ক আইডি আচরণ এবং বোর্ড-স্তরের ডিফল্ট।",fields:"ফিল্ড",fieldsDesc:"টাস্ক এবং বোর্ড কার্ডে দেখানো ঐচ্ছিক ফিল্ড।",language:"ভাষা",languageDesc:"UI ভাষা এই প্রজেক্ট কনফিগে সংরক্ষিত।",mode:"মোড",modeDesc:"অটো আপনার সিস্টেম লাইট বা ডার্ক পছন্দ অনুসরণ করে।",auto:"অটো",light:"লাইট",dark:"ডার্ক",skin:"স্কিন",skinDesc:"রঙ টোকেন প্রতি প্রজেক্টে kandown.json-এ সংরক্ষিত।",background:"ব্যাকগ্রাউন্ড",backgroundDesc:"একটি সমতল পৃষ্ঠ বা অ্যানিমেটেড তরল ব্যাকগ্রাউন্ড বেছে নিন।",font:"ফন্ট",fontDesc:"লোকাল সিস্টেম ফন্ট স্ট্যাক, কোনো নেটওয়ার্ক অনুরোধ ছাড়া।",suggestFollowUp:"ফলো-আপ টাস্ক প্রস্তাব করুন",suggestFollowUpDesc:"একটি শেষ করার পরে এজেন্টদের পরবর্তী টাস্ক প্রস্তাব করতে বলুন।",maxSuggestions:"সর্বোচ্চ প্রস্তাবনা",maxSuggestionsDesc:"একটি এজেন্ট যে ফলো-আপ টাস্ক প্রস্তাব করতে পারে তার সংখ্যা সীমিত করে।",defaultPriority:"ডিফল্ট প্রাধান্য",defaultPriorityDesc:"প্রাধান্য ফিল্ড সক্ষম থাকলে নতুন টাস্কের জন্য প্রাথমিক প্রাধান্য।",defaultOwner:"ডিফল্ট মালিক",defaultOwnerDesc:"মালিক ফিল্ড সক্ষম থাকলে নতুন টাস্কের জন্য প্রাথমিক মালিক।",priority:"প্রাধান্য",priorityDesc:"টাস্কে প্রাধান্য মেটাডেটা সক্ষম করুন।",assignee:"দায়িত্বপ্রাপ্ত",assigneeDesc:"টাস্কে দায়িত্বপ্রাপ্ত মেটাডেটা সক্ষম করুন।",tags:"ট্যাগ",tagsDesc:"টাস্কে ট্যাগ মেটাডেটা সক্ষম করুন।",dueDate:"শেষ তারিখ",dueDateDesc:"টাস্কে শেষ তারিখ মেটাডেটা সক্ষম করুন।",ownerType:"মালিকের ধরন",ownerTypeDesc:"টাস্কে মানব/AI মালিকানা মেটাডেটা সক্ষম করুন।",tools:"টুলস",toolsDesc:"AI-এজেন্ট টাস্কের জন্য ফ্রি-ফর্ম টুল হিন্ট সক্ষম করুন।",searchPlaceholder:"যেকোনো অপশন অনুসন্ধান করুন",searchResults:"অনুসন্ধান ফলাফল",searchResultsLabel:"অনুসন্ধান ফলাফল",matchingOptions:"প্রজেক্ট সেটিংস জুড়ে মিলে যাওয়া অপশন।",options:"অপশন",noOptionFound:"কোনো অপশন পাওয়া যায়নি",tryAnotherSearch:"অন্য অনুসন্ধান শব্দ চেষ্টা করুন।",currentValue:"বর্তমান মান",configKey:"কনফিগ কী",choices:"পছন্দসমূহ",hoverForHelp:"এই হেল্প প্যানেল আপডেট করতে অন্য অপশনে হোভার বা ট্যাব করুন।",pages:"পেজ",backToBoard:"বোর্ডে ফিরে যান",matches:"ম্যাচ",settingsTitle:"সেটিংস"},JGe={detected:"দ্বন্দ্ব সনাক্ত হয়েছে",detectedDesc:"আপনি সম্পাদনা করার সময় এই টাস্কটি বাহ্যিকভাবে পরিবর্তিত হয়েছে।",conflictingChanges:"টাস্ক <code>{{taskId}}</code>-এ দ্বন্দ্বপূর্ণ পরিবর্তন রয়েছে। কীভাবে সমাধান করবেন তা বেছে নিন:",yourVersion:"আপনার সংস্করণ (লোকাল)",diskVersion:"ডিস্ক সংস্করণ (রিমোট)",cancel:"বাতিল",reloadFromDisk:"ডিস্ক থেকে পুনরায় লোড করুন",keepMyVersion:"আমার সংস্করণ রাখুন",title:"শিরোনাম",priority:"প্রাধান্য",body:"বডি",subtasks:"সাবটাস্ক",none:"(কিছু নয়)"},eWe={title:"শিরোনাম",subtasks:"সাবটাস্ক",context:"প্রসঙ্গ",notes:"নোট",whatWasDone:"কী করা হয়েছে",tags:"ট্যাগ",assignee:"দায়িত্বপ্রাপ্ত",priority:"প্রাধান্য"},tWe={settingsUpdatedExternally:"সেটিংস বাহ্যিকভাবে আপডেট হয়েছে — পুনরায় লোড হয়েছে"},nWe={app:HGe,common:BGe,emptyState:qGe,header:UGe,filterBar:VGe,column:ZGe,card:GGe,drawer:WGe,subtask:KGe,commandPalette:YGe,listView:XGe,settings:QGe,conflict:JGe,sectionLabels:eWe,toast:tWe},aWe={name:"kandown",tagline:"AI Markdown Канбан Менеджер"},iWe={search:"Поиск",searchPlaceholder:"Поиск задач...",cancel:"Отмена",save:"Сохранить",delete:"Удалить",close:"Закрыть",clear:"Очистить",clearAll:"Очистить все",add:"Добавить",remove:"Удалить",done:"Готово",loading:"Загрузка...",noResults:"Нет результатов",currentValue:"Текущее значение",configKey:"Ключ конфига",choices:"Варианты",openFolder:"Открыть папку",selectFolder:"Выбрать папку",recent:"Недавние",settings:"Настройки",board:"Доска",reload:"Перезагрузить",newTask:"Новая задача"},rWe={unsupportedBrowser:"Браузер не поддерживается",unsupportedBrowserDesc:"Этому движку требуется <code>File System Access API</code>. Используйте Chrome, Edge, Brave или Opera. Firefox и Safari пока не поддерживаются.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sWe={tasks:"задачи",recentProjects:"Недавние проекты","openFolder...":"Открыть папку..."},oWe={searchPlaceholder:"Поиск задач...",clearAll:"Очистить все",ownerAll:"👤 Все",ownerHuman:"👤 Человек",ownerAI:"🤖 AI"},cWe={addTask:"Добавить задачу",columnColor:"Цвет колонки",color:"Цвет"},pWe={delete:"Удалить задачу",confirmDelete:"Нажмите еще раз для удаления"},lWe={close:"Закрыть (Esc)",taskTitle:"Название задачи",doneSubtasks:"выполнено",priority:"Приоритет",noPriority:"Без приоритета",urgentP1:"Срочно · P1",highP2:"Высокий · P2",mediumP3:"Средний · P3",lowP4:"Низкий · P4",assignee:"Исполнитель",assigneePlaceholder:"имя пользователя",tags:"Теги",tagsPlaceholder:"backend, security, api",dueDate:"Срок",owner:"Владелец",unset:"Не задан",human:"👤 Человек",ai:"🤖 AI",tools:"Инструменты",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Описание",descriptionPlaceholder:"Напишите контекст, ссылки, решения...",report:"Отчет",reportPlaceholder:"Вывод AI появится здесь...",subtasks:"Подзадачи",addSubtask:"Добавить подзадачу",deleteTask:"Удалить",saveClose:"Сохранить и закрыть",cancel:"Отмена"},dWe={placeholder:"Подзадача...",description:"Описание",descriptionPlaceholder:"Добавьте контекст, ссылки или заметки для этого шага...",report:"Отчет",reportPlaceholder:"Что было сделано, какие решения приняты, компромиссы...",aiFillsThis:"AI заполняет это после завершения",collapse:"Свернуть",expand:"Развернуть"},uWe={placeholder:"Введите команду или поиск...",actions:"Действия",view:"Вид",tasks:"Задачи",newTask:"Новая задача",createNew:"Создать новую задачу",reloadBoard:"Перезагрузить доску",readFromDisk:"Перечитать файлы с диска",clearFilters:"Очистить фильтры",boardView:"Вид доски",listView:"Вид списка",compactDensity:"Компактная плотность",comfortableDensity:"Комфортная плотность",navigate:"навигация",select:"выбрать"},mWe={id:"ID",title:"Название",status:"Статус",tags:"Теги",assignee:"Исполнитель",progress:"Прогресс",noMatchingTasks:"Нет подходящих задач"},fWe={noProjectOpen:"Нет открытого проекта",appearance:"Внешний вид",appearanceDesc:"Тема, скин, фон, шрифт и язык.",agent:"Агент",agentDesc:"Поведение последующих действий для задач с AI-помощью.",board:"Доска",boardDesc:"Поведение ID задач и настройки по умолчанию для доски.",fields:"Поля",fieldsDesc:"Дополнительные поля, показываемые на задачах и карточках доски.",language:"Язык",languageDesc:"Язык интерфейса, сохраненный в конфиге проекта.",mode:"Режим",modeDesc:"Авто следует системным настройкам светлой или темной темы.",auto:"Авто",light:"Светлый",dark:"Темный",skin:"Скин",skinDesc:"Цветовые токены хранятся в kandown.json для каждого проекта.",background:"Фон",backgroundDesc:"Выберите плоскую поверхность или анимированный жидкий фон.",font:"Шрифт",fontDesc:"Локальный системный шрифт без сетевых запросов.",suggestFollowUp:"Предлагать продолжение",suggestFollowUpDesc:"Попросить агентов предложить следующие задачи после завершения одной.",maxSuggestions:"Макс. предложений",maxSuggestionsDesc:"Ограничивает количество задач-продолжений, которые может предложить агент.",defaultPriority:"Приоритет по умолчанию",defaultPriorityDesc:"Начальный приоритет для новых задач при включенном поле Приоритет.",defaultOwner:"Владелец по умолчанию",defaultOwnerDesc:"Начальный владелец для новых задач при включенном поле Владелец.",priority:"Приоритет",priorityDesc:"Включить метаданные приоритета на задачах.",assignee:"Исполнитель",assigneeDesc:"Включить метаданные исполнителя на задачах.",tags:"Теги",tagsDesc:"Включить метаданные тегов на задачах.",dueDate:"Срок",dueDateDesc:"Включить метаданные срока на задачах.",ownerType:"Тип владельца",ownerTypeDesc:"Включить метаданные человеческого/AI владельца на задачах.",tools:"Инструменты",toolsDesc:"Включить подсказки инструментов для задач AI-агента.",searchPlaceholder:"Поиск любого параметра",searchResults:"Результаты поиска",searchResultsLabel:"Результаты поиска",matchingOptions:"соответствующих параметров в настройках проекта.",options:"параметров",noOptionFound:"Параметр не найден",tryAnotherSearch:"Попробуйте другой поисковый запрос.",currentValue:"Текущее значение",configKey:"Ключ конфига",choices:"Варианты",hoverForHelp:"Наведите или переключитесь на другой параметр, чтобы обновить эту панель помощи.",pages:"Страницы",backToBoard:"Вернуться к доске",matches:"Совпадения",settingsTitle:"Настройки"},gWe={detected:"Обнаружен конфликт",detectedDesc:"Эта задача была изменена извне во время редактирования.",conflictingChanges:"Задача <code>{{taskId}}</code> имеет конфликтующие изменения. Выберите способ решения:",yourVersion:"Ваша версия (локальная)",diskVersion:"Версия на диске (удаленная)",cancel:"Отмена",reloadFromDisk:"Перезагрузить с диска",keepMyVersion:"Оставить мою версию",title:"Название",priority:"Приоритет",body:"Содержимое",subtasks:"Подзадачи",none:"(нет)"},hWe={title:"Название",subtasks:"Подзадача",context:"Контекст",notes:"Заметки",whatWasDone:"Что сделано",tags:"Теги",assignee:"Исполнитель",priority:"Приоритет"},bWe={settingsUpdatedExternally:"Настройки были обновлены извне — перезагружено"},vWe={app:aWe,common:iWe,emptyState:rWe,header:sWe,filterBar:oWe,column:cWe,card:pWe,drawer:lWe,subtask:dWe,commandPalette:uWe,listView:mWe,settings:fWe,conflict:gWe,sectionLabels:hWe,toast:bWe},yWe={name:"kandown",tagline:"AI Markdown かんばんマネージャー"},_We={search:"検索",searchPlaceholder:"タスクを検索...",cancel:"キャンセル",save:"保存",delete:"削除",close:"閉じる",clear:"クリア",clearAll:"すべてクリア",add:"追加",remove:"削除",done:"完了",loading:"読み込み中...",noResults:"結果なし",currentValue:"現在の値",configKey:"設定キー",choices:"選択肢",openFolder:"フォルダを開く",selectFolder:"フォルダを選択",recent:"最近",settings:"設定",board:"ボード",reload:"再読み込み",newTask:"新しいタスク"},kWe={unsupportedBrowser:"サポートされていないブラウザ",unsupportedBrowserDesc:"このエンジンは <code>File System Access API</code> を必要とします。Chrome、Edge、Brave、または Opera を使用してください。Firefox と Safari はまだサポートされていません。",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},wWe={tasks:"タスク",recentProjects:"最近のプロジェクト","openFolder...":"フォルダを開く..."},xWe={searchPlaceholder:"タスクを検索...",clearAll:"すべてクリア",ownerAll:"👤 すべて",ownerHuman:"👤 人間",ownerAI:"🤖 AI"},AWe={addTask:"タスクを追加",columnColor:"列の色",color:"色"},CWe={delete:"タスクを削除",confirmDelete:"もう一度クリックして削除"},NWe={close:"閉じる (Esc)",taskTitle:"タスクタイトル",doneSubtasks:"完了",priority:"優先度",noPriority:"優先度なし",urgentP1:"緊急 · P1",highP2:"高 · P2",mediumP3:"中 · P3",lowP4:"低 · P4",assignee:"担当者",assigneePlaceholder:"ユーザー名",tags:"タグ",tagsPlaceholder:"backend, security, api",dueDate:"期限",owner:"所有者",unset:"未設定",human:"👤 人間",ai:"🤖 AI",tools:"ツール",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"説明",descriptionPlaceholder:"コンテキスト、リンク、決定を書いてください...",report:"レポート",reportPlaceholder:"AI出力はここに表示されます...",subtasks:"サブタスク",addSubtask:"サブタスクを追加",deleteTask:"削除",saveClose:"保存して閉じる",cancel:"キャンセル"},SWe={placeholder:"サブタスク...",description:"説明",descriptionPlaceholder:"このステップのコンテキスト、リンク、メモを追加...",report:"レポート",reportPlaceholder:"何をしたか、どのような決定をしたか、トレードオフ...",aiFillsThis:"AIは完了後にこれを記入します",collapse:"折りたたむ",expand:"展開"},$We={placeholder:"コマンドを入力または検索...",actions:"アクション",view:"表示",tasks:"タスク",newTask:"新しいタスク",createNew:"新しいタスクを作成",reloadBoard:"ボードを再読み込み",readFromDisk:"ディスクからファイルを再読み込み",clearFilters:"フィルタをクリア",boardView:"ボード表示",listView:"リスト表示",compactDensity:"コンパクト密度",comfortableDensity:"comfortable密度",navigate:"ナビゲート",select:"選択"},EWe={id:"ID",title:"タイトル",status:"ステータス",tags:"タグ",assignee:"担当者",progress:"進捗",noMatchingTasks:"一致するタスクがありません"},PWe={noProjectOpen:"プロジェクトが開かれていません",appearance:"外観",appearanceDesc:"テーマ、スキン、背景、フォント、言語。",agent:"エージェント",agentDesc:"AI支援タスク作業のフォローアップ動作。",board:"ボード",boardDesc:"タスクIDの動作とボードレベルのデフォルト。",fields:"フィールド",fieldsDesc:"タスクとボードカードに表示されるオプションフィールド。",language:"言語",languageDesc:"UI言語はこのプロジェクト設定に保存されます。",mode:"モード",modeDesc:"自動はシステムのライトまたはダーク設定を優先します。",auto:"自動",light:"ライト",dark:"ダーク",skin:"スキン",skinDesc:"カラートークンは各プロジェクトのkandown.jsonに保存されます。",background:"背景",backgroundDesc:"フラットな поверхностьまたはアニメーション液体背景を選択。",font:"フォント",fontDesc:"ネットワーク要求なしのローカルシステムフォントスタック。",suggestFollowUp:"フォローアップタスクを提案",suggestFollowUpDesc:"エージェントに1つを完了した後、次のタスクを提案するよう依頼。",maxSuggestions:"最大提案数",maxSuggestionsDesc:"エージェントが提案できるフォローアップタスクの数を制限。",defaultPriority:"デフォルト優先度",defaultPriorityDesc:"優先度フィールドが有効な場合的新しいタスクの初期優先度。",defaultOwner:"デフォルト所有者",defaultOwnerDesc:"所有者フィールドが有効な場合的新しいタスクの初期所有者。",priority:"優先度",priorityDesc:"タスクの優先度メタデータを有効化。",assignee:"担当者",assigneeDesc:"タスクの担当者メタデータを有効化。",tags:"タグ",tagsDesc:"タスクのタグメタデータを有効化。",dueDate:"期限",dueDateDesc:"タスクの期限メタデータを有効化。",ownerType:"所有者タイプ",ownerTypeDesc:"タスクの人間/AI所有権メタデータを有効化。",tools:"ツール",toolsDesc:"AIエージェントタスクの.free-formツールヒントを有効化。",searchPlaceholder:"任意のオプションを検索",searchResults:"検索結果",searchResultsLabel:"検索結果",matchingOptions:"プロジェクト設定全体のオプションが一致。",options:"オプション",noOptionFound:"オプションが見つかりません",tryAnotherSearch:"別の検索用語を試してください。",currentValue:"現在の値",configKey:"設定キー",choices:"選択肢",hoverForHelp:"このヘルプパネルを更新するには、別のオプションをホバーまたはタブしてください。",pages:"ページ",backToBoard:"ボードに戻る",matches:"一致",settingsTitle:"設定"},TWe={detected:"競合が検出されました",detectedDesc:"このタスクは編集中に外部で変更されました。",conflictingChanges:"タスク <code>{{taskId}}</code> に競合する変更があります。解決方法を選択:",yourVersion:"あなたのバージョン(ローカル)",diskVersion:"ディスクバージョン(リモート)",cancel:"キャンセル",reloadFromDisk:"ディスクから再読み込み",keepMyVersion:"私のバージョンを維持",title:"タイトル",priority:"優先度",body:"ボディ",subtasks:"サブタスク",none:"(なし)"},LWe={title:"タイトル",subtasks:"サブタスク",context:"コンテキスト",notes:"メモ",whatWasDone:"何がれたか",tags:"タグ",assignee:"担当者",priority:"優先度"},MWe={settingsUpdatedExternally:"設定が外部で更新されました — 再読み込みしました"},jWe={app:yWe,common:_We,emptyState:kWe,header:wWe,filterBar:xWe,column:AWe,card:CWe,drawer:NWe,subtask:SWe,commandPalette:$We,listView:EWe,settings:PWe,conflict:TWe,sectionLabels:LWe,toast:MWe},DWe={name:"kandown",tagline:"AI 마크다운 칸반 관리자"},IWe={search:"검색",searchPlaceholder:"작업 검색...",cancel:"취소",save:"저장",delete:"삭제",close:"닫기",clear:"지우기",clearAll:"모두 지우기",add:"추가",remove:"제거",done:"완료",loading:"로딩 중...",noResults:"결과 없음",currentValue:"현재 값",configKey:"설정 키",choices:"선택",openFolder:"폴더 열기",selectFolder:"폴더 선택",recent:"최근",settings:"설정",board:"보드",reload:"새로고침",newTask:"새 작업"},RWe={unsupportedBrowser:"지원되지 않는 브라우저",unsupportedBrowserDesc:"이 엔진은 <code>File System Access API</code>가 필요합니다. Chrome, Edge, Brave 또는 Opera를 사용하세요. Firefox와 Safari는 아직 지원되지 않습니다.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},OWe={tasks:"작업",recentProjects:"최근 프로젝트","openFolder...":"폴더 열기..."},FWe={searchPlaceholder:"작업 검색...",clearAll:"모두 지우기",ownerAll:"👤 전체",ownerHuman:"👤 인간",ownerAI:"🤖 AI"},zWe={addTask:"작업 추가",columnColor:"열 색상",color:"색상"},HWe={delete:"작업 삭제",confirmDelete:"다시 클릭하여 삭제"},BWe={close:"닫기 (Esc)",taskTitle:"작업 제목",doneSubtasks:"완료",priority:"우선순위",noPriority:"우선순위 없음",urgentP1:"긴급 · P1",highP2:"높음 · P2",mediumP3:"중간 · P3",lowP4:"낮음 · P4",assignee:"담당자",assigneePlaceholder:"사용자 이름",tags:"태그",tagsPlaceholder:"backend, security, api",dueDate:"마감일",owner:"소유자",unset:"설정되지 않음",human:"👤 인간",ai:"🤖 AI",tools:"도구",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"설명",descriptionPlaceholder:"일부 컨텍스트, 링크, 결정을 작성하세요...",report:"보고서",reportPlaceholder:"AI 출력이 여기에 표시됩니다...",subtasks:"하위 작업",addSubtask:"하위 작업 추가",deleteTask:"삭제",saveClose:"저장 및 닫기",cancel:"취소"},qWe={placeholder:"하위 작업...",description:"설명",descriptionPlaceholder:"이 단계에 대한 컨텍스트, 링크 또는 메모를 추가하세요...",report:"보고서",reportPlaceholder:"무엇이 완료되었는지, 어떤 결정이 내려졌는지, 트레이드오프...",aiFillsThis:"AI가 완료 후 이를 입력합니다",collapse:"접기",expand:"펼치기"},UWe={placeholder:"명령어를 입력하거나 검색하세요...",actions:"작업",view:"보기",tasks:"작업",newTask:"새 작업",createNew:"새 작업 만들기",reloadBoard:"보드 새로고침",readFromDisk:"디스크에서 파일 다시 읽기",clearFilters:"필터 지우기",boardView:"보드 보기",listView:"목록 보기",compactDensity:"컴팩트 밀도",comfortableDensity:"컴포터블 밀도",navigate:"탐색",select:"선택"},VWe={id:"ID",title:"제목",status:"상태",tags:"태그",assignee:"담당자",progress:"진행률",noMatchingTasks:"일치하는 작업 없음"},ZWe={noProjectOpen:"열린 프로젝트 없음",appearance:"모양",appearanceDesc:"테마, 스킨, 배경, 폰트 및 언어.",agent:"에이전트",agentDesc:"AI 보조 작업 작업의 후속 작업 동작.",board:"보드",boardDesc:"작업 ID 동작 및 보드 수준 기본값.",fields:"필드",fieldsDesc:"작업 및 보드 카드에 표시되는 선택적 필드.",language:"언어",languageDesc:"UI 언어는 이 프로젝트 설정에 저장됩니다.",mode:"모드",modeDesc:"자동은 시스템 라이트 또는 다크 설정을 따릅니다.",auto:"자동",light:"라이트",dark:"다크",skin:"스킨",skinDesc:"색상 토큰은 각 프로젝트의 kandown.json에 저장됩니다.",background:"배경",backgroundDesc:"플랫 표면 또는 애니메이션 liquid 배경을 선택하세요.",font:"폰트",fontDesc:"네트워크 요청 없이 로컬 시스템 폰트 스택.",suggestFollowUp:"후속 작업 제안",suggestFollowUpDesc:"에이전트에게 하나를 완료한 후 다음 작업을 제안하도록 요청하세요.",maxSuggestions:"최대 제안 수",maxSuggestionsDesc:"에이전트가 제안할 수 있는 후속 작업 수를 제한합니다.",defaultPriority:"기본 우선순위",defaultPriorityDesc:"우선순위 필드가 활성화되면 새 작업의 초기 우선순위.",defaultOwner:"기본 소유자",defaultOwnerDesc:"소유자 필드가 활성화되면 새 작업의 초기 소유자.",priority:"우선순위",priorityDesc:"작업의 우선순위 메타데이터를 활성화합니다.",assignee:"담당자",assigneeDesc:"작업의 담당자 메타데이터를 활성화합니다.",tags:"태그",tagsDesc:"작업의 태그 메타데이터를 활성화합니다.",dueDate:"마감일",dueDateDesc:"작업의 마감일 메타데이터를 활성화합니다.",ownerType:"소유자 유형",ownerTypeDesc:"작업의 인간/AI 소유권 메타데이터를 활성화합니다.",tools:"도구",toolsDesc:"AI 에이전트 작업에 대한 free-form 도구 힌트를 활성화합니다.",searchPlaceholder:"모든 옵션 검색",searchResults:"검색 결과",searchResultsLabel:"검색 결과",matchingOptions:"프로젝트 설정 전체에서 일치하는 옵션.",options:"옵션",noOptionFound:"옵션을 찾을 수 없습니다",tryAnotherSearch:"다른 검색어를 시도하세요.",currentValue:"현재 값",configKey:"설정 키",choices:"선택",hoverForHelp:"이 도움말 패널을 업데이트하려면 다른 옵션을 호버하거나 탭하세요.",pages:"페이지",backToBoard:"보드로 돌아가기",matches:"일치",settingsTitle:"설정"},GWe={detected:"충돌 감지됨",detectedDesc:"이 작업은 편집 중에 외부에서 수정되었습니다.",conflictingChanges:"작업 <code>{{taskId}}</code>에 충돌하는 변경 사항이 있습니다. 해결 방법 선택:",yourVersion:"내 버전 (로컬)",diskVersion:"디스크 버전 (원격)",cancel:"취소",reloadFromDisk:"디스크에서 다시 로드",keepMyVersion:"내 버전 유지",title:"제목",priority:"우선순위",body:"본문",subtasks:"하위 작업",none:"(없음)"},WWe={title:"제목",subtasks:"하위 작업",context:"컨텍스트",notes:"노트",whatWasDone:"무엇이 완료되었는지",tags:"태그",assignee:"담당자",priority:"우선순위"},KWe={settingsUpdatedExternally:"설정이 외부에서 업데이트되었습니다 — 다시 로드됨"},YWe={app:DWe,common:IWe,emptyState:RWe,header:OWe,filterBar:FWe,column:zWe,card:HWe,drawer:BWe,subtask:qWe,commandPalette:UWe,listView:VWe,settings:ZWe,conflict:GWe,sectionLabels:WWe,toast:KWe},XWe={name:"kandown",tagline:"AI Markdown Kanban Yöneticisi"},QWe={search:"Ara",searchPlaceholder:"Görevleri ara...",cancel:"İptal",save:"Kaydet",delete:"Sil",close:"Kapat",clear:"Temizle",clearAll:"Tümünü temizle",add:"Ekle",remove:"Kaldır",done:"Tamamlandı",loading:"Yükleniyor...",noResults:"Sonuç yok",currentValue:"Mevcut değer",configKey:"Yapılandırma anahtarı",choices:"Seçenekler",openFolder:"Klasör aç",selectFolder:"Klasör seç",recent:"Son",settings:"Ayarlar",board:"Pano",reload:"Yenile",newTask:"Yeni görev"},JWe={unsupportedBrowser:"Desteklenmeyen tarayıcı",unsupportedBrowserDesc:"Bu motor <code>File System Access API</code> gerektirir. Chrome, Edge, Brave veya Opera kullanın. Firefox ve Safari henüz desteklenmiyor.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eKe={tasks:"görevler",recentProjects:"Son projeler","openFolder...":"Klasör aç..."},tKe={searchPlaceholder:"Görevleri ara...",clearAll:"Tümünü temizle",ownerAll:"👤 Tümü",ownerHuman:"👤 İnsan",ownerAI:"🤖 AI"},nKe={addTask:"Görev ekle",columnColor:"Sütun rengi",color:"Renk"},aKe={delete:"Görevi sil",confirmDelete:"Silmek için tekrar tıkla"},iKe={close:"Kapat (Esc)",taskTitle:"Görev başlığı",doneSubtasks:"tamamlandı",priority:"Öncelik",noPriority:"Öncelik yok",urgentP1:"Acil · P1",highP2:"Yüksek · P2",mediumP3:"Orta · P3",lowP4:"Düşük · P4",assignee:"Atanan",assigneePlaceholder:"kullanıcı adı",tags:"Etiketler",tagsPlaceholder:"backend, security, api",dueDate:"Bitiş tarihi",owner:"Sahip",unset:"Ayarlanmamış",human:"👤 İnsan",ai:"🤖 AI",tools:"Araçlar",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Açıklama",descriptionPlaceholder:"Bağlam, bağlantılar, kararlar yazın...",report:"Rapor",reportPlaceholder:"AI çıktısı burada görünecek...",subtasks:"Alt görevler",addSubtask:"Alt görev ekle",deleteTask:"Sil",saveClose:"Kaydet ve kapat",cancel:"İptal"},rKe={placeholder:"Alt görev...",description:"Açıklama",descriptionPlaceholder:"Bu adım için bağlam, bağlantı veya notlar ekle...",report:"Rapor",reportPlaceholder:"Ne yapıldı, hangi kararlar alındı, ödünler...",aiFillsThis:"AI bunu tamamladıktan sonra doldurur",collapse:"Daralt",expand:"Genişlet"},sKe={placeholder:"Bir komut yazın veya arayın...",actions:"Eylemler",view:"Görünüm",tasks:"Görevler",newTask:"Yeni görev",createNew:"Yeni görev oluştur",reloadBoard:"Panoyu yenile",readFromDisk:"Dosyaları diskten yeniden oku",clearFilters:"Filtreleri temizle",boardView:"Pano görünümü",listView:"Liste görünümü",compactDensity:"Kompakt yoğunluk",comfortableDensity:"Konforlu yoğunluk",navigate:"navigasyon",select:"seç"},oKe={id:"Kimlik",title:"Başlık",status:"Durum",tags:"Etiketler",assignee:"Atanan",progress:"İlerleme",noMatchingTasks:"Eşleşen görev yok"},cKe={noProjectOpen:"Açık proje yok",appearance:"Görünüm",appearanceDesc:"Tema, cilt, arka plan, yazı tipi ve dil.",agent:"Ajan",agentDesc:"AI destekli görev çalışması için takip davranışı.",board:"Pano",boardDesc:"Görev kimliği davranışı ve pano düzeyinde varsayılanlar.",fields:"Alanlar",fieldsDesc:"Görevler ve pano kartlarında gösterilen isteğe bağlı alanlar.",language:"Dil",languageDesc:"UI dili bu proje yapılandırmasında saklanır.",mode:"Mod",modeDesc:"Otomatik, sistem ışık veya koyu tercihini takip eder.",auto:"Otomatik",light:"Açık",dark:"Koyu",skin:"Cilt",skinDesc:"Renk belirteçleri her proje için kandown.json'da saklanır.",background:"Arka plan",backgroundDesc:"Düz bir yüzey veya animasyonlu sıvı arka plan seçin.",font:"Yazı tipi",fontDesc:"Ağ isteği olmadan yerel sistem yazı tipi yığını.",suggestFollowUp:"Takip görevleri öner",suggestFollowUpDesc:"Ajanlardan birini bitirdikten sonra sonraki görevleri önermelerini isteyin.",maxSuggestions:"Maks öneri",maxSuggestionsDesc:"Bir ajanın önerebileceği takip görevi sayısını sınırlar.",defaultPriority:"Varsayılan öncelik",defaultPriorityDesc:"Öncelik alanı etkinleştirildiğinde yeni görevler için başlangıç önceliği.",defaultOwner:"Varsayılan sahip",defaultOwnerDesc:"Sahip alanı etkinleştirildiğinde yeni görevler için başlangıç sahibi.",priority:"Öncelik",priorityDesc:"Görevlerde öncelik meta verilerini etkinleştir.",assignee:"Atanan",assigneeDesc:"Görevlerde atanan meta verilerini etkinleştir.",tags:"Etiketler",tagsDesc:"Görevlerde etiket meta verilerini etkinleştir.",dueDate:"Bitiş tarihi",dueDateDesc:"Görevlerde bitiş tarihi meta verilerini etkinleştir.",ownerType:"Sahip türü",ownerTypeDesc:"Görevlerde insan/AI sahipliği meta verilerini etkinleştir.",tools:"Araçlar",toolsDesc:"AI ajan görevleri için özgür biçimli araç ipuçlarını etkinleştir.",searchPlaceholder:"Herhangi bir seçeneği ara",searchResults:"Arama sonuçları",searchResultsLabel:"Arama sonuçları",matchingOptions:"proje ayarları genelinde eşleşen seçenekler.",options:"seçenekler",noOptionFound:"Seçenek bulunamadı",tryAnotherSearch:"Başka bir arama terimi deneyin.",currentValue:"Mevcut değer",configKey:"Yapılandırma anahtarı",choices:"Seçenekler",hoverForHelp:"Bu yardım panelini güncellemek için başka bir seçeneğin üzerine gelin veya sekmeye basın.",pages:"Sayfalar",backToBoard:"Panoya geri dön",matches:"Eşleşmeler",settingsTitle:"Ayarlar"},pKe={detected:"Çakışma Tespit Edildi",detectedDesc:"Bu görev, düzenlerken dışarıdan değiştirildi.",conflictingChanges:"Görev <code>{{taskId}}</code> çakışan değişikliklere sahip. Nasıl çözüleceğini seçin:",yourVersion:"Sürümünüz (yerel)",diskVersion:"Disk sürümü (uzak)",cancel:"İptal",reloadFromDisk:"Diskten yeniden yükle",keepMyVersion:"Sürümümü koru",title:"Başlık",priority:"Öncelik",body:"İçerik",subtasks:"Alt görevler",none:"(yok)"},lKe={title:"Başlık",subtasks:"Alt görev",context:"Bağlam",notes:"Notlar",whatWasDone:"Ne yapıldı",tags:"Etiketler",assignee:"Atanan",priority:"Öncelik"},dKe={settingsUpdatedExternally:"Ayarlar dışarıdan güncellendi — yeniden yüklendi"},uKe={app:XWe,common:QWe,emptyState:JWe,header:eKe,filterBar:tKe,column:nKe,card:aKe,drawer:iKe,subtask:rKe,commandPalette:sKe,listView:oKe,settings:cKe,conflict:pKe,sectionLabels:lKe,toast:dKe},mKe={name:"kandown",tagline:"AI Markdown Kanban Quản Lý"},fKe={search:"Tìm kiếm",searchPlaceholder:"Tìm kiếm công việc...",cancel:"Hủy",save:"Lưu",delete:"Xóa",close:"Đóng",clear:"Xóa",clearAll:"Xóa tất cả",add:"Thêm",remove:"Xóa",done:"Xong",loading:"Đang tải...",noResults:"Không có kết quả",currentValue:"Giá trị hiện tại",configKey:"Khóa cấu hình",choices:"Lựa chọn",openFolder:"Mở thư mục",selectFolder:"Chọn thư mục",recent:"Gần đây",settings:"Cài đặt",board:"Bảng",reload:"Tải lại",newTask:"Công việc mới"},gKe={unsupportedBrowser:"Trình duyệt không được hỗ trợ",unsupportedBrowserDesc:"Công cụ này yêu cầu <code>File System Access API</code>. Sử dụng Chrome, Edge, Brave hoặc Opera. Firefox và Safari chưa được hỗ trợ.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},hKe={tasks:"công việc",recentProjects:"Dự án gần đây","openFolder...":"Mở thư mục..."},bKe={searchPlaceholder:"Tìm kiếm công việc...",clearAll:"Xóa tất cả",ownerAll:"👤 Tất cả",ownerHuman:"👤 Người",ownerAI:"🤖 AI"},vKe={addTask:"Thêm công việc",columnColor:"Màu cột",color:"Màu"},yKe={delete:"Xóa công việc",confirmDelete:"Nhấn lại để xóa"},_Ke={close:"Đóng (Esc)",taskTitle:"Tiêu đề công việc",doneSubtasks:"đã xong",priority:"Ưu tiên",noPriority:"Không ưu tiên",urgentP1:"Khẩn cấp · P1",highP2:"Cao · P2",mediumP3:"Trung bình · P3",lowP4:"Thấp · P4",assignee:"Người được giao",assigneePlaceholder:"tên người dùng",tags:"Thẻ",tagsPlaceholder:"backend, security, api",dueDate:"Ngày hết hạn",owner:"Chủ sở hữu",unset:"Chưa đặt",human:"👤 Người",ai:"🤖 AI",tools:"Công cụ",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Mô tả",descriptionPlaceholder:"Viết một số ngữ cảnh, liên kết, quyết định...",report:"Báo cáo",reportPlaceholder:"Đầu ra AI sẽ xuất hiện ở đây...",subtasks:"Công việc con",addSubtask:"Thêm công việc con",deleteTask:"Xóa",saveClose:"Lưu và đóng",cancel:"Hủy"},kKe={placeholder:"Công việc con...",description:"Mô tả",descriptionPlaceholder:"Thêm ngữ cảnh, liên kết hoặc ghi chú cho bước này...",report:"Báo cáo",reportPlaceholder:"Đã làm gì, quyết định gì, thỏa hiệp...",aiFillsThis:"AI điền vào đây sau khi hoàn thành",collapse:"Thu gọn",expand:"Mở rộng"},wKe={placeholder:"Nhập lệnh hoặc tìm kiếm...",actions:"Hành động",view:"Xem",tasks:"Công việc",newTask:"Công việc mới",createNew:"Tạo công việc mới",reloadBoard:"Tải lại bảng",readFromDisk:"Đọc lại tệp từ đĩa",clearFilters:"Xóa bộ lọc",boardView:"Xem bảng",listView:"Xem danh sách",compactDensity:"Mật độ nhỏ gọn",comfortableDensity:"Mật độ thoải mái",navigate:"điều hướng",select:"chọn"},xKe={id:"ID",title:"Tiêu đề",status:"Trạng thái",tags:"Thẻ",assignee:"Người được giao",progress:"Tiến độ",noMatchingTasks:"Không có công việc phù hợp"},AKe={noProjectOpen:"Không có dự án mở",appearance:"Giao diện",appearanceDesc:"Chủ đề, giao diện, nền, phông chữ và ngôn ngữ.",agent:"Đại lý",agentDesc:"Hành vi theo dõi cho công việc được AI hỗ trợ.",board:"Bảng",boardDesc:"Hành vi ID công việc và mặc định cấp bảng.",fields:"Trường",fieldsDesc:"Các trường tùy chọn hiển thị trên công việc và thẻ bảng.",language:"Ngôn ngữ",languageDesc:"Ngôn ngữ UI được lưu trong cấu hình dự án này.",mode:"Chế độ",modeDesc:"Tự động theo tùy chọn sáng hoặc tối của hệ thống.",auto:"Tự động",light:"Sáng",dark:"Tối",skin:"Giao diện",skinDesc:"Mã thông báo màu được lưu trữ cho mỗi dự án trong kandown.json.",background:"Nền",backgroundDesc:"Chọn bề mặt phẳng hoặc nền chất lỏng có hoạt hình.",font:"Phông chữ",fontDesc:"Ngăn xếp phông chữ hệ thống cục bộ, không có yêu cầu mạng.",suggestFollowUp:"Đề xuất công việc theo dõi",suggestFollowUpDesc:"Yêu cầu các đại lý đề xuất công việc tiếp theo sau khi hoàn thành một công việc.",maxSuggestions:"Đề xuất tối đa",maxSuggestionsDesc:"Giới hạn số lượng công việc theo dõi mà một đại lý có thể đề xuất.",defaultPriority:"Ưu tiên mặc định",defaultPriorityDesc:"Ưu tiên ban đầu cho công việc mới khi trường Ưu tiên được bật.",defaultOwner:"Chủ sở hữu mặc định",defaultOwnerDesc:"Chủ sở hữu ban đầu cho công việc mới khi trường Chủ sở hữu được bật.",priority:"Ưu tiên",priorityDesc:"Bật siêu dữ liệu ưu tiên trên công việc.",assignee:"Người được giao",assigneeDesc:"Bật siêu dữ liệu người được giao trên công việc.",tags:"Thẻ",tagsDesc:"Bật siêu dữ liệu thẻ trên công việc.",dueDate:"Ngày hết hạn",dueDateDesc:"Bật siêu dữ liệu ngày hết hạn trên công việc.",ownerType:"Loại chủ sở hữu",ownerTypeDesc:"Bật siêu dữ liệu quyền sở hữu người/AI trên công việc.",tools:"Công cụ",toolsDesc:"Bật gợi ý công cụ dạng tự do cho công việc đại lý AI.",searchPlaceholder:"Tìm kiếm bất kỳ tùy chọn nào",searchResults:"Kết quả tìm kiếm",searchResultsLabel:"Kết quả tìm kiếm",matchingOptions:"các tùy chọn phù hợp trong cài đặt dự án.",options:"tùy chọn",noOptionFound:"Không tìm thấy tùy chọn",tryAnotherSearch:"Thử cụm từ tìm kiếm khác.",currentValue:"Giá trị hiện tại",configKey:"Khóa cấu hình",choices:"Lựa chọn",hoverForHelp:"Di chuột hoặc tab qua một tùy chọn khác để cập nhật bảng trợ giúp này.",pages:"Trang",backToBoard:"Quay lại bảng",matches:"Kết quả phù hợp",settingsTitle:"Cài đặt"},CKe={detected:"Phát hiện xung đột",detectedDesc:"Công việc này đã được sửa đổi bên ngoài trong khi bạn đang chỉnh sửa.",conflictingChanges:"Công việc <code>{{taskId}}</code> có các thay đổi xung đột. Chọn cách giải quyết:",yourVersion:"Phiên bản của bạn (cục bộ)",diskVersion:"Phiên bản đĩa (từ xa)",cancel:"Hủy",reloadFromDisk:"Tải lại từ đĩa",keepMyVersion:"Giữ phiên bản của tôi",title:"Tiêu đề",priority:"Ưu tiên",body:"Nội dung",subtasks:"Công việc con",none:"(không)"},NKe={title:"Tiêu đề",subtasks:"Công việc con",context:"Bối cảnh",notes:"Ghi chú",whatWasDone:"Đã làm gì",tags:"Thẻ",assignee:"Người được giao",priority:"Ưu tiên"},SKe={settingsUpdatedExternally:"Cài đặt đã được cập nhật bên ngoài — đã tải lại"},$Ke={app:mKe,common:fKe,emptyState:gKe,header:hKe,filterBar:bKe,column:vKe,card:yKe,drawer:_Ke,subtask:kKe,commandPalette:wKe,listView:xKe,settings:AKe,conflict:CKe,sectionLabels:NKe,toast:SKe},EKe={name:"kandown",tagline:"AI Markdown Kanban Manager"},PKe={search:"Cari",searchPlaceholder:"Mencari tugas...",cancel:"Batal",save:"Simpan",delete:"Hapus",close:"Tutup",clear:"Bersihkan",clearAll:"Bersihkan semua",add:"Tambah",remove:"Hapus",done:"Selesai",loading:"Memuat...",noResults:"Tidak ada hasil",currentValue:"Nilai saat ini",configKey:"Kunci konfigurasi",choices:"Pilihan",openFolder:"Buka folder",selectFolder:"Pilih folder",recent:"Terbaru",settings:"Pengaturan",board:"Papan",reload:"Muat ulang",newTask:"Tugas baru"},TKe={unsupportedBrowser:"Browser tidak didukung",unsupportedBrowserDesc:"Mesin ini memerlukan <code>File System Access API</code>. Gunakan Chrome, Edge, Brave, atau Opera. Firefox dan Safari belum didukung.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},LKe={tasks:"tugas",recentProjects:"Proyek terbaru","openFolder...":"Buka folder..."},MKe={searchPlaceholder:"Mencari tugas...",clearAll:"Bersihkan semua",ownerAll:"👤 Semua",ownerHuman:"👤 Manusia",ownerAI:"🤖 AI"},jKe={addTask:"Tambah tugas",columnColor:"Warna kolom",color:"Warna"},DKe={delete:"Hapus tugas",confirmDelete:"Klik lagi untuk menghapus"},IKe={close:"Tutup (Esc)",taskTitle:"Judul tugas",doneSubtasks:"selesai",priority:"Prioritas",noPriority:"Tanpa prioritas",urgentP1:"Mendesak · P1",highP2:"Tinggi · P2",mediumP3:"Sedang · P3",lowP4:"Rendah · P4",assignee:"Penanggung jawab",assigneePlaceholder:"nama pengguna",tags:"Tag",tagsPlaceholder:"backend, security, api",dueDate:"Tanggal jatuh tempo",owner:"Pemilik",unset:"Tidak diatur",human:"👤 Manusia",ai:"🤖 AI",tools:"Alat",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Deskripsi",descriptionPlaceholder:"Tulis beberapa konteks, tautan, keputusan...",report:"Laporan",reportPlaceholder:"Output AI akan muncul di sini...",subtasks:"Subtugas",addSubtask:"Tambah subtugas",deleteTask:"Hapus",saveClose:"Simpan & Tutup",cancel:"Batal"},RKe={placeholder:"Subtugas...",description:"Deskripsi",descriptionPlaceholder:"Tambahkan konteks, tautan, atau catatan untuk langkah ini...",report:"Laporan",reportPlaceholder:"Apa yang dilakukan, keputusan yang dibuat, kompromi...",aiFillsThis:"AI mengisi ini setelah menyelesaikan",collapse:"Runtuhkan",expand:"Perluas"},OKe={placeholder:"Ketik perintah atau cari...",actions:"Tindakan",view:"Lihat",tasks:"Tugas",newTask:"Tugas baru",createNew:"Buat tugas baru",reloadBoard:"Muat ulang papan",readFromDisk:"Baca ulang file dari disk",clearFilters:"Bersihkan filter",boardView:"Lihat papan",listView:"Lihat daftar",compactDensity:"Kepadatan ringkas",comfortableDensity:"Kepadatan nyaman",navigate:"navigasi",select:"pilih"},FKe={id:"ID",title:"Judul",status:"Status",tags:"Tag",assignee:"Penanggung jawab",progress:"Kemajuan",noMatchingTasks:"Tidak ada tugas yang cocok"},zKe={noProjectOpen:"Tidak ada proyek terbuka",appearance:"Tampilan",appearanceDesc:"Tema, skin, latar belakang, font, dan bahasa.",agent:"Agen",agentDesc:"Perilaku tindak lanjut untuk pekerjaan tugas berbantuan AI.",board:"Papan",boardDesc:"Perilaku ID tugas dan default tingkat papan.",fields:"Bidang",fieldsDesc:"Bidang opsional yang ditampilkan pada tugas dan kartu papan.",language:"Bahasa",languageDesc:"Bahasa UI disimpan dalam konfigurasi proyek ini.",mode:"Mode",modeDesc:"Otomatis mengikuti preferensi sistem terang atau gelap.",auto:"Otomatis",light:"Terang",dark:"Gelap",skin:"Skin",skinDesc:"Token warna disimpan per proyek di kandown.json.",background:"Latar belakang",backgroundDesc:"Pilih permukaan datar atau latar belakang cairan animasi.",font:"Font",fontDesc:"Stack font sistem lokal, tanpa permintaan jaringan.",suggestFollowUp:"Saran tugas lanjutan",suggestFollowUpDesc:"Minta agen untuk mengusulkan tugas berikutnya setelah menyelesaikan satu.",maxSuggestions:"Maks saran",maxSuggestionsDesc:"Membatasi jumlah tugas lanjutan yang dapat diusulkan oleh agen.",defaultPriority:"Prioritas default",defaultPriorityDesc:"Prioritas awal untuk tugas baru saat bidang Prioritas diaktifkan.",defaultOwner:"Pemilik default",defaultOwnerDesc:"Pemilik awal untuk tugas baru saat bidang Pemilik diaktifkan.",priority:"Prioritas",priorityDesc:"Aktifkan metadata prioritas pada tugas.",assignee:"Penanggung jawab",assigneeDesc:"Aktifkan metadata penanggung jawab pada tugas.",tags:"Tag",tagsDesc:"Aktifkan metadata tag pada tugas.",dueDate:"Tanggal jatuh tempo",dueDateDesc:"Aktifkan metadata tanggal jatuh tempo pada tugas.",ownerType:"Tipe pemilik",ownerTypeDesc:"Aktifkan metadata kepemilikan manusia/AI pada tugas.",tools:"Alat",toolsDesc:"Aktifkan petunjuk alat bentuk bebas untuk tugas agen AI.",searchPlaceholder:"Cari opsi apa pun",searchResults:"Hasil pencarian",searchResultsLabel:"Hasil pencarian",matchingOptions:"opsi yang cocok di seluruh pengaturan proyek.",options:"opsi",noOptionFound:"Opsi tidak ditemukan",tryAnotherSearch:"Coba istilah pencarian lain.",currentValue:"Nilai saat ini",configKey:"Kunci konfigurasi",choices:"Pilihan",hoverForHelp:"Arahkan atau alihkan ke opsi lain untuk memperbarui panel bantuan ini.",pages:"Halaman",backToBoard:"Kembali ke papan",matches:"Kecocokan",settingsTitle:"Pengaturan"},HKe={detected:"Konflik Terdeteksi",detectedDesc:"Tugas ini dimodifikasi secara eksternal saat Anda mengedit.",conflictingChanges:"Tugas <code>{{taskId}}</code> memiliki perubahan yang berkonflik. Pilih cara menyelesaikan:",yourVersion:"Versi Anda (lokal)",diskVersion:"Versi disk (jarak jauh)",cancel:"Batal",reloadFromDisk:"Muat ulang dari disk",keepMyVersion:"Simpan versi saya",title:"Judul",priority:"Prioritas",body:"Isi",subtasks:"Subtugas",none:"(tidak ada)"},BKe={title:"Judul",subtasks:"Subtugas",context:"Konteks",notes:"Catatan",whatWasDone:"Apa yang dilakukan",tags:"Tag",assignee:"Penanggung jawab",priority:"Prioritas"},qKe={settingsUpdatedExternally:"Pengaturan diperbarui secara eksternal — dimuat ulang"},UKe={app:EKe,common:PKe,emptyState:TKe,header:LKe,filterBar:MKe,column:jKe,card:DKe,drawer:IKe,subtask:RKe,commandPalette:OKe,listView:FKe,settings:zKe,conflict:HKe,sectionLabels:BKe,toast:qKe},VKe={name:"kandown",tagline:"AI مارک ڈاؤن کین بن مینیجر"},ZKe={search:"تلاش",searchPlaceholder:"ٹاسک تلاش کریں...",cancel:"منسوخ",save:"محفوظ کریں",delete:"حذف",close:"بند کریں",clear:"صاف کریں",clearAll:"سب صاف کریں",add:"شامل",remove:"ہٹائیں",done:"ہو گیا",loading:"لوڈ ہو رہا ہے...",noResults:"کوئی نتیجہ نہیں",currentValue:"موجودہ قدر",configKey:"ترتیب کی کلید",choices:"choices",openFolder:"فولڈر کھولیں",selectFolder:"فولڈر منتخب کریں",recent:"حالیہ",settings:"ترتیبات",board:"بورڈ",reload:"ری لوڈ",newTask:"نیا ٹاسک"},GKe={unsupportedBrowser:"براؤزر تعاون یافتہ نہیں",unsupportedBrowserDesc:"اس انجن کو <code>File System Access API</code> درکار ہے۔ Chrome، Edge، Brave یا Opera استعمال کریں۔ Firefox اور Safari ابھی تک تعاون یافتہ نہیں ہیں۔",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},WKe={tasks:"ٹاسک",recentProjects:"حالیہ پروجیکٹس","openFolder...":"فولڈر کھولیں..."},KKe={searchPlaceholder:"ٹاسک تلاش کریں...",clearAll:"سب صاف کریں",ownerAll:"👤 سب",ownerHuman:"👤 انسان",ownerAI:"🤖 AI"},YKe={addTask:"ٹاسک شامل کریں",columnColor:"کالم رنگ",color:"رنگ"},XKe={delete:"ٹاسک حذف کریں",confirmDelete:"حذف کرنے کے لیے دوبارہ کلک کریں"},QKe={close:"بند کریں (Esc)",taskTitle:"ٹاسک کا عنوان",doneSubtasks:"ہو گیا",priority:"ترجیح",noPriority:"کوئی ترجیح نہیں",urgentP1:"فوری · P1",highP2:"اونچا · P2",mediumP3:"درمیانہ · P3",lowP4:"نیچے · P4",assignee:"مقرر",assigneePlaceholder:"صارف کا نام",tags:"ٹیگز",tagsPlaceholder:"backend, security, api",dueDate:"آخری تاریخ",owner:"مالک",unset:"غیر متعین",human:"👤 انسان",ai:"🤖 AI",tools:"ٹولز",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"تفصیل",descriptionPlaceholder:"کچھ سیاق و سباق، لنکس، فیصلے لکھیں...",report:"رپورٹ",reportPlaceholder:"AI آؤٹ پٹ یہاں ظاہر ہو گا...",subtasks:"ذیلی ٹاسک",addSubtask:"ذیلی ٹاسک شامل کریں",deleteTask:"حذف",saveClose:"محفوظ کریں اور بند کریں",cancel:"منسوخ"},JKe={placeholder:"ذیلی ٹاسک...",description:"تفصیل",descriptionPlaceholder:"اس مرحلے کے لیے سیاق و سباق، لنکس، یا نوٹس شامل کریں...",report:"رپورٹ",reportPlaceholder:"کیا کیا گیا، کون سے فیصلے ہوئے، trade-offs...",aiFillsThis:"AI مکمل کرنے کے بعد یہ بھرتا ہے",collapse:"سکیڑیں",expand:"پھیلائیں"},eYe={placeholder:"کمانڈ ٹائپ کریں یا تلاش کریں...",actions:"ایکشنز",view:"منظر",tasks:"ٹاسک",newTask:"نیا ٹاسک",createNew:"نیا ٹاسک بنائیں",reloadBoard:"بورڈ ری لوڈ کریں",readFromDisk:"ڈسک سے فائلز دوبارہ پڑھیں",clearFilters:"فلٹرز صاف کریں",boardView:"بورڈ منظر",listView:"لسٹ منظر",compactDensity:"کمپیکٹ کثافت",comfortableDensity:"آرام دہ کثافت",navigate:"نیویگیٹ",select:"منتخب"},tYe={id:"ID",title:"عنوان",status:"اسٹیٹس",tags:"ٹیگز",assignee:"مقرر",progress:"ترقی",noMatchingTasks:"کوئی مماثل ٹاسک نہیں"},nYe={noProjectOpen:"کوئی پروجیکٹ کھلا نہیں",appearance:"ظاہری شکل",appearanceDesc:"تھیم، سکن، بیک گراؤنڈ، فونٹ، اور زبان۔",agent:"ایجنٹ",agentDesc:"AI معاون ٹاسک کے کام کے لیے فالو اپ سلوک۔",board:"بورڈ",boardDesc:"ٹاسک ID رویہ اور بورڈ سطح کی ڈیفالٹس۔",fields:"فیلڈز",fieldsDesc:"اختیاری فیلڈز جو ٹاسکس اور بورڈ کارڈز پر دکھائی جاتی ہیں۔",language:"زبان",languageDesc:"UI زبان اس پروجیکٹ کنفگ میں محفوظ ہے۔",mode:"موڈ",modeDesc:"آٹو آپ کے سسٹم کے لائٹ یا ڈارک ترجیح کی پیروی کرتا ہے۔",auto:"آٹو",light:"لائٹ",dark:"ڈارک",skin:"سکن",skinDesc:"رنگ ٹوکن فی پروجیکٹ kandown.json میں محفوظ ہیں۔",background:"بیک گراؤنڈ",backgroundDesc:"ایک فلیٹ سطح یا متحرک لیکوئڈ بیک گراؤنڈ منتخب کریں۔",font:"فونٹ",fontDesc:"لوکل سسٹم فونٹ اسٹیک، کوئی نیٹ ورک درخواست نہیں۔",suggestFollowUp:"فالو اپ ٹاسک تجویز کریں",suggestFollowUpDesc:"ایجنٹس سے ایک ختم کرنے کے بعد اگلے ٹاسک تجویز کرنے کو کہیں۔",maxSuggestions:"زیادہ سے زیادہ تجاویز",maxSuggestionsDesc:"ایک ایجنٹ کے تجویز کرنے والے فالو اپ ٹاسک کی تعداد کو محدود کرتا ہے۔",defaultPriority:"ڈیفالٹ ترجیح",defaultPriorityDesc:"جب پریority فیلڈ فعال ہو تو نئے ٹاسک کے لیے ابتدائی ترجیح۔",defaultOwner:"ڈیفالٹ مالک",defaultOwnerDesc:"جب مالک فیلڈ فعال ہو تو نئے ٹاسک کے لیے ابتدائی مالک۔",priority:"ترجیح",priorityDesc:"ٹاسک پر ترجیح میٹا ڈیٹا فعال کریں۔",assignee:"مقرر",assigneeDesc:"ٹاسک پر مقرر میٹا ڈیٹا فعال کریں۔",tags:"ٹیگز",tagsDesc:"ٹاسک پر ٹیگ میٹا ڈیٹا فعال کریں۔",dueDate:"آخری تاریخ",dueDateDesc:"ٹاسک پر آخری تاریخ میٹا ڈیٹا فعال کریں۔",ownerType:"مالک کی قسم",ownerTypeDesc:"ٹاسک پر انسان/AI ملکیت میٹا ڈیٹا فعال کریں۔",tools:"ٹولز",toolsDesc:"AI ایجنٹ ٹاسک کے لیے فری فارم ٹول ہنٹس فعال کریں۔",searchPlaceholder:"کوئی بھی آپشن تلاش کریں",searchResults:"تلاش کے نتائج",searchResultsLabel:"تلاش کے نتائج",matchingOptions:"پروجیکٹ سیٹنگز میں مماثل آپشنز۔",options:"آپشنز",noOptionFound:"کوئی آپشن نہیں ملا",tryAnotherSearch:"دوسرا تلاش کا لفظ آزمائیں۔",currentValue:"موجودہ قدر",configKey:"ترتیب کی کلید",choices:"choices",hoverForHelp:"اس ہیلپ پینل کو اپ ڈیٹ کرنے کے لیے کسی دوسرے آپشن پر ہوور کریں یا ٹیب کریں۔",pages:"صفحات",backToBoard:"بورڈ پر واپس",matches:"مطابقت",settingsTitle:"ترتیبات"},aYe={detected:"تنازعہ کا پتہ چلا",detectedDesc:"یہ ٹاسک باہر سے ترمیم ہو گیا جب آپ ترمیم کر رہے تھے۔",conflictingChanges:"ٹاسک <code>{{taskId}}</code> میں متصادم تبدیلیاں ہیں۔ حل کیسے کریں:",yourVersion:"آپ کا ورژن (لوکل)",diskVersion:"ڈسک ورژن (ریموٹ)",cancel:"منسوخ",reloadFromDisk:"ڈسک سے ری لوڈ کریں",keepMyVersion:"میرا ورژن رکھیں",title:"عنوان",priority:"ترجیح",body:"بڈی",subtasks:"ذیلی ٹاسک",none:"(کچھ نہیں)"},iYe={title:"عنوان",subtasks:"ذیلی ٹاسک",context:"سیاق و سباق",notes:"نوٹس",whatWasDone:"کیا کیا گیا",tags:"ٹیگز",assignee:"مقرر",priority:"ترجیح"},rYe={settingsUpdatedExternally:"ترتیبات باہر سے اپ ڈیٹ ہوئیں — ری لوڈ ہو گئیں"},sYe={app:VKe,common:ZKe,emptyState:GKe,header:WKe,filterBar:KKe,column:YKe,card:XKe,drawer:QKe,subtask:JKe,commandPalette:eYe,listView:tYe,settings:nYe,conflict:aYe,sectionLabels:iYe,toast:rYe},oYe={name:"kandown",tagline:"AI Markdown Kanban مدیر"},cYe={search:"جستجو",searchPlaceholder:"جستجوی کارها...",cancel:"انصراف",save:"ذخیره",delete:"حذف",close:"بستن",clear:"پاک کردن",clearAll:"همه را پاک کن",add:"افزودن",remove:"حذف",done:"انجام شد",loading:"در حال بارگذاری...",noResults:"بدون نتیجه",currentValue:"مقدار فعلی",configKey:"کلید پیکربندی",choices:"گزینهها",openFolder:"باز کردن پوشه",selectFolder:"انتخاب پوشه",recent:"اخیر",settings:"تنظیمات",board:"تخته",reload:"بارگذاری مجدد",newTask:"کار جدید"},pYe={unsupportedBrowser:"مرورگر پشتیبانی نمیشود",unsupportedBrowserDesc:"این موتور به <code>File System Access API</code> نیاز دارد. از Chrome، Edge، Brave یا Opera استفاده کنید. Firefox و Safari هنوز پشتیبانی نمیشوند.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},lYe={tasks:"کارها",recentProjects:"پروژههای اخیر","openFolder...":"باز کردن پوشه..."},dYe={searchPlaceholder:"جستجوی کارها...",clearAll:"همه را پاک کن",ownerAll:"👤 همه",ownerHuman:"👤 انسان",ownerAI:"🤖 AI"},uYe={addTask:"افزودن کار",columnColor:"رنگ ستون",color:"رنگ"},mYe={delete:"حذف کار",confirmDelete:"برای حذف دوباره کلیک کنید"},fYe={close:"بستن (Esc)",taskTitle:"عنوان کار",doneSubtasks:"انجام شد",priority:"اولویت",noPriority:"بدون اولویت",urgentP1:"فوری · P1",highP2:"بالا · P2",mediumP3:"متوسط · P3",lowP4:"پایین · P4",assignee:"مسئول",assigneePlaceholder:"نام کاربری",tags:"برچسبها",tagsPlaceholder:"backend, security, api",dueDate:"تاریخ سررسید",owner:"صاحب",unset:"تنظیم نشده",human:"👤 انسان",ai:"🤖 AI",tools:"ابزارها",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"توضیحات",descriptionPlaceholder:"زمینه، پیوندها، تصمیمات را بنویسید...",report:"گزارش",reportPlaceholder:"خروجی AI اینجا ظاهر میشود...",subtasks:"زیرکارها",addSubtask:"افزودن زیرکار",deleteTask:"حذف",saveClose:"ذخیره و بستن",cancel:"انصراف"},gYe={placeholder:"زیرکار...",description:"توضیحات",descriptionPlaceholder:"زمینه، پیوندها یا یادداشتها برای این مرحله اضافه کنید...",report:"گزارش",reportPlaceholder:"چه کاری انجام شد، چه تصمیماتی گرفته شد، مصالحهها...",aiFillsThis:"AI پس از تکمیل این را پر میکند",collapse:"جمع کردن",expand:"گسترش"},hYe={placeholder:"دستور تایپ کنید یا جستجو کنید...",actions:"اقدامات",view:"نما",tasks:"کارها",newTask:"کار جدید",createNew:"ایجاد کار جدید",reloadBoard:"بارگذاری مجدد تخته",readFromDisk:"خواندن مجدد فایلها از دیسک",clearFilters:"پاک کردن فیلترها",boardView:"نمای تخته",listView:"نمای لیست",compactDensity:"تراکم فشرده",comfortableDensity:"تراکم راحت",navigate:"ناوبری",select:"انتخاب"},bYe={id:"شناسه",title:"عنوان",status:"وضعیت",tags:"برچسبها",assignee:"مسئول",progress:"پیشرفت",noMatchingTasks:"کار منطبقی وجود ندارد"},vYe={noProjectOpen:"پروژه بازی باز نشده است",appearance:"ظاهر",appearanceDesc:"تم، پوسته، پسزمینه، فونت و زبان.",agent:"عامل",agentDesc:"رفتار پیگیری برای کار کمکشده توسط AI.",board:"تخته",boardDesc:"رفتار شناسه کار و پیشفرضهای سطح تخته.",fields:"فیلدها",fieldsDesc:"فیلدهای اختیاری که روی کارها و کارتهای تخته نمایش داده میشوند.",language:"زبان",languageDesc:"زبان رابط کاربری در این پیکربندی پروژه ذخیره میشود.",mode:"حالت",modeDesc:"خودکار از تنظیم روشن/تاریک سیستم پیروی میکند.",auto:"خودکار",light:"روشن",dark:"تاریک",skin:"پوسته",skinDesc:"توکنهای رنگی در هر پروژه در kandown.json ذخیره میشوند.",background:"پسزمینه",backgroundDesc:"یک سطح صاف یا پسزمینه مایع متحرک انتخاب کنید.",font:"فونت",fontDesc:"پشته فونت سیستم محلی، بدون درخواست شبکه.",suggestFollowUp:"پیشنهاد کارهای پیگیری",suggestFollowUpDesc:"از عوامل بخواهید پس از تکمیل یکی، کارهای بعدی را پیشنهاد دهند.",maxSuggestions:"حداکثر پیشنهادها",maxSuggestionsDesc:"تعداد کارهای پیگیری که یک عامل میتواند پیشنهاد دهد را محدود میکند.",defaultPriority:"اولویت پیشفرض",defaultPriorityDesc:"اولویت اولیه برای کارهای جدید وقتی فیلد اولویت فعال است.",defaultOwner:"صاحب پیشفرض",defaultOwnerDesc:"صاحب اولیه برای کارهای جدید وقتی فیلد صاحب فعال است.",priority:"اولویت",priorityDesc:"فعالسازی فراداده اولویت روی کارها.",assignee:"مسئول",assigneeDesc:"فعالسازی فراداده مسئول روی کارها.",tags:"برچسبها",tagsDesc:"فعالسازی فراداده برچسب روی کارها.",dueDate:"تاریخ سررسید",dueDateDesc:"فعالسازی فراداده تاریخ سررسید روی کارها.",ownerType:"نوع صاحب",ownerTypeDesc:"فعالسازی فراداده مالکیت انسان/AI روی کارها.",tools:"ابزارها",toolsDesc:"فعالسازی راهنمای ابزار فرم آزاد برای کارهای عامل AI.",searchPlaceholder:"جستجوی هر گزینه",searchResults:"نتایج جستجو",searchResultsLabel:"نتایج جستجو",matchingOptions:"گزینههای منطبق در تنظیمات پروژه.",options:"گزینهها",noOptionFound:"گزینهای یافت نشد",tryAnotherSearch:"عبارت جستجوی دیگری امتحان کنید.",currentValue:"مقدار فعلی",configKey:"کلید پیکربندی",choices:"گزینهها",hoverForHelp:"برای بهروزرسانی این پنل راهنما، روی گزینه دیگری حرکت کنید یا تب کنید.",pages:"صفحات",backToBoard:"بازگشت به تخته",matches:"تطابقها",settingsTitle:"تنظیمات"},yYe={detected:"تعارض تشخیص داده شد",detectedDesc:"این کار در حین ویرایش خارجاً تغییر یافته است.",conflictingChanges:"کار <code>{{taskId}}</code> تغییرات متعارض دارد. انتخاب کنید چگونه حل شود:",yourVersion:"نسخه شما (محلی)",diskVersion:"نسخه دیسک (راه دور)",cancel:"انصراف",reloadFromDisk:"بارگذاری مجدد از دیسک",keepMyVersion:"نسخه من را نگه دار",title:"عنوان",priority:"اولویت",body:"بدنه",subtasks:"زیرکارها",none:"(هیچ)"},_Ye={title:"عنوان",subtasks:"زیرکار",context:"زمینه",notes:"یادداشتها",whatWasDone:"چه کاری انجام شد",tags:"برچسبها",assignee:"مسئول",priority:"اولویت"},kYe={settingsUpdatedExternally:"تنظیمات خارجاً بهروزرسانی شد — بارگذاری مجدد شد"},wYe={app:oYe,common:cYe,emptyState:pYe,header:lYe,filterBar:dYe,column:uYe,card:mYe,drawer:fYe,subtask:gYe,commandPalette:hYe,listView:bYe,settings:vYe,conflict:yYe,sectionLabels:_Ye,toast:kYe},xYe={name:"kandown",tagline:"AI Markdown Kanban Manager"},AYe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},CYe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},NYe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},SYe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},$Ye={addTask:"Add task",columnColor:"Column color",color:"Color"},EYe={delete:"Delete task",confirmDelete:"Click again to delete"},PYe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},TYe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},LYe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},MYe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},jYe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},DYe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},IYe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},RYe={settingsUpdatedExternally:"Settings updated externally — reloaded"},OYe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},FYe={app:xYe,common:AYe,emptyState:CYe,header:NYe,filterBar:SYe,column:$Ye,card:EYe,drawer:PYe,subtask:TYe,commandPalette:LYe,listView:MYe,settings:jYe,conflict:DYe,sectionLabels:IYe,toast:RYe,languageNames:OYe},zYe={name:"kandown",tagline:"AI Markdown Kanban Manager"},HYe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},BYe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},qYe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},UYe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},VYe={addTask:"Add task",columnColor:"Column color",color:"Color"},ZYe={delete:"Delete task",confirmDelete:"Click again to delete"},GYe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},WYe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},KYe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},YYe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},XYe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},QYe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},JYe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},eXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},tXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},nXe={app:zYe,common:HYe,emptyState:BYe,header:qYe,filterBar:UYe,column:VYe,card:ZYe,drawer:GYe,subtask:WYe,commandPalette:KYe,listView:YYe,settings:XYe,conflict:QYe,sectionLabels:JYe,toast:eXe,languageNames:tXe},aXe={name:"kandown",tagline:"AI Markdown Kanban Manager"},iXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},rXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},sXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},oXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},cXe={addTask:"Add task",columnColor:"Column color",color:"Color"},pXe={delete:"Delete task",confirmDelete:"Click again to delete"},lXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},dXe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},uXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},mXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},fXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},gXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},hXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},bXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},vXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},yXe={app:aXe,common:iXe,emptyState:rXe,header:sXe,filterBar:oXe,column:cXe,card:pXe,drawer:lXe,subtask:dXe,commandPalette:uXe,listView:mXe,settings:fXe,conflict:gXe,sectionLabels:hXe,toast:bXe,languageNames:vXe},_Xe={name:"kandown",tagline:"AI Markdown Kanban Manager"},kXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},wXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},xXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},AXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},CXe={addTask:"Add task",columnColor:"Column color",color:"Color"},NXe={delete:"Delete task",confirmDelete:"Click again to delete"},SXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},$Xe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},EXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},PXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},TXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},LXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},MXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},jXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},DXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},IXe={app:_Xe,common:kXe,emptyState:wXe,header:xXe,filterBar:AXe,column:CXe,card:NXe,drawer:SXe,subtask:$Xe,commandPalette:EXe,listView:PXe,settings:TXe,conflict:LXe,sectionLabels:MXe,toast:jXe,languageNames:DXe},RXe={name:"kandown",tagline:"AI Markdown Kanban Manager"},OXe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},FXe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},zXe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},HXe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},BXe={addTask:"Add task",columnColor:"Column color",color:"Color"},qXe={delete:"Delete task",confirmDelete:"Click again to delete"},UXe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},VXe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},ZXe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},GXe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},WXe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},KXe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},YXe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},XXe={settingsUpdatedExternally:"Settings updated externally — reloaded"},QXe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},JXe={app:RXe,common:OXe,emptyState:FXe,header:zXe,filterBar:HXe,column:BXe,card:qXe,drawer:UXe,subtask:VXe,commandPalette:ZXe,listView:GXe,settings:WXe,conflict:KXe,sectionLabels:YXe,toast:XXe,languageNames:QXe},eQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},tQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},nQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},aQe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},iQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},rQe={addTask:"Add task",columnColor:"Column color",color:"Color"},sQe={delete:"Delete task",confirmDelete:"Click again to delete"},oQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},cQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},pQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},lQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},dQe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},uQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},mQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},fQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},gQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},hQe={app:eQe,common:tQe,emptyState:nQe,header:aQe,filterBar:iQe,column:rQe,card:sQe,drawer:oQe,subtask:cQe,commandPalette:pQe,listView:lQe,settings:dQe,conflict:uQe,sectionLabels:mQe,toast:fQe,languageNames:gQe},bQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},vQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},yQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},_Qe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},kQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},wQe={addTask:"Add task",columnColor:"Column color",color:"Color"},xQe={delete:"Delete task",confirmDelete:"Click again to delete"},AQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},CQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},NQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},SQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},$Qe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},EQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},PQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},TQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},LQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},MQe={app:bQe,common:vQe,emptyState:yQe,header:_Qe,filterBar:kQe,column:wQe,card:xQe,drawer:AQe,subtask:CQe,commandPalette:NQe,listView:SQe,settings:$Qe,conflict:EQe,sectionLabels:PQe,toast:TQe,languageNames:LQe},jQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},DQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},IQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},RQe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},OQe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},FQe={addTask:"Add task",columnColor:"Column color",color:"Color"},zQe={delete:"Delete task",confirmDelete:"Click again to delete"},HQe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},BQe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},qQe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},UQe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},VQe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},ZQe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},GQe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},WQe={settingsUpdatedExternally:"Settings updated externally — reloaded"},KQe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},YQe={app:jQe,common:DQe,emptyState:IQe,header:RQe,filterBar:OQe,column:FQe,card:zQe,drawer:HQe,subtask:BQe,commandPalette:qQe,listView:UQe,settings:VQe,conflict:ZQe,sectionLabels:GQe,toast:WQe,languageNames:KQe},XQe={name:"kandown",tagline:"AI Markdown Kanban Manager"},QQe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},JQe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},eJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},tJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},nJe={addTask:"Add task",columnColor:"Column color",color:"Color"},aJe={delete:"Delete task",confirmDelete:"Click again to delete"},iJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},rJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},sJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},oJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},cJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},pJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},lJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},dJe={settingsUpdatedExternally:"Settings updated externally — reloaded"},uJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},mJe={app:XQe,common:QQe,emptyState:JQe,header:eJe,filterBar:tJe,column:nJe,card:aJe,drawer:iJe,subtask:rJe,commandPalette:sJe,listView:oJe,settings:cJe,conflict:pJe,sectionLabels:lJe,toast:dJe,languageNames:uJe},fJe={name:"kandown",tagline:"AI Markdown Kanban Manager"},gJe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},hJe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},bJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},vJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},yJe={addTask:"Add task",columnColor:"Column color",color:"Color"},_Je={delete:"Delete task",confirmDelete:"Click again to delete"},kJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},wJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},xJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},AJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},CJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},NJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},SJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},$Je={settingsUpdatedExternally:"Settings updated externally — reloaded"},EJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},PJe={app:fJe,common:gJe,emptyState:hJe,header:bJe,filterBar:vJe,column:yJe,card:_Je,drawer:kJe,subtask:wJe,commandPalette:xJe,listView:AJe,settings:CJe,conflict:NJe,sectionLabels:SJe,toast:$Je,languageNames:EJe},TJe={name:"kandown",tagline:"AI Markdown Kanban Manager"},LJe={search:"Search",searchPlaceholder:"Search tasks...",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close",clear:"Clear",clearAll:"Clear all",add:"Add",remove:"Remove",done:"Done",loading:"Loading...",noResults:"No results",currentValue:"Current value",configKey:"Config key",choices:"Choices",openFolder:"Open folder",selectFolder:"Select folder",recent:"Recent",settings:"Settings",board:"Board",reload:"Reload",newTask:"New task"},MJe={unsupportedBrowser:"Unsupported browser",unsupportedBrowserDesc:"This engine requires the <code>File System Access API</code>. Use Chrome, Edge, Brave or Opera. Firefox and Safari don't support it yet.",selectFolderDesc:"Select the <strong>project root</strong> — the folder that contains both <code>.kandown/</code> and <code>tasks/</code>."},jJe={tasks:"tasks",recentProjects:"Recent projects","openFolder...":"Open folder..."},DJe={searchPlaceholder:"Search tasks...",clearAll:"Clear all",ownerAll:"👤 All",ownerHuman:"👤 Human",ownerAI:"🤖 AI"},IJe={addTask:"Add task",columnColor:"Column color",color:"Color"},RJe={delete:"Delete task",confirmDelete:"Click again to delete"},OJe={close:"Close (Esc)",taskTitle:"Task title",doneSubtasks:"done",priority:"Priority",noPriority:"No priority",urgentP1:"Urgent · P1",highP2:"High · P2",mediumP3:"Medium · P3",lowP4:"Low · P4",assignee:"Assignee",assigneePlaceholder:"username",tags:"Tags",tagsPlaceholder:"backend, security, api",dueDate:"Due date",owner:"Owner",unset:"Unset",human:"👤 Human",ai:"🤖 AI",tools:"Tools",toolsPlaceholder:"filesystem, cli, websearch, browser...",description:"Description",descriptionPlaceholder:"Write some context, links, decisions...",report:"Report",reportPlaceholder:"AI output will appear here...",subtasks:"Subtasks",addSubtask:"Add subtask",deleteTask:"Delete",saveClose:"Save & Close",cancel:"Cancel"},FJe={placeholder:"Subtask...",description:"Description",descriptionPlaceholder:"Add context, links, or notes for this step...",report:"Report",reportPlaceholder:"What was done, decisions made, trade-offs...",aiFillsThis:"AI fills this after completing",collapse:"Collapse",expand:"Expand"},zJe={placeholder:"Type a command or search...",actions:"Actions",view:"View",tasks:"Tasks",newTask:"New task",createNew:"Create a new task",reloadBoard:"Reload board",readFromDisk:"Re-read files from disk",clearFilters:"Clear filters",boardView:"Board view",listView:"List view",compactDensity:"Compact density",comfortableDensity:"Comfortable density",navigate:"navigate",select:"select"},HJe={id:"ID",title:"Title",status:"Status",tags:"Tags",assignee:"Assignee",progress:"Progress",noMatchingTasks:"No matching tasks"},BJe={noProjectOpen:"No project open",appearance:"Appearance",appearanceDesc:"Theme, skin, background, font, and language.",agent:"Agent",agentDesc:"Follow-up behavior for AI-assisted task work.",board:"Board",boardDesc:"Task id behavior and board-level defaults.",fields:"Fields",fieldsDesc:"Optional fields shown on tasks and board cards.",language:"Language",languageDesc:"UI language stored in this project config.",mode:"Mode",modeDesc:"Auto follows your system light or dark preference.",auto:"Auto",light:"Light",dark:"Dark",skin:"Skin",skinDesc:"Color tokens are stored per project in kandown.json.",background:"Background",backgroundDesc:"Choose a flat surface or animated liquid background.",font:"Font",fontDesc:"Local system font stack, with no network request.",suggestFollowUp:"Suggest follow-up tasks",suggestFollowUpDesc:"Ask agents to propose next tasks after finishing one.",maxSuggestions:"Max suggestions",maxSuggestionsDesc:"Caps the number of follow-up tasks an agent may propose.",defaultPriority:"Default priority",defaultPriorityDesc:"Initial priority for new tasks when the Priority field is enabled.",defaultOwner:"Default owner",defaultOwnerDesc:"Initial owner for new tasks when the Owner field is enabled.",priority:"Priority",priorityDesc:"Enable priority metadata on tasks.",assignee:"Assignee",assigneeDesc:"Enable assignee metadata on tasks.",tags:"Tags",tagsDesc:"Enable tag metadata on tasks.",dueDate:"Due date",dueDateDesc:"Enable due date metadata on tasks.",ownerType:"Owner type",ownerTypeDesc:"Enable human/AI ownership metadata on tasks.",tools:"Tools",toolsDesc:"Enable free-form tool hints for AI-agent tasks.",searchPlaceholder:"Search any option",searchResults:"Search results",searchResultsLabel:"Search results",matchingOptions:"matching options across project settings.",options:"options",noOptionFound:"No option found",tryAnotherSearch:"Try another search term.",currentValue:"Current value",configKey:"Config key",choices:"Choices",hoverForHelp:"Hover or tab through another option to update this help panel.",pages:"Pages",backToBoard:"Back to board",matches:"Matches",settingsTitle:"Settings",kickerInterface:"Interface",kickerAutomation:"Automation",kickerIdentifiers:"Identifiers",kickerMetadata:"Metadata"},qJe={detected:"Conflict Detected",detectedDesc:"This task was modified externally while you were editing.",conflictingChanges:"Task <code>{{taskId}}</code> has conflicting changes. Choose how to resolve:",yourVersion:"Your version (local)",diskVersion:"Disk version (remote)",cancel:"Cancel",reloadFromDisk:"Reload from disk",keepMyVersion:"Keep my version",title:"Title",priority:"Priority",body:"Body",subtasks:"Subtasks",none:"(none)"},UJe={title:"Title",subtasks:"Subtask",context:"Context",notes:"Notes",whatWasDone:"What was done",tags:"Tags",assignee:"Assignee",priority:"Priority"},VJe={settingsUpdatedExternally:"Settings updated externally — reloaded"},ZJe={en:"English",fr:"French",zh:"Chinese",es:"Spanish",pt:"Portuguese",hi:"Hindi",de:"German",it:"Italian",nl:"Dutch",pl:"Polish",uk:"Ukrainian",ro:"Romanian",sv:"Swedish",cs:"Czech",el:"Greek",hu:"Hungarian",fi:"Finnish",da:"Danish",no:"Norwegian",sk:"Slovak",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",lt:"Lithuanian",lv:"Latvian",et:"Estonian",sl:"Slovenian",ar:"Arabic",bn:"Bengali",ru:"Russian",id:"Indonesian",ur:"Urdu",tr:"Turkish",ja:"Japanese",vi:"Vietnamese",ko:"Korean",fa:"Persian",pcm:"Nigerian Pidgin",th:"Thai",ms:"Malay",ta:"Tamil",te:"Telugu",mr:"Marathi",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",si:"Sinhala",my:"Burmese",km:"Khmer"},GJe={app:TJe,common:LJe,emptyState:MJe,header:jJe,filterBar:DJe,column:IJe,card:RJe,drawer:OJe,subtask:FJe,commandPalette:zJe,listView:HJe,settings:BJe,conflict:qJe,sectionLabels:UJe,toast:VJe,languageNames:ZJe},cX=["en","fr","zh","es","pt","hi","de","it","nl","pl","uk","ro","sv","cs","el","hu","fi","da","no","sk","bg","sr","hr","lt","lv","sl","et","ar","bn","ru","ja","ko","tr","vi","id","ur","fa","th","ms","ta","te","mr","gu","kn","ml","si","my","km"],pX={en:"English",fr:"Français",zh:"中文",es:"Español",pt:"Português",hi:"हिन्दी",de:"Deutsch",it:"Italiano",nl:"Nederlands",pl:"Polski",uk:"Українська",ro:"Română",sv:"Svenska",cs:"Čeština",el:"Ελληνικά",hu:"Magyar",fi:"Suomi",da:"Dansk",no:"Norsk",sk:"Slovenčina",bg:"Български",sr:"Српски",hr:"Hrvatski",lt:"Lietuvių",lv:"Latviešu",sl:"Slovenščina",et:"Eesti",ar:"العربية",bn:"বাংলা",ru:"Русский",ja:"日本語",ko:"한국어",tr:"Türkçe",vi:"Tiếng Việt",id:"Bahasa Indonesia",ur:"اردو",fa:"فارسی",th:"ไทย",ms:"Bahasa Melayu",ta:"தமிழ்",te:"తెలుగు",mr:"मराठी",gu:"ગુજરાતી",kn:"ಕನ್ನಡ",ml:"മലയാളം",si:"සිංහල",my:"မြန်မာဘာသာ",km:"ខ្មែរ"},WJe={en:{translation:mFe},fr:{translation:TFe},zh:{translation:WFe},es:{translation:dze},pt:{translation:$ze},hi:{translation:Vze},de:{translation:cHe},it:{translation:CHe},nl:{translation:BHe},pl:{translation:rBe},uk:{translation:wBe},ro:{translation:FBe},sv:{translation:nqe},cs:{translation:yqe},el:{translation:Iqe},hu:{translation:Jqe},fi:{translation:hUe},da:{translation:MUe},no:{translation:YUe},sk:{translation:mVe},bg:{translation:PVe},sr:{translation:GVe},hr:{translation:lZe},lt:{translation:SZe},lv:{translation:UZe},sl:{translation:oGe},et:{translation:AGe},ar:{translation:zGe},bn:{translation:nWe},ru:{translation:vWe},ja:{translation:jWe},ko:{translation:YWe},tr:{translation:uKe},vi:{translation:$Ke},id:{translation:UKe},ur:{translation:sYe},fa:{translation:wYe},th:{translation:FYe},ms:{translation:nXe},ta:{translation:yXe},te:{translation:IXe},mr:{translation:JXe},gu:{translation:hQe},kn:{translation:MQe},ml:{translation:YQe},si:{translation:mJe},my:{translation:PJe},km:{translation:GJe}};function KJe(e="en"){return Da.use(Jee).init({resources:WJe,lng:e,fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}})}async function YJe(e,t){await Da.changeLanguage(e)}const lX={en:"🇺🇸",zh:"🇨🇳",hi:"🇮🇳",es:"🇪🇸",fr:"🇫🇷",ar:"🇸🇦",bn:"🇧🇩",ru:"🇷🇺",pt:"🇧🇷",id:"🇮🇩",ur:"🇵🇰",tr:"🇹🇷",de:"🇩🇪",ja:"🇯🇵",pcm:"🇳🇬",vi:"🇻🇳",ko:"🇰🇷",it:"🇮🇹",pl:"🇵🇱",uk:"🇺🇦",fa:"🇮🇷",nl:"🇳🇱",el:"🇬🇷",ro:"🇷🇴",sv:"🇸🇪",cs:"🇨🇿",hu:"🇭🇺",fi:"🇫🇮",da:"🇩🇰",no:"🇳🇴",sk:"🇸🇰",bg:"🇧🇬",sr:"🇷🇸",hr:"🇭🇷",lt:"🇱🇹",lv:"🇱🇻",et:"🇪🇪",sl:"🇸🇮"},XJe=["en","fr","zh","es","pt","hi","de","it","ar","bn","ru","id","ur","tr","ja","vi","ko","fa","pl","uk","nl","el","ro","cs","sv","hu","fi","da","no","sk","bg","sr","hr","lt","lv","et","sl"],_R=XJe.filter(e=>cX.includes(e)).map(e=>({code:e,flag:lX[e]??"🌐",nameEn:pX[e]??e}));function QJe({value:e,onChange:t}){const{t:n}=Rn(),[a,i]=$.useState(!1),[r,s]=$.useState(""),[o,c]=$.useState(0),p=$.useRef(null),d=$.useRef(null),m=$.useRef(null),f=_R.find(x=>x.code===e),h=_R.filter(x=>x.nameEn.toLowerCase().includes(r.toLowerCase())||x.code.toLowerCase().includes(r.toLowerCase())),b=()=>{i(!0),s(""),c(0)},k=()=>{i(!1),s("")};$.useEffect(()=>{if(!a)return;const x=S=>{if(S.key==="Escape"){k();return}if(S.key==="ArrowDown"&&(S.preventDefault(),c(E=>Math.min(E+1,h.length-1))),S.key==="ArrowUp"&&(S.preventDefault(),c(E=>Math.max(E-1,0))),S.key==="Enter"){S.preventDefault();const E=h[o];E&&(t(E.code),k())}};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[a,h,o]),$.useEffect(()=>{a&&d.current&&setTimeout(()=>d.current?.focus(),50)},[a]),$.useEffect(()=>{if(!a)return;m.current?.children[o]?.scrollIntoView({block:"nearest"})},[o,a]);const w=f?`${f.flag} ${f.nameEn} — ${n(`languageNames.${f.code}`)}`:`${lX.en} ${pX.en} — ${n("languageNames.en")}`;return _.jsxs("div",{className:"relative",ref:p,children:[_.jsxs("button",{type:"button",onClick:a?k:b,className:"flex h-8 w-full items-center justify-between gap-2 truncate rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors hover:bg-bg-3 focus:border-border-focus md:w-[240px]",children:[_.jsx("span",{className:"truncate",children:w}),_.jsx("span",{className:`shrink-0 text-[10px] transition-transform ${a?"rotate-180":""}`,children:"▾"})]}),a&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"fixed inset-0 z-40",onClick:k}),_.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1.5 w-[320px] rounded-xl border border-border bg-bg shadow-xl",children:[_.jsxs("div",{className:"flex items-center gap-2 border-b border-border px-3 py-2",children:[_.jsx(Pz,{className:"shrink-0 text-fg-muted",size:14}),_.jsx("input",{ref:d,value:r,onChange:x=>{s(x.target.value),c(0)},placeholder:n("settings.searchPlaceholder"),className:"flex-1 bg-transparent text-[13px] text-fg outline-none placeholder:text-fg-faint"})]}),_.jsxs("ul",{ref:m,className:"max-h-56 overflow-y-auto py-1",children:[h.length===0&&_.jsx("li",{className:"px-3 py-2 text-[12.5px] text-fg-muted",children:n("settings.noOptionFound")}),h.map((x,S)=>_.jsx("li",{children:_.jsxs("button",{type:"button",onClick:()=>{t(x.code),k()},onMouseEnter:()=>c(S),className:`flex w-full items-center gap-2 px-3 py-2 text-[13px] transition-colors ${S===o?"bg-bg-2 text-fg":"text-fg hover:bg-bg-2"} ${x.code===e?"font-medium":""}`,children:[_.jsx("span",{className:"shrink-0 text-base",children:x.flag}),_.jsx("span",{className:"truncate",children:x.nameEn}),_.jsx("span",{className:"shrink-0 text-fg-muted",children:"—"}),_.jsx("span",{className:"truncate text-fg-muted",children:n(`languageNames.${x.code}`)}),x.code===e&&_.jsx("span",{className:"ml-auto shrink-0 text-fg-muted",children:"✓"})]})},x.code))]}),_.jsxs("div",{className:"border-t border-border px-3 py-1.5 text-center text-[10.5px] text-fg-faint",children:["↑↓ ",n("settings.navigate")," · Enter ",n("settings.select")," · Esc ",n("common.close")]})]})]})]})}const ml=e=>[{id:"appearance",label:e("settings.appearance"),kicker:e("settings.kickerInterface"),description:e("settings.appearanceDesc"),icon:Sce},{id:"agent",label:e("settings.agent"),kicker:e("settings.kickerAutomation"),description:e("settings.agentDesc"),icon:Pce},{id:"board",label:e("settings.board"),kicker:e("settings.kickerIdentifiers"),description:e("settings.boardDesc"),icon:xce},{id:"fields",label:e("settings.fields"),kicker:e("settings.kickerMetadata"),description:e("settings.fieldsDesc"),icon:Ice},{id:"notifications",label:e("settings.notifications"),kicker:e("settings.kickerSignals"),description:e("settings.notificationsDesc"),icon:pce},{id:"about",label:e("settings.about")??"About",kicker:e("settings.kickerAbout")??"Version & updates",description:e("settings.aboutDesc")??"Kandown version and auto-update status.",icon:kce}],JJe=e=>[{key:"ui.language",label:e("settings.language"),section:"appearance",type:"language",description:e("settings.languageDesc"),keywords:["locale","translation"]},{key:"ui.theme",label:e("settings.mode"),section:"appearance",type:"select",description:e("settings.modeDesc"),options:[{value:"auto",label:e("settings.auto")},{value:"light",label:e("settings.light")},{value:"dark",label:e("settings.dark")}],keywords:["dark","light","auto"]},{key:"ui.skin",label:e("settings.skin"),section:"appearance",type:"skin",description:e("settings.skinDesc"),options:Mg.map(t=>({value:t.id,label:t.label})),keywords:["color","theme","palette"]},{key:"ui.background",label:e("settings.background"),section:"appearance",type:"select",description:e("settings.backgroundDesc"),options:boe.map(t=>({value:t.id,label:t.label})),keywords:["liquid","solid","animation"]},{key:"ui.font",label:e("settings.font"),section:"appearance",type:"select",description:e("settings.fontDesc"),options:h_.map(t=>({value:t.id,label:t.label})),keywords:["typography","text"]},{key:"agent.suggestFollowUp",label:e("settings.suggestFollowUp"),section:"agent",type:"toggle",description:e("settings.suggestFollowUpDesc"),keywords:["ai","suggestions","automation"]},{key:"agent.maxSuggestions",label:e("settings.maxSuggestions"),section:"agent",type:"number",description:e("settings.maxSuggestionsDesc"),min:1,max:5,keywords:["limit","follow-up"]},{key:"board.columns",label:e("settings.columns"),section:"board",type:"text",description:e("settings.columnsDesc"),placeholder:"Backlog, Todo, In Progress, Review, Done",keywords:["statuses","workflow","kanban"]},{key:"board.stackDefaultState",label:e("settings.stackDefaultState"),section:"board",type:"select",description:e("settings.stackDefaultStateDesc"),options:[{value:"collapsed",label:e("settings.stackCollapsed")},{value:"expanded",label:e("settings.stackExpanded")}],keywords:["group","stack","collapse","expand","tag","bracket","hashtag"]},{key:"board.defaultPriority",label:e("settings.defaultPriority"),section:"fields",type:"select",description:e("settings.defaultPriorityDesc"),options:["P1","P2","P3","P4"].map(t=>({value:t,label:t})),keywords:["p1","p2","p3","p4","priority default"],parentKey:"fields.priority"},{key:"board.defaultOwnerType",label:e("settings.defaultOwner"),section:"fields",type:"select",description:e("settings.defaultOwnerDesc"),options:["human","ai"].map(t=>({value:t,label:t})),keywords:["human","ai","owner default"],parentKey:"fields.ownerType"},{key:"fields.priority",label:e("settings.priority"),section:"fields",type:"toggle",description:e("settings.priorityDesc"),keywords:["p1","p2","importance"]},{key:"fields.assignee",label:e("settings.assignee"),section:"fields",type:"toggle",description:e("settings.assigneeDesc"),keywords:["owner","person","user"]},{key:"fields.tags",label:e("settings.tags"),section:"fields",type:"toggle",description:e("settings.tagsDesc"),keywords:["labels","categories"]},{key:"fields.dueDate",label:e("settings.dueDate"),section:"fields",type:"toggle",description:e("settings.dueDateDesc"),keywords:["deadline","date"]},{key:"fields.ownerType",label:e("settings.ownerType"),section:"fields",type:"toggle",description:e("settings.ownerTypeDesc"),keywords:["human","ai","agent"]},{key:"fields.tools",label:e("settings.tools"),section:"fields",type:"toggle",description:e("settings.toolsDesc"),keywords:["filesystem","cli","websearch","browser","mcp"]},{key:"notifications.permission",label:e("settings.notificationPermission"),section:"notifications",type:"permission",description:e("settings.notificationPermissionDesc"),keywords:["chrome","browser","permission"]},{key:"notifications.browser",label:e("settings.browserNotifications"),section:"notifications",type:"toggle",description:e("settings.browserNotificationsDesc"),keywords:["chrome","desktop","system"]},{key:"notifications.statusChanges",label:e("settings.statusChangeNotifications"),section:"notifications",type:"toggle",description:e("settings.statusChangeNotificationsDesc"),keywords:["status","column","workflow"]},{key:"notifications.taskEdits",label:e("settings.taskEditNotifications"),section:"notifications",type:"toggle",description:e("settings.taskEditNotificationsDesc"),keywords:["file","ai","external edit","debounce"]},{key:"notifications.subtaskCompletions",label:e("settings.subtaskNotifications"),section:"notifications",type:"toggle",description:e("settings.subtaskNotificationsDesc"),keywords:["subtask","checklist","done"]},{key:"notifications.sound",label:e("settings.notificationSound"),section:"notifications",type:"toggle",description:e("settings.notificationSoundDesc"),keywords:["audio","sound","listen"]},{key:"notifications.soundId",label:e("settings.notificationSoundChoice"),section:"notifications",type:"select",description:e("settings.notificationSoundChoiceDesc"),options:[{value:"soft",label:e("settings.soundSoft")},{value:"chime",label:e("settings.soundChime")},{value:"ping",label:e("settings.soundPing")},{value:"pop",label:e("settings.soundPop")}],keywords:["audio","tone","sound"],parentKey:"notifications.sound"}];function e_(e,t){const n=t.split(".");let a=e;for(const i of n){if(a==null)return;a=a[i]}return a}function kR(e,t,n){const a=structuredClone(e),i=t.split(".");let r=a;for(let s=0;s<i.length-1;s++)r=r[i[s]];return r[i[i.length-1]]=n,a}function dX(e){return typeof e=="boolean"?e?"on":"off":e==null?"":String(e)}function eet(e,t){return[e.label,e.key,e.description,e.section,dX(t),...e.keywords??[],...e.options?.flatMap(n=>[n.label,n.value])??[]].join(" ").toLowerCase()}function xC(e,t){return e.parentKey?!!e_(t,e.parentKey):!0}function tet(){const{t:e}=Rn(),t=fe(U=>U.config),n=fe(U=>U.updateConfig),a=fe(U=>U.setCurrentPage),i=fe(U=>U.dirHandle),r=fe(U=>U.isOpen),s=fe(U=>U.projectName),o=fe(U=>U.loadConfig),c=fe(U=>U.toast),[p,d]=$.useState("appearance"),[m,f]=$.useState(""),[h,b]=$.useState(""),[k,w]=$.useState(null),[x,S]=$.useState(()=>Ez()),[E,P]=$.useState("idle"),[L,j]=$.useState(null),F=$.useCallback(async()=>{if(E!=="checking"){P("checking"),j(null);try{const U=await fetch("https://registry.npmjs.org/kandown/latest");if(!U.ok)throw new Error("Network error");const ae=(await U.json()).version;ae===u3?P("upToDate"):(j(ae),P("available"))}catch{P("error")}}},[E]);$.useEffect(()=>tu.on("configChanged",()=>{o(),c(e("toast.settingsUpdatedExternally"),"info")}),[o,c,e]),$.useEffect(()=>{const U=window.setTimeout(()=>b(m),300);return()=>window.clearTimeout(U)},[m]);const z=h.trim().toLowerCase(),R=JJe(e),M=ml(e).find(U=>U.id===p)??ml(e)[0],K=R.find(U=>U.key===k)??R.find(U=>U.section===p)??R[0],J=$.useMemo(()=>ml(e).reduce((U,Y)=>(U[Y.id]=R.filter(ae=>ae.section===Y.id&&xC(ae,t)).length,U),{appearance:0,agent:0,board:0,fields:0,notifications:0,about:0}),[t,e,R]),W=$.useMemo(()=>z?R.filter(U=>xC(U,t)&&eet(U,e_(t,U.key)).includes(z)):R.filter(U=>U.section===p&&xC(U,t)),[p,t,z,R]),B=(U,Y)=>{if(U.type!=="permission"){if(U.key==="board.columns"){const ae=String(Y).split(",").map(D=>D.trim()).filter(Boolean);if(ae.length===0)return;n(D=>kR(D,U.key,ae));return}n(ae=>kR(ae,U.key,Y))}},V=async()=>{const U=await Zoe();S(U),U==="granted"?c(e("settings.notificationPermissionGranted"),"success"):U==="denied"?c(e("settings.notificationPermissionDenied"),"error"):U==="unsupported"&&c(e("settings.notificationPermissionUnsupported"),"error")};if(!i&&!r)return _.jsx("div",{className:"flex flex-1 items-center justify-center",children:_.jsx("p",{className:"text-fg-muted",children:e("settings.noProjectOpen")})});const H=i?.name??s??"Server project";return _.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[_.jsxs("aside",{className:"flex w-[292px] flex-none flex-col border-r border-border bg-bg/75",children:[_.jsxs("div",{className:"border-b border-border px-4 py-3",children:[_.jsx(da,{variant:"ghost",icon:"ArrowLeft",label:e("settings.backToBoard"),onClick:()=>a("board"),title:e("settings.backToBoard"),className:"mb-3 h-7 px-1.5 text-[12.5px]",iconSize:14}),_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-[7px] border border-border bg-bg-2 text-fg",children:_.jsx(Tz,{size:17,stroke:1.8})}),_.jsxs("div",{className:"min-w-0",children:[_.jsx("h1",{className:"truncate text-[17px] font-semibold tracking-tight text-fg",children:e("settings.settingsTitle")}),_.jsx("p",{className:"truncate text-[12.5px] text-fg-muted",children:H})]})]})]}),_.jsx("div",{className:"border-b border-border px-4 py-3",children:_.jsxs("label",{className:"relative block",children:[_.jsx(Pz,{"aria-hidden":"true",size:14,stroke:1.8,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-fg-faint"}),_.jsx("input",{value:m,onChange:U=>f(U.target.value),placeholder:e("settings.searchPlaceholder"),className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 pl-8 pr-8 text-[13.5px] text-fg outline-none transition-colors placeholder:text-fg-faint focus:border-border-focus focus:bg-bg-3"}),m&&_.jsx("button",{type:"button",onClick:()=>f(""),className:"absolute right-2 top-1/2 -translate-y-1/2 rounded-[4px] px-1 text-[12px] text-fg-muted hover:bg-bg-3 hover:text-fg",children:"esc"})]})}),_.jsxs("nav",{className:"flex-1 overflow-y-auto px-2 py-3",children:[_.jsx("div",{className:"mb-2 px-2 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:e("settings.pages")}),_.jsx("div",{className:"flex flex-col gap-1",children:ml(e).map(U=>{const Y=U.icon,ae=!z&&p===U.id;return _.jsxs("button",{type:"button",onClick:()=>{d(U.id),f("")},className:`flex items-center gap-2 rounded-[7px] px-2.5 py-2 text-left transition-colors ${ae?"bg-bg-3 text-fg":"text-fg-dim hover:bg-bg-2 hover:text-fg"}`,children:[_.jsx(Y,{size:16,stroke:1.8,className:"flex-none text-fg-muted"}),_.jsxs("span",{className:"min-w-0 flex-1",children:[_.jsx("span",{className:"block truncate text-[13.5px] font-medium",children:U.label}),_.jsx("span",{className:"block truncate text-[11.5px] text-fg-muted",children:U.kicker})]}),_.jsx("span",{className:"rounded-full bg-bg px-1.5 py-0.5 text-[11px] text-fg-muted tabular-nums",children:J[U.id]}),_.jsx(mce,{size:13,stroke:1.8,className:"text-fg-faint"})]},U.id)})}),z&&_.jsx(net,{settings:W,activeSectionId:p,onSelect:U=>{d(U.section),f("")}})]})]}),_.jsx("main",{className:"min-w-0 flex-1 overflow-y-auto",children:_.jsx("div",{className:"px-6 py-6",children:_.jsxs(_t.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[_.jsxs("div",{className:"mb-5 flex items-start justify-between gap-4",children:[_.jsxs("div",{children:[_.jsx("p",{className:"mb-1 text-[12px] font-semibold uppercase tracking-wider text-fg-muted",children:z?e("settings.searchResults"):M.kicker}),_.jsx("h2",{className:"text-[22px] font-semibold tracking-tight text-fg",children:z?`"${m.trim()}"`:M.label}),_.jsx("p",{className:"mt-1 max-w-[560px] text-[13.5px] leading-relaxed text-fg-muted",children:z?`${W.length} ${e("settings.matchingOptions")}`:M.description})]}),_.jsxs("div",{className:"hidden items-center gap-1 rounded-[7px] border border-border bg-bg-2 px-2 py-1 text-[12px] text-fg-muted sm:flex",children:[_.jsx(oce,{size:13,stroke:1.8}),W.length," options"]})]}),_.jsxs("div",{className:"grid gap-6 xl:grid-cols-[minmax(360px,50%)_minmax(280px,1fr)]",children:[_.jsx("div",{className:"overflow-hidden rounded-[8px] border border-border bg-bg-1",children:p==="about"?_.jsx(set,{currentVersion:u3,updateStatus:E,latestVersion:L,onCheckUpdate:F}):W.length===0?_.jsxs("div",{className:"px-4 py-10 text-center",children:[_.jsx("p",{className:"text-[14px] font-medium text-fg",children:e("settings.noOptionFound")}),_.jsx("p",{className:"mt-1 text-[13px] text-fg-muted",children:e("settings.tryAnotherSearch")})]}):W.map((U,Y)=>_.jsx(aet,{setting:U,value:e_(t,U.key),showSection:!!z,isLast:Y===W.length-1,onChange:ae=>B(U,ae),onHelp:()=>w(U.key),nested:!!U.parentKey,notificationPermission:x,onRequestNotificationPermission:V},U.key))}),_.jsx("aside",{className:"hidden min-h-[420px] items-center justify-center xl:flex",children:_.jsx("div",{className:"sticky top-6 w-full max-w-[360px] rounded-[8px] border border-border bg-bg-1 px-5 py-5",children:_.jsx(iet,{setting:K,value:e_(t,K.key)})})})]})]},z?`search-${z}`:M.id)})})]})}function net({settings:e,activeSectionId:t,onSelect:n}){const{t:a}=Rn();return _.jsxs("div",{className:"mt-5",children:[_.jsx("div",{className:"mb-2 px-2 text-[11px] font-semibold uppercase tracking-wider text-fg-faint",children:a("settings.matches")}),_.jsx("div",{className:"flex flex-col gap-1",children:e.slice(0,12).map(i=>{const r=ml(a).find(o=>o.id===i.section),s=i.section===t;return _.jsxs("button",{type:"button",onClick:()=>n(i),className:"rounded-[7px] px-2.5 py-2 text-left text-fg-dim transition-colors hover:bg-bg-2 hover:text-fg",children:[_.jsx("span",{className:"block truncate text-[13px] font-medium",children:i.label}),_.jsxs("span",{className:"mt-0.5 flex items-center gap-1 text-[11.5px] text-fg-muted",children:[r?.label??i.section,s&&_.jsx("span",{className:"text-fg-faint",children:"current"})]})]},i.key)})})]})}function aet({setting:e,value:t,showSection:n,isLast:a,onChange:i,onHelp:r,nested:s,notificationPermission:o,onRequestNotificationPermission:c}){const{t:p}=Rn(),d=()=>{e.type==="toggle"&&i(!t)},m=f=>{const h=Number(t),b=e.min??0,k=e.max??99;i(Math.max(b,Math.min(k,h+f)))};return _.jsxs("div",{onMouseEnter:r,onFocus:r,className:`grid gap-3 px-4 py-3 transition-colors hover:bg-bg-2 focus-within:bg-bg-2 md:grid-cols-[minmax(0,1fr)_minmax(128px,190px)] md:items-center ${a?"":"border-b border-border"} ${s?"bg-bg/35 pl-8":""}`,children:[_.jsxs("div",{className:"min-w-0",children:[_.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[_.jsx("span",{className:"text-[14px] font-medium text-fg",children:e.label}),n&&_.jsx("span",{className:"rounded-full bg-bg-2 px-1.5 py-0.5 text-[11px] text-fg-muted",children:ml(p).find(f=>f.id===e.section)?.label??e.section})]}),_.jsx("p",{className:"mt-0.5 text-[12.5px] leading-snug text-fg-muted",children:e.description}),_.jsx("p",{className:"mt-1 font-mono text-[11px] text-fg-faint",children:e.key})]}),_.jsxs("div",{className:"flex justify-start md:justify-end",children:[e.type==="toggle"&&_.jsx("button",{type:"button",onClick:d,"aria-pressed":!!t,className:`relative inline-flex h-6 w-10 items-center rounded-full transition-colors ${t?"bg-success":"bg-bg-3"}`,children:_.jsx("span",{className:`inline-block h-4 w-4 rounded-full bg-white transition-transform ${t?"translate-x-[21px]":"translate-x-1"}`})}),e.type==="skin"&&_.jsx(ret,{value:String(t),onChange:i}),e.type==="select"&&e.options&&_.jsx("select",{value:String(t),onChange:f=>i(f.target.value),className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors focus:border-border-focus focus:bg-bg-3 md:w-[168px]",children:e.options.map(f=>_.jsx("option",{value:f.value,children:f.label},f.value))}),e.type==="language"&&_.jsx(QJe,{value:String(t),onChange:f=>i(f)}),e.type==="text"&&_.jsx("input",{value:String(t??""),onChange:f=>i(f.target.value.trim()),placeholder:e.placeholder,className:"h-8 w-full rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13.5px] text-fg outline-none transition-colors placeholder:text-fg-faint focus:border-border-focus focus:bg-bg-3 md:w-[168px]"}),e.type==="number"&&_.jsxs("div",{className:"inline-flex h-8 items-center overflow-hidden rounded-[7px] border border-border bg-bg-2",children:[_.jsx("button",{type:"button",onClick:()=>m(-1),className:"h-8 w-8 text-[15px] text-fg-muted transition-colors hover:bg-bg-3 hover:text-fg",children:"-"}),_.jsx("span",{className:"w-9 text-center text-[13.5px] text-fg tabular-nums",children:String(t)}),_.jsx("button",{type:"button",onClick:()=>m(1),className:"h-8 w-8 text-[15px] text-fg-muted transition-colors hover:bg-bg-3 hover:text-fg",children:"+"})]}),e.type==="permission"&&_.jsxs("button",{type:"button",onClick:c,disabled:o==="granted"||o==="unsupported",className:"h-8 rounded-[7px] border border-border bg-bg-2 px-2.5 text-[13px] text-fg transition-colors hover:bg-bg-3 disabled:cursor-default disabled:text-fg-muted disabled:hover:bg-bg-2",children:[o==="granted"&&p("settings.permissionGranted"),o==="denied"&&p("settings.permissionDenied"),o==="default"&&p("settings.permissionAsk"),o==="unsupported"&&p("settings.permissionUnsupported")]})]})]})}function iet({setting:e,value:t}){const{t:n}=Rn(),a=ml(n).find(o=>o.id===e.section),i=a?.icon??Tz,r=dX(t)||"empty",s=e.options?.map(o=>o.label).join(", ");return _.jsxs("div",{className:"flex min-h-[280px] flex-col justify-center",children:[_.jsx("div",{className:"mb-4 inline-flex h-10 w-10 items-center justify-center rounded-[8px] border border-border bg-bg-2 text-fg",children:_.jsx(i,{size:19,stroke:1.8})}),_.jsx("p",{className:"mb-1 text-[12px] font-semibold uppercase tracking-wider text-fg-muted",children:a?.label??e.section}),_.jsx("h3",{className:"text-[18px] font-semibold tracking-tight text-fg",children:e.label}),_.jsx("p",{className:"mt-3 text-[14px] leading-relaxed text-fg-muted",children:e.description}),_.jsxs("div",{className:"mt-5 space-y-2 border-t border-border pt-4",children:[_.jsxs("div",{className:"flex items-center justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.currentValue")}),_.jsx("span",{className:"rounded-[5px] bg-bg-2 px-2 py-1 font-mono text-fg",children:r})]}),_.jsxs("div",{className:"flex items-start justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.configKey")}),_.jsx("span",{className:"max-w-[210px] break-all rounded-[5px] bg-bg-2 px-2 py-1 font-mono text-right text-fg",children:e.key})]}),s&&_.jsxs("div",{className:"flex items-start justify-between gap-3 text-[12.5px]",children:[_.jsx("span",{className:"text-fg-muted",children:n("settings.choices")}),_.jsx("span",{className:"max-w-[210px] text-right leading-relaxed text-fg-dim",children:s})]})]}),_.jsx("p",{className:"mt-5 text-[12.5px] leading-relaxed text-fg-faint",children:n("settings.hoverForHelp")})]})}function ret({value:e,onChange:t}){return _.jsx("div",{className:"grid w-full grid-cols-1 gap-1.5 md:w-[190px]",children:Mg.map(n=>{const a=n.id===e,i=[n.light.background,n.light.primary,n.dark.background,n.dark.primary];return _.jsx("button",{type:"button",onClick:()=>t(n.id),className:`rounded-[7px] border px-2 py-1.5 text-left transition-colors ${a?"border-border-focus bg-bg-3 text-fg":"border-border bg-bg-2 text-fg-dim hover:border-border-strong hover:text-fg"}`,title:n.description,children:_.jsxs("span",{className:"flex items-center justify-between gap-2",children:[_.jsx("span",{className:"truncate text-[12.5px] font-medium",children:n.label}),_.jsx("span",{className:"flex flex-none overflow-hidden rounded-[3px] border border-border",children:i.map((r,s)=>_.jsx("span",{className:"h-3 w-3",style:{backgroundColor:`hsl(${r})`}},`${n.id}-${s}`))})]})},n.id)})})}function set({currentVersion:e,updateStatus:t,latestVersion:n,onCheckUpdate:a}){const{t:i}=Rn();return _.jsxs("div",{className:"flex flex-col gap-6 px-5 py-6",children:[_.jsxs("div",{className:"flex flex-col gap-3",children:[_.jsxs("div",{className:"flex items-center justify-between",children:[_.jsx("span",{className:"text-[13px] font-medium text-fg-muted",children:"Version"}),_.jsxs("span",{className:"rounded-[5px] bg-bg-2 px-2.5 py-1 font-mono text-[13px] font-semibold text-fg",children:["v",e]})]}),_.jsxs("div",{className:"flex items-center justify-between",children:[_.jsx("span",{className:"text-[13px] font-medium text-fg-muted",children:"Status"}),t==="idle"&&_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg transition-colors hover:bg-bg-3",children:i("settings.checkForUpdates")}),t==="checking"&&_.jsx("span",{className:"text-[12.5px] text-fg-muted",children:i("settings.checkingForUpdates")}),t==="upToDate"&&_.jsxs("span",{className:"rounded-[5px] bg-success/10 px-2.5 py-1 text-[12.5px] font-medium text-success",children:["✓ ",i("settings.upToDate")]}),t==="available"&&_.jsxs("div",{className:"flex items-center gap-2",children:[_.jsxs("span",{className:"rounded-[5px] bg-warning/10 px-2.5 py-1 text-[12.5px] font-medium text-warning",children:["v",n," ",i("settings.available")]}),_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg transition-colors hover:bg-bg-3",children:i("settings.refresh")})]}),t==="error"&&_.jsx("button",{onClick:a,className:"rounded-[5px] bg-bg-2 px-2.5 py-1 text-[12.5px] text-fg-muted transition-colors hover:bg-bg-3",children:i("settings.retry")})]})]}),_.jsx("div",{className:"flex flex-col gap-2 rounded-[7px] border border-border bg-bg-2 p-3",children:_.jsx("p",{className:"text-[12.5px] text-fg-muted",children:i("settings.autoUpdateDescription")??"Kandown auto-updates when you run npx kandown. To force an update, run npm install -g kandown."})}),_.jsxs("div",{className:"flex flex-col gap-1",children:[_.jsx("span",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-faint",children:i("settings.links")??"Links"}),_.jsx("a",{href:"https://github.com/vava-nessa/kandown",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-fg underline underline-offset-2 hover:text-fg-muted",children:"GitHub"}),_.jsx("a",{href:"https://www.npmjs.com/package/kandown",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-fg underline underline-offset-2 hover:text-fg-muted",children:"npm"})]})]})}function oet(){const e=fe(t=>t.toasts);return _.jsx("div",{className:"fixed bottom-5 left-1/2 -translate-x-1/2 z-[200] flex flex-col items-center gap-2 pointer-events-none",children:_.jsx(ps,{children:e.map(t=>_.jsx(_t.div,{initial:{opacity:0,y:20,scale:.96},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:8,scale:.96},transition:{type:"spring",stiffness:380,damping:30},className:`glass px-3.5 py-2 rounded-[6px] text-[13px] font-medium shadow-[0_8px_32px_rgba(0,0,0,0.6)] pointer-events-auto ${t.type==="error"?"text-danger border-danger/30":(t.type==="info","text-fg")}`,children:t.message},t.id))})})}function cet(){const{t:e}=Rn(),t=fe(i=>i.conflictState),n=fe(i=>i.showConflictModal),a=fe(i=>i.resolveConflict);return _.jsx(ps,{children:n&&t&&_.jsxs(_.Fragment,{children:[_.jsx(_t.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[200] bg-black/50 backdrop-blur-[4px]"}),_.jsx(_t.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},transition:{duration:0},className:"fixed inset-0 z-[201] flex items-center justify-center p-[10vh] pointer-events-none",children:_.jsxs("div",{className:"pointer-events-auto w-full max-w-[560px] rounded-2xl border border-border bg-bg shadow-2xl",children:[_.jsxs("div",{className:"flex items-center gap-3 border-b border-border px-5 py-4 rounded-t-2xl",children:[_.jsx("span",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-destructive/10 text-destructive",children:_.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[_.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),_.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),_.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),_.jsxs("div",{children:[_.jsx("h2",{className:"text-[16px] font-semibold text-fg",children:e("conflict.detected")}),_.jsx("p",{className:"text-[12.5px] text-fg-muted",children:e("conflict.detectedDesc")})]})]}),_.jsxs("div",{className:"px-5 py-4 space-y-3",children:[_.jsx("p",{className:"text-[13.5px] text-fg",dangerouslySetInnerHTML:{__html:e("conflict.conflictingChanges",{taskId:t.taskId.toUpperCase()})}}),_.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[_.jsx(wR,{label:e("conflict.yourVersion"),frontmatter:t.local.frontmatter,body:t.local.body,subtasks:t.local.subtasks}),_.jsx(wR,{label:e("conflict.diskVersion"),frontmatter:t.remote.frontmatter,body:t.remote.body,subtasks:t.remote.subtasks})]})]}),_.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-border px-5 py-3 rounded-b-2xl",children:[_.jsx(hu,{variant:"outline",onClick:()=>a("cancel"),children:e("conflict.cancel")}),_.jsx(hu,{variant:"outline",onClick:()=>a("reload"),children:e("conflict.reloadFromDisk")}),_.jsx(hu,{variant:"default",onClick:()=>a("overwrite"),children:e("conflict.keepMyVersion")})]})]})})]})})}function wR({label:e,frontmatter:t,body:n,subtasks:a}){const{t:i}=Rn();return _.jsxs("div",{className:"rounded-lg border border-border bg-bg-1 overflow-hidden",children:[_.jsx("div",{className:"bg-bg-2 border-b border-border px-3 py-2",children:_.jsx("span",{className:"text-[11.5px] font-semibold uppercase tracking-wider text-fg-muted",children:e})}),_.jsxs("div",{className:"p-3 space-y-2 text-[12.5px]",children:[_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.title"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.title||i("conflict.none")})]}),t.priority&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.priority"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.priority})]}),t.assignee&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("drawer.assignee"),":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.assignee})]}),Array.isArray(t.tags)&&t.tags.length>0&&_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.tags")||"Tags",":"]})," ",_.jsx("span",{className:"font-medium text-fg",children:t.tags.join(", ")})]}),_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.body"),":"]})," ",_.jsxs("span",{className:"text-fg line-clamp-2",children:[n.slice(0,60),n.length>60?"...":""]})]}),_.jsxs("div",{children:[_.jsxs("span",{className:"text-fg-muted",children:[i("conflict.subtasks"),":"]})," ",_.jsxs("span",{className:"font-medium text-fg",children:[a.filter(r=>r.done).length,"/",a.length," ",i("drawer.doneSubtasks")]})]})]})]})}function pet(){const e=fe(P=>P.dirHandle),t=fe(P=>P.isOpen),n=fe(P=>P.viewMode),a=fe(P=>P.setViewMode),i=fe(P=>P.drawerTaskId),r=fe(P=>P.commandOpen),s=fe(P=>P.setCommandOpen),o=fe(P=>P.cheatsheetOpen),c=fe(P=>P.setCheatsheetOpen),p=fe(P=>P.createTask),{t:d}=Rn(),m=fe(P=>P.reloadBoard),f=fe(P=>P.recentProjects),h=fe(P=>P.openRecentProject),b=fe(P=>P.tryAutoOpenServerProject),k=fe(P=>P.currentPage),w=fe(P=>P.showArchives),x=fe(P=>P.showMetadata),S=fe(P=>P.setShowMetadata),E=fe(P=>P.config);return $.useEffect(()=>{const P=E.ui.language;P&&cX.includes(P)&&Da.language!==P&&YJe(P)},[E.ui.language]),$.useEffect(()=>{const L=new URLSearchParams(window.location.search).get("p");if(L&&!t&&!e){const j=f.find(F=>F.name===L);j&&h(j)}},[f,t,e,h]),$.useEffect(()=>{b()},[b]),$.useEffect(()=>{const P=L=>{const j=document.activeElement,F=!!j&&(j.tagName==="INPUT"||j.tagName==="TEXTAREA"||j.isContentEditable);if((L.metaKey||L.ctrlKey)&&L.key==="k"){L.preventDefault(),s(!r);return}if(L.key==="?"&&!F&&!i){L.preventDefault(),c(!o);return}if((L.metaKey||L.ctrlKey)&&L.key==="1"){L.preventDefault(),a("board");return}if((L.metaKey||L.ctrlKey)&&L.key==="2"){L.preventDefault(),a("list");return}F||i||r||(L.key==="n"&&(t||e)&&(L.preventDefault(),p()),L.key==="r"&&(t||e)&&(L.preventDefault(),m()),L.key==="/"&&(t||e)&&(L.preventDefault(),document.querySelector('header input[type="text"]')?.focus()))};return window.addEventListener("keydown",P),()=>window.removeEventListener("keydown",P)},[t,e,r,o,i,s,c,a,p,m]),_.jsxs("div",{className:"flex flex-col h-screen",children:[_.jsx(ice,{}),k==="settings"?_.jsx(tet,{}):t||e?_.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[E.ui.background==="static-gradient"&&_.jsx("div",{className:"absolute inset-0 z-0 bg-gradient-to-br from-primary/10 via-background to-accent/10"}),_.jsx("div",{className:`flex flex-col h-full relative ${E.ui.background==="static-gradient"?"z-10":""}`,children:w?_.jsx(rpe,{}):n==="board"?_.jsx(ipe,{}):_.jsx(cpe,{})}),_.jsxs("button",{type:"button",onClick:()=>S(!x),title:d(x?"header.showMetadata":"header.hideMetadata"),className:"fixed bottom-3 right-3 z-40 px-2.5 py-1 rounded-md bg-card/80 backdrop-blur border border-border text-[11px] text-fg-muted hover:text-fg hover:border-border-strong transition-colors flex items-center gap-1.5",children:[x?_.jsx(Zn.Eye,{size:12}):_.jsx(Zn.EyeOff,{size:12}),_.jsx("span",{children:d(x?"header.showMetadata":"header.hideMetadata")})]})]}):_.jsx(lpe,{}),_.jsx(HOe,{}),_.jsx(qOe,{}),_.jsx(GOe,{}),_.jsx(oet,{}),_.jsx(cet,{})]})}KJe("en");wee.createRoot(document.getElementById("root")).render(_.jsx($.StrictMode,{children:_.jsx(pet,{})}));function uX(e){return e&&e.__esModule?e.default:e}function gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $0,Ke,mX,Ng,fX,xR,D1={},gX=[],det=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Kc(e,t){for(var n in t)e[n]=t[n];return e}function hX(e){var t=e.parentNode;t&&t.removeChild(e)}function o4(e,t,n){var a,i,r,s={};for(r in t)r=="key"?a=t[r]:r=="ref"?i=t[r]:s[r]=t[r];if(arguments.length>2&&(s.children=arguments.length>3?$0.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)s[r]===void 0&&(s[r]=e.defaultProps[r]);return t_(e,s,a,i,null)}function t_(e,t,n,a,i){var r={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++mX};return i==null&&Ke.vnode!=null&&Ke.vnode(r),r}function So(){return{current:null}}function nm(e){return e.children}function Vs(e,t){this.props=e,this.context=t}function am(e,t){if(t==null)return e.__?am(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?am(e):null}function bX(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return bX(e)}}function AR(e){(!e.__d&&(e.__d=!0)&&Ng.push(e)&&!I1.__r++||xR!==Ke.debounceRendering)&&((xR=Ke.debounceRendering)||fX)(I1)}function I1(){for(var e;I1.__r=Ng.length;)e=Ng.sort(function(t,n){return t.__v.__b-n.__v.__b}),Ng=[],e.some(function(t){var n,a,i,r,s,o;t.__d&&(s=(r=(n=t).__v).__e,(o=n.__P)&&(a=[],(i=Kc({},r)).__v=r.__v+1,QE(o,r,i,n.__n,o.ownerSVGElement!==void 0,r.__h!=null?[s]:null,a,s??am(r),r.__h),kX(a,r),r.__e!=s&&bX(r)))})}function vX(e,t,n,a,i,r,s,o,c,p){var d,m,f,h,b,k,w,x=a&&a.__k||gX,S=x.length;for(n.__k=[],d=0;d<t.length;d++)if((h=n.__k[d]=(h=t[d])==null||typeof h=="boolean"?null:typeof h=="string"||typeof h=="number"||typeof h=="bigint"?t_(null,h,null,null,h):Array.isArray(h)?t_(nm,{children:h},null,null,null):h.__b>0?t_(h.type,h.props,h.key,null,h.__v):h)!=null){if(h.__=n,h.__b=n.__b+1,(f=x[d])===null||f&&h.key==f.key&&h.type===f.type)x[d]=void 0;else for(m=0;m<S;m++){if((f=x[m])&&h.key==f.key&&h.type===f.type){x[m]=void 0;break}f=null}QE(e,h,f=f||D1,i,r,s,o,c,p),b=h.__e,(m=h.ref)&&f.ref!=m&&(w||(w=[]),f.ref&&w.push(f.ref,null,h),w.push(m,h.__c||b,h)),b!=null?(k==null&&(k=b),typeof h.type=="function"&&h.__k===f.__k?h.__d=c=yX(h,c,e):c=_X(e,h,f,x,b,c),typeof n.type=="function"&&(n.__d=c)):c&&f.__e==c&&c.parentNode!=e&&(c=am(f))}for(n.__e=k,d=S;d--;)x[d]!=null&&(typeof n.type=="function"&&x[d].__e!=null&&x[d].__e==n.__d&&(n.__d=am(a,d+1)),xX(x[d],x[d]));if(w)for(d=0;d<w.length;d++)wX(w[d],w[++d],w[++d])}function yX(e,t,n){for(var a,i=e.__k,r=0;i&&r<i.length;r++)(a=i[r])&&(a.__=e,t=typeof a.type=="function"?yX(a,t,n):_X(n,a,a,i,a.__e,t));return t}function R1(e,t){return t=t||[],e==null||typeof e=="boolean"||(Array.isArray(e)?e.some(function(n){R1(n,t)}):t.push(e)),t}function _X(e,t,n,a,i,r){var s,o,c;if(t.__d!==void 0)s=t.__d,t.__d=void 0;else if(n==null||i!=r||i.parentNode==null)e:if(r==null||r.parentNode!==e)e.appendChild(i),s=null;else{for(o=r,c=0;(o=o.nextSibling)&&c<a.length;c+=2)if(o==i)break e;e.insertBefore(i,r),s=r}return s!==void 0?s:i.nextSibling}function uet(e,t,n,a,i){var r;for(r in n)r==="children"||r==="key"||r in t||O1(e,r,null,n[r],a);for(r in t)i&&typeof t[r]!="function"||r==="children"||r==="key"||r==="value"||r==="checked"||n[r]===t[r]||O1(e,r,t[r],n[r],a)}function CR(e,t,n){t[0]==="-"?e.setProperty(t,n):e[t]=n==null?"":typeof n!="number"||det.test(t)?n:n+"px"}function O1(e,t,n,a,i){var r;e:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof a=="string"&&(e.style.cssText=a=""),a)for(t in a)n&&t in n||CR(e.style,t,"");if(n)for(t in n)a&&n[t]===a[t]||CR(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")r=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?a||e.addEventListener(t,r?SR:NR,r):e.removeEventListener(t,r?SR:NR,r);else if(t!=="dangerouslySetInnerHTML"){if(i)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if(t!=="href"&&t!=="list"&&t!=="form"&&t!=="tabIndex"&&t!=="download"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n!=null&&(n!==!1||t[0]==="a"&&t[1]==="r")?e.setAttribute(t,n):e.removeAttribute(t))}}function NR(e){this.l[e.type+!1](Ke.event?Ke.event(e):e)}function SR(e){this.l[e.type+!0](Ke.event?Ke.event(e):e)}function QE(e,t,n,a,i,r,s,o,c){var p,d,m,f,h,b,k,w,x,S,E,P=t.type;if(t.constructor!==void 0)return null;n.__h!=null&&(c=n.__h,o=t.__e=n.__e,t.__h=null,r=[o]),(p=Ke.__b)&&p(t);try{e:if(typeof P=="function"){if(w=t.props,x=(p=P.contextType)&&a[p.__c],S=p?x?x.props.value:p.__:a,n.__c?k=(d=t.__c=n.__c).__=d.__E:("prototype"in P&&P.prototype.render?t.__c=d=new P(w,S):(t.__c=d=new Vs(w,S),d.constructor=P,d.render=fet),x&&x.sub(d),d.props=w,d.state||(d.state={}),d.context=S,d.__n=a,m=d.__d=!0,d.__h=[]),d.__s==null&&(d.__s=d.state),P.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=Kc({},d.__s)),Kc(d.__s,P.getDerivedStateFromProps(w,d.__s))),f=d.props,h=d.state,m)P.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(P.getDerivedStateFromProps==null&&w!==f&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(w,S),!d.__e&&d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(w,d.__s,S)===!1||t.__v===n.__v){d.props=w,d.state=d.__s,t.__v!==n.__v&&(d.__d=!1),d.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(L){L&&(L.__=t)}),d.__h.length&&s.push(d);break e}d.componentWillUpdate!=null&&d.componentWillUpdate(w,d.__s,S),d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(f,h,b)})}d.context=S,d.props=w,d.state=d.__s,(p=Ke.__r)&&p(t),d.__d=!1,d.__v=t,d.__P=e,p=d.render(d.props,d.state,d.context),d.state=d.__s,d.getChildContext!=null&&(a=Kc(Kc({},a),d.getChildContext())),m||d.getSnapshotBeforeUpdate==null||(b=d.getSnapshotBeforeUpdate(f,h)),E=p!=null&&p.type===nm&&p.key==null?p.props.children:p,vX(e,Array.isArray(E)?E:[E],t,n,a,i,r,s,o,c),d.base=t.__e,t.__h=null,d.__h.length&&s.push(d),k&&(d.__E=d.__=null),d.__e=!1}else r==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=met(n.__e,t,n,a,i,r,s,c);(p=Ke.diffed)&&p(t)}catch(L){t.__v=null,(c||r!=null)&&(t.__e=o,t.__h=!!c,r[r.indexOf(o)]=null),Ke.__e(L,t,n)}}function kX(e,t){Ke.__c&&Ke.__c(t,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(a){a.call(n)})}catch(a){Ke.__e(a,n.__v)}})}function met(e,t,n,a,i,r,s,o){var c,p,d,m=n.props,f=t.props,h=t.type,b=0;if(h==="svg"&&(i=!0),r!=null){for(;b<r.length;b++)if((c=r[b])&&"setAttribute"in c==!!h&&(h?c.localName===h:c.nodeType===3)){e=c,r[b]=null;break}}if(e==null){if(h===null)return document.createTextNode(f);e=i?document.createElementNS("http://www.w3.org/2000/svg",h):document.createElement(h,f.is&&f),r=null,o=!1}if(h===null)m===f||o&&e.data===f||(e.data=f);else{if(r=r&&$0.call(e.childNodes),p=(m=n.props||D1).dangerouslySetInnerHTML,d=f.dangerouslySetInnerHTML,!o){if(r!=null)for(m={},b=0;b<e.attributes.length;b++)m[e.attributes[b].name]=e.attributes[b].value;(d||p)&&(d&&(p&&d.__html==p.__html||d.__html===e.innerHTML)||(e.innerHTML=d&&d.__html||""))}if(uet(e,f,m,i,o),d)t.__k=[];else if(b=t.props.children,vX(e,Array.isArray(b)?b:[b],t,n,a,i&&h!=="foreignObject",r,s,r?r[0]:n.__k&&am(n,0),o),r!=null)for(b=r.length;b--;)r[b]!=null&&hX(r[b]);o||("value"in f&&(b=f.value)!==void 0&&(b!==m.value||b!==e.value||h==="progress"&&!b)&&O1(e,"value",b,m.value,!1),"checked"in f&&(b=f.checked)!==void 0&&b!==e.checked&&O1(e,"checked",b,m.checked,!1))}return e}function wX(e,t,n){try{typeof e=="function"?e(t):e.current=t}catch(a){Ke.__e(a,n)}}function xX(e,t,n){var a,i;if(Ke.unmount&&Ke.unmount(e),(a=e.ref)&&(a.current&&a.current!==e.__e||wX(a,null,t)),(a=e.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(r){Ke.__e(r,t)}a.base=a.__P=null}if(a=e.__k)for(i=0;i<a.length;i++)a[i]&&xX(a[i],t,typeof e.type!="function");n||e.__e==null||hX(e.__e),e.__e=e.__d=void 0}function fet(e,t,n){return this.constructor(e,n)}function AX(e,t,n){var a,i,r;Ke.__&&Ke.__(e,t),i=(a=typeof n=="function")?null:n&&n.__k||t.__k,r=[],QE(t,e=(!a&&n||t).__k=o4(nm,null,[e]),i||D1,D1,t.ownerSVGElement!==void 0,!a&&n?[n]:i?null:t.firstChild?$0.call(t.childNodes):null,r,!a&&n?n:i?i.__e:t.firstChild,a),kX(r,e)}$0=gX.slice,Ke={__e:function(e,t){for(var n,a,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((a=n.constructor)&&a.getDerivedStateFromError!=null&&(n.setState(a.getDerivedStateFromError(e)),i=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(e),i=n.__d),i)return n.__E=n}catch(r){e=r}throw e}},mX=0,Vs.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Kc({},this.state),typeof e=="function"&&(e=e(Kc({},n),this.props)),e&&Kc(n,e),e!=null&&this.__v&&(t&&this.__h.push(t),AR(this))},Vs.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),AR(this))},Vs.prototype.render=nm,Ng=[],fX=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,I1.__r=0;var get=0;function ye(e,t,n,a,i){var r,s,o={};for(s in t)s=="ref"?r=t[s]:o[s]=t[s];var c={type:e,props:o,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--get,__source:a,__self:i};if(typeof e=="function"&&(r=e.defaultProps))for(s in r)o[s]===void 0&&(o[s]=r[s]);return Ke.vnode&&Ke.vnode(c),c}function het(e,t){try{window.localStorage[`emoji-mart.${e}`]=JSON.stringify(t)}catch{}}function bet(e){try{const t=window.localStorage[`emoji-mart.${e}`];if(t)return JSON.parse(t)}catch{}}var Vo={set:het,get:bet};const AC=new Map,vet=[{v:15,emoji:"🫨"},{v:14,emoji:"🫠"},{v:13.1,emoji:"😶🌫️"},{v:13,emoji:"🥸"},{v:12.1,emoji:"🧑🦰"},{v:12,emoji:"🥱"},{v:11,emoji:"🥰"},{v:5,emoji:"🤩"},{v:4,emoji:"👱♀️"},{v:3,emoji:"🤣"},{v:2,emoji:"👋🏻"},{v:1,emoji:"🙃"}];function yet(){for(const{v:e,emoji:t}of vet)if(CX(t))return e}function _et(){return!CX("🇨🇦")}function CX(e){if(AC.has(e))return AC.get(e);const t=ket(e);return AC.set(e,t),t}const ket=(()=>{let e=null;try{navigator.userAgent.includes("jsdom")||(e=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}))}catch{}if(!e)return()=>!1;const t=25,n=20,a=Math.floor(t/2);return e.font=a+"px Arial, Sans-Serif",e.textBaseline="top",e.canvas.width=n*2,e.canvas.height=t,i=>{e.clearRect(0,0,n*2,t),e.fillStyle="#FF0000",e.fillText(i,0,22),e.fillStyle="#0000FF",e.fillText(i,n,22);const r=e.getImageData(0,0,n,t).data,s=r.length;let o=0;for(;o<s&&!r[o+3];o+=4);if(o>=s)return!1;const c=n+o/4%n,p=Math.floor(o/4/n),d=e.getImageData(c,p,1,1).data;return!(r[o]!==d[0]||r[o+2]!==d[2]||e.measureText(i).width>=n)}})();var $R={latestVersion:yet,noCountryFlags:_et};const c4=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","scream","disappointed","unamused","weary","sob","sunglasses","heart"];let Sa=null;function wet(e){Sa||(Sa=Vo.get("frequently")||{});const t=e.id||e;t&&(Sa[t]||(Sa[t]=0),Sa[t]+=1,Vo.set("last",t),Vo.set("frequently",Sa))}function xet({maxFrequentRows:e,perLine:t}){if(!e)return[];Sa||(Sa=Vo.get("frequently"));let n=[];if(!Sa){Sa={};for(let r in c4.slice(0,t)){const s=c4[r];Sa[s]=t-r,n.push(s)}return n}const a=e*t,i=Vo.get("last");for(let r in Sa)n.push(r);if(n.sort((r,s)=>{const o=Sa[s],c=Sa[r];return o==c?r.localeCompare(s):o-c}),n.length>a){const r=n.slice(a);n=n.slice(0,a);for(let s of r)s!=i&&delete Sa[s];i&&n.indexOf(i)==-1&&(delete Sa[n[n.length-1]],n.splice(-1,1,i)),Vo.set("frequently",Sa)}return n}var JE={add:wet,get:xet,DEFAULTS:c4},NX={};NX=JSON.parse('{"search":"Search","search_no_results_1":"Oh no!","search_no_results_2":"That emoji couldn’t be found","pick":"Pick an emoji…","add_custom":"Add custom emoji","categories":{"activity":"Activity","custom":"Custom","flags":"Flags","foods":"Food & Drink","frequent":"Frequently used","nature":"Animals & Nature","objects":"Objects","people":"Smileys & People","places":"Travel & Places","search":"Search Results","symbols":"Symbols"},"skins":{"1":"Default","2":"Light","3":"Medium-Light","4":"Medium","5":"Medium-Dark","6":"Dark","choose":"Choose default skin tone"}}');var Lo={autoFocus:{value:!1},dynamicWidth:{value:!1},emojiButtonColors:{value:null},emojiButtonRadius:{value:"100%"},emojiButtonSize:{value:36},emojiSize:{value:24},emojiVersion:{value:15,choices:[1,2,3,4,5,11,12,12.1,13,13.1,14,15]},exceptEmojis:{value:[]},icons:{value:"auto",choices:["auto","outline","solid"]},locale:{value:"en",choices:["en","ar","be","cs","de","es","fa","fi","fr","hi","it","ja","ko","nl","pl","pt","ru","sa","tr","uk","vi","zh"]},maxFrequentRows:{value:4},navPosition:{value:"top",choices:["top","bottom","none"]},noCountryFlags:{value:!1},noResultsEmoji:{value:null},perLine:{value:9},previewEmoji:{value:null},previewPosition:{value:"bottom",choices:["top","bottom","none"]},searchPosition:{value:"sticky",choices:["sticky","static","none"]},set:{value:"native",choices:["native","apple","facebook","google","twitter"]},skin:{value:1,choices:[1,2,3,4,5,6]},skinTonePosition:{value:"preview",choices:["preview","search","none"]},theme:{value:"auto",choices:["auto","light","dark"]},categories:null,categoryIcons:null,custom:null,data:null,i18n:null,getImageURL:null,getSpritesheetURL:null,onAddCustomEmoji:null,onClickOutside:null,onEmojiSelect:null,stickySearch:{deprecated:!0,value:!0}};let Aa=null,mt=null;const CC={};async function ER(e){if(CC[e])return CC[e];const n=await(await fetch(e)).json();return CC[e]=n,n}let NC=null,SX=null,$X=!1;function ab(e,{caller:t}={}){return NC||(NC=new Promise(n=>{SX=n})),e?Aet(e):t&&!$X&&console.warn(`\`${t}\` requires data to be initialized first. Promise will be pending until \`init\` is called.`),NC}async function Aet(e){$X=!0;let{emojiVersion:t,set:n,locale:a}=e;if(t||(t=Lo.emojiVersion.value),n||(n=Lo.set.value),a||(a=Lo.locale.value),mt)mt.categories=mt.categories.filter(c=>!c.name);else{mt=(typeof e.data=="function"?await e.data():e.data)||await ER(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/sets/${t}/${n}.json`),mt.emoticons={},mt.natives={},mt.categories.unshift({id:"frequent",emojis:[]});for(const c in mt.aliases){const p=mt.aliases[c],d=mt.emojis[p];d&&(d.aliases||(d.aliases=[]),d.aliases.push(c))}mt.originalCategories=mt.categories}if(Aa=(typeof e.i18n=="function"?await e.i18n():e.i18n)||(a=="en"?uX(NX):await ER(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/i18n/${a}.json`)),e.custom)for(let c in e.custom){c=parseInt(c);const p=e.custom[c],d=e.custom[c-1];if(!(!p.emojis||!p.emojis.length)){p.id||(p.id=`custom_${c+1}`),p.name||(p.name=Aa.categories.custom),d&&!p.icon&&(p.target=d.target||d),mt.categories.push(p);for(const m of p.emojis)mt.emojis[m.id]=m}}e.categories&&(mt.categories=mt.originalCategories.filter(c=>e.categories.indexOf(c.id)!=-1).sort((c,p)=>{const d=e.categories.indexOf(c.id),m=e.categories.indexOf(p.id);return d-m}));let i=null,r=null;n=="native"&&(i=$R.latestVersion(),r=e.noCountryFlags||$R.noCountryFlags());let s=mt.categories.length,o=!1;for(;s--;){const c=mt.categories[s];if(c.id=="frequent"){let{maxFrequentRows:m,perLine:f}=e;m=m>=0?m:Lo.maxFrequentRows.value,f||(f=Lo.perLine.value),c.emojis=JE.get({maxFrequentRows:m,perLine:f})}if(!c.emojis||!c.emojis.length){mt.categories.splice(s,1);continue}const{categoryIcons:p}=e;if(p){const m=p[c.id];m&&!c.icon&&(c.icon=m)}let d=c.emojis.length;for(;d--;){const m=c.emojis[d],f=m.id?m:mt.emojis[m],h=()=>{c.emojis.splice(d,1)};if(!f||e.exceptEmojis&&e.exceptEmojis.includes(f.id)){h();continue}if(i&&f.version>i){h();continue}if(r&&c.id=="flags"&&!TX.includes(f.id)){h();continue}if(!f.search){if(o=!0,f.search=","+[[f.id,!1],[f.name,!0],[f.keywords,!1],[f.emoticons,!1]].map(([k,w])=>{if(k)return(Array.isArray(k)?k:[k]).map(x=>(w?x.split(/[-|_|\s]+/):[x]).map(S=>S.toLowerCase())).flat()}).flat().filter(k=>k&&k.trim()).join(","),f.emoticons)for(const k of f.emoticons)mt.emoticons[k]||(mt.emoticons[k]=f.id);let b=0;for(const k of f.skins){if(!k)continue;b++;const{native:w}=k;w&&(mt.natives[w]=f.id,f.search+=`,${w}`);const x=b==1?"":`:skin-tone-${b}:`;k.shortcodes=`:${f.id}:${x}`}}}}o&&ep.reset(),SX()}function EX(e,t,n){e||(e={});const a={};for(let i in t)a[i]=PX(i,e,t,n);return a}function PX(e,t,n,a){const i=n[e];let r=a&&a.getAttribute(e)||(t[e]!=null&&t[e]!=null?t[e]:null);return i&&(r!=null&&i.value&&typeof i.value!=typeof r&&(typeof i.value=="boolean"?r=r!="false":r=i.value.constructor(r)),i.transform&&r&&(r=i.transform(r)),(r==null||i.choices&&i.choices.indexOf(r)==-1)&&(r=i.value)),r}const Cet=/^(?:\:([^\:]+)\:)(?:\:skin-tone-(\d)\:)?$/;let p4=null;function Net(e){return e.id?e:mt.emojis[e]||mt.emojis[mt.aliases[e]]||mt.emojis[mt.natives[e]]}function $et(){p4=null}async function Eet(e,{maxResults:t,caller:n}={}){if(!e||!e.trim().length)return null;t||(t=90),await ab(null,{caller:n||"SearchIndex.search"});const a=e.toLowerCase().replace(/(\w)-/,"$1 ").split(/[\s|,]+/).filter((o,c,p)=>o.trim()&&p.indexOf(o)==c);if(!a.length)return;let i=p4||(p4=Object.values(mt.emojis)),r,s;for(const o of a){if(!i.length)break;r=[],s={};for(const c of i){if(!c.search)continue;const p=c.search.indexOf(`,${o}`);p!=-1&&(r.push(c),s[c.id]||(s[c.id]=0),s[c.id]+=c.id==o?0:p+1)}i=r}return r.length<2||(r.sort((o,c)=>{const p=s[o.id],d=s[c.id];return p==d?o.id.localeCompare(c.id):p-d}),r.length>t&&(r=r.slice(0,t))),r}var ep={search:Eet,get:Net,reset:$et,SHORTCODES_REGEX:Cet};const TX=["checkered_flag","crossed_flags","pirate_flag","rainbow-flag","transgender_flag","triangular_flag_on_post","waving_black_flag","waving_white_flag"];function Pet(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((n,a)=>n==t[a])}async function Tet(e=1){for(let t in[...Array(e).keys()])await new Promise(requestAnimationFrame)}function LX(e,{skinIndex:t=0}={}){const n=e.skins[t]||(t=0,e.skins[t]),a={id:e.id,name:e.name,native:n.native,unified:n.unified,keywords:e.keywords,shortcodes:n.shortcodes||e.shortcodes};return e.skins.length>1&&(a.skin=t+1),n.src&&(a.src=n.src),e.aliases&&e.aliases.length&&(a.aliases=e.aliases),e.emoticons&&e.emoticons.length&&(a.emoticons=e.emoticons),a}async function Let(e){const t=await ep.search(e,{maxResults:1,caller:"getEmojiDataFromNative"});if(!t||!t.length)return null;const n=t[0];let a=0;for(let i of n.skins){if(i.native==e)break;a++}return LX(n,{skinIndex:a})}const Met={activity:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M16.17 337.5c0 44.98 7.565 83.54 13.98 107.9C35.22 464.3 50.46 496 174.9 496c9.566 0 19.59-.4707 29.84-1.271L17.33 307.3C16.53 317.6 16.17 327.7 16.17 337.5zM495.8 174.5c0-44.98-7.565-83.53-13.98-107.9c-4.688-17.54-18.34-31.23-36.04-35.95C435.5 27.91 392.9 16 337 16c-9.564 0-19.59 .4707-29.84 1.271l187.5 187.5C495.5 194.4 495.8 184.3 495.8 174.5zM26.77 248.8l236.3 236.3c142-36.1 203.9-150.4 222.2-221.1L248.9 26.87C106.9 62.96 45.07 177.2 26.77 248.8zM256 335.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L164.7 283.3C161.6 280.2 160 276.1 160 271.1c0-8.529 6.865-16 16-16c4.095 0 8.189 1.562 11.31 4.688l64.01 64C254.4 327.8 256 331.9 256 335.1zM304 287.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L212.7 235.3C209.6 232.2 208 228.1 208 223.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01C302.5 279.8 304 283.9 304 287.1zM256 175.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01c3.125 3.125 4.688 7.219 4.688 11.31c0 9.133-7.468 16-16 16c-4.094 0-8.189-1.562-11.31-4.688l-64.01-64.01C257.6 184.2 256 180.1 256 175.1z"})})},custom:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:ye("path",{d:"M417.1 368c-5.937 10.27-16.69 16-27.75 16c-5.422 0-10.92-1.375-15.97-4.281L256 311.4V448c0 17.67-14.33 32-31.1 32S192 465.7 192 448V311.4l-118.3 68.29C68.67 382.6 63.17 384 57.75 384c-11.06 0-21.81-5.734-27.75-16c-8.828-15.31-3.594-34.88 11.72-43.72L159.1 256L41.72 187.7C26.41 178.9 21.17 159.3 29.1 144C36.63 132.5 49.26 126.7 61.65 128.2C65.78 128.7 69.88 130.1 73.72 132.3L192 200.6V64c0-17.67 14.33-32 32-32S256 46.33 256 64v136.6l118.3-68.29c3.838-2.213 7.939-3.539 12.07-4.051C398.7 126.7 411.4 132.5 417.1 144c8.828 15.31 3.594 34.88-11.72 43.72L288 256l118.3 68.28C421.6 333.1 426.8 352.7 417.1 368z"})}),flags:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M64 496C64 504.8 56.75 512 48 512h-32C7.25 512 0 504.8 0 496V32c0-17.75 14.25-32 32-32s32 14.25 32 32V496zM476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87C160.9 .3055 131.6 4.867 96 15.75v350.5c32-9.984 59.87-14.1 84.85-14.1c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0z"})})},foods:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M481.9 270.1C490.9 279.1 496 291.3 496 304C496 316.7 490.9 328.9 481.9 337.9C472.9 346.9 460.7 352 448 352H64C51.27 352 39.06 346.9 30.06 337.9C21.06 328.9 16 316.7 16 304C16 291.3 21.06 279.1 30.06 270.1C39.06 261.1 51.27 256 64 256H448C460.7 256 472.9 261.1 481.9 270.1zM475.3 388.7C478.3 391.7 480 395.8 480 400V416C480 432.1 473.3 449.3 461.3 461.3C449.3 473.3 432.1 480 416 480H96C79.03 480 62.75 473.3 50.75 461.3C38.74 449.3 32 432.1 32 416V400C32 395.8 33.69 391.7 36.69 388.7C39.69 385.7 43.76 384 48 384H464C468.2 384 472.3 385.7 475.3 388.7zM50.39 220.8C45.93 218.6 42.03 215.5 38.97 211.6C35.91 207.7 33.79 203.2 32.75 198.4C31.71 193.5 31.8 188.5 32.99 183.7C54.98 97.02 146.5 32 256 32C365.5 32 457 97.02 479 183.7C480.2 188.5 480.3 193.5 479.2 198.4C478.2 203.2 476.1 207.7 473 211.6C469.1 215.5 466.1 218.6 461.6 220.8C457.2 222.9 452.3 224 447.3 224H64.67C59.73 224 54.84 222.9 50.39 220.8zM372.7 116.7C369.7 119.7 368 123.8 368 128C368 131.2 368.9 134.3 370.7 136.9C372.5 139.5 374.1 141.6 377.9 142.8C380.8 143.1 384 144.3 387.1 143.7C390.2 143.1 393.1 141.6 395.3 139.3C397.6 137.1 399.1 134.2 399.7 131.1C400.3 128 399.1 124.8 398.8 121.9C397.6 118.1 395.5 116.5 392.9 114.7C390.3 112.9 387.2 111.1 384 111.1C379.8 111.1 375.7 113.7 372.7 116.7V116.7zM244.7 84.69C241.7 87.69 240 91.76 240 96C240 99.16 240.9 102.3 242.7 104.9C244.5 107.5 246.1 109.6 249.9 110.8C252.8 111.1 256 112.3 259.1 111.7C262.2 111.1 265.1 109.6 267.3 107.3C269.6 105.1 271.1 102.2 271.7 99.12C272.3 96.02 271.1 92.8 270.8 89.88C269.6 86.95 267.5 84.45 264.9 82.7C262.3 80.94 259.2 79.1 256 79.1C251.8 79.1 247.7 81.69 244.7 84.69V84.69zM116.7 116.7C113.7 119.7 112 123.8 112 128C112 131.2 112.9 134.3 114.7 136.9C116.5 139.5 118.1 141.6 121.9 142.8C124.8 143.1 128 144.3 131.1 143.7C134.2 143.1 137.1 141.6 139.3 139.3C141.6 137.1 143.1 134.2 143.7 131.1C144.3 128 143.1 124.8 142.8 121.9C141.6 118.1 139.5 116.5 136.9 114.7C134.3 112.9 131.2 111.1 128 111.1C123.8 111.1 119.7 113.7 116.7 116.7L116.7 116.7z"})})},frequent:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z"}),ye("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512zM232 256C232 264 236 271.5 242.7 275.1L338.7 339.1C349.7 347.3 364.6 344.3 371.1 333.3C379.3 322.3 376.3 307.4 365.3 300L280 243.2V120C280 106.7 269.3 96 255.1 96C242.7 96 231.1 106.7 231.1 120L232 256z"})})},nature:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8"}),ye("path",{d:"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",children:ye("path",{d:"M332.7 19.85C334.6 8.395 344.5 0 356.1 0C363.6 0 370.6 3.52 375.1 9.502L392 32H444.1C456.8 32 469.1 37.06 478.1 46.06L496 64H552C565.3 64 576 74.75 576 88V112C576 156.2 540.2 192 496 192H426.7L421.6 222.5L309.6 158.5L332.7 19.85zM448 64C439.2 64 432 71.16 432 80C432 88.84 439.2 96 448 96C456.8 96 464 88.84 464 80C464 71.16 456.8 64 448 64zM416 256.1V480C416 497.7 401.7 512 384 512H352C334.3 512 320 497.7 320 480V364.8C295.1 377.1 268.8 384 240 384C211.2 384 184 377.1 160 364.8V480C160 497.7 145.7 512 128 512H96C78.33 512 64 497.7 64 480V249.8C35.23 238.9 12.64 214.5 4.836 183.3L.9558 167.8C-3.331 150.6 7.094 133.2 24.24 128.1C41.38 124.7 58.76 135.1 63.05 152.2L66.93 167.8C70.49 182 83.29 191.1 97.97 191.1H303.8L416 256.1z"})})},objects:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z"}),ye("path",{d:"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",children:ye("path",{d:"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"})})},people:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"}),ye("path",{d:"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 432C332.1 432 396.2 382 415.2 314.1C419.1 300.4 407.8 288 393.6 288H118.4C104.2 288 92.92 300.4 96.76 314.1C115.8 382 179.9 432 256 432V432zM176.4 160C158.7 160 144.4 174.3 144.4 192C144.4 209.7 158.7 224 176.4 224C194 224 208.4 209.7 208.4 192C208.4 174.3 194 160 176.4 160zM336.4 224C354 224 368.4 209.7 368.4 192C368.4 174.3 354 160 336.4 160C318.7 160 304.4 174.3 304.4 192C304.4 209.7 318.7 224 336.4 224z"})})},places:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[ye("path",{d:"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5"}),ye("path",{d:"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z"})]}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M39.61 196.8L74.8 96.29C88.27 57.78 124.6 32 165.4 32H346.6C387.4 32 423.7 57.78 437.2 96.29L472.4 196.8C495.6 206.4 512 229.3 512 256V448C512 465.7 497.7 480 480 480H448C430.3 480 416 465.7 416 448V400H96V448C96 465.7 81.67 480 64 480H32C14.33 480 0 465.7 0 448V256C0 229.3 16.36 206.4 39.61 196.8V196.8zM109.1 192H402.9L376.8 117.4C372.3 104.6 360.2 96 346.6 96H165.4C151.8 96 139.7 104.6 135.2 117.4L109.1 192zM96 256C78.33 256 64 270.3 64 288C64 305.7 78.33 320 96 320C113.7 320 128 305.7 128 288C128 270.3 113.7 256 96 256zM416 320C433.7 320 448 305.7 448 288C448 270.3 433.7 256 416 256C398.3 256 384 270.3 384 288C384 305.7 398.3 320 416 320z"})})},symbols:{outline:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:ye("path",{d:"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76"})}),solid:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:ye("path",{d:"M500.3 7.251C507.7 13.33 512 22.41 512 31.1V175.1C512 202.5 483.3 223.1 447.1 223.1C412.7 223.1 383.1 202.5 383.1 175.1C383.1 149.5 412.7 127.1 447.1 127.1V71.03L351.1 90.23V207.1C351.1 234.5 323.3 255.1 287.1 255.1C252.7 255.1 223.1 234.5 223.1 207.1C223.1 181.5 252.7 159.1 287.1 159.1V63.1C287.1 48.74 298.8 35.61 313.7 32.62L473.7 .6198C483.1-1.261 492.9 1.173 500.3 7.251H500.3zM74.66 303.1L86.5 286.2C92.43 277.3 102.4 271.1 113.1 271.1H174.9C185.6 271.1 195.6 277.3 201.5 286.2L213.3 303.1H239.1C266.5 303.1 287.1 325.5 287.1 351.1V463.1C287.1 490.5 266.5 511.1 239.1 511.1H47.1C21.49 511.1-.0019 490.5-.0019 463.1V351.1C-.0019 325.5 21.49 303.1 47.1 303.1H74.66zM143.1 359.1C117.5 359.1 95.1 381.5 95.1 407.1C95.1 434.5 117.5 455.1 143.1 455.1C170.5 455.1 191.1 434.5 191.1 407.1C191.1 381.5 170.5 359.1 143.1 359.1zM440.3 367.1H496C502.7 367.1 508.6 372.1 510.1 378.4C513.3 384.6 511.6 391.7 506.5 396L378.5 508C372.9 512.1 364.6 513.3 358.6 508.9C352.6 504.6 350.3 496.6 353.3 489.7L391.7 399.1H336C329.3 399.1 323.4 395.9 321 389.6C318.7 383.4 320.4 376.3 325.5 371.1L453.5 259.1C459.1 255 467.4 254.7 473.4 259.1C479.4 263.4 481.6 271.4 478.7 278.3L440.3 367.1zM116.7 219.1L19.85 119.2C-8.112 90.26-6.614 42.31 24.85 15.34C51.82-8.137 93.26-3.642 118.2 21.83L128.2 32.32L137.7 21.83C162.7-3.642 203.6-8.137 231.6 15.34C262.6 42.31 264.1 90.26 236.1 119.2L139.7 219.1C133.2 225.6 122.7 225.6 116.7 219.1H116.7z"})})}},jet={loupe:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:ye("path",{d:"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"})}),delete:ye("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:ye("path",{d:"M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z"})})};var F1={categories:Met,search:jet};function l4(e){let{id:t,skin:n,emoji:a}=e;if(e.shortcodes){const o=e.shortcodes.match(ep.SHORTCODES_REGEX);o&&(t=o[1],o[2]&&(n=o[2]))}if(a||(a=ep.get(t||e.native)),!a)return e.fallback;const i=a.skins[n-1]||a.skins[0],r=i.src||(e.set!="native"&&!e.spritesheet?typeof e.getImageURL=="function"?e.getImageURL(e.set,i.unified):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/64/${i.unified}.png`:void 0),s=typeof e.getSpritesheetURL=="function"?e.getSpritesheetURL(e.set):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/sheets-256/64.png`;return ye("span",{class:"emoji-mart-emoji","data-emoji-set":e.set,children:r?ye("img",{style:{maxWidth:e.size||"1em",maxHeight:e.size||"1em",display:"inline-block"},alt:i.native||i.shortcodes,src:r}):e.set=="native"?ye("span",{style:{fontSize:e.size,fontFamily:'"EmojiMart", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji"'},children:i.native}):ye("span",{style:{display:"block",width:e.size,height:e.size,backgroundImage:`url(${s})`,backgroundSize:`${100*mt.sheet.cols}% ${100*mt.sheet.rows}%`,backgroundPosition:`${100/(mt.sheet.cols-1)*i.x}% ${100/(mt.sheet.rows-1)*i.y}%`}})})}const Det=typeof window<"u"&&window.HTMLElement?window.HTMLElement:Object;class MX extends Det{static get observedAttributes(){return Object.keys(this.Props)}update(t={}){for(let n in t)this.attributeChangedCallback(n,null,t[n])}attributeChangedCallback(t,n,a){if(!this.component)return;const i=PX(t,{[t]:a},this.constructor.Props,this);this.component.componentWillReceiveProps?this.component.componentWillReceiveProps({[t]:i}):(this.component.props[t]=i,this.component.forceUpdate())}disconnectedCallback(){this.disconnected=!0,this.component&&this.component.unregister&&this.component.unregister()}constructor(t={}){if(super(),this.props=t,t.parent||t.ref){let n=null;const a=t.parent||(n=t.ref&&t.ref.current);n&&(n.innerHTML=""),a&&a.appendChild(this)}}}class Iet extends MX{setShadow(){this.attachShadow({mode:"open"})}injectStyles(t){if(!t)return;const n=document.createElement("style");n.textContent=t,this.shadowRoot.insertBefore(n,this.shadowRoot.firstChild)}constructor(t,{styles:n}={}){super(t),this.setShadow(),this.injectStyles(n)}}var jX={fallback:"",id:"",native:"",shortcodes:"",size:{value:"",transform:e=>/\D/.test(e)?e:`${e}px`},set:Lo.set,skin:Lo.skin};class eP extends MX{async connectedCallback(){const t=EX(this.props,jX,this);t.element=this,t.ref=n=>{this.component=n},await ab(),!this.disconnected&&AX(ye(l4,{...t}),this)}constructor(t){super(t)}}gr(eP,"Props",jX);typeof customElements<"u"&&!customElements.get("em-emoji")&&customElements.define("em-emoji",eP);var PR,d4=[],TR=Ke.__b,LR=Ke.__r,MR=Ke.diffed,jR=Ke.__c,DR=Ke.unmount;function Ret(){var e;for(d4.sort(function(t,n){return t.__v.__b-n.__v.__b});e=d4.pop();)if(e.__P)try{e.__H.__h.forEach(n_),e.__H.__h.forEach(u4),e.__H.__h=[]}catch(t){e.__H.__h=[],Ke.__e(t,e.__v)}}Ke.__b=function(e){TR&&TR(e)},Ke.__r=function(e){LR&&LR(e);var t=e.__c.__H;t&&(t.__h.forEach(n_),t.__h.forEach(u4),t.__h=[])},Ke.diffed=function(e){MR&&MR(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(d4.push(t)!==1&&PR===Ke.requestAnimationFrame||((PR=Ke.requestAnimationFrame)||function(n){var a,i=function(){clearTimeout(r),IR&&cancelAnimationFrame(a),setTimeout(n)},r=setTimeout(i,100);IR&&(a=requestAnimationFrame(i))})(Ret))},Ke.__c=function(e,t){t.some(function(n){try{n.__h.forEach(n_),n.__h=n.__h.filter(function(a){return!a.__||u4(a)})}catch(a){t.some(function(i){i.__h&&(i.__h=[])}),t=[],Ke.__e(a,n.__v)}}),jR&&jR(e,t)},Ke.unmount=function(e){DR&&DR(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(a){try{n_(a)}catch(i){t=i}}),t&&Ke.__e(t,n.__v))};var IR=typeof requestAnimationFrame=="function";function n_(e){var t=e.__c;typeof t=="function"&&(e.__c=void 0,t())}function u4(e){e.__c=e.__()}function Oet(e,t){for(var n in t)e[n]=t[n];return e}function RR(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var a in t)if(a!=="__source"&&e[a]!==t[a])return!0;return!1}function z1(e){this.props=e}(z1.prototype=new Vs).isPureReactComponent=!0,z1.prototype.shouldComponentUpdate=function(e,t){return RR(this.props,e)||RR(this.state,t)};var OR=Ke.__b;Ke.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),OR&&OR(e)};var Fet=Ke.__e;Ke.__e=function(e,t,n){if(e.then){for(var a,i=t;i=i.__;)if((a=i.__c)&&a.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),a.__c(e,t)}Fet(e,t,n)};var FR=Ke.unmount;function SC(){this.__u=0,this.t=null,this.__b=null}function DX(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function by(){this.u=null,this.o=null}Ke.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),FR&&FR(e)},(SC.prototype=new Vs).__c=function(e,t){var n=t.__c,a=this;a.t==null&&(a.t=[]),a.t.push(n);var i=DX(a.__v),r=!1,s=function(){r||(r=!0,n.__R=null,i?i(o):o())};n.__R=s;var o=function(){if(!--a.__u){if(a.state.__e){var p=a.state.__e;a.__v.__k[0]=(function m(f,h,b){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(k){return m(k,h,b)}),f.__c&&f.__c.__P===h&&(f.__e&&b.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=b)),f})(p,p.__c.__P,p.__c.__O)}var d;for(a.setState({__e:a.__b=null});d=a.t.pop();)d.forceUpdate()}},c=t.__h===!0;a.__u++||c||a.setState({__e:a.__b=a.__v.__k[0]}),e.then(s,s)},SC.prototype.componentWillUnmount=function(){this.t=[]},SC.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),a=this.__v.__k[0].__c;this.__v.__k[0]=(function r(s,o,c){return s&&(s.__c&&s.__c.__H&&(s.__c.__H.__.forEach(function(p){typeof p.__c=="function"&&p.__c()}),s.__c.__H=null),(s=Oet({},s)).__c!=null&&(s.__c.__P===c&&(s.__c.__P=o),s.__c=null),s.__k=s.__k&&s.__k.map(function(p){return r(p,o,c)})),s})(this.__b,n,a.__O=a.__P)}this.__b=null}var i=t.__e&&o4(nm,null,e.fallback);return i&&(i.__h=null),[o4(nm,null,t.__e?null:e.children),i]};var zR=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};(by.prototype=new Vs).__e=function(e){var t=this,n=DX(t.__v),a=t.o.get(e);return a[0]++,function(i){var r=function(){t.props.revealOrder?(a.push(i),zR(t,e,a)):i()};n?n(r):r()}},by.prototype.render=function(e){this.u=null,this.o=new Map;var t=R1(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},by.prototype.componentDidUpdate=by.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){zR(e,n,t)})};var zet=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Het=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Bet=typeof document<"u",qet=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};Vs.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Vs.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var HR=Ke.event;function Uet(){}function Vet(){return this.cancelBubble}function Zet(){return this.defaultPrevented}Ke.event=function(e){return HR&&(e=HR(e)),e.persist=Uet,e.isPropagationStopped=Vet,e.isDefaultPrevented=Zet,e.nativeEvent=e};var BR={configurable:!0,get:function(){return this.class}},qR=Ke.vnode;Ke.vnode=function(e){var t=e.type,n=e.props,a=n;if(typeof t=="string"){var i=t.indexOf("-")===-1;for(var r in a={},n){var s=n[r];Bet&&r==="children"&&t==="noscript"||r==="value"&&"defaultValue"in n&&s==null||(r==="defaultValue"&&"value"in n&&n.value==null?r="value":r==="download"&&s===!0?s="":/ondoubleclick/i.test(r)?r="ondblclick":/^onchange(textarea|input)/i.test(r+t)&&!qet(n.type)?r="oninput":/^onfocus$/i.test(r)?r="onfocusin":/^onblur$/i.test(r)?r="onfocusout":/^on(Ani|Tra|Tou|BeforeInp)/.test(r)?r=r.toLowerCase():i&&Het.test(r)?r=r.replace(/[A-Z0-9]/,"-$&").toLowerCase():s===null&&(s=void 0),a[r]=s)}t=="select"&&a.multiple&&Array.isArray(a.value)&&(a.value=R1(n.children).forEach(function(o){o.props.selected=a.value.indexOf(o.props.value)!=-1})),t=="select"&&a.defaultValue!=null&&(a.value=R1(n.children).forEach(function(o){o.props.selected=a.multiple?a.defaultValue.indexOf(o.props.value)!=-1:a.defaultValue==o.props.value})),e.props=a,n.class!=n.className&&(BR.enumerable="className"in n,n.className!=null&&(a.class=n.className),Object.defineProperty(a,"className",BR))}e.$$typeof=zet,qR&&qR(e)};var UR=Ke.__r;Ke.__r=function(e){UR&&UR(e),e.__c};const Get={light:"outline",dark:"solid"};class Wet extends z1{renderIcon(t){const{icon:n}=t;if(n){if(n.svg)return ye("span",{class:"flex",dangerouslySetInnerHTML:{__html:n.svg}});if(n.src)return ye("img",{src:n.src})}const a=F1.categories[t.id]||F1.categories.custom,i=this.props.icons=="auto"?Get[this.props.theme]:this.props.icons;return a[i]||a}render(){let t=null;return ye("nav",{id:"nav",class:"padding","data-position":this.props.position,dir:this.props.dir,children:ye("div",{class:"flex relative",children:[this.categories.map((n,a)=>{const i=n.name||Aa.categories[n.id],r=!this.props.unfocused&&n.id==this.state.categoryId;return r&&(t=a),ye("button",{"aria-label":i,"aria-selected":r||void 0,title:i,type:"button",class:"flex flex-grow flex-center",onMouseDown:s=>s.preventDefault(),onClick:()=>{this.props.onClick({category:n,i:a})},children:this.renderIcon(n)})}),ye("div",{class:"bar",style:{width:`${100/this.categories.length}%`,opacity:t==null?0:1,transform:this.props.dir==="rtl"?`scaleX(-1) translateX(${t*100}%)`:`translateX(${t*100}%)`}})]})})}constructor(){super(),this.categories=mt.categories.filter(t=>!t.target),this.state={categoryId:this.categories[0].id}}}class Ket extends z1{shouldComponentUpdate(t){for(let n in t)if(n!="children"&&t[n]!=this.props[n])return!0;return!1}render(){return this.props.children}}const vy={rowsPerRender:10};class Yet extends Vs{getInitialState(t=this.props){return{skin:Vo.get("skin")||t.skin,theme:this.initTheme(t.theme)}}componentWillMount(){this.dir=Aa.rtl?"rtl":"ltr",this.refs={menu:So(),navigation:So(),scroll:So(),search:So(),searchInput:So(),skinToneButton:So(),skinToneRadio:So()},this.initGrid(),this.props.stickySearch==!1&&this.props.searchPosition=="sticky"&&(console.warn("[EmojiMart] Deprecation warning: `stickySearch` has been renamed `searchPosition`."),this.props.searchPosition="static")}componentDidMount(){if(this.register(),this.shadowRoot=this.base.parentNode,this.props.autoFocus){const{searchInput:t}=this.refs;t.current&&t.current.focus()}}componentWillReceiveProps(t){this.nextState||(this.nextState={});for(const n in t)this.nextState[n]=t[n];clearTimeout(this.nextStateTimer),this.nextStateTimer=setTimeout(()=>{let n=!1;for(const i in this.nextState)this.props[i]=this.nextState[i],(i==="custom"||i==="categories")&&(n=!0);delete this.nextState;const a=this.getInitialState();if(n)return this.reset(a);this.setState(a)})}componentWillUnmount(){this.unregister()}async reset(t={}){await ab(this.props),this.initGrid(),this.unobserve(),this.setState(t,()=>{this.observeCategories(),this.observeRows()})}register(){document.addEventListener("click",this.handleClickOutside),this.observe()}unregister(){document.removeEventListener("click",this.handleClickOutside),this.darkMedia?.removeEventListener("change",this.darkMediaCallback),this.unobserve()}observe(){this.observeCategories(),this.observeRows()}unobserve({except:t=[]}={}){Array.isArray(t)||(t=[t]);for(const n of this.observers)t.includes(n)||n.disconnect();this.observers=[].concat(t)}initGrid(){const{categories:t}=mt;this.refs.categories=new Map;const n=mt.categories.map(i=>i.id).join(",");this.navKey&&this.navKey!=n&&this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0),this.navKey=n,this.grid=[],this.grid.setsize=0;const a=(i,r)=>{const s=[];s.__categoryId=r.id,s.__index=i.length,this.grid.push(s);const o=this.grid.length-1,c=o%vy.rowsPerRender?{}:So();return c.index=o,c.posinset=this.grid.setsize+1,i.push(c),s};for(let i of t){const r=[];let s=a(r,i);for(let o of i.emojis)s.length==this.getPerLine()&&(s=a(r,i)),this.grid.setsize+=1,s.push(o);this.refs.categories.set(i.id,{root:So(),rows:r})}}initTheme(t){if(t!="auto")return t;if(!this.darkMedia){if(this.darkMedia=matchMedia("(prefers-color-scheme: dark)"),this.darkMedia.media.match(/^not/))return"light";this.darkMedia.addEventListener("change",this.darkMediaCallback)}return this.darkMedia.matches?"dark":"light"}initDynamicPerLine(t=this.props){if(!t.dynamicWidth)return;const{element:n,emojiButtonSize:a}=t,i=()=>{const{width:s}=n.getBoundingClientRect();return Math.floor(s/a)},r=new ResizeObserver(()=>{this.unobserve({except:r}),this.setState({perLine:i()},()=>{this.initGrid(),this.forceUpdate(()=>{this.observeCategories(),this.observeRows()})})});return r.observe(n),this.observers.push(r),i()}getPerLine(){return this.state.perLine||this.props.perLine}getEmojiByPos([t,n]){const a=this.state.searchResults||this.grid,i=a[t]&&a[t][n];if(i)return ep.get(i)}observeCategories(){const t=this.refs.navigation.current;if(!t)return;const n=new Map,a=s=>{s!=t.state.categoryId&&t.setState({categoryId:s})},i={root:this.refs.scroll.current,threshold:[0,1]},r=new IntersectionObserver(s=>{for(const c of s){const p=c.target.dataset.id;n.set(p,c.intersectionRatio)}const o=[...n];for(const[c,p]of o)if(p){a(c);break}},i);for(const{root:s}of this.refs.categories.values())r.observe(s.current);this.observers.push(r)}observeRows(){const t={...this.state.visibleRows},n=new IntersectionObserver(a=>{for(const i of a){const r=parseInt(i.target.dataset.index);i.isIntersecting?t[r]=!0:delete t[r]}this.setState({visibleRows:t})},{root:this.refs.scroll.current,rootMargin:`${this.props.emojiButtonSize*(vy.rowsPerRender+5)}px 0px ${this.props.emojiButtonSize*vy.rowsPerRender}px`});for(const{rows:a}of this.refs.categories.values())for(const i of a)i.current&&n.observe(i.current);this.observers.push(n)}preventDefault(t){t.preventDefault()}unfocusSearch(){const t=this.refs.searchInput.current;t&&t.blur()}navigate({e:t,input:n,left:a,right:i,up:r,down:s}){const o=this.state.searchResults||this.grid;if(!o.length)return;let[c,p]=this.state.pos;const d=(()=>{if(c==0&&p==0&&!t.repeat&&(a||r))return null;if(c==-1)return!t.repeat&&(i||s)&&n.selectionStart==n.value.length?[0,0]:null;if(a||i){let m=o[c];const f=a?-1:1;if(p+=f,!m[p]){if(c+=f,m=o[c],!m)return c=a?0:o.length-1,p=a?0:o[c].length-1,[c,p];p=a?m.length-1:0}return[c,p]}if(r||s){c+=r?-1:1;const m=o[c];return m?(m[p]||(p=m.length-1),[c,p]):(c=r?0:o.length-1,p=r?0:o[c].length-1,[c,p])}})();if(d)t.preventDefault();else{this.state.pos[0]>-1&&this.setState({pos:[-1,-1]});return}this.setState({pos:d,keyboard:!0},()=>{this.scrollTo({row:d[0]})})}scrollTo({categoryId:t,row:n}){const a=this.state.searchResults||this.grid;if(!a.length)return;const i=this.refs.scroll.current,r=i.getBoundingClientRect();let s=0;if(n>=0&&(t=a[n].__categoryId),t&&(s=(this.refs[t]||this.refs.categories.get(t).root).current.getBoundingClientRect().top-(r.top-i.scrollTop)+1),n>=0)if(!n)s=0;else{const o=a[n].__index,c=s+o*this.props.emojiButtonSize,p=c+this.props.emojiButtonSize+this.props.emojiButtonSize*.88;if(c<i.scrollTop)s=c;else if(p>i.scrollTop+r.height)s=p-r.height;else return}this.ignoreMouse(),i.scrollTop=s}ignoreMouse(){this.mouseIsIgnored=!0,clearTimeout(this.ignoreMouseTimer),this.ignoreMouseTimer=setTimeout(()=>{delete this.mouseIsIgnored},100)}handleEmojiOver(t){this.mouseIsIgnored||this.state.showSkins||this.setState({pos:t||[-1,-1],keyboard:!1})}handleEmojiClick({e:t,emoji:n,pos:a}){if(this.props.onEmojiSelect&&(!n&&a&&(n=this.getEmojiByPos(a)),n)){const i=LX(n,{skinIndex:this.state.skin-1});this.props.maxFrequentRows&&JE.add(i,this.props),this.props.onEmojiSelect(i,t)}}closeSkins(){this.state.showSkins&&(this.setState({showSkins:null,tempSkin:null}),this.base.removeEventListener("click",this.handleBaseClick),this.base.removeEventListener("keydown",this.handleBaseKeydown))}handleSkinMouseOver(t){this.setState({tempSkin:t})}handleSkinClick(t){this.ignoreMouse(),this.closeSkins(),this.setState({skin:t,tempSkin:null}),Vo.set("skin",t)}renderNav(){return ye(Wet,{ref:this.refs.navigation,icons:this.props.icons,theme:this.state.theme,dir:this.dir,unfocused:!!this.state.searchResults,position:this.props.navPosition,onClick:this.handleCategoryClick},this.navKey)}renderPreview(){const t=this.getEmojiByPos(this.state.pos),n=this.state.searchResults&&!this.state.searchResults.length;return ye("div",{id:"preview",class:"flex flex-middle",dir:this.dir,"data-position":this.props.previewPosition,children:[ye("div",{class:"flex flex-middle flex-grow",children:[ye("div",{class:"flex flex-auto flex-middle flex-center",style:{height:this.props.emojiButtonSize,fontSize:this.props.emojiButtonSize},children:ye(l4,{emoji:t,id:n?this.props.noResultsEmoji||"cry":this.props.previewEmoji||(this.props.previewPosition=="top"?"point_down":"point_up"),set:this.props.set,size:this.props.emojiButtonSize,skin:this.state.tempSkin||this.state.skin,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})}),ye("div",{class:`margin-${this.dir[0]}`,children:t||n?ye("div",{class:`padding-${this.dir[2]} align-${this.dir[0]}`,children:[ye("div",{class:"preview-title ellipsis",children:t?t.name:Aa.search_no_results_1}),ye("div",{class:"preview-subtitle ellipsis color-c",children:t?t.skins[0].shortcodes:Aa.search_no_results_2})]}):ye("div",{class:"preview-placeholder color-c",children:Aa.pick})})]}),!t&&this.props.skinTonePosition=="preview"&&this.renderSkinToneButton()]})}renderEmojiButton(t,{pos:n,posinset:a,grid:i}){const r=this.props.emojiButtonSize,s=this.state.tempSkin||this.state.skin,c=(t.skins[s-1]||t.skins[0]).native,p=Pet(this.state.pos,n),d=n.concat(t.id).join("");return ye(Ket,{selected:p,skin:s,size:r,children:ye("button",{"aria-label":c,"aria-selected":p||void 0,"aria-posinset":a,"aria-setsize":i.setsize,"data-keyboard":this.state.keyboard,title:this.props.previewPosition=="none"?t.name:void 0,type:"button",class:"flex flex-center flex-middle",tabindex:"-1",onClick:m=>this.handleEmojiClick({e:m,emoji:t}),onMouseEnter:()=>this.handleEmojiOver(n),onMouseLeave:()=>this.handleEmojiOver(),style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize,fontSize:this.props.emojiSize,lineHeight:0},children:[ye("div",{"aria-hidden":"true",class:"background",style:{borderRadius:this.props.emojiButtonRadius,backgroundColor:this.props.emojiButtonColors?this.props.emojiButtonColors[(a-1)%this.props.emojiButtonColors.length]:void 0}}),ye(l4,{emoji:t,set:this.props.set,size:this.props.emojiSize,skin:s,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})]})},d)}renderSearch(){const t=this.props.previewPosition=="none"||this.props.skinTonePosition=="search";return ye("div",{children:[ye("div",{class:"spacer"}),ye("div",{class:"flex flex-middle",children:[ye("div",{class:"search relative flex-grow",children:[ye("input",{type:"search",ref:this.refs.searchInput,placeholder:Aa.search,onClick:this.handleSearchClick,onInput:this.handleSearchInput,onKeyDown:this.handleSearchKeyDown,autoComplete:"off"}),ye("span",{class:"icon loupe flex",children:F1.search.loupe}),this.state.searchResults&&ye("button",{title:"Clear","aria-label":"Clear",type:"button",class:"icon delete flex",onClick:this.clearSearch,onMouseDown:this.preventDefault,children:F1.search.delete})]}),t&&this.renderSkinToneButton()]})]})}renderSearchResults(){const{searchResults:t}=this.state;return t?ye("div",{class:"category",ref:this.refs.search,children:[ye("div",{class:`sticky padding-small align-${this.dir[0]}`,children:Aa.categories.search}),ye("div",{children:t.length?t.map((n,a)=>ye("div",{class:"flex",children:n.map((i,r)=>this.renderEmojiButton(i,{pos:[a,r],posinset:a*this.props.perLine+r+1,grid:t}))})):ye("div",{class:`padding-small align-${this.dir[0]}`,children:this.props.onAddCustomEmoji&&ye("a",{onClick:this.props.onAddCustomEmoji,children:Aa.add_custom})})})]}):null}renderCategories(){const{categories:t}=mt,n=!!this.state.searchResults,a=this.getPerLine();return ye("div",{style:{visibility:n?"hidden":void 0,display:n?"none":void 0,height:"100%"},children:t.map(i=>{const{root:r,rows:s}=this.refs.categories.get(i.id);return ye("div",{"data-id":i.target?i.target.id:i.id,class:"category",ref:r,children:[ye("div",{class:`sticky padding-small align-${this.dir[0]}`,children:i.name||Aa.categories[i.id]}),ye("div",{class:"relative",style:{height:s.length*this.props.emojiButtonSize},children:s.map((o,c)=>{const p=o.index-o.index%vy.rowsPerRender,d=this.state.visibleRows[p],m="current"in o?o:void 0;if(!d&&!m)return null;const f=c*a,h=f+a,b=i.emojis.slice(f,h);return b.length<a&&b.push(...new Array(a-b.length)),ye("div",{"data-index":o.index,ref:m,class:"flex row",style:{top:c*this.props.emojiButtonSize},children:d&&b.map((k,w)=>{if(!k)return ye("div",{style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize}});const x=ep.get(k);return this.renderEmojiButton(x,{pos:[o.index,w],posinset:o.posinset+w,grid:this.grid})})},o.index)})})]})})})}renderSkinToneButton(){return this.props.skinTonePosition=="none"?null:ye("div",{class:"flex flex-auto flex-center flex-middle",style:{position:"relative",width:this.props.emojiButtonSize,height:this.props.emojiButtonSize},children:ye("button",{type:"button",ref:this.refs.skinToneButton,class:"skin-tone-button flex flex-auto flex-center flex-middle","aria-selected":this.state.showSkins?"":void 0,"aria-label":Aa.skins.choose,title:Aa.skins.choose,onClick:this.openSkins,style:{width:this.props.emojiSize,height:this.props.emojiSize},children:ye("span",{class:`skin-tone skin-tone-${this.state.skin}`})})})}renderLiveRegion(){const t=this.getEmojiByPos(this.state.pos),n=t?t.name:"";return ye("div",{"aria-live":"polite",class:"sr-only",children:n})}renderSkins(){const n=this.refs.skinToneButton.current.getBoundingClientRect(),a=this.base.getBoundingClientRect(),i={};return this.dir=="ltr"?i.right=a.right-n.right-3:i.left=n.left-a.left-3,this.props.previewPosition=="bottom"&&this.props.skinTonePosition=="preview"?i.bottom=a.bottom-n.top+6:(i.top=n.bottom-a.top+3,i.bottom="auto"),ye("div",{ref:this.refs.menu,role:"radiogroup",dir:this.dir,"aria-label":Aa.skins.choose,class:"menu hidden","data-position":i.top?"top":"bottom",style:i,children:[...Array(6).keys()].map(r=>{const s=r+1,o=this.state.skin==s;return ye("div",{children:[ye("input",{type:"radio",name:"skin-tone",value:s,"aria-label":Aa.skins[s],ref:o?this.refs.skinToneRadio:null,defaultChecked:o,onChange:()=>this.handleSkinMouseOver(s),onKeyDown:c=>{(c.code=="Enter"||c.code=="Space"||c.code=="Tab")&&(c.preventDefault(),this.handleSkinClick(s))}}),ye("button",{"aria-hidden":"true",tabindex:"-1",onClick:()=>this.handleSkinClick(s),onMouseEnter:()=>this.handleSkinMouseOver(s),onMouseLeave:()=>this.handleSkinMouseOver(),class:"option flex flex-grow flex-middle",children:[ye("span",{class:`skin-tone skin-tone-${s}`}),ye("span",{class:"margin-small-lr",children:Aa.skins[s]})]})]})})})}render(){const t=this.props.perLine*this.props.emojiButtonSize;return ye("section",{id:"root",class:"flex flex-column",dir:this.dir,style:{width:this.props.dynamicWidth?"100%":`calc(${t}px + (var(--padding) + var(--sidebar-width)))`},"data-emoji-set":this.props.set,"data-theme":this.state.theme,"data-menu":this.state.showSkins?"":void 0,children:[this.props.previewPosition=="top"&&this.renderPreview(),this.props.navPosition=="top"&&this.renderNav(),this.props.searchPosition=="sticky"&&ye("div",{class:"padding-lr",children:this.renderSearch()}),ye("div",{ref:this.refs.scroll,class:"scroll flex-grow padding-lr",children:ye("div",{style:{width:this.props.dynamicWidth?"100%":t,height:"100%"},children:[this.props.searchPosition=="static"&&this.renderSearch(),this.renderSearchResults(),this.renderCategories()]})}),this.props.navPosition=="bottom"&&this.renderNav(),this.props.previewPosition=="bottom"&&this.renderPreview(),this.state.showSkins&&this.renderSkins(),this.renderLiveRegion()]})}constructor(t){super(),gr(this,"darkMediaCallback",()=>{this.props.theme=="auto"&&this.setState({theme:this.darkMedia.matches?"dark":"light"})}),gr(this,"handleClickOutside",n=>{const{element:a}=this.props;n.target!=a&&(this.state.showSkins&&this.closeSkins(),this.props.onClickOutside&&this.props.onClickOutside(n))}),gr(this,"handleBaseClick",n=>{this.state.showSkins&&(n.target.closest(".menu")||(n.preventDefault(),n.stopImmediatePropagation(),this.closeSkins()))}),gr(this,"handleBaseKeydown",n=>{this.state.showSkins&&n.key=="Escape"&&(n.preventDefault(),n.stopImmediatePropagation(),this.closeSkins())}),gr(this,"handleSearchClick",()=>{this.getEmojiByPos(this.state.pos)&&this.setState({pos:[-1,-1]})}),gr(this,"handleSearchInput",async()=>{const n=this.refs.searchInput.current;if(!n)return;const{value:a}=n,i=await ep.search(a),r=()=>{this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0)};if(!i)return this.setState({searchResults:i,pos:[-1,-1]},r);const s=n.selectionStart==n.value.length?[0,0]:[-1,-1],o=[];o.setsize=i.length;let c=null;for(let p of i)(!o.length||c.length==this.getPerLine())&&(c=[],c.__categoryId="search",c.__index=o.length,o.push(c)),c.push(p);this.ignoreMouse(),this.setState({searchResults:o,pos:s},r)}),gr(this,"handleSearchKeyDown",n=>{const a=n.currentTarget;switch(n.stopImmediatePropagation(),n.key){case"ArrowLeft":this.navigate({e:n,input:a,left:!0});break;case"ArrowRight":this.navigate({e:n,input:a,right:!0});break;case"ArrowUp":this.navigate({e:n,input:a,up:!0});break;case"ArrowDown":this.navigate({e:n,input:a,down:!0});break;case"Enter":n.preventDefault(),this.handleEmojiClick({e:n,pos:this.state.pos});break;case"Escape":n.preventDefault(),this.state.searchResults?this.clearSearch():this.unfocusSearch();break}}),gr(this,"clearSearch",()=>{const n=this.refs.searchInput.current;n&&(n.value="",n.focus(),this.handleSearchInput())}),gr(this,"handleCategoryClick",({category:n,i:a})=>{this.scrollTo(a==0?{row:-1}:{categoryId:n.id})}),gr(this,"openSkins",n=>{const{currentTarget:a}=n,i=a.getBoundingClientRect();this.setState({showSkins:i},async()=>{await Tet(2);const r=this.refs.menu.current;r&&(r.classList.remove("hidden"),this.refs.skinToneRadio.current.focus(),this.base.addEventListener("click",this.handleBaseClick,!0),this.base.addEventListener("keydown",this.handleBaseKeydown,!0))})}),this.observers=[],this.state={pos:[-1,-1],perLine:this.initDynamicPerLine(t),visibleRows:{0:!0},...this.getInitialState(t)}}}class tP extends Iet{async connectedCallback(){const t=EX(this.props,Lo,this);t.element=this,t.ref=n=>{this.component=n},await ab(t),!this.disconnected&&AX(ye(Yet,{...t}),this.shadowRoot)}constructor(t){super(t,{styles:uX(IX)})}}gr(tP,"Props",Lo);typeof customElements<"u"&&!customElements.get("em-emoji-picker")&&customElements.define("em-emoji-picker",tP);var IX={};IX=`:host {
|
|
566
566
|
width: min-content;
|
|
567
567
|
height: 435px;
|
|
568
568
|
min-height: 230px;
|