@shahmilsaari/memory-core 1.0.29 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-M7NKSXFS.js → chunk-4ZSVQMI7.js} +52 -0
- package/dist/{chunk-3XTHE74V.js → chunk-KNZ3JNHE.js} +235 -1
- package/dist/cli.js +6 -224
- package/dist/dashboard/assets/index-B5TFTqLb.js +2 -0
- package/dist/dashboard/assets/index-Cfkgvz08.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/{dashboard-server-DHSVWCCD.js → dashboard-server-FMKL4KZG.js} +212 -3
- package/dist/{db-PRDHI2CN.js → db-Y6BXHLRN.js} +9 -1
- package/package.json +7 -7
- package/dist/dashboard/assets/index-Dfy_F0p7.js +0 -2
- package/dist/dashboard/assets/index-Dj1JZCh6.css +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var uc=Object.defineProperty;var gn=t=>{throw TypeError(t)};var pc=(t,s,a)=>s in t?uc(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a;var ts=(t,s,a)=>pc(t,typeof s!="symbol"?s+"":s,a),Dr=(t,s,a)=>s.has(t)||gn("Cannot "+a);var f=(t,s,a)=>(Dr(t,s,"read from private field"),a?a.call(t):s.get(t)),oe=(t,s,a)=>s.has(t)?gn("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),pe=(t,s,a,r)=>(Dr(t,s,"write to private field"),r?r.call(t,a):s.set(t,a),a),Pe=(t,s,a)=>(Dr(t,s,"access private method"),a);(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function a(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=a(l);fetch(l.href,c)}})();const hc=!1;var Zr=Array.isArray,_c=Array.prototype.indexOf,_a=Array.prototype.includes,wr=Array.from,bc=Object.defineProperty,Da=Object.getOwnPropertyDescriptor,Hn=Object.getOwnPropertyDescriptors,mc=Object.prototype,gc=Array.prototype,el=Object.getPrototypeOf,yn=Object.isExtensible;const yc=()=>{};function wc(t){return t()}function Hr(t){for(var s=0;s<t.length;s++)t[s]()}function Bn(){var t,s,a=new Promise((r,l)=>{t=r,s=l});return{promise:a,resolve:t,reject:s}}const Et=2,ba=4,Ka=8,Vn=1<<24,us=16,ls=32,Vs=64,Br=128,zt=512,at=1024,gt=2048,ns=4096,Lt=8192,Gt=16384,oa=32768,wn=1<<25,ma=65536,Vr=1<<17,xc=1<<18,wa=1<<19,Wn=1<<20,fs=1<<25,aa=65536,_r=1<<21,Fa=1<<22,Hs=1<<23,Zs=Symbol("$state"),kc=Symbol(""),ys=new class extends Error{constructor(){super(...arguments);ts(this,"name","StaleReactionError");ts(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Ec(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Sc(t,s,a){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ac(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Tc(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Lc(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Cc(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Mc(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Rc(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Oc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Nc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Dc=1,Ic=2,Un=4,Pc=8,jc=16,qn=1,Fc=2,ht=Symbol(),Kn="http://www.w3.org/1999/xhtml";function $c(){console.warn("https://svelte.dev/e/derived_inert")}function Hc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Bc(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function zn(t){return t===this.v}function Vc(t,s){return t!=t?s==s:t!==s||t!==null&&typeof t=="object"||typeof t=="function"}function Gn(t){return!Vc(t,this.v)}let xr=!1,Wc=!1;function Uc(){xr=!0}let rt=null;function ga(t){rt=t}function Yn(t,s=!1,a){rt={p:rt,i:!1,c:null,e:null,s:t,x:null,r:he,l:xr&&!s?{s:null,u:null,$:[]}:null}}function Jn(t){var s=rt,a=s.e;if(a!==null){s.e=null;for(var r of a)hi(r)}return s.i=!0,rt=s.p,{}}function za(){return!xr||rt!==null&&rt.l===null}let Ks=[];function Xn(){var t=Ks;Ks=[],Hr(t)}function Bs(t){if(Ks.length===0&&!Ia){var s=Ks;queueMicrotask(()=>{s===Ks&&Xn()})}Ks.push(t)}function qc(){for(;Ks.length>0;)Xn()}function Qn(t){var s=he;if(s===null)return ge.f|=Hs,t;if(!(s.f&oa)&&!(s.f&ba))throw t;$s(t,s)}function $s(t,s){for(;s!==null;){if(s.f&Br){if(!(s.f&oa))throw t;try{s.b.error(t);return}catch(a){t=a}}s=s.parent}throw t}const Kc=-7169;function ze(t,s){t.f=t.f&Kc|s}function tl(t){t.f&zt||t.deps===null?ze(t,at):ze(t,ns)}function Zn(t){if(t!==null)for(const s of t)!(s.f&Et)||!(s.f&aa)||(s.f^=aa,Zn(s.deps))}function ei(t,s,a){t.f>?s.add(t):t.f&ns&&a.add(t),Zn(t.deps),ze(t,at)}const qs=new Set;let H=null,mt=null,Wr=null,Ia=!1,Ir=!1,va=null,cr=null;var xn=0;let zc=1;var da,fa,Gs,ws,cs,Ha,Pt,Ba,js,xs,vs,ua,pa,Ys,lt,vr,ti,dr,Ur,fr,Gc;const mr=class mr{constructor(){oe(this,lt);ts(this,"id",zc++);ts(this,"current",new Map);ts(this,"previous",new Map);oe(this,da,new Set);oe(this,fa,new Set);oe(this,Gs,new Set);oe(this,ws,new Map);oe(this,cs,new Map);oe(this,Ha,null);oe(this,Pt,[]);oe(this,Ba,[]);oe(this,js,new Set);oe(this,xs,new Set);oe(this,vs,new Map);oe(this,ua,new Set);ts(this,"is_fork",!1);oe(this,pa,!1);oe(this,Ys,new Set)}skip_effect(s){f(this,vs).has(s)||f(this,vs).set(s,{d:[],m:[]}),f(this,ua).delete(s)}unskip_effect(s,a=r=>this.schedule(r)){var r=f(this,vs).get(s);if(r){f(this,vs).delete(s);for(var l of r.d)ze(l,gt),a(l);for(l of r.m)ze(l,ns),a(l)}f(this,ua).add(s)}capture(s,a,r=!1){s.v!==ht&&!this.previous.has(s)&&this.previous.set(s,s.v),s.f&Hs||(this.current.set(s,[a,r]),mt==null||mt.set(s,a)),this.is_fork||(s.v=a)}activate(){H=this}deactivate(){H=null,mt=null}flush(){try{Ir=!0,H=this,Pe(this,lt,dr).call(this)}finally{xn=0,Wr=null,va=null,cr=null,Ir=!1,H=null,mt=null,ea.clear()}}discard(){for(const s of f(this,fa))s(this);f(this,fa).clear(),f(this,Gs).clear(),qs.delete(this)}register_created_effect(s){f(this,Ba).push(s)}increment(s,a){let r=f(this,ws).get(a)??0;if(f(this,ws).set(a,r+1),s){let l=f(this,cs).get(a)??0;f(this,cs).set(a,l+1)}}decrement(s,a,r){let l=f(this,ws).get(a)??0;if(l===1?f(this,ws).delete(a):f(this,ws).set(a,l-1),s){let c=f(this,cs).get(a)??0;c===1?f(this,cs).delete(a):f(this,cs).set(a,c-1)}f(this,pa)||r||(pe(this,pa,!0),Bs(()=>{pe(this,pa,!1),this.flush()}))}transfer_effects(s,a){for(const r of s)f(this,js).add(r);for(const r of a)f(this,xs).add(r);s.clear(),a.clear()}oncommit(s){f(this,da).add(s)}ondiscard(s){f(this,fa).add(s)}on_fork_commit(s){f(this,Gs).add(s)}run_fork_commit_callbacks(){for(const s of f(this,Gs))s(this);f(this,Gs).clear()}settled(){return(f(this,Ha)??pe(this,Ha,Bn())).promise}static ensure(){if(H===null){const s=H=new mr;Ir||(qs.add(H),Ia||Bs(()=>{H===s&&s.flush()}))}return H}apply(){{mt=null;return}}schedule(s){var l;if(Wr=s,(l=s.b)!=null&&l.is_pending&&s.f&(ba|Ka|Vn)&&!(s.f&oa)){s.b.defer_effect(s);return}for(var a=s;a.parent!==null;){a=a.parent;var r=a.f;if(va!==null&&a===he&&(ge===null||!(ge.f&Et)))return;if(r&(Vs|ls)){if(!(r&at))return;a.f^=at}}f(this,Pt).push(a)}};da=new WeakMap,fa=new WeakMap,Gs=new WeakMap,ws=new WeakMap,cs=new WeakMap,Ha=new WeakMap,Pt=new WeakMap,Ba=new WeakMap,js=new WeakMap,xs=new WeakMap,vs=new WeakMap,ua=new WeakMap,pa=new WeakMap,Ys=new WeakMap,lt=new WeakSet,vr=function(){return this.is_fork||f(this,cs).size>0},ti=function(){for(const r of f(this,Ys))for(const l of f(r,cs).keys()){for(var s=!1,a=l;a.parent!==null;){if(f(this,vs).has(a)){s=!0;break}a=a.parent}if(!s)return!0}return!1},dr=function(){var h,d;if(xn++>1e3&&(qs.delete(this),Jc()),!Pe(this,lt,vr).call(this)){for(const p of f(this,js))f(this,xs).delete(p),ze(p,gt),this.schedule(p);for(const p of f(this,xs))ze(p,ns),this.schedule(p)}const s=f(this,Pt);pe(this,Pt,[]),this.apply();var a=va=[],r=[],l=cr=[];for(const p of s)try{Pe(this,lt,Ur).call(this,p,a,r)}catch(x){throw ri(p),x}if(H=null,l.length>0){var c=mr.ensure();for(const p of l)c.schedule(p)}if(va=null,cr=null,Pe(this,lt,vr).call(this)||Pe(this,lt,ti).call(this)){Pe(this,lt,fr).call(this,r),Pe(this,lt,fr).call(this,a);for(const[p,x]of f(this,vs))ai(p,x)}else{f(this,ws).size===0&&qs.delete(this),f(this,js).clear(),f(this,xs).clear();for(const p of f(this,da))p(this);f(this,da).clear(),kn(r),kn(a),(h=f(this,Ha))==null||h.resolve()}var u=H;if(f(this,Pt).length>0){const p=u??(u=this);f(p,Pt).push(...f(this,Pt).filter(x=>!f(p,Pt).includes(x)))}u!==null&&(qs.add(u),Pe(d=u,lt,dr).call(d))},Ur=function(s,a,r){s.f^=at;for(var l=s.first;l!==null;){var c=l.f,u=(c&(ls|Vs))!==0,h=u&&(c&at)!==0,d=h||(c&Lt)!==0||f(this,vs).has(l);if(!d&&l.fn!==null){u?l.f^=at:c&ba?a.push(l):xa(l)&&(c&us&&f(this,xs).add(l),ia(l));var p=l.first;if(p!==null){l=p;continue}}for(;l!==null;){var x=l.next;if(x!==null){l=x;break}l=l.parent}}},fr=function(s){for(var a=0;a<s.length;a+=1)ei(s[a],f(this,js),f(this,xs))},Gc=function(){var x,D,T;for(const S of qs){var s=S.id<this.id,a=[];for(const[k,[V,A]]of this.current){if(S.current.has(k)){var r=S.current.get(k)[0];if(s&&V!==r)S.current.set(k,[V,A]);else continue}a.push(k)}var l=[...S.current.keys()].filter(k=>!this.current.has(k));if(l.length===0)s&&S.discard();else if(a.length>0){if(s)for(const k of f(this,ua))S.unskip_effect(k,V=>{var A;V.f&(us|Fa)?S.schedule(V):Pe(A=S,lt,fr).call(A,[V])});S.activate();var c=new Set,u=new Map;for(var h of a)si(h,l,c,u);u=new Map;var d=[...S.current.keys()].filter(k=>this.current.has(k)?this.current.get(k)[0]!==k:!0);for(const k of f(this,Ba))!(k.f&(Gt|Lt|Vr))&&sl(k,d,u)&&(k.f&(Fa|us)?(ze(k,gt),S.schedule(k)):f(S,js).add(k));if(f(S,Pt).length>0){S.apply();for(var p of f(S,Pt))Pe(x=S,lt,Ur).call(x,p,[],[]);pe(S,Pt,[])}S.deactivate()}}for(const S of qs)f(S,Ys).has(this)&&(f(S,Ys).delete(this),f(S,Ys).size===0&&!Pe(D=S,lt,vr).call(D)&&(S.activate(),Pe(T=S,lt,dr).call(T)))};let ra=mr;function Yc(t){var s=Ia;Ia=!0;try{for(var a;;){if(qc(),H===null)return a;H.flush()}}finally{Ia=s}}function Jc(){try{Cc()}catch(t){$s(t,Wr)}}let ss=null;function kn(t){var s=t.length;if(s!==0){for(var a=0;a<s;){var r=t[a++];if(!(r.f&(Gt|Lt))&&xa(r)&&(ss=new Set,ia(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&bi(r),(ss==null?void 0:ss.size)>0)){ea.clear();for(const l of ss){if(l.f&(Gt|Lt))continue;const c=[l];let u=l.parent;for(;u!==null;)ss.has(u)&&(ss.delete(u),c.push(u)),u=u.parent;for(let h=c.length-1;h>=0;h--){const d=c[h];d.f&(Gt|Lt)||ia(d)}}ss.clear()}}ss=null}}function si(t,s,a,r){if(!a.has(t)&&(a.add(t),t.reactions!==null))for(const l of t.reactions){const c=l.f;c&Et?si(l,s,a,r):c&(Fa|us)&&!(c>)&&sl(l,s,r)&&(ze(l,gt),al(l))}}function sl(t,s,a){const r=a.get(t);if(r!==void 0)return r;if(t.deps!==null)for(const l of t.deps){if(_a.call(s,l))return!0;if(l.f&Et&&sl(l,s,a))return a.set(l,!0),!0}return a.set(t,!1),!1}function al(t){H.schedule(t)}function ai(t,s){if(!(t.f&ls&&t.f&at)){t.f>?s.d.push(t):t.f&ns&&s.m.push(t),ze(t,at);for(var a=t.first;a!==null;)ai(a,s),a=a.next}}function ri(t){ze(t,at);for(var s=t.first;s!==null;)ri(s),s=s.next}function Xc(t){let s=0,a=la(0),r;return()=>{il()&&(e(a),Ya(()=>(s===0&&(r=v(()=>t(()=>Pa(a)))),s+=1,()=>{Bs(()=>{s-=1,s===0&&(r==null||r(),r=void 0,Pa(a))})})))}}var Qc=ma|wa;function Zc(t,s,a,r){new ev(t,s,a,r)}var Wt,Qr,Ut,Js,Mt,qt,Tt,jt,ks,Xs,Fs,ha,Va,Wa,Es,gr,Ge,tv,sv,av,qr,ur,pr,Kr,zr;class ev{constructor(s,a,r,l){oe(this,Ge);ts(this,"parent");ts(this,"is_pending",!1);ts(this,"transform_error");oe(this,Wt);oe(this,Qr,null);oe(this,Ut);oe(this,Js);oe(this,Mt);oe(this,qt,null);oe(this,Tt,null);oe(this,jt,null);oe(this,ks,null);oe(this,Xs,0);oe(this,Fs,0);oe(this,ha,!1);oe(this,Va,new Set);oe(this,Wa,new Set);oe(this,Es,null);oe(this,gr,Xc(()=>(pe(this,Es,la(f(this,Xs))),()=>{pe(this,Es,null)})));var c;pe(this,Wt,s),pe(this,Ut,a),pe(this,Js,u=>{var h=he;h.b=this,h.f|=Br,r(u)}),this.parent=he.b,this.transform_error=l??((c=this.parent)==null?void 0:c.transform_error)??(u=>u),pe(this,Mt,cl(()=>{Pe(this,Ge,qr).call(this)},Qc))}defer_effect(s){ei(s,f(this,Va),f(this,Wa))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!f(this,Ut).pending}update_pending_count(s,a){Pe(this,Ge,Kr).call(this,s,a),pe(this,Xs,f(this,Xs)+s),!(!f(this,Es)||f(this,ha))&&(pe(this,ha,!0),Bs(()=>{pe(this,ha,!1),f(this,Es)&&na(f(this,Es),f(this,Xs))}))}get_effect_pending(){return f(this,gr).call(this),e(f(this,Es))}error(s){if(!f(this,Ut).onerror&&!f(this,Ut).failed)throw s;H!=null&&H.is_fork?(f(this,qt)&&H.skip_effect(f(this,qt)),f(this,Tt)&&H.skip_effect(f(this,Tt)),f(this,jt)&&H.skip_effect(f(this,jt)),H.on_fork_commit(()=>{Pe(this,Ge,zr).call(this,s)})):Pe(this,Ge,zr).call(this,s)}}Wt=new WeakMap,Qr=new WeakMap,Ut=new WeakMap,Js=new WeakMap,Mt=new WeakMap,qt=new WeakMap,Tt=new WeakMap,jt=new WeakMap,ks=new WeakMap,Xs=new WeakMap,Fs=new WeakMap,ha=new WeakMap,Va=new WeakMap,Wa=new WeakMap,Es=new WeakMap,gr=new WeakMap,Ge=new WeakSet,tv=function(){try{pe(this,qt,Kt(()=>f(this,Js).call(this,f(this,Wt))))}catch(s){this.error(s)}},sv=function(s){const a=f(this,Ut).failed;a&&pe(this,jt,Kt(()=>{a(f(this,Wt),()=>s,()=>()=>{})}))},av=function(){const s=f(this,Ut).pending;s&&(this.is_pending=!0,pe(this,Tt,Kt(()=>s(f(this,Wt)))),Bs(()=>{var a=pe(this,ks,document.createDocumentFragment()),r=As();a.append(r),pe(this,qt,Pe(this,Ge,pr).call(this,()=>Kt(()=>f(this,Js).call(this,r)))),f(this,Fs)===0&&(f(this,Wt).before(a),pe(this,ks,null),ta(f(this,Tt),()=>{pe(this,Tt,null)}),Pe(this,Ge,ur).call(this,H))}))},qr=function(){try{if(this.is_pending=this.has_pending_snippet(),pe(this,Fs,0),pe(this,Xs,0),pe(this,qt,Kt(()=>{f(this,Js).call(this,f(this,Wt))})),f(this,Fs)>0){var s=pe(this,ks,document.createDocumentFragment());fl(f(this,qt),s);const a=f(this,Ut).pending;pe(this,Tt,Kt(()=>a(f(this,Wt))))}else Pe(this,Ge,ur).call(this,H)}catch(a){this.error(a)}},ur=function(s){this.is_pending=!1,s.transfer_effects(f(this,Va),f(this,Wa))},pr=function(s){var a=he,r=ge,l=rt;Xt(f(this,Mt)),Jt(f(this,Mt)),ga(f(this,Mt).ctx);try{return ra.ensure(),s()}catch(c){return Qn(c),null}finally{Xt(a),Jt(r),ga(l)}},Kr=function(s,a){var r;if(!this.has_pending_snippet()){this.parent&&Pe(r=this.parent,Ge,Kr).call(r,s,a);return}pe(this,Fs,f(this,Fs)+s),f(this,Fs)===0&&(Pe(this,Ge,ur).call(this,a),f(this,Tt)&&ta(f(this,Tt),()=>{pe(this,Tt,null)}),f(this,ks)&&(f(this,Wt).before(f(this,ks)),pe(this,ks,null)))},zr=function(s){f(this,qt)&&(Ot(f(this,qt)),pe(this,qt,null)),f(this,Tt)&&(Ot(f(this,Tt)),pe(this,Tt,null)),f(this,jt)&&(Ot(f(this,jt)),pe(this,jt,null));var a=f(this,Ut).onerror;let r=f(this,Ut).failed;var l=!1,c=!1;const u=()=>{if(l){Bc();return}l=!0,c&&Nc(),f(this,jt)!==null&&ta(f(this,jt),()=>{pe(this,jt,null)}),Pe(this,Ge,pr).call(this,()=>{Pe(this,Ge,qr).call(this)})},h=d=>{try{c=!0,a==null||a(d,u),c=!1}catch(p){$s(p,f(this,Mt)&&f(this,Mt).parent)}r&&pe(this,jt,Pe(this,Ge,pr).call(this,()=>{try{return Kt(()=>{var p=he;p.b=this,p.f|=Br,r(f(this,Wt),()=>d,()=>u)})}catch(p){return $s(p,f(this,Mt).parent),null}}))};Bs(()=>{var d;try{d=this.transform_error(s)}catch(p){$s(p,f(this,Mt)&&f(this,Mt).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(h,p=>$s(p,f(this,Mt)&&f(this,Mt).parent)):h(d)})};function rv(t,s,a,r){const l=za()?rl:At;var c=t.filter(T=>!T.settled);if(a.length===0&&c.length===0){r(s.map(l));return}var u=he,h=lv(),d=c.length===1?c[0].promise:c.length>1?Promise.all(c.map(T=>T.promise)):null;function p(T){h();try{r(T)}catch(S){u.f&Gt||$s(S,u)}br()}if(a.length===0){d.then(()=>p(s.map(l)));return}var x=li();function D(){Promise.all(a.map(T=>nv(T))).then(T=>p([...s.map(l),...T])).catch(T=>$s(T,u)).finally(()=>x())}d?d.then(()=>{h(),D(),br()}):D()}function lv(){var t=he,s=ge,a=rt,r=H;return function(c=!0){Xt(t),Jt(s),ga(a),c&&!(t.f&Gt)&&(r==null||r.activate(),r==null||r.apply())}}function br(t=!0){Xt(null),Jt(null),ga(null),t&&(H==null||H.deactivate())}function li(){var t=he,s=t.b,a=H,r=s.is_rendered();return s.update_pending_count(1,a),a.increment(r,t),(l=!1)=>{s.update_pending_count(-1,a),a.decrement(r,t,l)}}function rl(t){var s=Et|gt;return he!==null&&(he.f|=wa),{ctx:rt,deps:null,effects:null,equals:zn,f:s,fn:t,reactions:null,rv:0,v:ht,wv:0,parent:he,ac:null}}function nv(t,s,a){let r=he;r===null&&Ec();var l=void 0,c=la(ht),u=!ge,h=new Map;return yv(()=>{var S;var d=he,p=Bn();l=p.promise;try{Promise.resolve(t()).then(p.resolve,p.reject).finally(br)}catch(k){p.reject(k),br()}var x=H;if(u){if(d.f&oa)var D=li();if(r.b.is_rendered())(S=h.get(x))==null||S.reject(ys),h.delete(x);else{for(const k of h.values())k.reject(ys);h.clear()}h.set(x,p)}const T=(k,V=void 0)=>{if(D){var A=V===ys;D(A)}if(!(V===ys||d.f&Gt)){if(x.activate(),V)c.f|=Hs,na(c,V);else{c.f&Hs&&(c.f^=Hs),na(c,k);for(const[J,Le]of h){if(h.delete(J),J===x)break;Le.reject(ys)}}x.deactivate()}};p.promise.then(T,k=>T(null,k||"unknown"))}),ol(()=>{for(const d of h.values())d.reject(ys)}),new Promise(d=>{function p(x){function D(){x===l?d(c):p(l)}x.then(D,D)}p(l)})}function At(t){const s=rl(t);return s.equals=Gn,s}function iv(t){var s=t.effects;if(s!==null){t.effects=null;for(var a=0;a<s.length;a+=1)Ot(s[a])}}function ll(t){var s,a=he,r=t.parent;if(!Ws&&r!==null&&r.f&(Gt|Lt))return $c(),t.v;Xt(r);try{t.f&=~aa,iv(t),s=ki(t)}finally{Xt(a)}return s}function ni(t){var s=ll(t);if(!t.equals(s)&&(t.wv=wi(),(!(H!=null&&H.is_fork)||t.deps===null)&&(H!==null?H.capture(t,s,!0):t.v=s,t.deps===null))){ze(t,at);return}Ws||(mt!==null?(il()||H!=null&&H.is_fork)&&mt.set(t,s):tl(t))}function ov(t){var s,a;if(t.effects!==null)for(const r of t.effects)(r.teardown||r.ac)&&((s=r.teardown)==null||s.call(r),(a=r.ac)==null||a.abort(ys),r.teardown=yc,r.ac=null,$a(r,0),vl(r))}function ii(t){if(t.effects!==null)for(const s of t.effects)s.teardown&&ia(s)}let Gr=new Set;const ea=new Map;let oi=!1;function la(t,s){var a={f:0,v:t,reactions:null,equals:zn,rv:0,wv:0};return a}function Ns(t,s){const a=la(t);return Ev(a),a}function j(t,s=!1,a=!0){var l;const r=la(t);return s||(r.equals=Gn),xr&&a&&rt!==null&&rt.l!==null&&((l=rt.l).s??(l.s=[])).push(r),r}function ut(t,s){return g(t,v(()=>e(t))),s}function g(t,s,a=!1){ge!==null&&(!rs||ge.f&Vr)&&za()&&ge.f&(Et|us|Fa|Vr)&&(Yt===null||!_a.call(Yt,t))&&Oc();let r=a?Oa(s):s;return na(t,r,cr)}function na(t,s,a=null){if(!t.equals(s)){ea.set(t,Ws?s:t.v);var r=ra.ensure();if(r.capture(t,s),t.f&Et){const l=t;t.f>&&ll(l),mt===null&&tl(l)}t.wv=wi(),ci(t,gt,a),za()&&he!==null&&he.f&at&&!(he.f&(ls|Vs))&&(Vt===null?Sv([t]):Vt.push(t)),!r.is_fork&&Gr.size>0&&!oi&&cv()}return s}function cv(){oi=!1;for(const t of Gr)t.f&at&&ze(t,ns),xa(t)&&ia(t);Gr.clear()}function Pa(t){g(t,t.v+1)}function ci(t,s,a){var r=t.reactions;if(r!==null)for(var l=za(),c=r.length,u=0;u<c;u++){var h=r[u],d=h.f;if(!(!l&&h===he)){var p=(d>)===0;if(p&&ze(h,s),d&Et){var x=h;mt==null||mt.delete(x),d&aa||(d&zt&&(he===null||!(he.f&_r))&&(h.f|=aa),ci(x,ns,a))}else if(p){var D=h;d&us&&ss!==null&&ss.add(D),a!==null?a.push(D):al(D)}}}}function Oa(t){if(typeof t!="object"||t===null||Zs in t)return t;const s=el(t);if(s!==mc&&s!==gc)return t;var a=new Map,r=Zr(t),l=Ns(0),c=sa,u=h=>{if(sa===c)return h();var d=ge,p=sa;Jt(null),Cn(c);var x=h();return Jt(d),Cn(p),x};return r&&a.set("length",Ns(t.length)),new Proxy(t,{defineProperty(h,d,p){(!("value"in p)||p.configurable===!1||p.enumerable===!1||p.writable===!1)&&Mc();var x=a.get(d);return x===void 0?u(()=>{var D=Ns(p.value);return a.set(d,D),D}):g(x,p.value,!0),!0},deleteProperty(h,d){var p=a.get(d);if(p===void 0){if(d in h){const x=u(()=>Ns(ht));a.set(d,x),Pa(l)}}else g(p,ht),Pa(l);return!0},get(h,d,p){var S;if(d===Zs)return t;var x=a.get(d),D=d in h;if(x===void 0&&(!D||(S=Da(h,d))!=null&&S.writable)&&(x=u(()=>{var k=Oa(D?h[d]:ht),V=Ns(k);return V}),a.set(d,x)),x!==void 0){var T=e(x);return T===ht?void 0:T}return Reflect.get(h,d,p)},getOwnPropertyDescriptor(h,d){var p=Reflect.getOwnPropertyDescriptor(h,d);if(p&&"value"in p){var x=a.get(d);x&&(p.value=e(x))}else if(p===void 0){var D=a.get(d),T=D==null?void 0:D.v;if(D!==void 0&&T!==ht)return{enumerable:!0,configurable:!0,value:T,writable:!0}}return p},has(h,d){var T;if(d===Zs)return!0;var p=a.get(d),x=p!==void 0&&p.v!==ht||Reflect.has(h,d);if(p!==void 0||he!==null&&(!x||(T=Da(h,d))!=null&&T.writable)){p===void 0&&(p=u(()=>{var S=x?Oa(h[d]):ht,k=Ns(S);return k}),a.set(d,p));var D=e(p);if(D===ht)return!1}return x},set(h,d,p,x){var Ae;var D=a.get(d),T=d in h;if(r&&d==="length")for(var S=p;S<D.v;S+=1){var k=a.get(S+"");k!==void 0?g(k,ht):S in h&&(k=u(()=>Ns(ht)),a.set(S+"",k))}if(D===void 0)(!T||(Ae=Da(h,d))!=null&&Ae.writable)&&(D=u(()=>Ns(void 0)),g(D,Oa(p)),a.set(d,D));else{T=D.v!==ht;var V=u(()=>Oa(p));g(D,V)}var A=Reflect.getOwnPropertyDescriptor(h,d);if(A!=null&&A.set&&A.set.call(x,p),!T){if(r&&typeof d=="string"){var J=a.get("length"),Le=Number(d);Number.isInteger(Le)&&Le>=J.v&&g(J,Le+1)}Pa(l)}return!0},ownKeys(h){e(l);var d=Reflect.ownKeys(h).filter(D=>{var T=a.get(D);return T===void 0||T.v!==ht});for(var[p,x]of a)x.v!==ht&&!(p in h)&&d.push(p);return d},setPrototypeOf(){Rc()}})}function En(t){try{if(t!==null&&typeof t=="object"&&Zs in t)return t[Zs]}catch{}return t}function vv(t,s){return Object.is(En(t),En(s))}var Sn,vi,di,fi;function dv(){if(Sn===void 0){Sn=window,vi=/Firefox/.test(navigator.userAgent);var t=Element.prototype,s=Node.prototype,a=Text.prototype;di=Da(s,"firstChild").get,fi=Da(s,"nextSibling").get,yn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),yn(a)&&(a.__t=void 0)}}function As(t=""){return document.createTextNode(t)}function Ss(t){return di.call(t)}function Ga(t){return fi.call(t)}function i(t,s){return Ss(t)}function Be(t,s=!1){{var a=Ss(t);return a instanceof Comment&&a.data===""?Ga(a):a}}function o(t,s=1,a=!1){let r=t;for(;s--;)r=Ga(r);return r}function fv(t){t.textContent=""}function ui(){return!1}function uv(t,s,a){return document.createElementNS(Kn,t,void 0)}let An=!1;function pv(){An||(An=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var s;if(!t.defaultPrevented)for(const a of t.target.elements)(s=a.__on_r)==null||s.call(a)})},{capture:!0}))}function kr(t){var s=ge,a=he;Jt(null),Xt(null);try{return t()}finally{Jt(s),Xt(a)}}function nl(t,s,a,r=a){t.addEventListener(s,()=>kr(a));const l=t.__on_r;l?t.__on_r=()=>{l(),r(!0)}:t.__on_r=()=>r(!0),pv()}function pi(t){he===null&&(ge===null&&Lc(),Tc()),Ws&&Ac()}function hv(t,s){var a=s.last;a===null?s.last=s.first=t:(a.next=t,t.prev=a,s.last=t)}function ps(t,s){var a=he;a!==null&&a.f&Lt&&(t|=Lt);var r={ctx:rt,deps:null,nodes:null,f:t|gt|zt,first:null,fn:s,last:null,next:null,parent:a,b:a&&a.b,prev:null,teardown:null,wv:0,ac:null};H==null||H.register_created_effect(r);var l=r;if(t&ba)va!==null?va.push(r):ra.ensure().schedule(r);else if(s!==null){try{ia(r)}catch(u){throw Ot(r),u}l.deps===null&&l.teardown===null&&l.nodes===null&&l.first===l.last&&!(l.f&wa)&&(l=l.first,t&us&&t&ma&&l!==null&&(l.f|=ma))}if(l!==null&&(l.parent=a,a!==null&&hv(l,a),ge!==null&&ge.f&Et&&!(t&Vs))){var c=ge;(c.effects??(c.effects=[])).push(l)}return r}function il(){return ge!==null&&!rs}function ol(t){const s=ps(Ka,null);return ze(s,at),s.teardown=t,s}function Tn(t){pi();var s=he.f,a=!ge&&(s&ls)!==0&&(s&oa)===0;if(a){var r=rt;(r.e??(r.e=[])).push(t)}else return hi(t)}function hi(t){return ps(ba|Wn,t)}function _v(t){return pi(),ps(Ka|Wn,t)}function bv(t){ra.ensure();const s=ps(Vs|wa,t);return(a={})=>new Promise(r=>{a.outro?ta(s,()=>{Ot(s),r(void 0)}):(Ot(s),r(void 0))})}function mv(t){return ps(ba,t)}function Ke(t,s){var a=rt,r={effect:null,ran:!1,deps:t};a.l.$.push(r),r.effect=Ya(()=>{if(t(),!r.ran){r.ran=!0;var l=he;try{Xt(l.parent),v(s)}finally{Xt(l)}}})}function gv(){var t=rt;Ya(()=>{for(var s of t.l.$){s.deps();var a=s.effect;a.f&at&&a.deps!==null&&ze(a,ns),xa(a)&&ia(a),s.ran=!1}})}function yv(t){return ps(Fa|wa,t)}function Ya(t,s=0){return ps(Ka|s,t)}function P(t,s=[],a=[],r=[]){rv(r,s,a,l=>{ps(Ka,()=>t(...l.map(e)))})}function cl(t,s=0){var a=ps(us|s,t);return a}function Kt(t){return ps(ls|wa,t)}function _i(t){var s=t.teardown;if(s!==null){const a=Ws,r=ge;Ln(!0),Jt(null);try{s.call(null)}finally{Ln(a),Jt(r)}}}function vl(t,s=!1){var a=t.first;for(t.first=t.last=null;a!==null;){const l=a.ac;l!==null&&kr(()=>{l.abort(ys)});var r=a.next;a.f&Vs?a.parent=null:Ot(a,s),a=r}}function wv(t){for(var s=t.first;s!==null;){var a=s.next;s.f&ls||Ot(s),s=a}}function Ot(t,s=!0){var a=!1;(s||t.f&xc)&&t.nodes!==null&&t.nodes.end!==null&&(xv(t.nodes.start,t.nodes.end),a=!0),ze(t,wn),vl(t,s&&!a),$a(t,0);var r=t.nodes&&t.nodes.t;if(r!==null)for(const c of r)c.stop();_i(t),t.f^=wn,t.f|=Gt;var l=t.parent;l!==null&&l.first!==null&&bi(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function xv(t,s){for(;t!==null;){var a=t===s?null:Ga(t);t.remove(),t=a}}function bi(t){var s=t.parent,a=t.prev,r=t.next;a!==null&&(a.next=r),r!==null&&(r.prev=a),s!==null&&(s.first===t&&(s.first=r),s.last===t&&(s.last=a))}function ta(t,s,a=!0){var r=[];mi(t,r,!0);var l=()=>{a&&Ot(t),s&&s()},c=r.length;if(c>0){var u=()=>--c||l();for(var h of r)h.out(u)}else l()}function mi(t,s,a){if(!(t.f&Lt)){t.f^=Lt;var r=t.nodes&&t.nodes.t;if(r!==null)for(const h of r)(h.is_global||a)&&s.push(h);for(var l=t.first;l!==null;){var c=l.next;if(!(l.f&Vs)){var u=(l.f&ma)!==0||(l.f&ls)!==0&&(t.f&us)!==0;mi(l,s,u?a:!1)}l=c}}}function dl(t){gi(t,!0)}function gi(t,s){if(t.f&Lt){t.f^=Lt,t.f&at||(ze(t,gt),ra.ensure().schedule(t));for(var a=t.first;a!==null;){var r=a.next,l=(a.f&ma)!==0||(a.f&ls)!==0;gi(a,l?s:!1),a=r}var c=t.nodes&&t.nodes.t;if(c!==null)for(const u of c)(u.is_global||s)&&u.in()}}function fl(t,s){if(t.nodes)for(var a=t.nodes.start,r=t.nodes.end;a!==null;){var l=a===r?null:Ga(a);s.append(a),a=l}}let Ps=null;function kv(t){var s=Ps;try{if(Ps=new Set,v(t),s!==null)for(var a of Ps)s.add(a);return Ps}finally{Ps=s}}function Ma(t){for(var s of kv(t))na(s,s.v)}let hr=!1,Ws=!1;function Ln(t){Ws=t}let ge=null,rs=!1;function Jt(t){ge=t}let he=null;function Xt(t){he=t}let Yt=null;function Ev(t){ge!==null&&(Yt===null?Yt=[t]:Yt.push(t))}let Rt=null,It=0,Vt=null;function Sv(t){Vt=t}let yi=1,zs=0,sa=zs;function Cn(t){sa=t}function wi(){return++yi}function xa(t){var s=t.f;if(s>)return!0;if(s&Et&&(t.f&=~aa),s&ns){for(var a=t.deps,r=a.length,l=0;l<r;l++){var c=a[l];if(xa(c)&&ni(c),c.wv>t.wv)return!0}s&zt&&mt===null&&ze(t,at)}return!1}function xi(t,s,a=!0){var r=t.reactions;if(r!==null&&!(Yt!==null&&_a.call(Yt,t)))for(var l=0;l<r.length;l++){var c=r[l];c.f&Et?xi(c,s,!1):s===c&&(a?ze(c,gt):c.f&at&&ze(c,ns),al(c))}}function ki(t){var V;var s=Rt,a=It,r=Vt,l=ge,c=Yt,u=rt,h=rs,d=sa,p=t.f;Rt=null,It=0,Vt=null,ge=p&(ls|Vs)?null:t,Yt=null,ga(t.ctx),rs=!1,sa=++zs,t.ac!==null&&(kr(()=>{t.ac.abort(ys)}),t.ac=null);try{t.f|=_r;var x=t.fn,D=x();t.f|=oa;var T=t.deps,S=H==null?void 0:H.is_fork;if(Rt!==null){var k;if(S||$a(t,It),T!==null&&It>0)for(T.length=It+Rt.length,k=0;k<Rt.length;k++)T[It+k]=Rt[k];else t.deps=T=Rt;if(il()&&t.f&zt)for(k=It;k<T.length;k++)((V=T[k]).reactions??(V.reactions=[])).push(t)}else!S&&T!==null&&It<T.length&&($a(t,It),T.length=It);if(za()&&Vt!==null&&!rs&&T!==null&&!(t.f&(Et|ns|gt)))for(k=0;k<Vt.length;k++)xi(Vt[k],t);if(l!==null&&l!==t){if(zs++,l.deps!==null)for(let A=0;A<a;A+=1)l.deps[A].rv=zs;if(s!==null)for(const A of s)A.rv=zs;Vt!==null&&(r===null?r=Vt:r.push(...Vt))}return t.f&Hs&&(t.f^=Hs),D}catch(A){return Qn(A)}finally{t.f^=_r,Rt=s,It=a,Vt=r,ge=l,Yt=c,ga(u),rs=h,sa=d}}function Av(t,s){let a=s.reactions;if(a!==null){var r=_c.call(a,t);if(r!==-1){var l=a.length-1;l===0?a=s.reactions=null:(a[r]=a[l],a.pop())}}if(a===null&&s.f&Et&&(Rt===null||!_a.call(Rt,s))){var c=s;c.f&zt&&(c.f^=zt,c.f&=~aa),c.v!==ht&&tl(c),ov(c),$a(c,0)}}function $a(t,s){var a=t.deps;if(a!==null)for(var r=s;r<a.length;r++)Av(t,a[r])}function ia(t){var s=t.f;if(!(s&Gt)){ze(t,at);var a=he,r=hr;he=t,hr=!0;try{s&(us|Vn)?wv(t):vl(t),_i(t);var l=ki(t);t.teardown=typeof l=="function"?l:null,t.wv=yi;var c;hc&&Wc&&t.f>&&t.deps}finally{hr=r,he=a}}}async function Tv(){await Promise.resolve(),Yc()}function e(t){var s=t.f,a=(s&Et)!==0;if(Ps==null||Ps.add(t),ge!==null&&!rs){var r=he!==null&&(he.f&Gt)!==0;if(!r&&(Yt===null||!_a.call(Yt,t))){var l=ge.deps;if(ge.f&_r)t.rv<zs&&(t.rv=zs,Rt===null&&l!==null&&l[It]===t?It++:Rt===null?Rt=[t]:Rt.push(t));else{(ge.deps??(ge.deps=[])).push(t);var c=t.reactions;c===null?t.reactions=[ge]:_a.call(c,ge)||c.push(ge)}}}if(Ws&&ea.has(t))return ea.get(t);if(a){var u=t;if(Ws){var h=u.v;return(!(u.f&at)&&u.reactions!==null||Si(u))&&(h=ll(u)),ea.set(u,h),h}var d=(u.f&zt)===0&&!rs&&ge!==null&&(hr||(ge.f&zt)!==0),p=(u.f&oa)===0;xa(u)&&(d&&(u.f|=zt),ni(u)),d&&!p&&(ii(u),Ei(u))}if(mt!=null&&mt.has(t))return mt.get(t);if(t.f&Hs)throw t.v;return t.v}function Ei(t){if(t.f|=zt,t.deps!==null)for(const s of t.deps)(s.reactions??(s.reactions=[])).push(t),s.f&Et&&!(s.f&zt)&&(ii(s),Ei(s))}function Si(t){if(t.v===ht)return!0;if(t.deps===null)return!1;for(const s of t.deps)if(ea.has(s)||s.f&Et&&Si(s))return!0;return!1}function v(t){var s=rs;try{return rs=!0,t()}finally{rs=s}}function pt(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(Zs in t)Yr(t);else if(!Array.isArray(t))for(let s in t){const a=t[s];typeof a=="object"&&a&&Zs in a&&Yr(a)}}}function Yr(t,s=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!s.has(t)){s.add(t),t instanceof Date&&t.getTime();for(let r in t)try{Yr(t[r],s)}catch{}const a=el(t);if(a!==Object.prototype&&a!==Array.prototype&&a!==Map.prototype&&a!==Set.prototype&&a!==Date.prototype){const r=Hn(a);for(let l in r){const c=r[l].get;if(c)try{c.call(t)}catch{}}}}}const Lv=["touchstart","touchmove"];function Cv(t){return Lv.includes(t)}const nr=Symbol("events"),Mv=new Set,Mn=new Set;function Rv(t,s,a,r={}){function l(c){if(r.capture||Jr.call(s,c),!c.cancelBubble)return kr(()=>a==null?void 0:a.call(this,c))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Bs(()=>{s.addEventListener(t,l,r)}):s.addEventListener(t,l,r),l}function U(t,s,a,r,l){var c={capture:r,passive:l},u=Rv(t,s,a,c);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&ol(()=>{s.removeEventListener(t,u,c)})}let Rn=null;function Jr(t){var A,J;var s=this,a=s.ownerDocument,r=t.type,l=((A=t.composedPath)==null?void 0:A.call(t))||[],c=l[0]||t.target;Rn=t;var u=0,h=Rn===t&&t[nr];if(h){var d=l.indexOf(h);if(d!==-1&&(s===document||s===window)){t[nr]=s;return}var p=l.indexOf(s);if(p===-1)return;d<=p&&(u=d)}if(c=l[u]||t.target,c!==s){bc(t,"currentTarget",{configurable:!0,get(){return c||a}});var x=ge,D=he;Jt(null),Xt(null);try{for(var T,S=[];c!==null;){var k=c.assignedSlot||c.parentNode||c.host||null;try{var V=(J=c[nr])==null?void 0:J[r];V!=null&&(!c.disabled||t.target===c)&&V.call(c,t)}catch(Le){T?S.push(Le):T=Le}if(t.cancelBubble||k===s||k===null)break;c=k}if(T){for(let Le of S)queueMicrotask(()=>{throw Le});throw T}}finally{t[nr]=s,delete t.currentTarget,Jt(x),Xt(D)}}}var Fn;const Pr=((Fn=globalThis==null?void 0:globalThis.window)==null?void 0:Fn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Ov(t){return(Pr==null?void 0:Pr.createHTML(t))??t}function Ai(t){var s=uv("template");return s.innerHTML=Ov(t.replaceAll("<!>","<!---->")),s.content}function ya(t,s){var a=he;a.nodes===null&&(a.nodes={start:t,end:s,a:null,t:null})}function M(t,s){var a=(s&qn)!==0,r=(s&Fc)!==0,l,c=!t.startsWith("<!>");return()=>{l===void 0&&(l=Ai(c?t:"<!>"+t),a||(l=Ss(l)));var u=r||vi?document.importNode(l,!0):l.cloneNode(!0);if(a){var h=Ss(u),d=u.lastChild;ya(h,d)}else ya(u,u);return u}}function Nv(t,s,a="svg"){var r=!t.startsWith("<!>"),l=(s&qn)!==0,c=`<${a}>${r?t:"<!>"+t}</${a}>`,u;return()=>{if(!u){var h=Ai(c),d=Ss(h);if(l)for(u=document.createDocumentFragment();Ss(d);)u.appendChild(Ss(d));else u=Ss(d)}var p=u.cloneNode(!0);if(l){var x=Ss(p),D=p.lastChild;ya(x,D)}else ya(p,p);return p}}function hs(t,s){return Nv(t,s,"svg")}function os(t=""){{var s=As(t+"");return ya(s,s),s}}function gs(){var t=document.createDocumentFragment(),s=document.createComment(""),a=As();return t.append(s,a),ya(s,a),t}function w(t,s){t!==null&&t.before(s)}function y(t,s){var a=s==null?"":typeof s=="object"?`${s}`:s;a!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=a,t.nodeValue=`${a}`)}function Dv(t,s){return Iv(t,s)}const ir=new Map;function Iv(t,{target:s,anchor:a,props:r={},events:l,context:c,intro:u=!0,transformError:h}){dv();var d=void 0,p=bv(()=>{var x=a??s.appendChild(As());Zc(x,{pending:()=>{}},S=>{Yn({});var k=rt;c&&(k.c=c),l&&(r.$$events=l),d=t(S,r)||{},Jn()},h);var D=new Set,T=S=>{for(var k=0;k<S.length;k++){var V=S[k];if(!D.has(V)){D.add(V);var A=Cv(V);for(const Ae of[s,document]){var J=ir.get(Ae);J===void 0&&(J=new Map,ir.set(Ae,J));var Le=J.get(V);Le===void 0?(Ae.addEventListener(V,Jr,{passive:A}),J.set(V,1)):J.set(V,Le+1)}}}};return T(wr(Mv)),Mn.add(T),()=>{var A;for(var S of D)for(const J of[s,document]){var k=ir.get(J),V=k.get(S);--V==0?(J.removeEventListener(S,Jr),k.delete(S),k.size===0&&ir.delete(J)):k.set(S,V)}Mn.delete(T),x!==a&&((A=x.parentNode)==null||A.removeChild(x))}});return Pv.set(d,p),d}let Pv=new WeakMap;var as,ds,Ft,Qs,Ua,qa,yr;class jv{constructor(s,a=!0){ts(this,"anchor");oe(this,as,new Map);oe(this,ds,new Map);oe(this,Ft,new Map);oe(this,Qs,new Set);oe(this,Ua,!0);oe(this,qa,s=>{if(f(this,as).has(s)){var a=f(this,as).get(s),r=f(this,ds).get(a);if(r)dl(r),f(this,Qs).delete(a);else{var l=f(this,Ft).get(a);l&&(f(this,ds).set(a,l.effect),f(this,Ft).delete(a),l.fragment.lastChild.remove(),this.anchor.before(l.fragment),r=l.effect)}for(const[c,u]of f(this,as)){if(f(this,as).delete(c),c===s)break;const h=f(this,Ft).get(u);h&&(Ot(h.effect),f(this,Ft).delete(u))}for(const[c,u]of f(this,ds)){if(c===a||f(this,Qs).has(c))continue;const h=()=>{if(Array.from(f(this,as).values()).includes(c)){var p=document.createDocumentFragment();fl(u,p),p.append(As()),f(this,Ft).set(c,{effect:u,fragment:p})}else Ot(u);f(this,Qs).delete(c),f(this,ds).delete(c)};f(this,Ua)||!r?(f(this,Qs).add(c),ta(u,h,!1)):h()}}});oe(this,yr,s=>{f(this,as).delete(s);const a=Array.from(f(this,as).values());for(const[r,l]of f(this,Ft))a.includes(r)||(Ot(l.effect),f(this,Ft).delete(r))});this.anchor=s,pe(this,Ua,a)}ensure(s,a){var r=H,l=ui();if(a&&!f(this,ds).has(s)&&!f(this,Ft).has(s))if(l){var c=document.createDocumentFragment(),u=As();c.append(u),f(this,Ft).set(s,{effect:Kt(()=>a(u)),fragment:c})}else f(this,ds).set(s,Kt(()=>a(this.anchor)));if(f(this,as).set(r,s),l){for(const[h,d]of f(this,ds))h===s?r.unskip_effect(d):r.skip_effect(d);for(const[h,d]of f(this,Ft))h===s?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(f(this,qa)),r.ondiscard(f(this,yr))}else f(this,qa).call(this,r)}}as=new WeakMap,ds=new WeakMap,Ft=new WeakMap,Qs=new WeakMap,Ua=new WeakMap,qa=new WeakMap,yr=new WeakMap;function B(t,s,a=!1){var r=new jv(t),l=a?ma:0;function c(u,h){r.ensure(u,h)}cl(()=>{var u=!1;s((h,d=0)=>{u=!0,c(d,h)}),u||c(-1,null)},l)}function bt(t,s){return s}function Fv(t,s,a){for(var r=[],l=s.length,c,u=s.length,h=0;h<l;h++){let D=s[h];ta(D,()=>{if(c){if(c.pending.delete(D),c.done.add(D),c.pending.size===0){var T=t.outrogroups;Xr(t,wr(c.done)),T.delete(c),T.size===0&&(t.outrogroups=null)}}else u-=1},!1)}if(u===0){var d=r.length===0&&a!==null;if(d){var p=a,x=p.parentNode;fv(x),x.append(p),t.items.clear()}Xr(t,s,!d)}else c={pending:new Set(s),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(c)}function Xr(t,s,a=!0){var r;if(t.pending.size>0){r=new Set;for(const u of t.pending.values())for(const h of u)r.add(t.items.get(h).e)}for(var l=0;l<s.length;l++){var c=s[l];if(r!=null&&r.has(c)){c.f|=fs;const u=document.createDocumentFragment();fl(c,u)}else Ot(s[l],a)}}var On;function Qe(t,s,a,r,l,c=null){var u=t,h=new Map,d=(s&Un)!==0;if(d){var p=t;u=p.appendChild(As())}var x=null,D=At(()=>{var Ae=a();return Zr(Ae)?Ae:Ae==null?[]:wr(Ae)}),T,S=new Map,k=!0;function V(Ae){Le.effect.f&Gt||(Le.pending.delete(Ae),Le.fallback=x,$v(Le,T,u,s,r),x!==null&&(T.length===0?x.f&fs?(x.f^=fs,Na(x,null,u)):dl(x):ta(x,()=>{x=null})))}function A(Ae){Le.pending.delete(Ae)}var J=cl(()=>{T=e(D);for(var Ae=T.length,yt=new Set,it=H,Nt=ui(),_=0;_<Ae;_+=1){var wt=T[_],Qt=r(wt,_),ot=k?null:h.get(Qt);ot?(ot.v&&na(ot.v,wt),ot.i&&na(ot.i,_),Nt&&it.unskip_effect(ot.e)):(ot=Hv(h,k?u:On??(On=As()),wt,Qt,_,l,s,a),k||(ot.e.f|=fs),h.set(Qt,ot)),yt.add(Qt)}if(Ae===0&&c&&!x&&(k?x=Kt(()=>c(u)):(x=Kt(()=>c(On??(On=As()))),x.f|=fs)),Ae>yt.size&&Sc(),!k)if(S.set(it,yt),Nt){for(const[_s,is]of h)yt.has(_s)||it.skip_effect(is.e);it.oncommit(V),it.ondiscard(A)}else V(it);e(D)}),Le={effect:J,items:h,pending:S,outrogroups:null,fallback:x};k=!1}function Ra(t){for(;t!==null&&!(t.f&ls);)t=t.next;return t}function $v(t,s,a,r,l){var ot,_s,is,$t,Ve,Ye,ct,bs,ka;var c=(r&Pc)!==0,u=s.length,h=t.items,d=Ra(t.effect.first),p,x=null,D,T=[],S=[],k,V,A,J;if(c)for(J=0;J<u;J+=1)k=s[J],V=l(k,J),A=h.get(V).e,A.f&fs||((_s=(ot=A.nodes)==null?void 0:ot.a)==null||_s.measure(),(D??(D=new Set)).add(A));for(J=0;J<u;J+=1){if(k=s[J],V=l(k,J),A=h.get(V).e,t.outrogroups!==null)for(const xt of t.outrogroups)xt.pending.delete(A),xt.done.delete(A);if(A.f&Lt&&(dl(A),c&&(($t=(is=A.nodes)==null?void 0:is.a)==null||$t.unfix(),(D??(D=new Set)).delete(A))),A.f&fs)if(A.f^=fs,A===d)Na(A,null,a);else{var Le=x?x.next:d;A===t.effect.last&&(t.effect.last=A.prev),A.prev&&(A.prev.next=A.next),A.next&&(A.next.prev=A.prev),Ds(t,x,A),Ds(t,A,Le),Na(A,Le,a),x=A,T=[],S=[],d=Ra(x.next);continue}if(A!==d){if(p!==void 0&&p.has(A)){if(T.length<S.length){var Ae=S[0],yt;x=Ae.prev;var it=T[0],Nt=T[T.length-1];for(yt=0;yt<T.length;yt+=1)Na(T[yt],Ae,a);for(yt=0;yt<S.length;yt+=1)p.delete(S[yt]);Ds(t,it.prev,Nt.next),Ds(t,x,it),Ds(t,Nt,Ae),d=Ae,x=Nt,J-=1,T=[],S=[]}else p.delete(A),Na(A,d,a),Ds(t,A.prev,A.next),Ds(t,A,x===null?t.effect.first:x.next),Ds(t,x,A),x=A;continue}for(T=[],S=[];d!==null&&d!==A;)(p??(p=new Set)).add(d),S.push(d),d=Ra(d.next);if(d===null)continue}A.f&fs||T.push(A),x=A,d=Ra(A.next)}if(t.outrogroups!==null){for(const xt of t.outrogroups)xt.pending.size===0&&(Xr(t,wr(xt.done)),(Ve=t.outrogroups)==null||Ve.delete(xt));t.outrogroups.size===0&&(t.outrogroups=null)}if(d!==null||p!==void 0){var _=[];if(p!==void 0)for(A of p)A.f&Lt||_.push(A);for(;d!==null;)!(d.f&Lt)&&d!==t.fallback&&_.push(d),d=Ra(d.next);var wt=_.length;if(wt>0){var Qt=r&Un&&u===0?a:null;if(c){for(J=0;J<wt;J+=1)(ct=(Ye=_[J].nodes)==null?void 0:Ye.a)==null||ct.measure();for(J=0;J<wt;J+=1)(ka=(bs=_[J].nodes)==null?void 0:bs.a)==null||ka.fix()}Fv(t,_,Qt)}}c&&Bs(()=>{var xt,We;if(D!==void 0)for(A of D)(We=(xt=A.nodes)==null?void 0:xt.a)==null||We.apply()})}function Hv(t,s,a,r,l,c,u,h){var d=u&Dc?u&jc?la(a):j(a,!1,!1):null,p=u&Ic?la(l):null;return{v:d,i:p,e:Kt(()=>(c(s,d??a,p??l,h),()=>{t.delete(r)}))}}function Na(t,s,a){if(t.nodes)for(var r=t.nodes.start,l=t.nodes.end,c=s&&!(s.f&fs)?s.nodes.start:a;r!==null;){var u=Ga(r);if(c.before(r),r===l)return;r=u}}function Ds(t,s,a){s===null?t.effect.first=a:s.next=a,a===null?t.effect.last=s:a.prev=s}const Nn=[...`
|
|
2
|
+
\r\f \v\uFEFF`];function Bv(t,s,a){var r=t==null?"":""+t;if(s&&(r=r?r+" "+s:s),a){for(var l of Object.keys(a))if(a[l])r=r?r+" "+l:l;else if(r.length)for(var c=l.length,u=0;(u=r.indexOf(l,u))>=0;){var h=u+c;(u===0||Nn.includes(r[u-1]))&&(h===r.length||Nn.includes(r[h]))?r=(u===0?"":r.substring(0,u))+r.substring(h+1):u=h}}return r===""?null:r}function Vv(t,s){return t==null?null:String(t)}function ye(t,s,a,r,l,c){var u=t.__className;if(u!==a||u===void 0){var h=Bv(a,r,c);h==null?t.removeAttribute("class"):s?t.className=h:t.setAttribute("class",h),t.__className=a}else if(c&&l!==c)for(var d in c){var p=!!c[d];(l==null||p!==!!l[d])&&t.classList.toggle(d,p)}return c}function or(t,s,a,r){var l=t.__style;if(l!==s){var c=Vv(s);c==null?t.removeAttribute("style"):t.style.cssText=c,t.__style=s}return r}function Ti(t,s,a=!1){if(t.multiple){if(s==null)return;if(!Zr(s))return Hc();for(var r of t.options)r.selected=s.includes(ja(r));return}for(r of t.options){var l=ja(r);if(vv(l,s)){r.selected=!0;return}}(!a||s!==void 0)&&(t.selectedIndex=-1)}function Wv(t){var s=new MutationObserver(()=>{Ti(t,t.__value)});s.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),ol(()=>{s.disconnect()})}function Is(t,s,a=s){var r=new WeakSet,l=!0;nl(t,"change",c=>{var u=c?"[selected]":":checked",h;if(t.multiple)h=[].map.call(t.querySelectorAll(u),ja);else{var d=t.querySelector(u)??t.querySelector("option:not([disabled])");h=d&&ja(d)}a(h),t.__value=h,H!==null&&r.add(H)}),mv(()=>{var c=s();if(t===document.activeElement){var u=H;if(r.has(u))return}if(Ti(t,c,l),l&&c===void 0){var h=t.querySelector(":checked");h!==null&&(c=ja(h),a(c))}t.__value=c,l=!1}),Wv(t)}function ja(t){return"__value"in t?t.__value:t.value}const Uv=Symbol("is custom element"),qv=Symbol("is html");function le(t,s,a,r){var l=Kv(t);l[s]!==(l[s]=a)&&(s==="loading"&&(t[kc]=a),a==null?t.removeAttribute(s):typeof a!="string"&&zv(t).includes(s)?t[s]=a:t.setAttribute(s,a))}function Kv(t){return t.__attributes??(t.__attributes={[Uv]:t.nodeName.includes("-"),[qv]:t.namespaceURI===Kn})}var Dn=new Map;function zv(t){var s=t.getAttribute("is")||t.nodeName,a=Dn.get(s);if(a)return a;Dn.set(s,a=[]);for(var r,l=t,c=Element.prototype;c!==l;){r=Hn(l);for(var u in r)r[u].set&&a.push(u);l=el(l)}return a}function Ct(t,s,a=s){var r=new WeakSet;nl(t,"input",async l=>{var c=l?t.defaultValue:t.value;if(c=jr(t)?Fr(c):c,a(c),H!==null&&r.add(H),await Tv(),c!==(c=s())){var u=t.selectionStart,h=t.selectionEnd,d=t.value.length;if(t.value=c??"",h!==null){var p=t.value.length;u===h&&h===d&&p>d?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=u,t.selectionEnd=Math.min(h,p))}}}),v(s)==null&&t.value&&(a(jr(t)?Fr(t.value):t.value),H!==null&&r.add(H)),Ya(()=>{var l=s();if(t===document.activeElement){var c=H;if(r.has(c))return}jr(t)&&l===Fr(t.value)||t.type==="date"&&!l&&!t.value||l!==t.value&&(t.value=l??"")})}function In(t,s,a=s){nl(t,"change",r=>{var l=r?t.defaultChecked:t.checked;a(l)}),v(s)==null&&a(t.checked),Ya(()=>{var r=s();t.checked=!!r})}function jr(t){var s=t.type;return s==="number"||s==="range"}function Fr(t){return t===""?null:+t}function Pn(t){return function(...s){var a=s[0];a.target===this&&(t==null||t.apply(this,s))}}function Gv(t){return function(...s){var a=s[0];return a.stopPropagation(),t==null?void 0:t.apply(this,s)}}function $r(t){return function(...s){var a=s[0];return a.preventDefault(),t==null?void 0:t.apply(this,s)}}function Yv(t=!1){const s=rt,a=s.l.u;if(!a)return;let r=()=>pt(s.s);if(t){let l=0,c={};const u=rl(()=>{let h=!1;const d=s.s;for(const p in d)d[p]!==c[p]&&(c[p]=d[p],h=!0);return h&&l++,l});r=()=>e(u)}a.b.length&&_v(()=>{jn(s,r),Hr(a.b)}),Tn(()=>{const l=v(()=>a.m.map(wc));return()=>{for(const c of l)typeof c=="function"&&c()}}),a.a.length&&Tn(()=>{jn(s,r),Hr(a.a)})}function jn(t,s){if(t.l.s)for(const a of t.l.s)e(a);s()}const Jv="5";var $n;typeof window<"u"&&(($n=window.__svelte??(window.__svelte={})).v??($n.v=new Set)).add(Jv);Uc();var Xv=M('<span class="topbar-arch-pill svelte-d3ct2b"> </span>'),Qv=hs('<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="5" class="svelte-d3ct2b"></circle><line x1="12" y1="1" x2="12" y2="3" class="svelte-d3ct2b"></line><line x1="12" y1="21" x2="12" y2="23" class="svelte-d3ct2b"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" class="svelte-d3ct2b"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" class="svelte-d3ct2b"></line><line x1="1" y1="12" x2="3" y2="12" class="svelte-d3ct2b"></line><line x1="21" y1="12" x2="23" y2="12" class="svelte-d3ct2b"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" class="svelte-d3ct2b"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" class="svelte-d3ct2b"></line></svg>'),Zv=hs('<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" class="svelte-d3ct2b"></path></svg>'),ed=M('<span class="side-badge svelte-d3ct2b"> </span>'),td=M('<span class="side-badge svelte-d3ct2b"> </span>'),sd=M('<div class="health-badge health-warn svelte-d3ct2b"><i class="dot dot-warn svelte-d3ct2b"></i> <span class="svelte-d3ct2b"> </span></div>'),ad=M('<div><i></i> <span class="svelte-d3ct2b"> </span></div>'),rd=M('<span class="health-error svelte-d3ct2b"> </span>'),ld=M('<span class="health-error svelte-d3ct2b"> </span>'),nd=hs('<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" class="svelte-d3ct2b"><polygon points="5 3 19 12 5 21 5 3" class="svelte-d3ct2b"></polygon></svg>'),id=hs('<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" class="svelte-d3ct2b"><rect x="6" y="4" width="4" height="16" class="svelte-d3ct2b"></rect><rect x="14" y="4" width="4" height="16" class="svelte-d3ct2b"></rect></svg>'),od=M('<div class="log-row log-row-warn svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-warn svelte-d3ct2b">ARCH</span> <span class="log-msg svelte-d3ct2b">Custom architecture — no profile rules loaded. Add rules: memory-core remember "..." --type rule</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Or load a profile when ready: memory-core seed --arch clean-architecture</span></div>',1),cd=M('<div class="log-row log-row-warn svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-warn svelte-d3ct2b">WARN</span> <span class="log-msg svelte-d3ct2b">No architecture rules configured in .memory-core.json — nothing to watch.</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Awaiting manual rule configuration...</span></div>',1),vd=M('<div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Initialization sequence started for memory-core...</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-ok svelte-d3ct2b">DB</span> <span class="log-msg svelte-d3ct2b">Waiting for PostgreSQL connection...</span></div> <!> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b"></span> <span class="log-label svelte-d3ct2b"></span> <span class="log-msg cursor-blink svelte-d3ct2b">_</span></div>',1),dd=M('· <em class="svelte-d3ct2b"> </em>',1),fd=M('<br class="svelte-d3ct2b"/><span class="detail-fix svelte-d3ct2b"> </span>',1),ud=M('<div class="log-detail svelte-d3ct2b"><span class="detail-index svelte-d3ct2b"> </span> <span class="detail-body svelte-d3ct2b"><strong class="svelte-d3ct2b"> </strong> <!> <!> <!></span></div>'),pd=M('<div><span class="log-time svelte-d3ct2b"> </span> <span> </span> <span class="log-msg svelte-d3ct2b"><!></span> <button class="copy-btn svelte-d3ct2b" title="Copy">⎘</button></div> <!>',1),hd=M('<div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-ok svelte-d3ct2b">[OK]</span> <span class="log-msg svelte-d3ct2b">No commit hook violations in the last 24 hours.</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b"></span> <span class="log-label svelte-d3ct2b"></span> <span class="log-msg cursor-blink svelte-d3ct2b">_</span></div>',1),_d=M('<br class="svelte-d3ct2b"/><span class="detail-fix svelte-d3ct2b"> </span>',1),bd=M('<div class="log-detail svelte-d3ct2b"><span class="detail-index svelte-d3ct2b"></span> <span class="detail-body svelte-d3ct2b"><!> <!></span></div>'),md=M('<div class="log-row log-row-fail svelte-d3ct2b"><span class="log-time svelte-d3ct2b"> </span> <span class="log-label label-hook svelte-d3ct2b"> </span> <span class="log-msg svelte-d3ct2b"><strong class="svelte-d3ct2b"> </strong> <!></span></div> <!>',1),gd=M('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Commit Hook</span> <span class="section-meta svelte-d3ct2b"> </span></div> <!>',1),yd=M('<span class="rule-reason svelte-d3ct2b"> </span>'),wd=M('<div class="rule-row svelte-d3ct2b"><span class="rule-badge svelte-d3ct2b"> </span> <span class="rule-scope svelte-d3ct2b"> </span> <span class="rule-content svelte-d3ct2b"> </span> <!> <button class="del-btn svelte-d3ct2b">✕</button></div>'),xd=M('Custom architecture — no profile rules loaded. Add rules from the terminal: <code class="svelte-d3ct2b">memory-core remember "..." --type rule</code>',1),kd=M('<div class="log-row svelte-d3ct2b"><span class="log-msg svelte-d3ct2b" style="color: var(--outline)"><!></span></div>'),Ed=M('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Rule Engine</span> <span class="section-meta svelte-d3ct2b"> </span></div> <div class="rules-toolbar svelte-d3ct2b"><select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">All types</option><option class="svelte-d3ct2b">Rules</option><option class="svelte-d3ct2b">Decisions</option><option class="svelte-d3ct2b">Patterns</option><option class="svelte-d3ct2b">Ignores</option></select> <input class="rules-search svelte-d3ct2b" placeholder="Search rules..."/></div> <div class="rule-form-wrap svelte-d3ct2b"><form class="rule-form svelte-d3ct2b"><div class="rule-form-row svelte-d3ct2b"><select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">Rule</option><option class="svelte-d3ct2b">Decision</option><option class="svelte-d3ct2b">Pattern</option><option class="svelte-d3ct2b">Ignore</option></select> <select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">Project</option><option class="svelte-d3ct2b">Global</option></select> <input class="rules-input svelte-d3ct2b" placeholder="Reason"/> <input class="rules-input svelte-d3ct2b" placeholder="Tags"/></div> <div class="rule-form-row svelte-d3ct2b"><textarea rows="2" class="rules-textarea svelte-d3ct2b" placeholder="Rule or decision content..."></textarea> <button class="add-btn svelte-d3ct2b"> </button></div></form></div> <div class="rule-list svelte-d3ct2b"></div>',1),Sd=M('<span class="profile-msg svelte-d3ct2b"> </span>'),Ad=M('<div class="profile-empty svelte-d3ct2b">No saved profiles yet.</div>'),Td=M('<div class="profile-row svelte-d3ct2b"><span class="profile-name svelte-d3ct2b"> </span> <span class="profile-meta svelte-d3ct2b"> </span> <button class="arch-edit-btn svelte-d3ct2b">Apply</button> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b">✕</button></div>'),Ld=M('<div class="profile-list svelte-d3ct2b"></div>'),Cd=M('<div class="profile-panel svelte-d3ct2b"><div class="profile-save-row svelte-d3ct2b"><input class="profile-name-input svelte-d3ct2b" placeholder="Profile name…"/> <label class="profile-scope-label svelte-d3ct2b"><input type="checkbox" class="svelte-d3ct2b"/> project-scoped</label> <button class="arch-edit-btn svelte-d3ct2b"> </button> <!></div> <!></div>'),Md=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-warn svelte-d3ct2b">[WARN]</span> <span class="log-msg svelte-d3ct2b">No .archmind/layers.json found. Run <code class="svelte-d3ct2b">memory-core init</code> or create the file manually.</span></div>'),Rd=hs('<line stroke-width="1.5" opacity="0.75" class="svelte-d3ct2b"></line>'),Od=hs('<circle r="8" fill="#ba1a1a" style="cursor:pointer" role="button" tabindex="0" class="svelte-d3ct2b"></circle><text text-anchor="middle" fill="#fff" font-size="10" font-weight="700" style="cursor:pointer;pointer-events:none" class="svelte-d3ct2b">✕</text>',1),Nd=hs('<g role="button" tabindex="0"><rect rx="6"></rect><text text-anchor="middle" class="arch-node-label svelte-d3ct2b"> </text><text text-anchor="middle" class="arch-node-desc svelte-d3ct2b"> </text><!></g>'),Dd=M('<div class="arch-node-panel-path svelte-d3ct2b"> </div>'),Id=M('<div class="arch-node-panel-paths svelte-d3ct2b"><div class="arch-node-panel-section svelte-d3ct2b">Glob patterns</div> <!></div>'),Pd=M('<div class="arch-node-panel-rule svelte-d3ct2b"><span> </span> <span style="font-size:12px" class="svelte-d3ct2b"> </span></div>'),jd=M('<div class="arch-node-panel-paths svelte-d3ct2b"><div class="arch-node-panel-section svelte-d3ct2b">Rules involving this layer</div> <!></div>'),Fd=M('<div class="arch-node-panel svelte-d3ct2b"><div class="arch-node-panel-header svelte-d3ct2b"><span class="arch-node-panel-name svelte-d3ct2b"> </span> <span class="arch-node-panel-meta svelte-d3ct2b"> </span> <button class="arch-node-panel-close svelte-d3ct2b" aria-label="Close">✕</button></div> <!> <!></div>'),$d=M('<button class="arch-rule-del svelte-d3ct2b" title="Delete rule">✕</button>'),Hd=M('<div class="arch-rule-row svelte-d3ct2b"><span> </span> <span class="arch-rule-layers svelte-d3ct2b"> </span> <span class="arch-rule-name svelte-d3ct2b"> </span> <!></div>'),Bd=M('<form class="arch-add-form svelte-d3ct2b"><div class="arch-add-form-title svelte-d3ct2b">Add Layer</div> <div class="arch-add-row svelte-d3ct2b"><div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Name</span> <input class="arch-add-input svelte-d3ct2b" placeholder="e.g. services" style="width:120px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Paths (comma-separated globs)</span> <input class="arch-add-input svelte-d3ct2b" placeholder="src/services/**" style="width:240px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Description</span> <input class="arch-add-input svelte-d3ct2b" placeholder="Service layer" style="width:160px"/></div> <button class="arch-add-submit svelte-d3ct2b" type="submit"> </button> <button class="arch-edit-btn svelte-d3ct2b" type="button">Cancel</button></div></form>'),Vd=M('<button class="arch-edit-btn svelte-d3ct2b">+ Add Layer</button>'),Wd=M('<option class="svelte-d3ct2b"> </option>'),Ud=M('<option class="svelte-d3ct2b"> </option>'),qd=M('<form class="arch-add-form svelte-d3ct2b"><div class="arch-add-form-title svelte-d3ct2b">Add Rule</div> <div class="arch-add-row svelte-d3ct2b"><div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">From</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">select…</option><!><option class="svelte-d3ct2b">* (any)</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">To</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">select…</option><!><option class="svelte-d3ct2b">* (any)</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Name</span> <input class="arch-add-input svelte-d3ct2b" placeholder="No direct DB access" style="width:180px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Enforcement</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">block</option><option class="svelte-d3ct2b">warn</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Allowed?</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">Deny</option><option class="svelte-d3ct2b">Allow</option></select></div> <button class="arch-add-submit svelte-d3ct2b" type="submit"> </button> <button class="arch-edit-btn svelte-d3ct2b" type="button">Cancel</button></div></form>'),Kd=M('<button class="arch-edit-btn svelte-d3ct2b">+ Add Rule</button>'),zd=M("<!> <!>",1),Gd=M('<div class="arch-graph-wrap svelte-d3ct2b"><svg class="arch-svg svelte-d3ct2b"><defs class="svelte-d3ct2b"><marker id="arrow-block" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="var(--error)" class="svelte-d3ct2b"></path></marker><marker id="arrow-warn" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="#f59e0b" class="svelte-d3ct2b"></path></marker><marker id="arrow-allow" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="var(--green)" class="svelte-d3ct2b"></path></marker></defs><!><!></svg> <div class="arch-legend svelte-d3ct2b"><div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="var(--error)" stroke-width="1.5" marker-end="url(#arrow-block)" class="svelte-d3ct2b"></line></svg> Block</div> <div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="4,3" class="svelte-d3ct2b"></line></svg> Warn</div> <div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="var(--green)" stroke-width="1.5" stroke-dasharray="6,3" class="svelte-d3ct2b"></line></svg> Allow</div></div> <!> <div class="arch-rule-list svelte-d3ct2b"></div> <!></div>'),Yd=M('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Layer Graph</span> <span class="section-meta svelte-d3ct2b"> </span> <button> </button> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b"> </button> <button> </button></div> <!> <!>',1),Jd=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span> <span class="log-msg svelte-d3ct2b"> </span></div>'),Xd=M('<span class="history-resolved-badge svelte-d3ct2b"> </span>'),Qd=M('<span class="history-issue svelte-d3ct2b"> </span>'),Zd=M('<div class="history-violation svelte-d3ct2b"><span class="history-badge svelte-d3ct2b"> </span> <span class="history-rule svelte-d3ct2b"> </span> <!></div>'),ef=M('<div><div class="history-header svelte-d3ct2b"><span class="history-file svelte-d3ct2b"> </span> <span class="history-time svelte-d3ct2b"> </span> <!> <button> </button></div> <!></div>'),tf=M('<div class="history-list svelte-d3ct2b"></div>'),sf=M('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Violation History</span> <span class="section-meta svelte-d3ct2b"> </span> <label class="history-toggle-label svelte-d3ct2b"><input type="checkbox" class="svelte-d3ct2b"/> Show resolved</label> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b"> </button></div> <!>',1),af=M('<span class="section-meta svelte-d3ct2b"> </span>'),rf=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[…]</span><span class="log-msg svelte-d3ct2b">Loading analytics…</span></div>'),lf=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-warn svelte-d3ct2b">[WARN]</span><span class="log-msg svelte-d3ct2b">No analytics data. Need backend build with new endpoints.</span></div>'),nf=hs('<line stroke="var(--outline-var)" stroke-width="0.5" class="svelte-d3ct2b"></line><text text-anchor="end" font-size="9" fill="var(--outline)" class="svelte-d3ct2b"> </text>',1),of=hs('<circle r="3" fill="var(--primary)" class="svelte-d3ct2b"><title class="svelte-d3ct2b"> </title></circle>'),cf=hs('<text text-anchor="middle" font-size="9" fill="var(--outline)" class="svelte-d3ct2b"> </text>'),vf=M('<div class="an-chart-wrap svelte-d3ct2b"><svg width="100%" class="an-chart-svg svelte-d3ct2b" preserveAspectRatio="none"><!><defs class="svelte-d3ct2b"><linearGradient id="trend-fill" x1="0" y1="0" x2="0" y2="1" class="svelte-d3ct2b"><stop offset="0%" stop-color="var(--primary)" stop-opacity="0.3" class="svelte-d3ct2b"></stop><stop offset="100%" stop-color="var(--primary)" stop-opacity="0.02" class="svelte-d3ct2b"></stop></linearGradient></defs><polygon fill="url(#trend-fill)" class="svelte-d3ct2b"></polygon><polyline fill="none" stroke="var(--primary)" stroke-width="2" stroke-linejoin="round" class="svelte-d3ct2b"></polyline><!><!></svg> <div class="an-chart-legend svelte-d3ct2b"><span class="an-legend-dot svelte-d3ct2b" style="background:var(--primary)"></span> Violations per day (last 30 days)</div></div>'),df=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span><span class="log-msg svelte-d3ct2b">No violations recorded yet.</span></div>'),ff=M('<div class="an-heat-row svelte-d3ct2b"><span class="an-heat-file svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><span class="an-heat-bar svelte-d3ct2b"></span> <span class="an-heat-count svelte-d3ct2b"> </span></span> <span class="an-heat-resolved svelte-d3ct2b"> </span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),uf=M('<div class="an-heat-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">File</span><span class="svelte-d3ct2b">Violations</span><span class="svelte-d3ct2b">Resolved</span><span class="svelte-d3ct2b">Last seen</span></div> <!></div>'),pf=M('<span class="an-heat-bar svelte-d3ct2b"></span>'),hf=M('<div><span class="an-rule-name svelte-d3ct2b"> </span> <span class="an-rule-layers svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><!> <span> </span></span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),_f=M('<div class="an-rule-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">Rule</span><span class="svelte-d3ct2b">Layers</span><span class="svelte-d3ct2b">Hits</span><span class="svelte-d3ct2b">Last fired</span></div> <!></div>'),bf=M('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span><span class="log-msg svelte-d3ct2b">No team data yet. Git author captured on next violation.</span></div>'),mf=M('<div class="an-heat-row svelte-d3ct2b"><span class="an-heat-file svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><span class="an-heat-bar svelte-d3ct2b"></span> <span class="an-heat-count svelte-d3ct2b"> </span></span> <span class="an-heat-resolved svelte-d3ct2b"> </span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),gf=M('<div class="an-heat-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">Author</span><span class="svelte-d3ct2b">Violations</span><span class="svelte-d3ct2b">Files</span><span class="svelte-d3ct2b">Last seen</span></div> <!></div>'),yf=M('<div class="an-summary svelte-d3ct2b"><div class="an-card svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Total Violations</span></div> <div class="an-card an-card-warn svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Open</span></div> <div class="an-card an-card-green svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Resolved</span></div> <div class="an-card svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Affected Files</span></div></div> <div class="an-tabs svelte-d3ct2b"><button>Trend</button> <button>File Heatmap</button> <button>Rule Effectiveness</button> <button>Team Activity</button></div> <!>',1),wf=M('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Analytics</span> <!> <button class="arch-edit-btn svelte-d3ct2b"> </button></div> <!>',1),xf=M('<div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-apikey">API Key</label> <input id="model-apikey" class="modal-input svelte-d3ct2b" type="password"/></div>'),kf=M("<div> </div>"),Ef=M('<div class="modal-backdrop svelte-d3ct2b" role="presentation"><div class="modal svelte-d3ct2b"><div class="modal-header svelte-d3ct2b"><span class="modal-title svelte-d3ct2b">Settings</span> <button class="modal-close svelte-d3ct2b">✕</button></div> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">AI Model</div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-provider">Provider</label> <select id="model-provider" class="modal-input svelte-d3ct2b"><option class="svelte-d3ct2b">Ollama (local)</option><option class="svelte-d3ct2b">OpenAI</option><option class="svelte-d3ct2b">Anthropic</option><option class="svelte-d3ct2b">MiniMax</option><option class="svelte-d3ct2b">OpenAI-compatible</option></select></div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-name">Model</label> <input id="model-name" class="modal-input svelte-d3ct2b" placeholder="e.g. llama3.2, gpt-4o, claude-sonnet-4-6"/></div> <!> <div class="modal-row svelte-d3ct2b"><div class="svelte-d3ct2b"></div> <div class="modal-row-actions svelte-d3ct2b"><button class="modal-btn modal-btn-primary svelte-d3ct2b"> </button> <button class="modal-btn svelte-d3ct2b">Refresh Config</button></div></div> <!></section> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">Timeouts</div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="chat-timeout">Chat Timeout (ms)</label> <input id="chat-timeout" class="modal-input svelte-d3ct2b" placeholder="60000" type="text" inputmode="numeric"/></div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="check-timeout">Check Timeout (ms)</label> <input id="check-timeout" class="modal-input svelte-d3ct2b" placeholder="20000" type="text" inputmode="numeric"/></div></section> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">Current Status</div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Provider</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Model</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">API Key</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Embedding</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Chat timeout</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Check timeout</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">AI calls this session</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Total tokens</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Input / Output</span><span class="modal-status-val svelte-d3ct2b"> </span></div></section></div></div>'),Sf=M('<div class="shell svelte-d3ct2b"><header class="topbar svelte-d3ct2b"><div class="topbar-brand svelte-d3ct2b"><span class="topbar-project svelte-d3ct2b"> </span> <!></div> <div class="topbar-search svelte-d3ct2b"><span class="search-icon svelte-d3ct2b">⌕</span> <input class="search-input svelte-d3ct2b" placeholder="Search system logs, traces, and metrics..." type="text"/></div> <div class="topbar-actions svelte-d3ct2b"><button class="icon-btn svelte-d3ct2b" title="Settings"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14" class="svelte-d3ct2b"></path><path d="M12 2v2M12 20v2M2 12h2M20 12h2" class="svelte-d3ct2b"></path></svg></button> <button class="icon-btn svelte-d3ct2b"><!></button> <div class="avatar svelte-d3ct2b" title="System Administrator">S</div></div></header> <div class="body svelte-d3ct2b"><aside class="sidebar svelte-d3ct2b"><div class="sidebar-logo svelte-d3ct2b"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><path d="M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83" class="svelte-d3ct2b"></path></svg> <span class="sidebar-brand-label svelte-d3ct2b">memory-core</span></div> <nav class="sidebar-nav svelte-d3ct2b"><button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="2" class="svelte-d3ct2b"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14" class="svelte-d3ct2b"></path></svg> <span class="svelte-d3ct2b">Live Feed</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><line x1="3" y1="12" x2="9" y2="12" class="svelte-d3ct2b"></line><line x1="15" y1="12" x2="21" y2="12" class="svelte-d3ct2b"></line></svg> <span class="svelte-d3ct2b">Commit<!></span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><path d="M9 11l3 3L22 4" class="svelte-d3ct2b"></path><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" class="svelte-d3ct2b"></path></svg> <span class="svelte-d3ct2b">Rules</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><rect x="2" y="9" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="16" y="9" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="9" y="2" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="9" y="16" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><line x1="8" y1="12" x2="16" y2="12" class="svelte-d3ct2b"></line><line x1="12" y1="8" x2="12" y2="9" class="svelte-d3ct2b"></line><line x1="12" y1="15" x2="12" y2="16" class="svelte-d3ct2b"></line></svg> <span class="svelte-d3ct2b">Arch Graph</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="10" class="svelte-d3ct2b"></circle><polyline points="12 6 12 12 16 14" class="svelte-d3ct2b"></polyline></svg> <span class="svelte-d3ct2b">History<!></span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12" class="svelte-d3ct2b"></polyline></svg> <span class="svelte-d3ct2b">Analytics</span></button></nav> <div class="sidebar-footer svelte-d3ct2b"><div></div> <span class="sidebar-conn-label svelte-d3ct2b"> </span></div></aside> <main class="content svelte-d3ct2b"><div class="health-bar svelte-d3ct2b"><span class="health-label svelte-d3ct2b">System Health:</span> <div class="health-badge health-green svelte-d3ct2b"><i class="dot dot-green svelte-d3ct2b"></i> <span class="svelte-d3ct2b"> </span></div> <div><i></i> <span class="svelte-d3ct2b"> </span></div> <div><i></i> <span class="svelte-d3ct2b"> </span></div> <!> <!> <!> <!></div> <div class="filter-bar svelte-d3ct2b"><div class="filter-left svelte-d3ct2b"><div class="chip chip-primary svelte-d3ct2b"><span class="svelte-d3ct2b">LEVEL: ALL</span> <button class="chip-close svelte-d3ct2b" title="Clear cache">✕</button></div> <div class="divider-v svelte-d3ct2b"></div> <div class="metrics-strip svelte-d3ct2b"><div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">VIOLATIONS</span> <span> </span></div> <div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">FILES</span> <span class="metric-value svelte-d3ct2b"> </span></div> <div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">RULES</span> <span class="metric-value svelte-d3ct2b"> </span></div></div></div> <div class="filter-right svelte-d3ct2b"><div class="live-badge svelte-d3ct2b"><i></i> <span class="svelte-d3ct2b"> </span></div> <button><!></button> <button class="icon-btn svelte-d3ct2b" title="Download snapshot"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-d3ct2b"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" class="svelte-d3ct2b"></path><polyline points="7 10 12 15 17 10" class="svelte-d3ct2b"></polyline><line x1="12" y1="15" x2="12" y2="3" class="svelte-d3ct2b"></line></svg></button></div></div> <div class="feed-area svelte-d3ct2b"><!></div> <footer class="metrics-footer svelte-d3ct2b"><div class="footer-left svelte-d3ct2b"><div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Checks</span> <span class="footer-val svelte-d3ct2b"> </span> <span class="footer-unit svelte-d3ct2b">AI CALLS</span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Tokens</span> <span class="footer-val svelte-d3ct2b"> </span> <span class="footer-unit svelte-d3ct2b"> </span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Error Rate</span> <span class="footer-val footer-val-error svelte-d3ct2b"> </span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Bypasses</span> <span> </span></div></div> <div class="footer-right svelte-d3ct2b"><div class="footer-actions svelte-d3ct2b"><button class="action-btn svelte-d3ct2b" title="Sync rules to all AI agent files"> </button> <button class="action-btn svelte-d3ct2b" title="Run full scan on all tracked files"> </button> <button class="action-btn action-btn-warn svelte-d3ct2b" title="Tune noisy rules"> </button></div> <div class="storage-bar-wrap svelte-d3ct2b"><div class="storage-bar svelte-d3ct2b"><div class="storage-fill svelte-d3ct2b"></div></div> <span class="footer-label svelte-d3ct2b"> </span></div></div></footer></main></div> <!></div>');function Af(t,s){Yn(s,!1);const a=j(),r=j(),l=j(),c=j(),u=j(),h=j(),d=j(),p=j(),x=j(),D=j(),T=j(),S=j(),k=j(),V=j(),A=j(),J=j(),Le=j(),Ae=j(),yt=j(),it=j(),Nt=j();let _=j({config:null,stats:{rules:{},files:{},topRules:[],topFiles:[]},files:[],memories:[]}),wt=j([]),Qt=j(!1),ot=j("all"),_s=j(""),is=j(!1),$t=j(""),Ve=j({type:"rule",scope:"project",content:"",reason:"",tags:"dashboard"}),Ye=j("live-feed"),ct=j(null),bs=j(!1),ka=j(""),xt=j(!1),We=j({provider:"",model:"",apiKey:"",chatTimeoutMs:"",checkTimeoutMs:""}),Ja=j(!1),Ts=j(""),Ls=j(""),Ht=j(!1),Cs=j(!1),Ms=j(!1),kt=j({name:"",paths:"",description:""}),je=j({fromLayer:"",toLayer:"",name:"",allowed:!1,enforcement:"block"}),_t=j(!1),Rs=j([]),Xa=j(!1),Ea=j(!1),Us=j(""),Er=j(!1),ca=j("");async function Qa(){try{const b=await(await fetch("/api/arch/profiles")).json();g(Rs,b.profiles??[])}catch{g(Rs,[])}}async function ul(){if(e(Us).trim()){g(Ea,!0),g(ca,"");try{const n=await fetch("/api/arch/profiles",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e(Us).trim(),projectScoped:e(Er)})});if(n.ok)g(Us,""),g(ca,"Saved"),await Qa();else{const b=await n.json();g(ca,b.error??"Error")}}finally{g(Ea,!1)}}}async function Li(n){g(_t,!0);try{await fetch(`/api/arch/profiles/${n}/apply`,{method:"POST"}),g(Ht,!1),g(Cs,!1),g(Ms,!1),await Dt()}finally{g(_t,!1)}}async function Ci(n){confirm("Delete this profile?")&&(await fetch(`/api/arch/profiles/${n}`,{method:"DELETE"}),await Qa())}let de=j(null),Sa=j(!1),Bt=j("trends");async function pl(){g(Sa,!0);try{const n=await fetch("/api/analytics");g(de,await n.json())}catch{g(de,null)}finally{g(Sa,!1)}}let Za=j(!0),Aa=j(!1);async function Mi(){if(confirm("Clear all violation history? This cannot be undone.")){g(Aa,!0);try{await fetch("/api/history",{method:"DELETE"}),await Dt()}finally{g(Aa,!1)}}}async function Ri(n){await fetch("/api/history/resolve",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({timestamp:n})}),await Dt()}async function hl(n){await fetch(`/api/arch/layers/${encodeURIComponent(n)}`,{method:"DELETE"}),await Dt()}async function Oi(n){await fetch(`/api/arch/rules/${encodeURIComponent(n)}`,{method:"DELETE"}),await Dt()}async function Ni(){if(e(kt).name.trim()){g(_t,!0);try{await fetch("/api/arch/layers",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e(kt).name.trim(),paths:e(kt).paths.split(",").map(n=>n.trim()).filter(Boolean),description:e(kt).description.trim()})}),g(kt,{name:"",paths:"",description:""}),g(Cs,!1),await Dt()}finally{g(_t,!1)}}}async function Di(){if(confirm("Reset graph to architecture defaults? This will overwrite your current layers and rules.")){g(_t,!0);try{await fetch("/api/arch/reset",{method:"POST"}),g(Ht,!1),g(Cs,!1),g(Ms,!1),await Dt()}finally{g(_t,!1)}}}async function Ii(){if(!(!e(je).fromLayer||!e(je).toLayer||!e(je).name.trim())){g(_t,!0);try{await fetch("/api/arch/rules",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(je))}),g(je,{fromLayer:"",toLayer:"",name:"",allowed:!1,enforcement:"block"}),g(Ms,!1),await Dt()}finally{g(_t,!1)}}}const Pi=24*60*60*1e3,_l=640,bl=380,Zt=110,ms=38,ji={nestjs:["controllers","services","repositories","modules","common"],mvc:["controllers","services","models","views","shared"],"laravel-service-repository":["controllers","services","repositories","models","shared"],"go-api":["handlers","services","repositories","models","shared"],react:["pages","components","hooks","store","services"],"react-native":["screens","components","hooks","store","services"],vue:["pages","components","composables","store","services"],svelte:["routes","components","stores","lib","utils"],nuxt:["pages","components","composables","server","utils"],angular:["modules","components","services","guards","shared"],hexagonal:["domain","ports","adapters","infrastructure","shared"],"modular-monolith":["modules","api","shared","infrastructure"],"clean-architecture":["api","application","domain","infrastructure","shared"]},Fi=()=>{var C,I;const n=(I=(C=e(_).runtime)==null?void 0:C.project.name)==null?void 0:I.trim();if(n)return n;const b=$i("projectName");return b||"memory-core"},$i=n=>{var C;const b=(C=e(_).config)==null?void 0:C[n];return typeof b=="string"&&b.trim().length>0?b.trim():void 0};function er(n){e(bs)||g(wt,[{...n,id:crypto.randomUUID()},...e(wt)].slice(0,80))}function ml(n){return n.type==="saved"?{type:"saved",timestamp:n.timestamp,file:n.file}:n.type==="clean"?{type:"clean",timestamp:n.timestamp,file:n.file}:n.type==="skipped"?{type:"skipped",timestamp:n.timestamp,file:n.file,reason:n.reason}:n.type==="violations"?{type:"violations",timestamp:n.timestamp,file:n.file,violations:n.violations}:n.type==="log"?{type:"log",timestamp:n.timestamp,file:n.file,message:n.message}:n.type==="error"?{type:"error",timestamp:n.timestamp,message:n.message}:n.type==="ready"?{type:"system",timestamp:n.timestamp,message:`Watching ${n.path} | ${n.rules} rules | ${n.model}`}:{type:"system",timestamp:n.timestamp,message:"Watch stopped"}}function tr(n){const b=e(_).files??[],C=b.findIndex(ee=>ee.file===n.file),I=b.slice();return C===-1?I.push(n):I[C]=n,I.sort((ee,te)=>te.lastSeen.localeCompare(ee.lastSeen))}function Hi(n){const b=e(_).watcher??{enabled:!0,running:!1,path:void 0,model:void 0,rules:void 0,lastEventAt:void 0,error:void 0};let C=e(_).files,I={...b,lastEventAt:n.timestamp,enabled:!0};n.type==="ready"&&(I={...I,running:!0,error:void 0,path:n.path,model:n.model,rules:n.rules}),n.type==="saved"&&(C=tr({file:n.file,status:"checking",lastSeen:n.timestamp,violations:[]})),n.type==="clean"&&(C=tr({file:n.file,status:"clean",lastSeen:n.timestamp,violations:[]})),n.type==="skipped"&&(C=tr({file:n.file,status:"skipped",lastSeen:n.timestamp,violations:[],message:n.reason})),n.type==="violations"&&(C=tr({file:n.file,status:"violations",lastSeen:n.timestamp,violations:n.violations})),n.type==="error"&&(I={...I,running:!1,error:n.message}),n.type==="stopped"&&(I={...I,running:!1});const ee=[n,...e(_).events??[]].slice(0,100);g(_,{...e(_),files:C,events:ee,watcher:I})}function Sr(n=[]){g(wt,n.map(ml).map(b=>({...b,id:crypto.randomUUID()})).reverse().slice(0,80))}function gl(n){return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(n))}function yl(n,b){const C=n.file||b;return n.line?`${C}:${n.line}`:C}function Bi(n){return n.type==="saved"?"SAVE":n.type==="clean"?"OK":n.type==="skipped"?"SKIP":n.type==="violations"?"FAIL":n.type==="log"?"CHCK":n.type==="error"?"WARN":"SYS"}function Vi(n){return n.type==="clean"?"label-ok":n.type==="violations"||n.type==="error"?"label-warn":n.type==="log"?"label-chck":n.type==="system"?"label-sys":"label-info"}async function Dt(){const n=await fetch(`/api/snapshot?t=${Date.now()}`,{cache:"no-store"});g(_,await n.json()),Sr(e(_).events)}async function Wi(){g($t,"");try{const n=await fetch("/api/refresh",{method:"POST",headers:{"content-type":"application/json"},cache:"no-store"});if(!n.ok)throw new Error((await n.json()).error??"Refresh failed");const b=await n.json();b.snapshot?(g(_,b.snapshot),Sr(e(_).events)):await Dt()}catch(n){g($t,n.message)}}function Ui(){try{localStorage.clear(),sessionStorage.clear()}finally{location.reload()}}async function qi(){g(Ja,!0),g(Ts,"");try{const n=await fetch("/api/config/model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(We))}),b=await n.json().catch(()=>({}));if(!n.ok)throw new Error(b.error??"Save failed");const C=Array.isArray(b.warnings)&&b.warnings.length>0?" — "+b.warnings.join("; "):"";g(Ts,`✓ ${b.message??"Settings updated"}${C}`),await Dt()}catch(n){g(Ts,`✗ ${n.message}`)}finally{g(Ja,!1)}}async function Ar(n){g(Ls,n);try{await fetch(`/api/actions/${n}`,{method:"POST"}),er({type:"system",timestamp:new Date().toISOString(),message:`Action started: memory-core ${n==="check-all"?"check --all":n}`})}catch{}finally{g(Ls,"")}}function wl(){const n=location.protocol==="https:"?"wss:":"ws:",b=new WebSocket(`${n}//${location.host}/ws`);b.addEventListener("open",()=>{g(Qt,!0),er({type:"system",timestamp:new Date().toISOString(),message:"Dashboard connected"})}),b.addEventListener("close",()=>{g(Qt,!1),er({type:"error",timestamp:new Date().toISOString(),message:"Dashboard disconnected"}),setTimeout(wl,1500)}),b.addEventListener("message",C=>{const I=JSON.parse(C.data);if(I.type==="snapshot"){g(_,I.snapshot),e(wt).length===0&&Sr(e(_).events);return}if(I.type==="stats"){g(_,{...e(_),stats:I.stats});return}I.type==="watch"&&(Hi(I.event),er(ml(I.event)))})}async function Ki(){if(e(Ve).content.trim()){g(is,!0),g($t,"");try{const n=await fetch("/api/memories",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(Ve))});if(!n.ok)throw new Error((await n.json()).error??"Save failed");g(Ve,{type:"rule",scope:"project",content:"",reason:"",tags:"dashboard"}),await Dt()}catch(n){g($t,n.message)}finally{g(is,!1)}}}async function zi(n){g($t,"");const b=await fetch(`/api/memories/${n}`,{method:"DELETE"});if(!b.ok){g($t,(await b.json()).error??"Delete failed");return}await Dt()}let Os=j(localStorage.getItem("mc-theme")!=="light");function Gi(){g(Os,!e(Os)),localStorage.setItem("mc-theme",e(Os)?"dark":"light")}document.documentElement.setAttribute("data-theme",e(Os)?"dark":"light"),Dt().catch(n=>{g($t,n.message)}),Qa().catch(()=>{}),wl(),Ke(()=>(e(Za),e(_)),()=>{g(a,e(Za)?e(_).violationHistory??[]:(e(_).violationHistory??[]).filter(n=>!n.resolved))}),Ke(()=>(e(_),e(ot),e(_s)),()=>{g(r,e(_).memories.filter(n=>{const b=e(ot)==="all"||n.type===e(ot),C=`${n.type} ${n.scope} ${n.content} ${n.reason??""} ${n.tags.join(" ")}`.toLowerCase();return b&&C.includes(e(_s).toLowerCase())}))}),Ke(()=>e(_),()=>{g(l,e(_).files.reduce((n,b)=>n+b.violations.length,0))}),Ke(()=>e(_),()=>{g(c,e(_).files.filter(n=>n.status==="clean").length)}),Ke(()=>e(_),()=>{g(u,Object.values(e(_).stats.rules).reduce((n,b)=>n+b,0))}),Ke(()=>e(_),()=>{g(h,e(_).stats.recentViolations??[])}),Ke(()=>e(h),()=>{g(d,e(h).filter(n=>{if(!(n.source==="hook"||n.source==="ci"))return!1;const b=Date.parse(n.timestamp);return Number.isNaN(b)?!1:Date.now()-b<=Pi}))}),Ke(()=>e(l),()=>{g(p,e(l))}),Ke(()=>e(_),()=>{g(x,e(_).files.filter(n=>n.status!=="checking").length)}),Ke(()=>e(_),()=>{g(D,e(_).memories.filter(n=>["rule","pattern","decision"].includes(n.type)).length)}),Ke(()=>e(_),()=>{var n;g(T,((n=e(_).memoryCount)==null?void 0:n.total)??e(_).memories.length)}),Ke(()=>(e(Qt),e(_)),()=>{var n,b;g(S,e(Qt)?((n=e(_).watcher)==null?void 0:n.enabled)===!1?{live:!1,label:"Watch off"}:(b=e(_).watcher)!=null&&b.running?{live:!0,label:"Watcher live"}:{live:!1,label:"Watcher idle"}:{live:!1,label:"Disconnected"})}),Ke(()=>e(_),()=>{var n;g(k,((n=e(_).arch)==null?void 0:n.layers)??[])}),Ke(()=>e(_),()=>{var n;g(V,((n=e(_).arch)==null?void 0:n.rules)??[])}),Ke(()=>(e(k),e(_)),()=>{g(A,(()=>{var ne,E,ve,Y;const n=e(k);if(n.length===0)return[];const b=((ne=e(_).runtime)==null?void 0:ne.project.backendArchitecture)??((E=e(_).runtime)==null?void 0:E.project.frontendFramework)??((Y=(ve=e(_).runtime)==null?void 0:ve.project.activeArchitectures)==null?void 0:Y[0])??"",C=ji[b]??["api","application","domain","infrastructure","shared"],I=[...n].sort((L,we)=>{const Fe=C.indexOf(L.name)===-1?99:C.indexOf(L.name),se=C.indexOf(we.name)===-1?99:C.indexOf(we.name);return Fe-se}),ee=Math.min(I.length,3),te=Math.ceil(I.length/ee),Ee=(_l-ee*Zt)/(ee+1),Se=(bl-te*ms)/(te+1);return I.map((L,we)=>{const Fe=we%ee,se=Math.floor(we/ee);return{name:L.name,description:L.description,x:Ee+Fe*(Zt+Ee),y:Se+se*(ms+Se)}})})())}),Ke(()=>(e(A),e(V)),()=>{g(J,(()=>{const n=new Map(e(A).map(b=>[b.name,b]));return e(V).filter(b=>b.fromLayer!=="*"&&b.toLayer!=="*").map(b=>{const C=n.get(b.fromLayer),I=n.get(b.toLayer);if(!C||!I)return null;const ee=C.x+Zt/2,te=C.y+ms/2,Ee=I.x+Zt/2,Se=I.y+ms/2,ne=Ee-ee,E=Se-te,ve=Math.sqrt(ne*ne+E*E)||1,Y=ee+ne/ve*(Zt/2+4),L=te+E/ve*(ms/2+4),we=Ee-ne/ve*(Zt/2+4),Fe=Se-E/ve*(ms/2+4);return{r:b,sx:Y,sy:L,ex:we,ey:Fe}}).filter(Boolean)})())}),Ke(()=>e(_),()=>{var n;g(Le,((n=e(_).runtime)==null?void 0:n.postgres.connected)??!1)}),Ke(()=>e(_),()=>{var n;g(Ae,((n=e(_).runtime)==null?void 0:n.model.ollamaReachable)??!1)}),Ke(()=>e(_),()=>{var n,b;g(yt,(((n=e(_).runtime)==null?void 0:n.model.checkModelResolved)??((b=e(_).runtime)==null?void 0:b.model.chatModel)??"unknown").toUpperCase())}),Ke(()=>e(_),()=>{var n,b;g(it,((n=e(_).runtime)==null?void 0:n.project.backendArchitecture)==="custom"||((b=e(_).runtime)==null?void 0:b.project.frontendFramework)==="custom")}),Ke(()=>e(_),()=>{g(Nt,(()=>{var I,ee;const n=(I=e(_).runtime)==null?void 0:I.project.backendArchitecture,b=(ee=e(_).runtime)==null?void 0:ee.project.frontendFramework,C=[n?n==="custom"?"Custom":n:null,b?b==="custom"?"Custom":b:null].filter(Boolean);return C.length>0?C.join(" / "):null})())}),Ke(()=>e(Os),()=>{document.documentElement.setAttribute("data-theme",e(Os)?"dark":"light")}),gv(),Yv();var xl=Sf(),kl=i(xl),El=i(kl),Sl=i(El),Yi=i(Sl),Ji=o(Sl,2);{var Xi=n=>{var b=Xv(),C=i(b);P(()=>y(C,e(Nt))),w(n,b)};B(Ji,n=>{e(Nt)&&n(Xi)})}var Al=o(El,2),Qi=o(i(Al),2),Zi=o(Al,2),Tl=i(Zi),Tr=o(Tl,2),eo=i(Tr);{var to=n=>{var b=Qv();w(n,b)},so=n=>{var b=Zv();w(n,b)};B(eo,n=>{e(Os)?n(to):n(so,-1)})}var Ll=o(kl,2),Cl=i(Ll),Ml=o(i(Cl),2),Lr=i(Ml);let Rl;var sr=o(Lr,2);let Ol;var ao=o(i(sr),2),ro=o(i(ao));{var lo=n=>{var b=ed(),C=i(b);P(()=>y(C,(e(d),v(()=>e(d).length)))),w(n,b)};B(ro,n=>{e(d),v(()=>e(d).length>0)&&n(lo)})}var Cr=o(sr,2);let Nl;var Mr=o(Cr,2);let Dl;var ar=o(Mr,2);let Il;var no=o(i(ar),2),io=o(i(no));{var oo=n=>{var b=td(),C=i(b);P(()=>y(C,(e(_),v(()=>{var I;return(I=e(_).violationHistory)==null?void 0:I.length})))),w(n,b)};B(io,n=>{e(_),v(()=>{var b;return(((b=e(_).violationHistory)==null?void 0:b.length)??0)>0})&&n(oo)})}var Pl=o(ar,2);let jl;var co=o(Ml,2),Fl=i(co);let $l;var vo=o(Fl,2),fo=i(vo),uo=o(Cl,2),Hl=i(uo),Bl=o(i(Hl),2),po=o(i(Bl),2),ho=i(po),Rr=o(Bl,2);let Vl;var Wl=i(Rr);let Ul;var _o=o(Wl,2),bo=i(_o),Or=o(Rr,2);let ql;var Kl=i(Or);let zl;var mo=o(Kl,2),go=i(mo),Gl=o(Or,2);{var yo=n=>{var b=sd(),C=o(i(b),2),I=i(C);P(()=>y(I,`${e(_),v(()=>{var ee;return(ee=e(_).arch)==null?void 0:ee.pendingRules})??""} PENDING RULES`)),w(n,b)};B(Gl,n=>{e(_),v(()=>{var b;return(((b=e(_).arch)==null?void 0:b.pendingRules)??0)>0})&&n(yo)})}var Yl=o(Gl,2);{var wo=n=>{var b=ad();let C;var I=i(b);let ee;var te=o(I,2),Ee=i(te);P(Se=>{C=ye(b,1,"health-badge svelte-d3ct2b",null,C,{"health-warn":e(it),"health-green":!e(it)}),ee=ye(I,1,"dot svelte-d3ct2b",null,ee,{"dot-warn":e(it),"dot-green":!e(it)}),y(Ee,`ARCH: ${Se??""}${e(it)?" — ADD RULES":""}`)},[()=>(e(Nt),v(()=>e(Nt).toUpperCase()))]),w(n,b)};B(Yl,n=>{e(Nt)&&n(wo)})}var Jl=o(Yl,2);{var xo=n=>{var b=rd(),C=i(b);P(()=>y(C,(e(_),v(()=>e(_).dbError)))),w(n,b)};B(Jl,n=>{e(_),v(()=>e(_).dbError)&&n(xo)})}var ko=o(Jl,2);{var Eo=n=>{var b=ld(),C=i(b);P(()=>y(C,e($t))),w(n,b)};B(ko,n=>{e($t)&&n(Eo)})}var Xl=o(Hl,2),Ql=i(Xl),Zl=i(Ql),So=o(i(Zl),2),Ao=o(Zl,4),en=i(Ao),tn=o(i(en),2);let sn;var To=i(tn),an=o(en,2),Lo=o(i(an),2),Co=i(Lo),Mo=o(an,2),Ro=o(i(Mo),2),Oo=i(Ro),No=o(Ql,2),rn=i(No),ln=i(rn);let nn;var Do=o(ln,2),Io=i(Do),Ta=o(rn,2);let on;var Po=i(Ta);{var jo=n=>{var b=nd();w(n,b)},Fo=n=>{var b=id();w(n,b)};B(Po,n=>{e(bs)?n(jo):n(Fo,-1)})}var $o=o(Ta,2),cn=o(Xl,2),Ho=i(cn);{var Bo=n=>{var b=gs(),C=Be(b);{var I=te=>{var Ee=vd(),Se=o(Be(Ee),4);{var ne=ve=>{var Y=od();w(ve,Y)},E=ve=>{var Y=cd();w(ve,Y)};B(Se,ve=>{e(it)?ve(ne):ve(E,-1)})}w(te,Ee)},ee=te=>{var Ee=gs(),Se=Be(Ee);Qe(Se,1,()=>(e(wt),v(()=>[...e(wt)].reverse())),ne=>ne.id,(ne,E)=>{var ve=pd(),Y=Be(ve);let L;var we=i(Y),Fe=i(we),se=o(we,2),Ze=i(se),et=o(se,2),Oe=i(et);{var Ne=F=>{var m=os();P(()=>y(m,(e(E),v(()=>e(E).message)))),w(F,m)},Ue=F=>{var m=os();P(()=>y(m,`saved: ${e(E),v(()=>e(E).file)??""}`)),w(F,m)},Je=F=>{var m=os();P(()=>y(m,`${e(E),v(()=>e(E).file)??""} — no violations`)),w(F,m)},vt=F=>{var m=os();P(()=>y(m,`${e(E),v(()=>e(E).file)??""} — skipped: ${e(E),v(()=>e(E).reason)??""}`)),w(F,m)},dt=F=>{var m=os();P(()=>y(m,`${e(E),v(()=>e(E).file)??""} — ${e(E),v(()=>e(E).message)??""}`)),w(F,m)},tt=F=>{var m=os();P(()=>y(m,`${e(E),v(()=>e(E).violations.length)??""} violation${e(E),v(()=>e(E).violations.length===1?"":"s")??""} in ${e(E),v(()=>e(E).file)??""}`)),w(F,m)};B(Oe,F=>{e(E),v(()=>e(E).type==="system"||e(E).type==="error")?F(Ne):(e(E),v(()=>e(E).type==="saved")?F(Ue,1):(e(E),v(()=>e(E).type==="clean")?F(Je,2):(e(E),v(()=>e(E).type==="skipped")?F(vt,3):(e(E),v(()=>e(E).type==="log")?F(dt,4):F(tt,-1)))))})}var st=o(et,2),De=o(Y,2);{var qe=F=>{var m=gs(),z=Be(m);Qe(z,3,()=>(e(E),v(()=>e(E).violations)),(R,O)=>`${e(E).id}-${O}`,(R,O,ae)=>{var q=ud(),Te=i(q),re=i(Te),W=o(Te,2),_e=i(W),ke=i(_e),$=o(_e,2);{var K=Q=>{var Ce=dd(),Me=o(Be(Ce)),me=i(Me);P(()=>y(me,(e(O),v(()=>e(O).rule)))),w(Q,Ce)};B($,Q=>{e(O),v(()=>e(O).rule)&&Q(K)})}var be=o($,2);{var ce=Q=>{var Ce=os();P(()=>y(Ce,`— ${e(O),v(()=>e(O).issue)??""}`)),w(Q,Ce)};B(be,Q=>{e(O),v(()=>e(O).issue)&&Q(ce)})}var ie=o(be,2);{var N=Q=>{var Ce=fd(),Me=o(Be(Ce)),me=i(Me);P(()=>y(me,`→ ${e(O),v(()=>e(O).suggestion)??""}`)),w(Q,Ce)};B(ie,Q=>{e(O),v(()=>e(O).suggestion)&&Q(N)})}P(Q=>{y(re,`[${e(ae)+1}]`),y(ke,Q)},[()=>(e(O),e(E),v(()=>yl(e(O),e(E).file)))]),w(R,q)}),w(F,m)};B(De,F=>{e(E),v(()=>e(E).type==="violations")&&F(qe)})}P((F,m,z)=>{L=ye(Y,1,"log-row svelte-d3ct2b",null,L,{"log-row-warn":e(E).type==="error","log-row-ok":e(E).type==="clean","log-row-fail":e(E).type==="violations"}),y(Fe,F),ye(se,1,`log-label ${m??""}`,"svelte-d3ct2b"),y(Ze,`[${z??""}]`)},[()=>(e(E),v(()=>gl(e(E).timestamp))),()=>(e(E),v(()=>Vi(e(E)))),()=>(e(E),v(()=>Bi(e(E))))]),U("click",st,()=>{var m;const F=e(E).type==="system"||e(E).type==="error"?e(E).message:e(E).type==="saved"?`saved: ${e(E).file}`:e(E).file;(m=navigator.clipboard)==null||m.writeText(F)}),w(ne,ve)}),w(te,Ee)};B(C,te=>{e(wt),v(()=>e(wt).length===0)?te(I):te(ee,-1)})}w(n,b)},Vo=n=>{var b=gd(),C=Be(b),I=o(i(C),2),ee=i(I),te=o(C,2);{var Ee=ne=>{var E=hd();w(ne,E)},Se=ne=>{var E=gs(),ve=Be(E);Qe(ve,3,()=>(e(d),v(()=>e(d).slice(0,20))),(Y,L)=>`${Y.timestamp}-${L}`,(Y,L)=>{var we=md(),Fe=Be(we),se=i(Fe),Ze=i(se),et=o(se,2),Oe=i(et),Ne=o(et,2),Ue=i(Ne),Je=i(Ue),vt=o(Ue,2);{var dt=De=>{var qe=os();P(F=>y(qe,`— ${F??""}`),[()=>(e(L),v(()=>yl(e(L),e(L).file)))]),w(De,qe)};B(vt,De=>{e(L),v(()=>e(L).file)&&De(dt)})}var tt=o(Fe,2);{var st=De=>{var qe=bd(),F=o(i(qe),2),m=i(F);{var z=ae=>{var q=os();P(()=>y(q,(e(L),v(()=>e(L).issue)))),w(ae,q)};B(m,ae=>{e(L),v(()=>e(L).issue)&&ae(z)})}var R=o(m,2);{var O=ae=>{var q=_d(),Te=o(Be(q)),re=i(Te);P(()=>y(re,`→ ${e(L),v(()=>e(L).suggestion)??""}`)),w(ae,q)};B(R,ae=>{e(L),v(()=>e(L).suggestion)&&ae(O)})}w(De,qe)};B(tt,De=>{e(L),v(()=>e(L).issue||e(L).suggestion)&&De(st)})}P(De=>{y(Ze,De),y(Oe,`[${e(L),v(()=>e(L).source==="ci"?"CI":"HOOK")??""}]`),y(Je,(e(L),v(()=>e(L).rule)))},[()=>(e(L),v(()=>gl(e(L).timestamp)))]),w(Y,we)}),w(ne,E)};B(te,ne=>{e(d),v(()=>e(d).length===0)?ne(Ee):ne(Se,-1)})}P(()=>y(ee,`${e(d),v(()=>e(d).length)??""} violation${e(d),v(()=>e(d).length===1?"":"s")??""} in last 24h`)),w(n,b)},Wo=n=>{var b=Ed(),C=Be(b),I=o(i(C),2),ee=i(I),te=o(C,2),Ee=i(te),Se=i(Ee);Se.value=Se.__value="all";var ne=o(Se);ne.value=ne.__value="rule";var E=o(ne);E.value=E.__value="decision";var ve=o(E);ve.value=ve.__value="pattern";var Y=o(ve);Y.value=Y.__value="ignore";var L=o(Ee,2),we=o(te,2),Fe=i(we),se=i(Fe),Ze=i(se),et=i(Ze);et.value=et.__value="rule";var Oe=o(et);Oe.value=Oe.__value="decision";var Ne=o(Oe);Ne.value=Ne.__value="pattern";var Ue=o(Ne);Ue.value=Ue.__value="ignore";var Je=o(Ze,2),vt=i(Je);vt.value=vt.__value="project";var dt=o(vt);dt.value=dt.__value="global";var tt=o(Je,2),st=o(tt,2),De=o(se,2),qe=i(De),F=o(qe,2),m=i(F),z=o(we,2);Qe(z,5,()=>e(r),R=>R.id,(R,O)=>{var ae=wd(),q=i(ae),Te=i(q),re=o(q,2),W=i(re),_e=o(re,2),ke=i(_e),$=o(_e,2);{var K=ce=>{var ie=yd(),N=i(ie);P(()=>y(N,(e(O),v(()=>e(O).reason)))),w(ce,ie)};B($,ce=>{e(O),v(()=>e(O).reason)&&ce(K)})}var be=o($,2);P(()=>{y(Te,(e(O),v(()=>e(O).type))),y(W,(e(O),v(()=>e(O).scope))),y(ke,(e(O),v(()=>e(O).content)))}),U("click",be,()=>zi(e(O).id)),w(R,ae)},R=>{var O=kd(),ae=i(O),q=i(ae);{var Te=W=>{var _e=xd();w(W,_e)},re=W=>{var _e=os("No rules match the current filters.");w(W,_e)};B(q,W=>{e(it)&&e(D)===0?W(Te):W(re,-1)})}w(R,O)}),P(R=>{y(ee,`${e(D)??""} rules active`),F.disabled=R,y(m,e(is)?"Saving…":"+ Add Rule")},[()=>(e(is),e(Ve),v(()=>e(is)||!e(Ve).content.trim()))]),Is(Ee,()=>e(ot),R=>g(ot,R)),Ct(L,()=>e(_s),R=>g(_s,R)),Is(Ze,()=>e(Ve).type,R=>ut(Ve,e(Ve).type=R)),Is(Je,()=>e(Ve).scope,R=>ut(Ve,e(Ve).scope=R)),Ct(tt,()=>e(Ve).reason,R=>ut(Ve,e(Ve).reason=R)),Ct(st,()=>e(Ve).tags,R=>ut(Ve,e(Ve).tags=R)),Ct(qe,()=>e(Ve).content,R=>ut(Ve,e(Ve).content=R)),U("submit",Fe,$r(Ki)),w(n,b)},Uo=n=>{var b=Yd(),C=Be(b),I=o(i(C),2),ee=i(I),te=o(I,2);let Ee;var Se=i(te),ne=o(te,2),E=i(ne),ve=o(ne,2);let Y;var L=i(ve),we=o(C,2);{var Fe=Oe=>{var Ne=Cd(),Ue=i(Ne),Je=i(Ue),vt=o(Je,2),dt=i(vt),tt=o(vt,2),st=i(tt),De=o(tt,2);{var qe=R=>{var O=Sd(),ae=i(O);P(()=>y(ae,e(ca))),w(R,O)};B(De,R=>{e(ca)&&R(qe)})}var F=o(Ue,2);{var m=R=>{var O=Ad();w(R,O)},z=R=>{var O=Ld();Qe(O,5,()=>e(Rs),bt,(ae,q)=>{var Te=Td(),re=i(Te),W=i(re),_e=o(re,2),ke=i(_e),$=o(_e,2),K=o($,2);P(()=>{y(W,(e(q),v(()=>e(q).name))),y(ke,`${e(q),v(()=>e(q).arch_type)??""}${e(q),v(()=>e(q).project_name?` · ${e(q).project_name}`:" · global")??""} · ${e(q),v(()=>e(q).layers.length)??""} layers · ${e(q),v(()=>e(q).rules.length)??""} rules`),$.disabled=e(_t)}),U("click",$,()=>Li(e(q).id)),U("click",K,()=>Ci(e(q).id)),w(ae,Te)}),w(R,O)};B(F,R=>{e(Rs),v(()=>e(Rs).length===0)?R(m):R(z,-1)})}P(R=>{tt.disabled=R,y(st,e(Ea)?"…":"↑ Save current")},[()=>(e(Ea),e(Us),v(()=>e(Ea)||!e(Us).trim()))]),Ct(Je,()=>e(Us),R=>g(Us,R)),U("keydown",Je,R=>R.key==="Enter"&&ul()),In(dt,()=>e(Er),R=>g(Er,R)),U("click",tt,ul),w(Oe,Ne)};B(we,Oe=>{e(Xa)&&Oe(Fe)})}var se=o(we,2);{var Ze=Oe=>{var Ne=Md();w(Oe,Ne)},et=Oe=>{var Ne=Gd(),Ue=i(Ne);le(Ue,"width",_l),le(Ue,"height",bl);var Je=o(i(Ue));Qe(Je,1,()=>e(J),bt,(F,m)=>{var z=gs(),R=Be(z);{var O=ae=>{const q=At(()=>(e(m),v(()=>e(m).r.allowed?"var(--green)":e(m).r.enforcement==="warn"?"#f59e0b":"var(--error)"))),Te=At(()=>(e(m),v(()=>e(m).r.allowed?"arrow-allow":e(m).r.enforcement==="warn"?"arrow-warn":"arrow-block"))),re=At(()=>(e(m),v(()=>e(m).r.allowed?"6,3":e(m).r.enforcement==="warn"?"4,3":"none")));var W=Rd();P(()=>{le(W,"x1",(e(m),v(()=>e(m).sx))),le(W,"y1",(e(m),v(()=>e(m).sy))),le(W,"x2",(e(m),v(()=>e(m).ex))),le(W,"y2",(e(m),v(()=>e(m).ey))),le(W,"stroke",e(q)),le(W,"stroke-dasharray",e(re)),le(W,"marker-end",`url(#${e(Te)??""})`)}),w(ae,W)};B(R,ae=>{e(m)&&ae(O)})}w(F,z)});var vt=o(Je);Qe(vt,1,()=>e(A),bt,(F,m)=>{var z=Nd();let R;var O=i(z);le(O,"width",Zt),le(O,"height",ms);var ae=o(O),q=i(ae),Te=o(ae),re=i(Te),W=o(Te);{var _e=ke=>{var $=Od(),K=Be($),be=o(K);P(()=>{le(K,"cx",(e(m),v(()=>e(m).x+Zt-2))),le(K,"cy",(e(m),v(()=>e(m).y+2))),le(be,"x",(e(m),v(()=>e(m).x+Zt-2))),le(be,"y",(e(m),v(()=>e(m).y+6)))}),U("click",K,Gv(()=>hl(e(m).name))),U("keydown",K,ce=>{ce.key==="Enter"&&hl(e(m).name)}),w(ke,$)};B(W,ke=>{e(Ht)&&ke(_e)})}P(ke=>{R=ye(z,0,"arch-node arch-node-clickable svelte-d3ct2b",null,R,{"arch-node-selected":e(ct)===e(m).name}),le(z,"aria-label",`Show files in ${e(m),v(()=>e(m).name)??""} layer`),le(O,"x",(e(m),v(()=>e(m).x))),le(O,"y",(e(m),v(()=>e(m).y))),ye(O,0,`arch-node-rect arch-node-${e(m),v(()=>e(m).name)??""}`,"svelte-d3ct2b"),le(O,"stroke-width",(e(ct),e(m),v(()=>e(ct)===e(m).name?2.5:1.5))),le(ae,"x",(e(m),v(()=>e(m).x+Zt/2))),le(ae,"y",(e(m),v(()=>e(m).y+ms/2-5))),y(q,(e(m),v(()=>e(m).name))),le(Te,"x",(e(m),v(()=>e(m).x+Zt/2))),le(Te,"y",(e(m),v(()=>e(m).y+ms/2+9))),y(re,ke)},[()=>(e(m),v(()=>e(m).description.length>18?e(m).description.slice(0,16)+"…":e(m).description))]),U("click",z,()=>{e(Ht)||g(ct,e(ct)===e(m).name?null:e(m).name)}),U("keydown",z,ke=>{!e(Ht)&&(ke.key==="Enter"||ke.key===" ")&&g(ct,e(ct)===e(m).name?null:e(m).name)}),w(F,z)});var dt=o(Ue,4);{var tt=F=>{const m=At(()=>(e(k),e(ct),v(()=>e(k).find($=>$.name===e(ct)))));var z=Fd(),R=i(z),O=i(R),ae=i(O),q=o(O,2),Te=i(q),re=o(q,2),W=o(R,2);{var _e=$=>{var K=Id(),be=o(i(K),2);Qe(be,1,()=>(pt(e(m)),v(()=>e(m).paths)),bt,(ce,ie)=>{var N=Dd(),Q=i(N);P(()=>y(Q,e(ie))),w(ce,N)}),w($,K)};B(W,$=>{pt(e(m)),v(()=>{var K,be;return(be=(K=e(m))==null?void 0:K.paths)==null?void 0:be.length})&&$(_e)})}var ke=o(W,2);Qe(ke,1,()=>(e(V),e(ct),v(()=>[e(V).filter($=>$.fromLayer===e(ct)||$.toLayer===e(ct))])),bt,($,K)=>{var be=gs(),ce=Be(be);{var ie=N=>{var Q=jd(),Ce=o(i(Q),2);Qe(Ce,1,()=>e(K),bt,(Me,me)=>{var fe=Pd(),Xe=i(fe);let ft;var ue=i(Xe),Z=o(Xe,2),Re=i(Z);P($e=>{ft=ye(Xe,1,"arch-rule-badge svelte-d3ct2b",null,ft,{"badge-block":!e(me).allowed&&e(me).enforcement==="block","badge-warn":!e(me).allowed&&e(me).enforcement==="warn","badge-allow":e(me).allowed}),y(ue,$e),y(Re,`${e(me),v(()=>e(me).fromLayer)??""} → ${e(me),v(()=>e(me).toLayer)??""} — ${e(me),v(()=>e(me).name)??""}`)},[()=>(e(me),v(()=>e(me).enforcement.toUpperCase()))]),w(Me,fe)}),w(N,Q)};B(ce,N=>{e(K),v(()=>e(K).length)&&N(ie)})}w($,be)}),P(()=>{y(ae,e(ct)),y(Te,(pt(e(m)),v(()=>{var $;return(($=e(m))==null?void 0:$.description)??""})))}),U("click",re,()=>g(ct,null)),w(F,z)};B(dt,F=>{e(ct)&&F(tt)})}var st=o(dt,2);Qe(st,5,()=>e(V),bt,(F,m)=>{var z=Hd(),R=i(z);let O;var ae=i(R),q=o(R,2),Te=i(q),re=o(q,2),W=i(re),_e=o(re,2);{var ke=$=>{var K=$d();U("click",K,()=>Oi(e(m).id)),w($,K)};B(_e,$=>{e(Ht)&&$(ke)})}P($=>{O=ye(R,1,"arch-rule-badge svelte-d3ct2b",null,O,{"badge-block":!e(m).allowed&&e(m).enforcement==="block","badge-warn":!e(m).allowed&&e(m).enforcement==="warn","badge-allow":e(m).allowed}),y(ae,$),y(Te,`${e(m),v(()=>e(m).fromLayer)??""} → ${e(m),v(()=>e(m).toLayer)??""}`),y(W,(e(m),v(()=>e(m).name)))},[()=>(e(m),v(()=>e(m).enforcement.toUpperCase()))]),w(F,z)});var De=o(st,2);{var qe=F=>{var m=zd(),z=Be(m);{var R=re=>{var W=Bd(),_e=o(i(W),2),ke=i(_e),$=o(i(ke),2),K=o(ke,2),be=o(i(K),2),ce=o(K,2),ie=o(i(ce),2),N=o(ce,2),Q=i(N),Ce=o(N,2);P(Me=>{N.disabled=Me,y(Q,e(_t)?"…":"Add")},[()=>(e(_t),e(kt),v(()=>e(_t)||!e(kt).name.trim()))]),Ct($,()=>e(kt).name,Me=>ut(kt,e(kt).name=Me)),Ct(be,()=>e(kt).paths,Me=>ut(kt,e(kt).paths=Me)),Ct(ie,()=>e(kt).description,Me=>ut(kt,e(kt).description=Me)),U("click",Ce,()=>g(Cs,!1)),U("submit",W,$r(Ni)),w(re,W)},O=re=>{var W=Vd();U("click",W,()=>{g(Cs,!0),g(Ms,!1)}),w(re,W)};B(z,re=>{e(Cs)?re(R):re(O,-1)})}var ae=o(z,2);{var q=re=>{var W=qd(),_e=o(i(W),2),ke=i(_e),$=o(i(ke),2),K=i($);K.value=K.__value="";var be=o(K);Qe(be,1,()=>e(k),bt,(nt,St)=>{var es=Wd(),La=i(es),Ca={};P(()=>{y(La,(e(St),v(()=>e(St).name))),Ca!==(Ca=(e(St),v(()=>e(St).name)))&&(es.value=(es.__value=(e(St),v(()=>e(St).name)))??"")}),w(nt,es)});var ce=o(be);ce.value=ce.__value="*";var ie=o(ke,2),N=o(i(ie),2),Q=i(N);Q.value=Q.__value="";var Ce=o(Q);Qe(Ce,1,()=>e(k),bt,(nt,St)=>{var es=Ud(),La=i(es),Ca={};P(()=>{y(La,(e(St),v(()=>e(St).name))),Ca!==(Ca=(e(St),v(()=>e(St).name)))&&(es.value=(es.__value=(e(St),v(()=>e(St).name)))??"")}),w(nt,es)});var Me=o(Ce);Me.value=Me.__value="*";var me=o(ie,2),fe=o(i(me),2),Xe=o(me,2),ft=o(i(Xe),2),ue=i(ft);ue.value=ue.__value="block";var Z=o(ue);Z.value=Z.__value="warn";var Re=o(Xe,2),$e=o(i(Re),2),G=i($e);G.value=G.__value=!1;var xe=o(G);xe.value=xe.__value=!0;var Ie=o(Re,2),X=i(Ie),He=o(Ie,2);P(nt=>{Ie.disabled=nt,y(X,e(_t)?"…":"Add")},[()=>(e(_t),e(je),v(()=>e(_t)||!e(je).fromLayer||!e(je).toLayer||!e(je).name.trim()))]),Is($,()=>e(je).fromLayer,nt=>(ut(je,e(je).fromLayer=nt),Ma(()=>{e(k)}))),Is(N,()=>e(je).toLayer,nt=>(ut(je,e(je).toLayer=nt),Ma(()=>{e(k)}))),Ct(fe,()=>e(je).name,nt=>(ut(je,e(je).name=nt),Ma(()=>{e(k)}))),Is(ft,()=>e(je).enforcement,nt=>(ut(je,e(je).enforcement=nt),Ma(()=>{e(k)}))),Is($e,()=>e(je).allowed,nt=>(ut(je,e(je).allowed=nt),Ma(()=>{e(k)}))),U("click",He,()=>g(Ms,!1)),U("submit",W,$r(Ii)),w(re,W)},Te=re=>{var W=Kd();U("click",W,()=>{g(Ms,!0),g(Cs,!1)}),w(re,W)};B(ae,re=>{e(Ms)?re(q):re(Te,-1)})}w(F,m)};B(De,F=>{e(Ht)&&F(qe)})}w(Oe,Ne)};B(se,Oe=>{e(k),v(()=>e(k).length===0)?Oe(Ze):Oe(et,-1)})}P(()=>{y(ee,`${e(k),v(()=>e(k).length)??""} layers · ${e(V),v(()=>e(V).length)??""} rules`),Ee=ye(te,1,"arch-edit-btn svelte-d3ct2b",null,Ee,{"arch-edit-btn-active":e(Ht)}),y(Se,e(Ht)?"Done":"Edit Graph"),ne.disabled=e(_t),y(E,e(_t)?"…":"↺ Reset"),Y=ye(ve,1,"arch-edit-btn svelte-d3ct2b",null,Y,{"arch-edit-btn-active":e(Xa)}),y(L,`⊞ Profiles${e(Rs),v(()=>e(Rs).length>0?` (${e(Rs).length})`:"")??""}`)}),U("click",te,()=>{g(Ht,!e(Ht)),g(Cs,!1),g(Ms,!1)}),U("click",ne,Di),U("click",ve,()=>{g(Xa,!e(Xa)),g(ca,"")}),w(n,b)},qo=n=>{var b=sf(),C=Be(b),I=o(i(C),2),ee=i(I),te=o(I,2),Ee=i(te),Se=o(te,2),ne=i(Se),E=o(C,2);{var ve=L=>{var we=Jd(),Fe=o(i(we),2),se=i(Fe);P(()=>y(se,(e(_),v(()=>{var Ze;return(Ze=e(_).violationHistory)!=null&&Ze.length?"All violations resolved.":"No violations recorded yet."})))),w(L,we)},Y=L=>{var we=tf();Qe(we,5,()=>e(a),bt,(Fe,se)=>{var Ze=ef();let et;var Oe=i(Ze),Ne=i(Oe),Ue=i(Ne),Je=o(Ne,2),vt=i(Je),dt=o(Je,2);{var tt=m=>{var z=Xd(),R=i(z);P(O=>y(R,`✓ Resolved${O??""}`),[()=>(e(se),v(()=>e(se).resolvedAt?" "+new Date(e(se).resolvedAt).toLocaleTimeString():""))]),w(m,z)};B(dt,m=>{e(se),v(()=>e(se).resolved)&&m(tt)})}var st=o(dt,2);let De;var qe=i(st),F=o(Oe,2);Qe(F,1,()=>(e(se),v(()=>e(se).violations)),bt,(m,z)=>{var R=Zd(),O=i(R),ae=i(O),q=o(O,2),Te=i(q),re=o(q,2);{var W=_e=>{var ke=Qd(),$=i(ke);P(()=>y($,`— ${e(z),v(()=>e(z).issue)??""}`)),w(_e,ke)};B(re,_e=>{e(z),v(()=>e(z).issue)&&_e(W)})}P(_e=>{y(ae,_e),y(Te,(e(z),v(()=>e(z).rule)))},[()=>(e(z),v(()=>{var _e;return((_e=e(z).decision)==null?void 0:_e.toUpperCase())??"VIOLATION"}))]),w(m,R)}),P(m=>{et=ye(Ze,1,"history-entry svelte-d3ct2b",null,et,{"history-entry-resolved":e(se).resolved}),y(Ue,(e(se),v(()=>e(se).file))),y(vt,m),De=ye(st,1,"history-resolve-btn svelte-d3ct2b",null,De,{"history-resolve-btn-active":e(se).resolved}),le(st,"title",(e(se),v(()=>e(se).resolved?"Mark unresolved":"Mark as resolved"))),y(qe,(e(se),v(()=>e(se).resolved?"↩ Unresolve":"✓ Resolve")))},[()=>(e(se),v(()=>new Date(e(se).timestamp).toLocaleString()))]),U("click",st,()=>Ri(e(se).timestamp)),w(Fe,Ze)}),w(L,we)};B(E,L=>{e(a),v(()=>!e(a).length)?L(ve):L(Y,-1)})}P(()=>{y(ee,`${e(_),v(()=>{var L;return((L=e(_).violationHistory)==null?void 0:L.length)??0})??""} entries`),Se.disabled=(e(Aa),e(_),v(()=>{var L;return e(Aa)||!((L=e(_).violationHistory)!=null&&L.length)})),y(ne,e(Aa)?"…":"✕ Clear all")}),In(Ee,()=>e(Za),L=>g(Za,L)),U("click",Se,Mi),w(n,b)},Ko=n=>{var b=wf(),C=Be(b),I=o(i(C),2);{var ee=Y=>{var L=af(),we=i(L);P(()=>y(we,`${e(de),v(()=>e(de).summary.total)??""} total violations · ${e(de),v(()=>e(de).summary.uniqueFiles)??""} files`)),w(Y,L)};B(I,Y=>{e(de)&&Y(ee)})}var te=o(I,2),Ee=i(te),Se=o(C,2);{var ne=Y=>{var L=rf();w(Y,L)},E=Y=>{var L=lf();w(Y,L)},ve=Y=>{var L=yf(),we=Be(L),Fe=i(we),se=i(Fe),Ze=i(se),et=o(Fe,2),Oe=i(et),Ne=i(Oe),Ue=o(et,2),Je=i(Ue),vt=i(Je),dt=o(Ue,2),tt=i(dt),st=i(tt),De=o(we,2),qe=i(De);let F;var m=o(qe,2);let z;var R=o(m,2);let O;var ae=o(R,2);let q;var Te=o(De,2);{var re=$=>{const K=At(()=>(e(de),v(()=>Math.max(1,...e(de).trends.map(ue=>ue.violations))))),be=At(()=>600),ce=At(()=>140),ie=At(()=>32),N=At(()=>(e(de),pt(e(ie)),pt(e(be)),pt(e(ce)),pt(e(K)),v(()=>e(de).trends.map((ue,Z)=>({x:e(ie)+Z/(e(de).trends.length-1||1)*(e(be)-e(ie)*2),y:e(ce)-e(ie)-ue.violations/e(K)*(e(ce)-e(ie)*2),t:ue})))));var Q=vf(),Ce=i(Q);le(Ce,"viewBox",`0 0 ${e(be)??""} ${e(ce)??""}`);var Me=i(Ce);Qe(Me,0,()=>[0,.25,.5,.75,1],bt,(ue,Z)=>{var Re=nf(),$e=Be(Re);le($e,"x1",e(ie)),le($e,"x2",e(be)-e(ie));var G=o($e);le(G,"x",e(ie)-4);var xe=i(G);P(Ie=>{le($e,"y1",e(ce)-e(ie)-Z*(e(ce)-e(ie)*2)),le($e,"y2",e(ce)-e(ie)-Z*(e(ce)-e(ie)*2)),le(G,"y",e(ce)-e(ie)-Z*(e(ce)-e(ie)*2)+4),y(xe,Ie)},[()=>(pt(e(K)),v(()=>Math.round(e(K)*Z)))]),w(ue,Re)});var me=o(Me,2),fe=o(me),Xe=o(fe);Qe(Xe,1,()=>e(N),bt,(ue,Z)=>{var Re=gs(),$e=Be(Re);{var G=xe=>{var Ie=of(),X=i(Ie),He=i(X);P(()=>{le(Ie,"cx",(e(Z),v(()=>e(Z).x))),le(Ie,"cy",(e(Z),v(()=>e(Z).y))),y(He,`${e(Z),v(()=>e(Z).t.date)??""}: ${e(Z),v(()=>e(Z).t.violations)??""} violations, ${e(Z),v(()=>e(Z).t.files)??""} files`)}),w(xe,Ie)};B($e,xe=>{e(Z),v(()=>e(Z).t.violations>0)&&xe(G)})}w(ue,Re)});var ft=o(Xe);Qe(ft,1,()=>(pt(e(N)),v(()=>e(N).filter((ue,Z)=>Z%7===0||Z===e(N).length-1))),bt,(ue,Z)=>{var Re=cf();le(Re,"y",e(ce)-4);var $e=i(Re);P(G=>{le(Re,"x",(e(Z),v(()=>e(Z).x))),y($e,G)},[()=>(e(Z),v(()=>e(Z).t.date.slice(5)))]),w(ue,Re)}),P((ue,Z)=>{le(me,"points",`${ue??""} ${pt(e(N)),v(()=>e(N)[e(N).length-1].x)??""},${e(ce)-e(ie)} ${pt(e(N)),v(()=>e(N)[0].x)??""},${e(ce)-e(ie)}`),le(fe,"points",Z)},[()=>(pt(e(N)),v(()=>e(N).map(ue=>`${ue.x},${ue.y}`).join(" "))),()=>(pt(e(N)),v(()=>e(N).map(ue=>`${ue.x},${ue.y}`).join(" ")))]),w($,Q)},W=$=>{var K=gs(),be=Be(K);{var ce=N=>{var Q=df();w(N,Q)},ie=N=>{const Q=At(()=>(e(de),v(()=>Math.max(1,...e(de).fileHeat.map(me=>me.count)))));var Ce=uf(),Me=o(i(Ce),2);Qe(Me,1,()=>(e(de),v(()=>e(de).fileHeat)),bt,(me,fe)=>{const Xe=At(()=>(e(fe),pt(e(Q)),v(()=>e(fe).count/e(Q)*100)));var ft=ff(),ue=i(ft),Z=i(ue),Re=o(ue,2),$e=i(Re),G=o($e,2),xe=i(G),Ie=o(Re,2),X=i(Ie),He=o(Ie,2),nt=i(He);P((St,es,La)=>{le(ue,"title",(e(fe),v(()=>e(fe).file))),y(Z,St),or($e,`width:${e(Xe)??""}%; background: hsl(${es??""},70%,45%)`),y(xe,(e(fe),v(()=>e(fe).count))),y(X,(e(fe),v(()=>e(fe).resolved>0?`✓ ${e(fe).resolved}`:"—"))),y(nt,La)},[()=>(e(fe),v(()=>e(fe).file.split("/").slice(-2).join("/"))),()=>(pt(e(Xe)),v(()=>Math.round(120-e(Xe)*1.2))),()=>(e(fe),v(()=>new Date(e(fe).lastViolation).toLocaleDateString()))]),w(me,ft)}),w(N,Ce)};B(be,N=>{e(de),v(()=>e(de).fileHeat.length===0)?N(ce):N(ie,-1)})}w($,K)},_e=$=>{const K=At(()=>(e(de),v(()=>Math.max(1,...e(de).ruleEffectiveness.map(ie=>ie.hitCount)))));var be=_f(),ce=o(i(be),2);Qe(ce,1,()=>(e(de),v(()=>e(de).ruleEffectiveness)),bt,(ie,N)=>{var Q=hf();let Ce;var Me=i(Q),me=i(Me),fe=o(Me,2),Xe=i(fe),ft=o(fe,2),ue=i(ft);{var Z=X=>{var He=pf();P(()=>or(He,`width:${e(N),pt(e(K)),v(()=>e(N).hitCount/e(K)*100)??""}%; background:var(--error)`)),w(X,He)};B(ue,X=>{e(N),v(()=>e(N).hitCount>0)&&X(Z)})}var Re=o(ue,2);let $e;var G=i(Re),xe=o(ft,2),Ie=i(xe);P(X=>{Ce=ye(Q,1,"an-heat-row svelte-d3ct2b",null,Ce,{"an-row-dead":e(N).hitCount===0}),y(me,(e(N),v(()=>e(N).name))),y(Xe,`${e(N),v(()=>e(N).fromLayer)??""} → ${e(N),v(()=>e(N).toLayer)??""}`),$e=ye(Re,1,"an-heat-count svelte-d3ct2b",null,$e,{"an-dead-count":e(N).hitCount===0}),y(G,(e(N),v(()=>e(N).hitCount===0?"never fired":e(N).hitCount))),y(Ie,X)},[()=>(e(N),v(()=>e(N).lastFired?new Date(e(N).lastFired).toLocaleDateString():"—"))]),w(ie,Q)}),w($,be)},ke=$=>{var K=gs(),be=Be(K);{var ce=N=>{var Q=bf();w(N,Q)},ie=N=>{const Q=At(()=>(e(de),v(()=>Math.max(1,...e(de).teamActivity.map(me=>me.violations)))));var Ce=gf(),Me=o(i(Ce),2);Qe(Me,1,()=>(e(de),v(()=>e(de).teamActivity)),bt,(me,fe)=>{var Xe=mf(),ft=i(Xe),ue=i(ft),Z=o(ft,2),Re=i(Z),$e=o(Re,2),G=i($e),xe=o(Z,2),Ie=i(xe),X=o(xe,2),He=i(X);P(nt=>{y(ue,(e(fe),v(()=>e(fe).author))),or(Re,`width:${e(fe),pt(e(Q)),v(()=>e(fe).violations/e(Q)*100)??""}%; background:var(--tertiary)`),y(G,(e(fe),v(()=>e(fe).violations))),y(Ie,(e(fe),v(()=>e(fe).files))),y(He,nt)},[()=>(e(fe),v(()=>new Date(e(fe).lastSeen).toLocaleDateString()))]),w(me,Xe)}),w(N,Ce)};B(be,N=>{e(de),v(()=>e(de).teamActivity.length===0)?N(ce):N(ie,-1)})}w($,K)};B(Te,$=>{e(Bt)==="trends"?$(re):e(Bt)==="heatmap"?$(W,1):e(Bt)==="rules"?$(_e,2):e(Bt)==="team"&&$(ke,3)})}P(()=>{y(Ze,(e(de),v(()=>e(de).summary.total))),y(Ne,(e(de),v(()=>e(de).summary.open))),y(vt,(e(de),v(()=>e(de).summary.resolved))),y(st,(e(de),v(()=>e(de).summary.uniqueFiles))),F=ye(qe,1,"an-tab svelte-d3ct2b",null,F,{"an-tab-active":e(Bt)==="trends"}),z=ye(m,1,"an-tab svelte-d3ct2b",null,z,{"an-tab-active":e(Bt)==="heatmap"}),O=ye(R,1,"an-tab svelte-d3ct2b",null,O,{"an-tab-active":e(Bt)==="rules"}),q=ye(ae,1,"an-tab svelte-d3ct2b",null,q,{"an-tab-active":e(Bt)==="team"})}),U("click",qe,()=>g(Bt,"trends")),U("click",m,()=>g(Bt,"heatmap")),U("click",R,()=>g(Bt,"rules")),U("click",ae,()=>g(Bt,"team")),w(Y,L)};B(Se,Y=>{e(Sa)?Y(ne):e(de)?Y(ve,-1):Y(E,1)})}P(()=>{te.disabled=e(Sa),y(Ee,e(Sa)?"…":"⟳ Refresh")}),U("click",te,pl),w(n,b)};B(Ho,n=>{e(Ye)==="live-feed"?n(Bo):e(Ye)==="commit-hook"?n(Vo,1):e(Ye)==="rules"?n(Wo,2):e(Ye)==="arch-graph"?n(Uo,3):e(Ye)==="history"?n(qo,4):e(Ye)==="analytics"&&n(Ko,5)})}var zo=o(cn,2),vn=i(zo),dn=i(vn),Go=o(i(dn),2),Yo=i(Go),fn=o(dn,2),un=o(i(fn),2),Jo=i(un),Xo=o(un,2),Qo=i(Xo),pn=o(fn,2),Zo=o(i(pn),2),ec=i(Zo),tc=o(pn,2),hn=o(i(tc),2);let _n;var sc=i(hn),ac=o(vn,2),bn=i(ac),rr=i(bn),rc=i(rr),lr=o(rr,2),lc=i(lr),Nr=o(lr,2),nc=i(Nr),ic=o(bn,2),mn=i(ic),oc=i(mn),cc=o(mn,2),vc=i(cc),dc=o(Ll,2);{var fc=n=>{var b=Ef(),C=i(b),I=i(C),ee=o(i(I),2),te=o(I,2),Ee=o(i(te),2),Se=o(i(Ee),2),ne=i(Se);ne.value=ne.__value="ollama";var E=o(ne);E.value=E.__value="openai";var ve=o(E);ve.value=ve.__value="anthropic";var Y=o(ve);Y.value=Y.__value="minimax";var L=o(Y);L.value=L.__value="openai-compatible";var we=o(Ee,2),Fe=o(i(we),2),se=o(we,2);{var Ze=G=>{var xe=xf(),Ie=o(i(xe),2);P(()=>le(Ie,"placeholder",(e(_),v(()=>{var X;return(X=e(_).runtime)!=null&&X.model.apiKeyConfigured?"(already set — leave blank to keep)":"sk-..."})))),Ct(Ie,()=>e(We).apiKey,X=>ut(We,e(We).apiKey=X)),w(G,xe)};B(se,G=>{e(We),v(()=>e(We).provider&&e(We).provider!=="ollama")&&G(Ze)})}var et=o(se,2),Oe=o(i(et),2),Ne=i(Oe),Ue=i(Ne),Je=o(Ne,2),vt=o(et,2);{var dt=G=>{var xe=kf();let Ie;var X=i(xe);P(He=>{Ie=ye(xe,1,"modal-msg svelte-d3ct2b",null,Ie,He),y(X,e(Ts))},[()=>({"modal-msg-ok":e(Ts).startsWith("✓"),"modal-msg-err":e(Ts).startsWith("✗")})]),w(G,xe)};B(vt,G=>{e(Ts)&&G(dt)})}var tt=o(te,2),st=o(i(tt),2),De=o(i(st),2),qe=o(st,2),F=o(i(qe),2),m=o(tt,2),z=o(i(m),2),R=o(i(z)),O=i(R),ae=o(z,2),q=o(i(ae)),Te=i(q),re=o(ae,2),W=o(i(re)),_e=i(W),ke=o(re,2),$=o(i(ke)),K=i($),be=o(ke,2),ce=o(i(be)),ie=i(ce),N=o(be,2),Q=o(i(N)),Ce=i(Q),Me=o(N,2),me=o(i(Me)),fe=i(me),Xe=o(Me,2),ft=o(i(Xe)),ue=i(ft),Z=o(Xe,2),Re=o(i(Z)),$e=i(Re);P((G,xe,Ie)=>{Ne.disabled=e(Ja),y(Ue,e(Ja)?"Saving…":"Apply"),y(O,(e(_),v(()=>{var X;return((X=e(_).runtime)==null?void 0:X.model.provider)??"—"}))),y(Te,(e(_),v(()=>{var X,He;return((X=e(_).runtime)==null?void 0:X.model.checkModelResolved)??((He=e(_).runtime)==null?void 0:He.model.chatModel)??"—"}))),y(_e,(e(_),v(()=>{var X;return(X=e(_).runtime)!=null&&X.model.apiKeyConfigured?"Configured":"Not set"}))),y(K,(e(_),v(()=>{var X,He;return((X=e(_).runtime)==null?void 0:X.model.embeddingModelResolved)??((He=e(_).runtime)==null?void 0:He.model.embeddingModel)??"—"}))),y(ie,`${e(_),v(()=>{var X,He;return((He=(X=e(_).runtime)==null?void 0:X.timeouts)==null?void 0:He.chatTimeoutMs)??"60000"})??""} ms`),y(Ce,`${e(_),v(()=>{var X,He;return((He=(X=e(_).runtime)==null?void 0:X.timeouts)==null?void 0:He.checkTimeoutMs)??"20000"})??""} ms`),y(fe,(e(_),v(()=>{var X;return((X=e(_).stats.tokens)==null?void 0:X.calls)??0}))),y(ue,`${G??""} ${e(_),v(()=>{var X;return((X=e(_).runtime)==null?void 0:X.model.provider)==="ollama"?"(local — free)":""})??""}`),y($e,`${xe??""} in / ${Ie??""} out`)},[()=>(e(_),v(()=>{var G,xe;return((xe=(G=e(_).stats.tokens)==null?void 0:G.totalTokens)==null?void 0:xe.toLocaleString())??"0"})),()=>(e(_),v(()=>{var G,xe;return((xe=(G=e(_).stats.tokens)==null?void 0:G.inputTokens)==null?void 0:xe.toLocaleString())??"0"})),()=>(e(_),v(()=>{var G,xe;return((xe=(G=e(_).stats.tokens)==null?void 0:G.outputTokens)==null?void 0:xe.toLocaleString())??"0"}))]),U("click",ee,()=>g(xt,!1)),Is(Se,()=>e(We).provider,G=>ut(We,e(We).provider=G)),Ct(Fe,()=>e(We).model,G=>ut(We,e(We).model=G)),U("click",Ne,qi),U("click",Je,Wi),Ct(De,()=>e(We).chatTimeoutMs,G=>ut(We,e(We).chatTimeoutMs=G)),Ct(F,()=>e(We).checkTimeoutMs,G=>ut(We,e(We).checkTimeoutMs=G)),U("click",b,Pn(()=>g(xt,!1))),U("keydown",b,Pn(G=>{G.key==="Escape"&&g(xt,!1)})),w(n,b)};B(dc,n=>{e(xt)&&n(fc)})}P((n,b,C,I,ee,te,Ee)=>{var Se,ne,E,ve,Y;y(Yi,n),le(Tr,"title",e(Os)?"Switch to light mode":"Switch to dark mode"),Rl=ye(Lr,1,"side-btn svelte-d3ct2b",null,Rl,{"side-btn-active":e(Ye)==="live-feed"}),Ol=ye(sr,1,"side-btn svelte-d3ct2b",null,Ol,{"side-btn-active":e(Ye)==="commit-hook"}),Nl=ye(Cr,1,"side-btn svelte-d3ct2b",null,Nl,{"side-btn-active":e(Ye)==="rules"}),Dl=ye(Mr,1,"side-btn svelte-d3ct2b",null,Dl,{"side-btn-active":e(Ye)==="arch-graph"}),Il=ye(ar,1,"side-btn svelte-d3ct2b",null,Il,{"side-btn-active":e(Ye)==="history"}),jl=ye(Pl,1,"side-btn svelte-d3ct2b",null,jl,{"side-btn-active":e(Ye)==="analytics"}),$l=ye(Fl,1,"sidebar-conn-dot svelte-d3ct2b",null,$l,{"dot-live":e(S).live}),y(fo,(e(S),v(()=>e(S).live?"Live":"Offline"))),y(ho,`CORE ${e(S),v(()=>e(S).live?"LIVE":"IDLE")??""}`),Vl=ye(Rr,1,"health-badge svelte-d3ct2b",null,Vl,{"health-green":e(Le),"health-warn":!e(Le)}),Ul=ye(Wl,1,"dot svelte-d3ct2b",null,Ul,{"dot-green":e(Le),"dot-warn":!e(Le)}),y(bo,`DB ${e(Le)?"CONNECTED":"DISCONNECTED"}`),ql=ye(Or,1,"health-badge svelte-d3ct2b",null,ql,{"health-blue":e(Ae)||((Se=e(_).runtime)==null?void 0:Se.model.provider)!=="ollama","health-warn":!e(Ae)&&((ne=e(_).runtime)==null?void 0:ne.model.provider)==="ollama"}),zl=ye(Kl,1,"dot svelte-d3ct2b",null,zl,{"dot-blue":e(Ae)||((E=e(_).runtime)==null?void 0:E.model.provider)!=="ollama","dot-warn":!e(Ae)&&((ve=e(_).runtime)==null?void 0:ve.model.provider)==="ollama"}),y(go,`MODEL: ${e(yt)??""}`),sn=ye(tn,1,"metric-value svelte-d3ct2b",null,sn,{"metric-value-warn":e(p)>0}),y(To,e(p)),y(Co,b),y(Oo,C),nn=ye(ln,1,"dot dot-green svelte-d3ct2b",null,nn,{"dot-pulse":e(S).live}),y(Io,I),on=ye(Ta,1,"icon-btn svelte-d3ct2b",null,on,{"icon-btn-active":e(bs)}),le(Ta,"title",e(bs)?"Resume":"Pause"),y(Yo,(e(_),v(()=>{var L;return((L=e(_).stats.tokens)==null?void 0:L.calls)??0}))),y(Jo,ee),y(Qo,(e(_),v(()=>{var L;return((L=e(_).runtime)==null?void 0:L.model.provider)==="ollama"?"LOCAL (FREE)":"USED"}))),y(ec,te),_n=ye(hn,1,"footer-val svelte-d3ct2b",null,_n,{"footer-val-error":(((Y=e(_).stats.bypasses)==null?void 0:Y.withoutReason)??0)>0}),y(sc,`${e(_),v(()=>{var L;return((L=e(_).stats.bypasses)==null?void 0:L.withoutReason)??0})??""} unrecorded`),rr.disabled=e(Ls)==="sync",y(rc,`${e(Ls)==="sync"?"…":"⟳"} Sync Agents`),lr.disabled=e(Ls)==="check-all",y(lc,`${e(Ls)==="check-all"?"…":"⊛"} Check All`),Nr.disabled=e(Ls)==="tune",y(nc,`${e(Ls)==="tune"?"…":"⚙"} Tune Rules`),or(oc,`width: ${Ee??""}%`),y(vc,`Storage: ${e(T)??""} memories`)},[()=>v(Fi),()=>(e(x),v(()=>e(x).toLocaleString())),()=>(e(D),v(()=>e(D).toLocaleString())),()=>(e(S),v(()=>e(S).live?"LIVE STREAMING":e(S).label.toUpperCase())),()=>(e(_),v(()=>{var n;return(n=e(_).stats.tokens)!=null&&n.totalTokens?(e(_).stats.tokens.totalTokens/1e3).toFixed(1)+"K":"—"})),()=>(e(p),e(x),v(()=>e(p)===0?"0.00%":(e(p)/Math.max(1,e(x))*100).toFixed(2)+"%")),()=>(e(T),v(()=>Math.min(100,e(T)/Math.max(1,e(T)+100)*100+20)))]),Ct(Qi,()=>e(ka),n=>g(ka,n)),U("click",Tl,()=>{var n,b,C,I,ee,te;g(xt,!e(xt)),g(We,{provider:((n=e(_).runtime)==null?void 0:n.model.provider)??"",model:((b=e(_).runtime)==null?void 0:b.model.chatModel)??"",apiKey:"",chatTimeoutMs:((I=(C=e(_).runtime)==null?void 0:C.timeouts)==null?void 0:I.chatTimeoutMs)??"",checkTimeoutMs:((te=(ee=e(_).runtime)==null?void 0:ee.timeouts)==null?void 0:te.checkTimeoutMs)??""}),g(Ts,"")}),U("click",Tr,Gi),U("click",Lr,()=>{g(Ye,"live-feed")}),U("click",sr,()=>{g(Ye,"commit-hook")}),U("click",Cr,()=>{g(Ye,"rules")}),U("click",Mr,()=>{g(Ye,"arch-graph"),g(Ht,!1),Qa().catch(()=>{})}),U("click",ar,()=>{g(Ye,"history")}),U("click",Pl,()=>{g(Ye,"analytics"),pl()}),U("click",So,Ui),U("click",Ta,()=>g(bs,!e(bs))),U("click",$o,()=>{const n=new Blob([JSON.stringify(e(_),null,2)],{type:"application/json"}),b=document.createElement("a");b.href=URL.createObjectURL(n),b.download="memory-core-snapshot.json",b.click()}),U("click",rr,()=>Ar("sync")),U("click",lr,()=>Ar("check-all")),U("click",Nr,()=>Ar("tune")),w(t,xl),Jn()}Dv(Af,{target:document.getElementById("app")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}:root{--primary: #0040e0;--primary-dim: #2e5bff;--primary-container: #efefff;--on-primary: #ffffff;--surface: #f8f9fb;--surface-low: #f3f4f6;--surface-mid: #edeef0;--surface-high: #e7e8ea;--surface-highest: #e1e2e4;--on-surface: #191c1e;--on-surface-var: #434656;--outline: #747688;--outline-var: #c4c5d9;--error: #ba1a1a;--error-bg: #ffdad6;--tertiary: #993100;--green: #10b981;--green-bg: rgba(16,185,129,.1);--green-border: rgba(16,185,129,.3);--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--sans: "Hanken Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;--sidebar-bg: #f0f1f5;--sidebar-border: #e0e1e9;--sidebar-text: #191c1e;--sidebar-muted: #747688;--sidebar-hover: rgba(0,0,0,.05);--sidebar-active-bg: #e4e8ff}body{margin:0;background:var(--surface);color:var(--on-surface);font-family:var(--sans);font-size:14px;overflow:hidden;height:100vh}*{box-sizing:border-box}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--surface-low)}::-webkit-scrollbar-thumb{background:var(--outline-var);border-radius:4px}.shell.svelte-d3ct2b{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar.svelte-d3ct2b{display:flex;align-items:center;gap:12px;height:48px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--outline-var);flex-shrink:0;z-index:30}.topbar-brand.svelte-d3ct2b{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-project.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--on-surface);letter-spacing:.02em;text-transform:uppercase}.topbar-arch-pill.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--primary);background:var(--primary-container);border:1px solid var(--primary-dim);border-radius:4px;padding:2px 7px;letter-spacing:.04em;text-transform:uppercase}.topbar-search.svelte-d3ct2b{flex:1;max-width:480px;margin:0 auto;position:relative}.search-icon.svelte-d3ct2b{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--on-surface-var);font-size:18px;pointer-events:none;line-height:1}.search-input.svelte-d3ct2b{width:100%;height:36px;padding:0 12px 0 36px;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:8px;color:var(--on-surface);font-family:var(--sans);font-size:13px;outline:none;transition:border-color .15s}.search-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.topbar-actions.svelte-d3ct2b{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon-btn.svelte-d3ct2b{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--on-surface-var);cursor:pointer;transition:background .15s,color .15s}.icon-btn.svelte-d3ct2b:hover{background:var(--surface-low);color:var(--primary)}.icon-btn-active.svelte-d3ct2b{color:var(--primary)!important;background:var(--primary-container)!important}.avatar.svelte-d3ct2b{width:32px;height:32px;border-radius:50%;background:var(--primary-dim);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-left:8px;border:1px solid var(--outline-var);flex-shrink:0;cursor:default}.body.svelte-d3ct2b{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar.svelte-d3ct2b{width:188px;flex-shrink:0;display:flex;flex-direction:column;padding:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:20}.sidebar-logo.svelte-d3ct2b{display:flex;align-items:center;gap:10px;padding:0 16px;height:48px;border-bottom:1px solid var(--sidebar-border);color:var(--sidebar-text);flex-shrink:0}.sidebar-brand-label.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sidebar-text, #e2e2e8);text-transform:uppercase}.sidebar-nav.svelte-d3ct2b{display:flex;flex-direction:column;gap:2px;padding:12px 8px;flex:1}.side-btn.svelte-d3ct2b{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-left:2px solid transparent;border-radius:0 6px 6px 0;color:var(--sidebar-muted);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:color .12s,background .12s,border-color .12s;margin-left:-8px}.side-btn.svelte-d3ct2b:hover{color:var(--sidebar-text);background:var(--sidebar-hover)}.side-btn-active.svelte-d3ct2b{color:var(--sidebar-text)!important;background:var(--sidebar-active-bg)!important;border-left-color:var(--primary)!important}.side-badge.svelte-d3ct2b{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error);color:#fff;font-size:9px;font-weight:700;margin-left:2px}.sidebar-footer.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--sidebar-border)}.sidebar-conn-dot.svelte-d3ct2b{width:7px;height:7px;border-radius:50%;background:var(--outline);flex-shrink:0}.sidebar-conn-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.06em}.dot-live.svelte-d3ct2b{background:var(--green)!important;box-shadow:0 0 6px var(--green)}.content.svelte-d3ct2b{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.health-bar.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 24px;border-bottom:1px solid var(--outline-var);background:#fff;flex-shrink:0;flex-wrap:wrap}.health-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}.health-badge.svelte-d3ct2b{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:700}.health-green.svelte-d3ct2b{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.health-blue.svelte-d3ct2b{background:#0040e014;color:var(--primary);border:1px solid rgba(0,64,224,.2)}.health-warn.svelte-d3ct2b{background:#ba1a1a14;color:var(--error);border:1px solid rgba(186,26,26,.25)}.health-error.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--error);font-weight:700}.dot.svelte-d3ct2b{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-green.svelte-d3ct2b{background:var(--green)}.dot-blue.svelte-d3ct2b{background:var(--primary)}.dot-warn.svelte-d3ct2b{background:var(--error)}.dot-pulse.svelte-d3ct2b{animation:svelte-d3ct2b-pulse 1.4s ease-in-out infinite}@keyframes svelte-d3ct2b-pulse{0%,to{opacity:1}50%{opacity:.35}}.filter-bar.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 24px;background:var(--surface-low);border-bottom:1px solid var(--outline-var);flex-shrink:0}.filter-left.svelte-d3ct2b,.filter-right.svelte-d3ct2b{display:flex;align-items:center;gap:8px}.chip.svelte-d3ct2b{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-family:var(--mono);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;border:none}.chip-primary.svelte-d3ct2b{background:var(--primary-dim);color:#fff}.chip-close.svelte-d3ct2b{background:transparent;border:none;color:#fffc;cursor:pointer;padding:0;font-size:10px;line-height:1}.chip-outline.svelte-d3ct2b{background:var(--surface);color:var(--on-surface-var);border:1px solid var(--outline-var);transition:border-color .15s}.chip-outline.svelte-d3ct2b:hover{border-color:var(--primary-dim)}.chevron.svelte-d3ct2b{transition:transform .2s}.chevron-open.svelte-d3ct2b{transform:rotate(180deg)}.service-dropdown-wrap.svelte-d3ct2b{position:relative}.dropdown.svelte-d3ct2b{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:#fff;border:1px solid var(--outline-var);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:100;overflow:hidden;animation:svelte-d3ct2b-dropIn .12s ease}@keyframes svelte-d3ct2b-dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item.svelte-d3ct2b{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--on-surface-var);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s;text-align:left}.dropdown-item.svelte-d3ct2b:hover{background:var(--surface-low)}.dropdown-item-active.svelte-d3ct2b{color:var(--primary);background:var(--primary-container)}.dropdown-item-active.svelte-d3ct2b:hover{background:var(--primary-container)}.dropdown-badge.svelte-d3ct2b{margin-left:auto;background:var(--error);color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.divider-v.svelte-d3ct2b{width:1px;height:28px;background:var(--outline-var);margin:0 4px}.metrics-strip.svelte-d3ct2b{display:flex;align-items:center;gap:24px}.metric-item.svelte-d3ct2b{display:flex;flex-direction:column;align-items:center}.metric-label.svelte-d3ct2b{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.05em;line-height:1}.metric-value.svelte-d3ct2b{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--on-surface);line-height:1.4}.metric-value-warn.svelte-d3ct2b{color:var(--error)}.live-badge.svelte-d3ct2b{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--outline-var);border-radius:8px;background:#fff;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--on-surface);white-space:nowrap}.feed-area.svelte-d3ct2b{flex:1;min-height:0;overflow-y:auto;padding:12px 24px;background:#fff;font-family:var(--mono);font-size:12px}.log-row.svelte-d3ct2b{display:flex;align-items:baseline;gap:12px;padding:3px 8px;border-radius:4px;transition:background .1s;min-height:22px}.log-row.svelte-d3ct2b:hover{background:var(--surface-low)}.log-row-warn.svelte-d3ct2b{background:#ba1a1a0a}.log-row-fail.svelte-d3ct2b{background:#9931000a}.log-time.svelte-d3ct2b{width:80px;flex-shrink:0;color:var(--outline)}.log-label.svelte-d3ct2b{width:56px;flex-shrink:0;font-weight:700}.label-sys.svelte-d3ct2b{color:var(--primary)}.label-ok.svelte-d3ct2b{color:var(--green)}.label-warn.svelte-d3ct2b{color:var(--tertiary)}.label-info.svelte-d3ct2b{color:var(--on-surface-var)}.label-hook.svelte-d3ct2b{color:var(--error)}.label-chck.svelte-d3ct2b{color:var(--outline)}.log-msg.svelte-d3ct2b{flex:1;min-width:0;color:var(--on-surface-var);word-break:break-all;line-height:1.5}.log-msg.svelte-d3ct2b strong:where(.svelte-d3ct2b){color:var(--on-surface);font-weight:600}.copy-btn.svelte-d3ct2b{opacity:0;background:transparent;border:none;color:var(--outline);cursor:pointer;font-size:14px;padding:0 4px;transition:opacity .15s,color .15s;flex-shrink:0}.log-row.svelte-d3ct2b:hover .copy-btn:where(.svelte-d3ct2b){opacity:1}.copy-btn.svelte-d3ct2b:hover{color:var(--primary)}.log-detail.svelte-d3ct2b{display:flex;gap:8px;padding:3px 8px 3px 148px;font-size:11px;border-left:2px solid rgba(153,49,0,.3);margin-left:8px;margin-bottom:2px}.detail-index.svelte-d3ct2b{color:var(--outline);flex-shrink:0;width:24px}.detail-body.svelte-d3ct2b{color:var(--on-surface-var);flex:1;min-width:0;line-height:1.5}.detail-fix.svelte-d3ct2b{color:var(--primary)}.cursor-blink.svelte-d3ct2b{animation:svelte-d3ct2b-blink 1s step-start infinite}@keyframes svelte-d3ct2b-blink{0%,to{opacity:1}50%{opacity:0}}.section-header.svelte-d3ct2b{display:flex;align-items:baseline;gap:12px;padding:8px 8px 10px;border-bottom:1px solid var(--outline-var);margin-bottom:8px}.section-title.svelte-d3ct2b{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--on-surface)}.section-meta.svelte-d3ct2b{font-size:11px;color:var(--outline);font-family:var(--mono)}.rules-toolbar.svelte-d3ct2b{display:flex;gap:8px;padding:8px;margin-bottom:4px}.rules-select.svelte-d3ct2b,.rules-input.svelte-d3ct2b,.rules-textarea.svelte-d3ct2b{padding:6px 10px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;color:var(--on-surface);font-family:var(--sans);font-size:13px;outline:none;transition:border-color .15s}.rules-select.svelte-d3ct2b:focus,.rules-input.svelte-d3ct2b:focus,.rules-textarea.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.rules-textarea.svelte-d3ct2b{resize:vertical;flex:1;min-width:0}.rule-form-wrap.svelte-d3ct2b{padding:0 8px 8px;border-bottom:1px solid var(--outline-var);margin-bottom:8px}.rule-form.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px}.rule-form-row.svelte-d3ct2b{display:flex;gap:8px;align-items:flex-start}.add-btn.svelte-d3ct2b{padding:8px 16px;background:var(--primary);color:var(--on-primary);border:none;border-radius:6px;font-family:var(--mono);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;align-self:flex-end}.add-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-dim)}.add-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.rule-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:400px;padding:0 8px}.rule-row.svelte-d3ct2b{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);font-size:12px;min-width:0;transition:background .1s}.rule-row.svelte-d3ct2b:hover{background:var(--surface-mid)}.rule-badge.svelte-d3ct2b{padding:2px 7px;background:var(--primary-container);color:var(--primary);border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;flex-shrink:0}.rule-scope.svelte-d3ct2b{color:var(--outline);font-family:var(--mono);font-size:10px;font-weight:600;flex-shrink:0}.rule-content.svelte-d3ct2b{flex:1;min-width:0;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-reason.svelte-d3ct2b{color:var(--on-surface-var);font-size:11px;flex-shrink:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.del-btn.svelte-d3ct2b{background:transparent;border:none;color:var(--outline);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:background .1s,color .1s}.del-btn.svelte-d3ct2b:hover{background:var(--error-bg);color:var(--error)}.metrics-footer.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 24px;border-top:1px solid var(--outline-var);background:var(--surface);flex-shrink:0}.footer-left.svelte-d3ct2b,.footer-right.svelte-d3ct2b{display:flex;align-items:center;gap:24px}.footer-metric.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.footer-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.04em}.footer-val.svelte-d3ct2b{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--on-surface)}.footer-val-error.svelte-d3ct2b{color:var(--error)}.footer-unit.svelte-d3ct2b{font-family:var(--mono);font-size:9px;color:var(--outline);text-transform:uppercase}.storage-bar-wrap.svelte-d3ct2b{display:flex;align-items:center;gap:8px}.storage-bar.svelte-d3ct2b{width:96px;height:6px;background:var(--surface-mid);border-radius:999px;overflow:hidden}.storage-fill.svelte-d3ct2b{height:100%;background:var(--primary-dim);border-radius:999px;transition:width .6s ease}.cli-btn.svelte-d3ct2b{display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--surface-high);border:none;border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.cli-btn.svelte-d3ct2b:hover{background:var(--outline-var)}:root[data-theme=dark]{--primary: #4f9eff;--primary-dim: #3b82f6;--primary-container: #172036;--on-primary: #001b3e;--surface: #111318;--surface-low: #0c0e12;--surface-mid: #1e2128;--surface-high: #252930;--surface-highest: #2e3138;--on-surface: #e6edf3;--on-surface-var: #8b949e;--outline: #484f58;--outline-var: #30363d;--error: #f85149;--error-bg: rgba(248,81,73,.15);--tertiary: #f0883e;--green: #3fb950;--green-bg: rgba(63,185,80,.12);--green-border: rgba(63,185,80,.3);--sidebar-bg: #0d1117;--sidebar-border: #21262d;--sidebar-text: #e6edf3;--sidebar-muted: #6e7681;--sidebar-hover: rgba(255,255,255,.04);--sidebar-active-bg: rgba(79,158,255,.1)}html[data-theme=dark] .topbar.svelte-d3ct2b{background:#161b22;border-bottom-color:var(--outline-var)}html[data-theme=dark] .health-bar.svelte-d3ct2b{background:#1a1c20;border-bottom-color:var(--outline-var)}html[data-theme=dark] .filter-bar.svelte-d3ct2b{background:#111318;border-bottom-color:var(--outline-var)}html[data-theme=dark] .feed-area.svelte-d3ct2b{background:#0c0e12}html[data-theme=dark] .metrics-footer.svelte-d3ct2b{background:#111318;border-top-color:var(--outline-var)}html[data-theme=dark] .search-input.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .dropdown.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);box-shadow:0 8px 24px #00000073}html[data-theme=dark] .dropdown-item.svelte-d3ct2b:hover{background:#282a2e}html[data-theme=dark] .dropdown-item-active.svelte-d3ct2b{background:var(--primary-container);color:var(--primary)}html[data-theme=dark] .chip-outline.svelte-d3ct2b,html[data-theme=dark] .live-badge.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .rule-row.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var)}html[data-theme=dark] .rule-row.svelte-d3ct2b:hover{background:#282a2e}html[data-theme=dark] .rules-select.svelte-d3ct2b,html[data-theme=dark] .rules-input.svelte-d3ct2b,html[data-theme=dark] .rules-textarea.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .log-row.svelte-d3ct2b:hover{background:#1e2024}html[data-theme=dark] .log-row-warn.svelte-d3ct2b{background:#ffb4ab0d}html[data-theme=dark] .log-row-fail.svelte-d3ct2b{background:#ffba200a}html[data-theme=dark] .section-header.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .storage-bar.svelte-d3ct2b{background:#282a2e}html[data-theme=dark] .badge-warn.svelte-d3ct2b{background:#422006;color:#fbbf24}html[data-theme=dark] .log-detail.svelte-d3ct2b{border-left-color:#ffba204d}html[data-theme=dark] .history-entry.svelte-d3ct2b{border-color:var(--outline-var);background:#1a1c20}html[data-theme=dark] .history-header.svelte-d3ct2b{background:#1e2024;border-bottom-color:var(--outline-var)}html[data-theme=dark] .history-violation.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .arch-node-panel.svelte-d3ct2b{background:#1a1c20;border-color:var(--outline-var)}html[data-theme=dark] .arch-node-panel-path.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .arch-rule-row.svelte-d3ct2b{background:#1a1c20;border-color:var(--outline-var)}html[data-theme=dark] .arch-svg.svelte-d3ct2b{background:#0c0e12;border-color:var(--outline-var)}html[data-theme=dark] .footer-actions.svelte-d3ct2b .action-btn:where(.svelte-d3ct2b){background:#1e2024}html[data-theme=dark] .cli-btn.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .modal-status-row.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .modal-input.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .modal-btn.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface-var)}html[data-theme=dark] .modal-btn.svelte-d3ct2b:hover:not(:disabled){background:#282a2e}html[data-theme=dark] .rule-form-wrap.svelte-d3ct2b{border-bottom-color:var(--outline-var)}@media (max-width: 768px){.sidebar.svelte-d3ct2b{width:48px}.sidebar-brand-label.svelte-d3ct2b{display:none}.side-btn.svelte-d3ct2b span:where(.svelte-d3ct2b){display:none}.sidebar-conn-label.svelte-d3ct2b,.metrics-strip.svelte-d3ct2b{display:none}.filter-bar.svelte-d3ct2b,.feed-area.svelte-d3ct2b{padding:8px 12px}.metrics-footer.svelte-d3ct2b{padding:0 12px;gap:12px}.footer-metric.svelte-d3ct2b:nth-child(n+2){display:none}}.footer-actions.svelte-d3ct2b{display:flex;gap:6px;align-items:center;margin-right:12px}.action-btn.svelte-d3ct2b{font-size:11px;font-family:var(--mono);padding:4px 10px;border-radius:6px;border:1px solid var(--outline-var);background:var(--surface-low);color:var(--on-surface-var);cursor:pointer;transition:background .15s,border-color .15s}.action-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-container);border-color:var(--primary);color:var(--primary)}.action-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.action-btn-warn.svelte-d3ct2b:hover:not(:disabled){background:#fff3e0;border-color:#f59e0b;color:#b45309}.modal-backdrop.svelte-d3ct2b{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-d3ct2b{background:var(--surface);border:1px solid var(--outline-var);border-radius:12px;width:480px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0000002e;overflow:hidden}.modal-header.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--outline-var)}.modal-title.svelte-d3ct2b{font-size:14px;font-weight:600;color:var(--on-surface)}.modal-close.svelte-d3ct2b{background:none;border:none;cursor:pointer;color:var(--outline);font-size:16px;line-height:1}.modal-section.svelte-d3ct2b{padding:16px 20px;border-bottom:1px solid var(--outline-var)}.modal-section.svelte-d3ct2b:last-child{border-bottom:none}.modal-section-title.svelte-d3ct2b{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--outline);text-transform:uppercase;margin-bottom:12px}.modal-row.svelte-d3ct2b{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center;margin-bottom:10px}.modal-label.svelte-d3ct2b{font-size:12px;color:var(--on-surface-var)}.modal-input.svelte-d3ct2b{font-size:12px;font-family:var(--mono);padding:6px 10px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);color:var(--on-surface);outline:none;width:100%}.modal-input.svelte-d3ct2b:focus{border-color:var(--primary)}.modal-row-actions.svelte-d3ct2b{display:flex;gap:8px}.modal-btn.svelte-d3ct2b{font-size:12px;padding:6px 14px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);color:var(--on-surface-var);cursor:pointer}.modal-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--surface-mid)}.modal-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.modal-btn-primary.svelte-d3ct2b{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.modal-btn-primary.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-dim)}.modal-msg.svelte-d3ct2b{font-size:12px;margin-top:8px;padding:6px 10px;border-radius:6px}.modal-msg-ok.svelte-d3ct2b{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.modal-msg-err.svelte-d3ct2b{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.modal-status-row.svelte-d3ct2b{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--surface-mid)}.modal-status-row.svelte-d3ct2b:last-child{border-bottom:none}.modal-status-label.svelte-d3ct2b{font-size:11px;color:var(--outline)}.modal-status-val.svelte-d3ct2b{font-size:11px;font-family:var(--mono);color:var(--on-surface)}html[data-theme=dark] .modal.svelte-d3ct2b{background:var(--surface);border-color:var(--outline-var)}.arch-graph-wrap.svelte-d3ct2b{display:flex;flex-direction:column;gap:16px;padding:16px}.arch-svg.svelte-d3ct2b{display:block;border:1px solid var(--outline-var);border-radius:8px;background:var(--surface-low);width:100%;max-width:640px}.arch-node-rect.svelte-d3ct2b{fill:var(--surface-mid);stroke:var(--outline-var);stroke-width:1.5}.arch-node-domain.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-application.arch-node-rect.svelte-d3ct2b{fill:#f0fdf4;stroke:#22c55e}.arch-node-infrastructure.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-api.arch-node-rect.svelte-d3ct2b{fill:#faf5ff;stroke:#a855f7}.arch-node-shared.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-controllers.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-handlers.arch-node-rect.svelte-d3ct2b{fill:#faf5ff;stroke:#a855f7}.arch-node-services.arch-node-rect.svelte-d3ct2b{fill:#f0fdf4;stroke:#22c55e}.arch-node-repositories.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-modules.arch-node-rect.svelte-d3ct2b{fill:#eef2ff;stroke:#6366f1}.arch-node-common.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-models.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}.arch-node-views.arch-node-rect.svelte-d3ct2b{fill:#fefce8;stroke:#eab308}.arch-node-pages.arch-node-rect.svelte-d3ct2b,.arch-node-screens.arch-node-rect.svelte-d3ct2b,.arch-node-routes.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-components.arch-node-rect.svelte-d3ct2b{fill:#fdf2f8;stroke:#ec4899}.arch-node-hooks.arch-node-rect.svelte-d3ct2b{fill:#f5f3ff;stroke:#8b5cf6}.arch-node-composables.arch-node-rect.svelte-d3ct2b{fill:#ecfeff;stroke:#06b6d4}.arch-node-store.arch-node-rect.svelte-d3ct2b,.arch-node-stores.arch-node-rect.svelte-d3ct2b{fill:#fffbeb;stroke:#f59e0b}.arch-node-lib.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}.arch-node-utils.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-guards.arch-node-rect.svelte-d3ct2b{fill:#fff1f2;stroke:#f43f5e}.arch-node-server.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-ports.arch-node-rect.svelte-d3ct2b{fill:#ecfeff;stroke:#06b6d4}.arch-node-adapters.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}html[data-theme=dark] .arch-node-domain.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-application.arch-node-rect.svelte-d3ct2b{fill:#14352a;stroke:#22c55e}html[data-theme=dark] .arch-node-infrastructure.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-api.arch-node-rect.svelte-d3ct2b{fill:#2e1a47;stroke:#a855f7}html[data-theme=dark] .arch-node-shared.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-controllers.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-handlers.arch-node-rect.svelte-d3ct2b{fill:#2e1a47;stroke:#a855f7}html[data-theme=dark] .arch-node-services.arch-node-rect.svelte-d3ct2b{fill:#14352a;stroke:#22c55e}html[data-theme=dark] .arch-node-repositories.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-modules.arch-node-rect.svelte-d3ct2b{fill:#1e1b4b;stroke:#6366f1}html[data-theme=dark] .arch-node-common.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-models.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}html[data-theme=dark] .arch-node-views.arch-node-rect.svelte-d3ct2b{fill:#29240a;stroke:#eab308}html[data-theme=dark] .arch-node-pages.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-screens.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-routes.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-components.arch-node-rect.svelte-d3ct2b{fill:#3d0e2e;stroke:#ec4899}html[data-theme=dark] .arch-node-hooks.arch-node-rect.svelte-d3ct2b{fill:#1e1547;stroke:#8b5cf6}html[data-theme=dark] .arch-node-composables.arch-node-rect.svelte-d3ct2b{fill:#042934;stroke:#06b6d4}html[data-theme=dark] .arch-node-store.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-stores.arch-node-rect.svelte-d3ct2b{fill:#2d200a;stroke:#f59e0b}html[data-theme=dark] .arch-node-lib.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}html[data-theme=dark] .arch-node-utils.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-guards.arch-node-rect.svelte-d3ct2b{fill:#3d0a14;stroke:#f43f5e}html[data-theme=dark] .arch-node-server.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-ports.arch-node-rect.svelte-d3ct2b{fill:#042934;stroke:#06b6d4}html[data-theme=dark] .arch-node-adapters.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}.arch-node-label.svelte-d3ct2b{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--on-surface)}.arch-node-desc.svelte-d3ct2b{font-family:var(--sans);font-size:9px;fill:var(--outline)}.arch-node-clickable.svelte-d3ct2b{cursor:pointer}.arch-node-clickable.svelte-d3ct2b:hover .arch-node-rect:where(.svelte-d3ct2b){filter:brightness(.95)}html[data-theme=dark] .arch-node-clickable.svelte-d3ct2b:hover .arch-node-rect:where(.svelte-d3ct2b){filter:brightness(1.15)}.arch-node-panel.svelte-d3ct2b{border:1px solid var(--outline-var);border-radius:8px;background:var(--surface-low);padding:12px 16px;max-width:640px;display:flex;flex-direction:column;gap:10px}.arch-node-panel-header.svelte-d3ct2b{display:flex;align-items:center;gap:10px}.arch-node-panel-name.svelte-d3ct2b{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--on-surface)}.arch-node-panel-meta.svelte-d3ct2b{font-size:12px;color:var(--outline);flex:1}.arch-node-panel-close.svelte-d3ct2b{background:none;border:none;cursor:pointer;color:var(--outline);font-size:14px;padding:0;line-height:1}.arch-node-panel-close.svelte-d3ct2b:hover{color:var(--on-surface)}.arch-node-panel-paths.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px}.arch-node-panel-section.svelte-d3ct2b{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--outline);margin-bottom:2px}.arch-node-panel-path.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--cyan, #22d3ee);background:var(--surface-mid);padding:3px 8px;border-radius:4px}.arch-node-panel-rule.svelte-d3ct2b{display:flex;align-items:center;gap:8px;font-size:12px}.arch-legend.svelte-d3ct2b{display:flex;gap:16px;align-items:center;font-size:11px;color:var(--outline)}.legend-item.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.arch-rule-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px;max-width:640px}.arch-rule-row.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-low);border-radius:4px;border:1px solid var(--outline-var)}.tab-badge.svelte-d3ct2b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:8px;background:var(--error);color:#fff;font-size:10px;font-weight:700;margin-left:4px;vertical-align:middle}.history-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px;max-width:760px}.history-entry.svelte-d3ct2b{border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);overflow:hidden}.history-header.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--outline-var);background:var(--surface-mid)}.history-file.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--cyan, #22d3ee)}.history-time.svelte-d3ct2b{font-size:11px;color:var(--outline)}.history-violation.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--outline-var);flex-wrap:wrap}.history-violation.svelte-d3ct2b:last-child{border-bottom:none}.history-badge.svelte-d3ct2b{flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;background:var(--error-bg);color:var(--error);white-space:nowrap}.history-rule.svelte-d3ct2b{font-size:12px;font-weight:600;color:var(--on-surface)}.history-issue.svelte-d3ct2b{font-size:12px;color:var(--outline)}.history-entry-resolved.svelte-d3ct2b{opacity:.5}.history-entry-resolved.svelte-d3ct2b .history-file:where(.svelte-d3ct2b){text-decoration:line-through}.history-resolved-badge.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--green);letter-spacing:.04em}.history-resolve-btn.svelte-d3ct2b{margin-left:auto;padding:2px 8px;font-family:var(--mono);font-size:10px;font-weight:700;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px;color:var(--outline);cursor:pointer;transition:color .12s,border-color .12s,background .12s;white-space:nowrap}.history-resolve-btn.svelte-d3ct2b:hover{color:var(--green);border-color:var(--green);background:var(--green-bg)}.history-resolve-btn-active.svelte-d3ct2b{color:var(--green)!important;border-color:var(--green-border)!important;background:var(--green-bg)!important}.history-toggle-label.svelte-d3ct2b{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--outline);cursor:pointer;-webkit-user-select:none;user-select:none}.arch-rule-badge.svelte-d3ct2b{font-size:10px;font-family:var(--mono);font-weight:700;padding:2px 6px;border-radius:3px}.badge-block.svelte-d3ct2b{background:var(--error-bg);color:var(--error)}.badge-warn.svelte-d3ct2b{background:#fef3c7;color:#92400e}.badge-allow.svelte-d3ct2b{background:var(--green-bg);color:var(--green)}.arch-rule-layers.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);white-space:nowrap}.arch-rule-name.svelte-d3ct2b{font-size:11px;color:var(--outline);flex:1}.arch-edit-btn.svelte-d3ct2b{padding:4px 10px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface-var);cursor:pointer;transition:background .15s,color .15s}.arch-edit-btn.svelte-d3ct2b:hover{background:var(--primary-container);color:var(--primary);border-color:var(--primary-dim)}.arch-edit-btn-active.svelte-d3ct2b{background:var(--primary-container)!important;color:var(--primary)!important;border-color:var(--primary-dim)!important}.arch-reset-btn.svelte-d3ct2b{color:var(--tertiary)!important;border-color:var(--tertiary)!important}.arch-reset-btn.svelte-d3ct2b:hover{background:#fff3eb!important}html[data-theme=dark] .arch-reset-btn.svelte-d3ct2b:hover{background:#3d1a00!important}.arch-rule-del.svelte-d3ct2b{background:none;border:none;color:var(--outline);cursor:pointer;font-size:12px;padding:0 4px;line-height:1;transition:color .15s}.arch-rule-del.svelte-d3ct2b:hover{color:var(--error)}.arch-add-form.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;padding:12px;max-width:640px}.arch-add-form-title.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--outline)}.arch-add-row.svelte-d3ct2b{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.arch-add-input.svelte-d3ct2b{height:30px;padding:0 8px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none;min-width:80px}.arch-add-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.arch-add-select.svelte-d3ct2b{height:30px;padding:0 6px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none}.arch-add-submit.svelte-d3ct2b{height:30px;padding:0 12px;background:var(--primary);border:none;border-radius:4px;color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.arch-add-submit.svelte-d3ct2b:hover{background:var(--primary-dim)}.arch-add-submit.svelte-d3ct2b:disabled{opacity:.5;cursor:default}.arch-add-label.svelte-d3ct2b{font-size:10px;color:var(--outline);font-family:var(--mono)}.arch-add-field.svelte-d3ct2b{display:flex;flex-direction:column;gap:2px}.an-summary.svelte-d3ct2b{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.an-card.svelte-d3ct2b{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:8px;min-width:100px}.an-card-val.svelte-d3ct2b{font-family:var(--mono);font-size:24px;font-weight:700;color:var(--on-surface);line-height:1}.an-card-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--outline);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.an-card-warn.svelte-d3ct2b .an-card-val:where(.svelte-d3ct2b){color:var(--error)}.an-card-green.svelte-d3ct2b .an-card-val:where(.svelte-d3ct2b){color:var(--green)}.an-tabs.svelte-d3ct2b{display:flex;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--outline-var)}.an-tab.svelte-d3ct2b{padding:6px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--outline);font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.an-tab.svelte-d3ct2b:hover{color:var(--on-surface)}.an-tab-active.svelte-d3ct2b{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.an-chart-wrap.svelte-d3ct2b{background:var(--surface-low);border:1px solid var(--outline-var);border-radius:8px;padding:16px;max-width:760px}.an-chart-svg.svelte-d3ct2b{display:block;width:100%;height:160px}.an-chart-legend.svelte-d3ct2b{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--outline)}.an-legend-dot.svelte-d3ct2b{width:10px;height:10px;border-radius:50%;display:inline-block}.an-heat-table.svelte-d3ct2b,.an-rule-table.svelte-d3ct2b{display:flex;flex-direction:column;gap:3px;max-width:760px}.an-heat-header.svelte-d3ct2b{display:grid;grid-template-columns:2fr 2fr 80px 100px;gap:8px;padding:4px 10px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--outline)}.an-rule-table.svelte-d3ct2b .an-heat-header:where(.svelte-d3ct2b){grid-template-columns:2fr 1.5fr 2fr 100px}.an-heat-row.svelte-d3ct2b{display:grid;grid-template-columns:2fr 2fr 80px 100px;gap:8px;align-items:center;padding:6px 10px;background:var(--surface-low);border-radius:4px;border:1px solid var(--outline-var)}.an-rule-table.svelte-d3ct2b .an-heat-row:where(.svelte-d3ct2b){grid-template-columns:2fr 1.5fr 2fr 100px}.an-heat-file.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-heat-bar-wrap.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.an-heat-bar.svelte-d3ct2b{height:8px;border-radius:4px;min-width:2px;flex-shrink:0}.an-heat-count.svelte-d3ct2b{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--on-surface);white-space:nowrap}.an-heat-resolved.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--green)}.an-heat-time.svelte-d3ct2b{font-size:11px;color:var(--outline);white-space:nowrap}.an-rule-name.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-rule-layers.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--outline)}.an-row-dead.svelte-d3ct2b{opacity:.45}.an-dead-count.svelte-d3ct2b{color:var(--outline)!important;font-weight:400!important}.profile-panel.svelte-d3ct2b{background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px;max-width:760px}.profile-save-row.svelte-d3ct2b{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-name-input.svelte-d3ct2b{height:30px;padding:0 8px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none;min-width:160px;flex:1}.profile-name-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.profile-scope-label.svelte-d3ct2b{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;color:var(--outline);white-space:nowrap;cursor:pointer}.profile-msg.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--green)}.profile-empty.svelte-d3ct2b{font-size:12px;color:var(--outline);font-style:italic}.profile-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px}.profile-row.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px}.profile-name.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--on-surface)}.profile-meta.svelte-d3ct2b{font-size:11px;color:var(--outline);flex:1}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-B5TFTqLb.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Cfkgvz08.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="app"></div>
|