accessify-widget 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +76 -0
- package/dist/accessify.min.js +2 -0
- package/dist/accessify.min.js.map +1 -0
- package/dist/accessify.mjs +6 -0
- package/dist/accessify.mjs.map +1 -0
- package/dist/alt-text-CLxbmwG6.js +567 -0
- package/dist/alt-text-CLxbmwG6.js.map +1 -0
- package/dist/animation-stop-DXebPS8D.js +88 -0
- package/dist/animation-stop-DXebPS8D.js.map +1 -0
- package/dist/auto-scan-pg-09o7A.js +885 -0
- package/dist/auto-scan-pg-09o7A.js.map +1 -0
- package/dist/big-cursor-B2UKu9dQ.js +88 -0
- package/dist/big-cursor-B2UKu9dQ.js.map +1 -0
- package/dist/color-blind-0LFng55r.js +108 -0
- package/dist/color-blind-0LFng55r.js.map +1 -0
- package/dist/contrast-DCkE0NXZ.js +64 -0
- package/dist/contrast-DCkE0NXZ.js.map +1 -0
- package/dist/dyslexia-font-wONgIy2T.js +77 -0
- package/dist/dyslexia-font-wONgIy2T.js.map +1 -0
- package/dist/focus-highlight-CjERyyUF.js +93 -0
- package/dist/focus-highlight-CjERyyUF.js.map +1 -0
- package/dist/hide-images-DJwmsV2C.js +39 -0
- package/dist/hide-images-DJwmsV2C.js.map +1 -0
- package/dist/index-CUQfpnwR.js +6520 -0
- package/dist/index-CUQfpnwR.js.map +1 -0
- package/dist/keyboard-nav-BdPyLaZt.js +312 -0
- package/dist/keyboard-nav-BdPyLaZt.js.map +1 -0
- package/dist/line-height-BT98qgEF.js +54 -0
- package/dist/line-height-BT98qgEF.js.map +1 -0
- package/dist/link-highlight-DBGm067Y.js +87 -0
- package/dist/link-highlight-DBGm067Y.js.map +1 -0
- package/dist/loader.min.js +1 -0
- package/dist/page-structure-2X8mOSpC.js +166 -0
- package/dist/page-structure-2X8mOSpC.js.map +1 -0
- package/dist/reading-guide-VT8NciIL.js +122 -0
- package/dist/reading-guide-VT8NciIL.js.map +1 -0
- package/dist/reading-mask-BABChuCz.js +76 -0
- package/dist/reading-mask-BABChuCz.js.map +1 -0
- package/dist/saturation-D8ZXpWAN.js +59 -0
- package/dist/saturation-D8ZXpWAN.js.map +1 -0
- package/dist/spacing-DENai3JU.js +106 -0
- package/dist/spacing-DENai3JU.js.map +1 -0
- package/dist/text-align-BDRPqPvl.js +51 -0
- package/dist/text-align-BDRPqPvl.js.map +1 -0
- package/dist/text-simplify-CELklw5A.js +223 -0
- package/dist/text-simplify-CELklw5A.js.map +1 -0
- package/dist/text-size-B-uv436p.js +69 -0
- package/dist/text-size-B-uv436p.js.map +1 -0
- package/dist/tts-02b9iV0h.js +505 -0
- package/dist/tts-02b9iV0h.js.map +1 -0
- package/dist/widget.js +2 -0
- package/dist/widget.js.map +1 -0
- package/package.json +61 -0
package/dist/widget.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __defProp=Object.defineProperty,__typeError=e=>{throw TypeError(e)},__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),__accessCheck=(e,t,n)=>t.has(e)||__typeError("Cannot "+n),__privateGet=(e,t,n)=>(__accessCheck(e,t,"read from private field"),n?n.call(e):t.get(e)),__privateAdd=(e,t,n)=>t.has(e)?__typeError("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),__privateSet=(e,t,n,r)=>(__accessCheck(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),__privateMethod=(e,t,n)=>(__accessCheck(e,t,"access private method"),n);!function(){"use strict";var e,t,n,r,i,a,o,s,c,l,d,u,f,p,h,g,m,v,y,b,x,_,w,k,S,E,$,A,C,M,z,I,T,L,G,P,O,B,j,W,K,N,F,H,R;const q=globalThis.process?.env?.NODE_ENV,D=q&&!q.toLowerCase().startsWith("prod");var U=Array.isArray,V=Array.prototype.indexOf,J=Array.prototype.includes,Y=Array.from,Z=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Q=Object.getOwnPropertyDescriptors,ee=Object.prototype,te=Array.prototype,ne=Object.getPrototypeOf,re=Object.isExtensible;const ie=()=>{};function ae(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const oe=32,se=512,ce=1024,le=2048,de=4096,ue=8192,fe=16384,pe=32768,he=1<<25,ge=65536,me=1<<17,ve=1<<19,ye=1<<25,be=65536,xe=1<<21,_e=1<<23,we=Symbol("$state"),ke=Symbol("legacy props"),Se=Symbol(""),Ee=Symbol("proxy path"),$e=new class extends Error{constructor(){super(...arguments),__publicField(this,"name","StaleReactionError"),__publicField(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Ae(e,t,n){if(D){const r=new Error(`each_key_duplicate\n${n?`Keyed each block has duplicate key \`${n}\` at indexes ${e} and ${t}`:`Keyed each block has duplicate key at indexes ${e} and ${t}`}\nhttps://svelte.dev/e/each_key_duplicate`);throw r.name="Svelte error",r}throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ce(e,t,n){if(D){const r=new Error(`each_key_volatile\nKeyed each block has key that is not idempotent — the key for item at index ${e} was \`${t}\` but is now \`${n}\`. Keys must be the same each time for a given item\nhttps://svelte.dev/e/each_key_volatile`);throw r.name="Svelte error",r}throw new Error("https://svelte.dev/e/each_key_volatile")}const Me=Symbol(),ze=Symbol("filename"),Ie="http://www.w3.org/1999/xhtml";var Te="font-weight: bold",Le="font-weight: normal";function Ge(e){D?console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${e}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,Te,Le):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function Pe(e){return e===this.v}function Oe(e){return n=this.v,!((t=e)!=t?n==n:t!==n||null!==t&&"object"==typeof t||"function"==typeof t);var t,n}function Be(e,t){return e.label=t,je(e.v,t),e}function je(e,t){return e?.[Ee]?.(t),e}function We(e,t){if(!D)throw new Error("invariant(...) was not guarded by if (DEV)");e||function(e){if(D){const t=new Error(`invariant_violation\nAn invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app — please open an issue at https://github.com/sveltejs/svelte, citing the following message: "${e}"\nhttps://svelte.dev/e/invariant_violation`);throw t.name="Svelte error",t}throw new Error("https://svelte.dev/e/invariant_violation")}(t)}let Ke=null;function Ne(e){Ke=e}let Fe=null;function He(e){Fe=e}let Re=null;function qe(e){Re=e}function De(e,t=!1,n){Ke={p:Ke,i:!1,c:null,e:null,s:e,x:null,r:jn,l:null},D&&(Ke.function=n,Re=n)}function Ue(e){var t=Ke,n=t.e;if(null!==n)for(var r of(t.e=null,n))vn(r);return void 0!==e&&(t.x=e),t.i=!0,Ke=t.p,D&&(Re=Ke?.function??null),e??{}}let Ve=[];function Je(e){if(0===Ve.length){var t=Ve;queueMicrotask(()=>{t===Ve&&function(){var e=Ve;Ve=[],function(e){for(var t=0;t<e.length;t++)e[t]()}(e)}()})}Ve.push(e)}const Ye=new WeakMap;function Ze(e){var t=jn;if(null===t)return Pn.f|=_e,e;if(D&&e instanceof Error&&!Ye.has(e)&&Ye.set(e,function(e,t){const n=X(e,"message");if(!n||n.configurable){for(var r=nn?" ":"\t",i=`\n${r}in ${t.fn?.name||"<unknown>"}`,a=t.ctx;null!==a;)i+=`\n${r}in ${a.function?.[ze].split("/").pop()}`,a=a.p;return{message:e.message+`\n${i}\n`,stack:e.stack?.split("\n").filter(e=>!e.includes("svelte/src/internal")).join("\n")}}}(e,t)),0===(t.f&pe)&&!(4&t.f))throw D&&!t.parent&&e instanceof Error&&Qe(e),e;Xe(e,t)}function Xe(e,t){for(;null!==t;){if(128&t.f){if(0===(t.f&pe))throw e;try{return void t.b.error(e)}catch(n){e=n}}t=t.parent}throw D&&e instanceof Error&&Qe(e),e}function Qe(e){const t=Ye.get(e);t&&(Z(e,"message",{value:t.message}),Z(e,"stack",{value:t.stack}))}const et=-7169;function tt(e,t){e.f=e.f&et|t}function nt(e){tt(e,0!==(e.f&se)||null===e.deps?ce:de)}function rt(e){if(null!==e)for(const t of e)2&t.f&&0!==(t.f&be)&&(t.f^=be,rt(t.deps))}function it(e,t,n){0!==(e.f&le)?t.add(e):0!==(e.f&de)&&n.add(e),rt(e.deps),tt(e,ce)}let at=!1;const ot=new Set;let st=null,ct=null,lt=null,dt=!1,ut=null,ft=null;var pt=0,ht=D?new Set:null;let gt=1;const mt=class u{constructor(){__privateAdd(this,d),__publicField(this,"id",gt++),__publicField(this,"current",new Map),__publicField(this,"previous",new Map),__privateAdd(this,e,new Set),__privateAdd(this,t,new Set),__privateAdd(this,n,0),__privateAdd(this,r,0),__privateAdd(this,i,null),__privateAdd(this,a,[]),__privateAdd(this,o,new Set),__privateAdd(this,s,new Set),__privateAdd(this,c,new Map),__publicField(this,"is_fork",!1),__privateAdd(this,l,!1)}skip_effect(e){__privateGet(this,c).has(e)||__privateGet(this,c).set(e,{d:[],m:[]})}unskip_effect(e){var t=__privateGet(this,c).get(e);if(t){for(var n of(__privateGet(this,c).delete(e),t.d))tt(n,le),this.schedule(n);for(n of t.m)tt(n,de),this.schedule(n)}}capture(e,t){t===Me||this.previous.has(e)||this.previous.set(e,t),0===(e.f&_e)&&(this.current.set(e,e.v),ct?.set(e,e.v))}activate(){st=this}deactivate(){st=null,ct=null}flush(){var e=D?new Set:null;try{dt=!0,st=this,__privateMethod(this,d,f).call(this)}finally{if(pt=0,lt=null,ut=null,ft=null,dt=!1,st=null,ct=null,Wt.clear(),D)for(const t of e)t.updated=null}}discard(){for(const e of __privateGet(this,t))e(this);__privateGet(this,t).clear()}increment(e){__privateSet(this,n,__privateGet(this,n)+1),e&&__privateSet(this,r,__privateGet(this,r)+1)}decrement(e,t){__privateSet(this,n,__privateGet(this,n)-1),e&&__privateSet(this,r,__privateGet(this,r)-1),__privateGet(this,l)||t||(__privateSet(this,l,!0),Je(()=>{__privateSet(this,l,!1),this.flush()}))}transfer_effects(e,t){for(const n of e)__privateGet(this,o).add(n);for(const n of t)__privateGet(this,s).add(n);e.clear(),t.clear()}oncommit(t){__privateGet(this,e).add(t)}ondiscard(e){__privateGet(this,t).add(e)}settled(){return(__privateGet(this,i)??__privateSet(this,i,ae())).promise}static ensure(){if(null===st){const e=st=new u;dt||(ot.add(st),Je(()=>{st===e&&e.flush()}))}return st}apply(){ct=null}schedule(e){if(lt=e,e.b?.is_pending&&16777228&e.f&&0===(e.f&pe))e.b.defer_effect(e);else{for(var t=e;null!==t.parent;){var n=(t=t.parent).f;if(!(null===ut||t!==jn||null!==Pn&&2&Pn.f))return;if(96&n){if(0===(n&ce))return;t.f^=ce}}__privateGet(this,a).push(t)}}};e=new WeakMap,t=new WeakMap,n=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,s=new WeakMap,c=new WeakMap,l=new WeakMap,d=new WeakSet,u=function(){return this.is_fork||__privateGet(this,r)>0},f=function(){var t;if(pt++>1e3&&(ot.delete(this),function(){if(D){var e=new Map;for(const n of st.current.keys())for(const[r,i]of n.updated??[]){var t=e.get(r);t||e.set(r,t={error:i.error,count:0}),t.count+=i.count}for(const t of e.values())t.error&&console.error(t.error)}try{!function(){if(D){const e=new Error("effect_update_depth_exceeded\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\nhttps://svelte.dev/e/effect_update_depth_exceeded");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(n){D&&Z(n,"stack",{value:""}),Xe(n,lt)}}()),!__privateMethod(this,d,u).call(this)){for(const e of __privateGet(this,o))__privateGet(this,s).delete(e),tt(e,le),this.schedule(e);for(const e of __privateGet(this,s))tt(e,de),this.schedule(e)}const r=__privateGet(this,a);__privateSet(this,a,[]),this.apply();var l=ut=[],m=[],v=ft=[];for(const e of r)try{__privateMethod(this,d,p).call(this,e,l,m)}catch(x){throw St(e),x}if(st=null,v.length>0){var y=mt.ensure();for(const e of v)y.schedule(e)}if(ut=null,ft=null,__privateMethod(this,d,u).call(this)){__privateMethod(this,d,h).call(this,m),__privateMethod(this,d,h).call(this,l);for(const[e,t]of __privateGet(this,c))kt(e,t)}else{0===__privateGet(this,n)&&ot.delete(this),__privateGet(this,o).clear(),__privateGet(this,s).clear();for(const t of __privateGet(this,e))t(this);__privateGet(this,e).clear(),bt(m),bt(l),__privateGet(this,i)?.resolve()}var b=st;if(__privateGet(this,a).length>0){const e=b??(b=this);__privateGet(e,a).push(...__privateGet(this,a).filter(t=>!__privateGet(e,a).includes(t)))}if(null!==b){if(ot.add(b),D)for(const e of this.current.keys())ht.add(e);__privateMethod(t=b,d,f).call(t)}ot.has(this)||__privateMethod(this,d,g).call(this)},p=function(e,t,n){e.f^=ce;for(var r=e.first;null!==r;){var i=r.f,a=!!(96&i);if(!(a&&0!==(i&ce)||0!==(i&ue)||__privateGet(this,c).has(r))&&null!==r.fn){a?r.f^=ce:4&i?t.push(r):Yn(r)&&(!!(16&i)&&__privateGet(this,s).add(r),tr(r));var o=r.first;if(null!==o){r=o;continue}}for(;null!==r;){var l=r.next;if(null!==l){r=l;break}r=r.parent}}},h=function(e){for(var t=0;t<e.length;t+=1)it(e[t],__privateGet(this,o),__privateGet(this,s))},g=function(){var e;for(const l of ot){var t=l.id<this.id,n=[];for(const[e,r]of this.current){if(l.current.has(e)){if(!t||r===l.current.get(e))continue;l.current.set(e,r)}n.push(e)}if(0!==n.length){var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length>0){D&&We(0===__privateGet(l,a).length,"Batch has scheduled roots"),l.activate();var i=new Set,o=new Map;for(var s of n)xt(s,r,i,o);if(__privateGet(l,a).length>0){for(var c of(l.apply(),__privateGet(l,a)))__privateMethod(e=l,d,p).call(e,c,[],[]);__privateSet(l,a,[])}l.deactivate()}}}};let vt=mt,yt=null;function bt(e){var t=e.length;if(0!==t){for(var n=0;n<t;){var r=e[n++];if(!(24576&r.f)&&Yn(r)&&(yt=new Set,tr(r),null===r.deps&&null===r.first&&null===r.nodes&&null===r.teardown&&null===r.ac&&$n(r),yt?.size>0)){Wt.clear();for(const e of yt){if(24576&e.f)continue;const t=[e];let n=e.parent;for(;null!==n;)yt.has(n)&&(yt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){const n=t[e];24576&n.f||tr(n)}}yt.clear()}}yt=null}}function xt(e,t,n,r){if(!n.has(e)&&(n.add(e),null!==e.reactions))for(const i of e.reactions){const e=i.f;2&e?xt(i,t,n,r):4194320&e&&0===(e&le)&&_t(i,t,r)&&(tt(i,le),wt(i))}}function _t(e,t,n){const r=n.get(e);if(void 0!==r)return r;if(null!==e.deps)for(const i of e.deps){if(J.call(t,i))return!0;if(2&i.f&&_t(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function wt(e){st.schedule(e)}function kt(e,t){if(0===(e.f&oe)||0===(e.f&ce)){0!==(e.f&le)?t.d.push(e):0!==(e.f&de)&&t.m.push(e),tt(e,ce);for(var n=e.first;null!==n;)kt(n,t),n=n.next}}function St(e){tt(e,ce);for(var t=e.first;null!==t;)St(t),t=t.next}class Et{constructor(e,t,n,r){__privateAdd(this,T),__publicField(this,"parent"),__publicField(this,"is_pending",!1),__publicField(this,"transform_error"),__privateAdd(this,m),__privateAdd(this,v,null),__privateAdd(this,y),__privateAdd(this,b),__privateAdd(this,x),__privateAdd(this,_,null),__privateAdd(this,w,null),__privateAdd(this,k,null),__privateAdd(this,S,null),__privateAdd(this,E,0),__privateAdd(this,$,0),__privateAdd(this,A,!1),__privateAdd(this,C,new Set),__privateAdd(this,M,new Set),__privateAdd(this,z,null),__privateAdd(this,I,function(e){let t,n=0,r=Ft(0);return D&&Be(r,"createSubscriber version"),()=>{gn()&&(nr(r),yn(()=>(0===n&&(t=ar(()=>e())),n+=1,()=>{Je(()=>{n-=1,0===n&&(t?.(),t=void 0,Vt(r))})})))}}(()=>(__privateSet(this,z,Ft(__privateGet(this,E))),D&&Be(__privateGet(this,z),"$effect.pending()"),()=>{__privateSet(this,z,null)}))),__privateSet(this,m,e),__privateSet(this,y,t),__privateSet(this,b,e=>{var t=jn;t.b=this,t.f|=128,n(e)}),this.parent=jn.b,this.transform_error=r??this.parent?.transform_error??(e=>e),__privateSet(this,x,xn(()=>{__privateMethod(this,T,L).call(this)},589824))}defer_effect(e){it(e,__privateGet(this,C),__privateGet(this,M))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!__privateGet(this,y).pending}update_pending_count(e,t){__privateMethod(this,T,O).call(this,e,t),__privateSet(this,E,__privateGet(this,E)+e),__privateGet(this,z)&&!__privateGet(this,A)&&(__privateSet(this,A,!0),Je(()=>{__privateSet(this,A,!1),__privateGet(this,z)&&Dt(__privateGet(this,z),__privateGet(this,E))}))}get_effect_pending(){return __privateGet(this,I).call(this),nr(__privateGet(this,z))}error(e){var t=__privateGet(this,y).onerror;let n=__privateGet(this,y).failed;if(!t&&!n)throw e;__privateGet(this,_)&&(Sn(__privateGet(this,_)),__privateSet(this,_,null)),__privateGet(this,w)&&(Sn(__privateGet(this,w)),__privateSet(this,w,null)),__privateGet(this,k)&&(Sn(__privateGet(this,k)),__privateSet(this,k,null));var r=!1,i=!1;const a=()=>{r?D?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",Te,Le):console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(r=!0,i&&function(){if(D){const e=new Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}(),null!==__privateGet(this,k)&&An(__privateGet(this,k),()=>{__privateSet(this,k,null)}),__privateMethod(this,T,P).call(this,()=>{__privateMethod(this,T,L).call(this)}))},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(r){Xe(r,__privateGet(this,x)&&__privateGet(this,x).parent)}n&&__privateSet(this,k,__privateMethod(this,T,P).call(this,()=>{try{return _n(()=>{var t=jn;t.b=this,t.f|=128,n(__privateGet(this,m),()=>e,()=>a)})}catch(r){return Xe(r,__privateGet(this,x).parent),null}}))};Je(()=>{var t;try{t=this.transform_error(e)}catch(n){return void Xe(n,__privateGet(this,x)&&__privateGet(this,x).parent)}null!==t&&"object"==typeof t&&"function"==typeof t.then?t.then(o,e=>Xe(e,__privateGet(this,x)&&__privateGet(this,x).parent)):o(t)})}}function $t(e=!0){Wn(null),Bn(null),Ne(null),e&&st?.deactivate(),D&&He(null)}function At(){var e=jn.b,t=st,n=e.is_rendered();return e.update_pending_count(1,t),t.increment(n),(r=!1)=>{e.update_pending_count(-1,t),t.decrement(n,r)}}m=new WeakMap,v=new WeakMap,y=new WeakMap,b=new WeakMap,x=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,S=new WeakMap,E=new WeakMap,$=new WeakMap,A=new WeakMap,C=new WeakMap,M=new WeakMap,z=new WeakMap,I=new WeakMap,T=new WeakSet,L=function(){try{if(this.is_pending=this.has_pending_snippet(),__privateSet(this,$,0),__privateSet(this,E,0),__privateSet(this,_,_n(()=>{__privateGet(this,b).call(this,__privateGet(this,m))})),__privateGet(this,$)>0){var e=__privateSet(this,S,document.createDocumentFragment());In(__privateGet(this,_),e);const t=__privateGet(this,y).pending;__privateSet(this,w,_n(()=>t(__privateGet(this,m))))}else __privateMethod(this,T,G).call(this,st)}catch(t){this.error(t)}},G=function(e){this.is_pending=!1,e.transfer_effects(__privateGet(this,C),__privateGet(this,M))},P=function(e){var t=jn,n=Pn,r=Ke;Wn(__privateGet(this,x)),Bn(__privateGet(this,x)),Ne(__privateGet(this,x).ctx);try{return vt.ensure(),e()}catch(i){return Ze(i),null}finally{Wn(t),Bn(n),Ne(r)}},O=function(e,t){var n;this.has_pending_snippet()?(__privateSet(this,$,__privateGet(this,$)+e),0===__privateGet(this,$)&&(__privateMethod(this,T,G).call(this,t),__privateGet(this,w)&&An(__privateGet(this,w),()=>{__privateSet(this,w,null)}),__privateGet(this,S)&&(__privateGet(this,m).before(__privateGet(this,S)),__privateSet(this,S,null)))):this.parent&&__privateMethod(n=this.parent,T,O).call(n,e,t)};const Ct=new Set;function Mt(e){var t=null!==Pn&&2&Pn.f?Pn:null;return null!==jn&&(jn.f|=ve),{ctx:Ke,deps:null,effects:null,equals:Pe,f:2050,fn:e,reactions:null,rv:0,v:Me,wv:0,parent:t??jn,ac:null}}function zt(e,t,n){let r=jn;null===r&&function(){if(D){const e=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/async_derived_orphan")}();var i=void 0,a=Ft(Me);D&&(a.label=t);var o=!Pn,s=new Map;return function(e){hn(4718592,e)}(()=>{var t=jn,n=ae();i=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally($t)}catch(u){n.reject(u),$t()}var c=st;if(o){if(0!==(t.f&pe))var l=At();if(r.b.is_rendered())s.get(c)?.reject($e),s.delete(c);else{for(const e of s.values())e.reject($e);s.clear()}s.set(c,n)}const d=(e,n=void 0)=>{if(l&&l(n===$e),n!==$e&&0===(t.f&fe)){if(c.activate(),n)a.f|=_e,Dt(a,n);else{0!==(a.f&_e)&&(a.f^=_e),Dt(a,e);for(const[e,t]of s){if(s.delete(e),e===c)break;t.reject($e)}}c.deactivate()}};n.promise.then(d,e=>d(null,e||"unknown"))}),mn(()=>{for(const e of s.values())e.reject($e)}),D&&(a.f|=4194304),new Promise(e=>{!function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}(i)})}function It(e){const t=Mt(e);return Nn(t),t}function Tt(e){const t=Mt(e);return t.equals=Oe,t}function Lt(e){var t=e.effects;if(null!==t){e.effects=null;for(var n=0;n<t.length;n+=1)Sn(t[n])}}let Gt=[];function Pt(e){var t,n=jn;if(Wn(function(e){for(var t=e.parent;null!==t;){if(!(2&t.f))return 0===(t.f&fe)?t:null;t=t.parent}return null}(e)),D){let r=jt;Kt(new Set);try{J.call(Gt,e)&&function(){if(D){const e=new Error("derived_references_self\nA derived value cannot reference itself recursively\nhttps://svelte.dev/e/derived_references_self");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/derived_references_self")}(),Gt.push(e),e.f&=-65537,Lt(e),t=Xn(e)}finally{Wn(n),Kt(r),Gt.pop()}}else try{e.f&=-65537,Lt(e),t=Xn(e)}finally{Wn(n)}return t}function Ot(e){var t=e.v,n=Pt(e);e.equals(n)||(e.wv=Jn(),st?.is_fork&&null!==e.deps||(e.v=n,st?.capture(e,t),null!==e.deps))?Ln||(null!==ct?(gn()||st?.is_fork)&&ct.set(e,n):nt(e)):tt(e,ce)}function Bt(e){if(null!==e.effects)for(const t of e.effects)t.teardown&&tr(t)}let jt=new Set;const Wt=new Map;function Kt(e){jt=e}let Nt=!1;function Ft(e,t){return{f:0,v:e,reactions:null,equals:Pe,rv:0,wv:0}}function Ht(e,t){const n=Ft(e);return Nn(n),n}function Rt(e,t=!1,n=!0){const r=Ft(e);return t||(r.equals=Oe),r}function qt(e,t,n=!1){null===Pn||On&&0===(Pn.f&me)||!(4325394&Pn.f)||null!==Kn&&J.call(Kn,e)||function(){if(D){const e=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/state_unsafe_mutation")}();let r=n?Zt(t):t;return D&&je(r,e.label),Dt(e,r,ft)}function Dt(e,t,n=null){if(!e.equals(t)){var r=e.v;Wt.set(e,Ln?t:r),e.v=t;var i=vt.ensure();if(i.capture(e,r),D){if(null!==jn){e.updated??(e.updated=new Map);const t=(e.updated.get("")?.count??0)+1;if(e.updated.set("",{error:null,count:t}),t>5){const t=function(){const e=new Error,t=function(){const e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const t=(new Error).stack;if(Error.stackTraceLimit=e,!t)return[];const n=t.split("\n"),r=[];for(let i=0;i<n.length;i++){const e=n[i],t=e.replaceAll("\\","/");if("Error"!==e.trim()){if(e.includes("validate_each_keys"))return[];t.includes("svelte/src/internal")||t.includes("node_modules/.vite")||r.push(e)}}return r}();return 0===t.length?null:(t.unshift("\n"),Z(e,"stack",{value:t.join("\n")}),Z(e,"name",{value:"updated at"}),e)}();if(null!==t){let n=e.updated.get(t.stack);n||(n={error:t,count:0},e.updated.set(t.stack,n)),n.count++}}}null!==jn&&(e.set_during_effect=!0)}if(2&e.f){const t=e;0!==(e.f&le)&&Pt(t),null===ct&&nt(t)}e.wv=Jn(),Jt(e,le,n),null===jn||0===(jn.f&ce)||96&jn.f||(null===Rn?function(e){Rn=e}([e]):Rn.push(e)),!i.is_fork&&jt.size>0&&!Nt&&Ut()}return t}function Ut(){Nt=!1;for(const e of jt)0!==(e.f&ce)&&tt(e,de),Yn(e)&&tr(e);jt.clear()}function Vt(e){qt(e,e.v+1)}function Jt(e,t,n){var r=e.reactions;if(null!==r)for(var i=r.length,a=0;a<i;a++){var o=r[a],s=o.f;if(D&&0!==(s&me))jt.add(o);else{var c=0===(s&le);if(c&&tt(o,t),2&s){var l=o;ct?.delete(l),0===(s&be)&&(s&se&&(o.f|=be),Jt(l,de,n))}else if(c){var d=o;!!(16&s)&&null!==yt&&yt.add(d),null!==n?n.push(d):wt(d)}}}}const Yt=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Zt(e){if("object"!=typeof e||null===e||we in e)return e;const t=ne(e);if(t!==ee&&t!==te)return e;var n=new Map,r=U(e),i=Ht(0),a=Un,o=e=>{if(Un===a)return e();var t=Pn,n=Un;Bn(null),Vn(a);var r=e();return Bn(t),Vn(n),r};r&&(n.set("length",Ht(e.length)),D&&(e=new Proxy(e,{get(e,t,n){var r=Reflect.get(e,t,n);return en.has(t)?function(...e){Nt=!0;var t=r.apply(this,e);return Ut(),t}:r}})));var s="";let c=!1;function l(e){if(!c){c=!0,Be(i,`${s=e} version`);for(const[e,t]of n)Be(t,Xt(s,e));c=!1}}return new Proxy(e,{defineProperty(e,t,r){"value"in r&&!1!==r.configurable&&!1!==r.enumerable&&!1!==r.writable||function(){if(D){const e=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var i=n.get(t);return void 0===i?o(()=>{var e=Ht(r.value);return n.set(t,e),D&&"string"==typeof t&&Be(e,Xt(s,t)),e}):qt(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(void 0===r){if(t in e){const e=o(()=>Ht(Me));n.set(t,e),Vt(i),D&&Be(e,Xt(s,t))}}else qt(r,Me),Vt(i);return!0},get(t,r,i){if(r===we)return e;if(D&&r===Ee)return l;var a=n.get(r),c=r in t;if(void 0!==a||c&&!X(t,r)?.writable||(a=o(()=>{var e=Ht(Zt(c?t[r]:Me));return D&&Be(e,Xt(s,r)),e}),n.set(r,a)),void 0!==a){var d=nr(a);return d===Me?void 0:d}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&"value"in r){var i=n.get(t);i&&(r.value=nr(i))}else if(void 0===r){var a=n.get(t),o=a?.v;if(void 0!==a&&o!==Me)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return r},has(e,t){if(t===we)return!0;var r=n.get(t),i=void 0!==r&&r.v!==Me||Reflect.has(e,t);return!((void 0!==r||null!==jn&&(!i||X(e,t)?.writable))&&(void 0===r&&(r=o(()=>{var n=Ht(i?Zt(e[t]):Me);return D&&Be(n,Xt(s,t)),n}),n.set(t,r)),nr(r)===Me))&&i},set(e,t,a,c){var l=n.get(t),d=t in e;if(r&&"length"===t)for(var u=a;u<l.v;u+=1){var f=n.get(u+"");void 0!==f?qt(f,Me):u in e&&(f=o(()=>Ht(Me)),n.set(u+"",f),D&&Be(f,Xt(s,u)))}void 0===l?d&&!X(e,t)?.writable||(l=o(()=>Ht(void 0)),D&&Be(l,Xt(s,t)),qt(l,Zt(a)),n.set(t,l)):(d=l.v!==Me,qt(l,o(()=>Zt(a))));var p=Reflect.getOwnPropertyDescriptor(e,t);if(p?.set&&p.set.call(c,a),!d){if(r&&"string"==typeof t){var h=n.get("length"),g=Number(t);Number.isInteger(g)&&g>=h.v&&qt(h,g+1)}Vt(i)}return!0},ownKeys(e){nr(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return void 0===t||t.v!==Me});for(var[r,a]of n)a.v===Me||r in e||t.push(r);return t},setPrototypeOf(){!function(){if(D){const e=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function Xt(e,t){return"symbol"==typeof t?`${e}[Symbol(${t.description??""})]`:Yt.test(t)?`${e}.${t}`:/^\d+$/.test(t)?`${e}[${t}]`:`${e}['${t}']`}function Qt(e){try{if(null!==e&&"object"==typeof e&&we in e)return e[we]}catch{}return e}const en=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);var tn,nn,rn,an;function on(e=""){return document.createTextNode(e)}function sn(e){return rn.call(e)}function cn(e){return an.call(e)}function ln(e,t){return sn(e)}function dn(e,t=!1){var n=sn(e);return n instanceof Comment&&""===n.data?cn(n):n}function un(e,t=1,n=!1){let r=e;for(;t--;)r=cn(r);return r}function fn(e,t,n){return document.createElementNS(t??Ie,e,void 0)}function pn(e){var t=Pn,n=jn;Bn(null),Wn(null);try{return e()}finally{Bn(t),Wn(n)}}function hn(e,t){var n=jn;if(D)for(;null!==n&&0!==(n.f&me);)n=n.parent;null!==n&&0!==(n.f&ue)&&(e|=ue);var r={ctx:Ke,deps:null,nodes:null,f:e|le|se,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};D&&(r.component_function=Re);var i=r;if(4&e)null!==ut?ut.push(r):vt.ensure().schedule(r);else if(null!==t){try{tr(r)}catch(a){throw Sn(r),a}null===i.deps&&null===i.teardown&&null===i.nodes&&i.first===i.last&&0===(i.f&ve)&&(i=i.first,16&e&&0!==(e&ge)&&null!==i&&(i.f|=ge))}return null!==i&&(i.parent=n,null!==n&&function(e,t){var n=t.last;null===n?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}(i,n),null!==Pn&&2&Pn.f&&!(64&e))&&(Pn.effects??(Pn.effects=[])).push(i),r}function gn(){return null!==Pn&&!On}function mn(e){const t=hn(8,null);return tt(t,ce),t.teardown=e,t}function vn(e){return hn(1048580,e)}function yn(e,t=0){return hn(8|t,e)}function bn(e,t=[],n=[],r=[]){!function(e,t,n,r){const i=Mt;var a=e.filter(e=>!e.settled);if(0!==n.length||0!==a.length){var o=jn,s=function(){var e=jn,t=Pn,n=Ke,r=st;if(D)var i=Fe;return function(a=!0){Wn(e),Bn(t),Ne(n),a&&0===(e.f&fe)&&(r?.activate(),r?.apply()),D&&He(i)}}(),c=1===a.length?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;if(0!==n.length){var l=At();c?c.then(()=>{s(),u(),$t()}):u()}else c.then(()=>d(t.map(i)))}else r(t.map(i));function d(e){s();try{r(e)}catch(t){0===(o.f&fe)&&Xe(t,o)}$t()}function u(){Promise.all(n.map(e=>zt(e))).then(e=>d([...t.map(i),...e])).catch(e=>Xe(e,o)).finally(()=>l())}}(r,t,n,t=>{hn(8,()=>e(...t.map(nr)))})}function xn(e,t=0){var n=hn(16|t,e);return D&&(n.dev_stack=Fe),n}function _n(e){return hn(524320,e)}function wn(e){var t=e.teardown;if(null!==t){const e=Ln,n=Pn;Gn(!0),Bn(null);try{t.call(null)}finally{Gn(e),Bn(n)}}}function kn(e,t=!1){var n=e.first;for(e.first=e.last=null;null!==n;){const e=n.ac;null!==e&&pn(()=>{e.abort($e)});var r=n.next;64&n.f?n.parent=null:Sn(n,t),n=r}}function Sn(e,t=!0){var n=!1;(t||262144&e.f)&&null!==e.nodes&&null!==e.nodes.end&&(En(e.nodes.start,e.nodes.end),n=!0),tt(e,he),kn(e,t&&!n),er(e,0);var r=e.nodes&&e.nodes.t;if(null!==r)for(const a of r)a.stop();wn(e),e.f^=he,e.f|=fe;var i=e.parent;null!==i&&null!==i.first&&$n(e),D&&(e.component_function=null),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function En(e,t){for(;null!==e;){var n=e===t?null:cn(e);e.remove(),e=n}}function $n(e){var t=e.parent,n=e.prev,r=e.next;null!==n&&(n.next=r),null!==r&&(r.prev=n),null!==t&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function An(e,t,n=!0){var r=[];Cn(e,r,!0);var i=()=>{n&&Sn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Cn(e,t,n){if(0===(e.f&ue)){e.f^=ue;var r=e.nodes&&e.nodes.t;if(null!==r)for(const e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;null!==i;){var a=i.next;Cn(i,t,!!(0!==(i.f&ge)||0!==(i.f&oe)&&16&e.f)&&n),i=a}}}function Mn(e){zn(e,!0)}function zn(e,t){if(0!==(e.f&ue)){e.f^=ue,0===(e.f&ce)&&(tt(e,le),vt.ensure().schedule(e));for(var n=e.first;null!==n;){var r=n.next;zn(n,!(0===(n.f&ge)&&0===(n.f&oe))&&t),n=r}var i=e.nodes&&e.nodes.t;if(null!==i)for(const e of i)(e.is_global||t)&&e.in()}}function In(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;null!==n;){var i=n===r?null:cn(n);t.append(n),n=i}}let Tn=!1,Ln=!1;function Gn(e){Ln=e}let Pn=null,On=!1;function Bn(e){Pn=e}let jn=null;function Wn(e){jn=e}let Kn=null;function Nn(e){null!==Pn&&(null===Kn?Kn=[e]:Kn.push(e))}let Fn=null,Hn=0,Rn=null,qn=1,Dn=0,Un=Dn;function Vn(e){Un=e}function Jn(){return++qn}function Yn(e){var t=e.f;if(0!==(t&le))return!0;if(2&t&&(e.f&=-65537),0!==(t&de)){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Yn(a)&&Ot(a),a.wv>e.wv)return!0}0!==(t&se)&&null===ct&&tt(e,ce)}return!1}function Zn(e,t,n=!0){var r=e.reactions;if(null!==r&&(null===Kn||!J.call(Kn,e)))for(var i=0;i<r.length;i++){var a=r[i];2&a.f?Zn(a,t,!1):t===a&&(n?tt(a,le):0!==(a.f&ce)&&tt(a,de),wt(a))}}function Xn(e){var t,n=Fn,r=Hn,i=Rn,a=Pn,o=Kn,s=Ke,c=On,l=Un;Fn=null,Hn=0,Rn=null,Pn=96&e.f?null:e,Kn=null,Ne(e.ctx),On=!1,Un=++Dn,null!==e.ac&&(pn(()=>{e.ac.abort($e)}),e.ac=null);try{e.f|=xe;var d=(0,e.fn)();e.f|=pe;var u=e.deps,f=st?.is_fork;if(null!==Fn){var p;if(f||er(e,Hn),null!==u&&Hn>0)for(u.length=Hn+Fn.length,p=0;p<Fn.length;p++)u[Hn+p]=Fn[p];else e.deps=u=Fn;if(gn()&&0!==(e.f&se))for(p=Hn;p<u.length;p++)((t=u[p]).reactions??(t.reactions=[])).push(e)}else!f&&null!==u&&Hn<u.length&&(er(e,Hn),u.length=Hn);if(!(null===Rn||On||null===u||6146&e.f))for(p=0;p<Rn.length;p++)Zn(Rn[p],e);if(null!==a&&a!==e){if(Dn++,null!==a.deps)for(let e=0;e<r;e+=1)a.deps[e].rv=Dn;if(null!==n)for(const e of n)e.rv=Dn;null!==Rn&&(null===i?i=Rn:i.push(...Rn))}return 0!==(e.f&_e)&&(e.f^=_e),d}catch(h){return Ze(h)}finally{e.f^=xe,Fn=n,Hn=r,Rn=i,Pn=a,Kn=o,Ne(s),On=c,Un=l}}function Qn(e,t){let n=t.reactions;if(null!==n){var r=V.call(n,e);if(-1!==r){var i=n.length-1;0===i?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(null===n&&2&t.f&&(null===Fn||!J.call(Fn,t))){var a=t;0!==(a.f&se)&&(a.f^=se,a.f&=-65537),nt(a),function(e){if(null!==e.effects)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort($e),t.teardown=ie,t.ac=null,er(t,0),kn(t))}(a),er(a,0)}}function er(e,t){var n=e.deps;if(null!==n)for(var r=t;r<n.length;r++)Qn(e,n[r])}function tr(e){var t=e.f;if(0===(t&fe)){tt(e,ce);var n=jn,r=Tn;if(jn=e,Tn=!0,D){var i=Re;qe(e.component_function);var a=Fe;He(e.dev_stack??Fe)}try{16777232&t?function(e){for(var t=e.first;null!==t;){var n=t.next;0===(t.f&oe)&&Sn(t),t=n}}(e):kn(e),wn(e);var o=Xn(e);e.teardown="function"==typeof o?o:null,e.wv=qn}finally{Tn=r,jn=n,D&&(qe(i),He(a))}}}function nr(e){var t=!!(2&e.f);if(null!==Pn&&!On&&!(null!==jn&&0!==(jn.f&fe)||null!==Kn&&J.call(Kn,e))){var n=Pn.deps;if(0!==(Pn.f&xe))e.rv<Dn&&(e.rv=Dn,null===Fn&&null!==n&&n[Hn]===e?Hn++:null===Fn?Fn=[e]:Fn.push(e));else{(Pn.deps??(Pn.deps=[])).push(e);var r=e.reactions;null===r?e.reactions=[Pn]:J.call(r,Pn)||r.push(Pn)}}if(D&&Ct.delete(e),Ln&&Wt.has(e))return Wt.get(e);if(t){var i=e;if(Ln){var a=i.v;return(0===(i.f&ce)&&null!==i.reactions||ir(i))&&(a=Pt(i)),Wt.set(i,a),a}var o=0===(i.f&se)&&!On&&null!==Pn&&(Tn||0!==(Pn.f&se)),s=0===(i.f&pe);Yn(i)&&(o&&(i.f|=se),Ot(i)),o&&!s&&(Bt(i),rr(i))}if(ct?.has(e))return ct.get(e);if(0!==(e.f&_e))throw e.v;return e.v}function rr(e){if(e.f|=se,null!==e.deps)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),2&t.f&&0===(t.f&se)&&(Bt(t),rr(t))}function ir(e){if(e.v===Me)return!0;if(null===e.deps)return!1;for(const t of e.deps){if(Wt.has(t))return!0;if(2&t.f&&ir(t))return!0}return!1}function ar(e){var t=On;try{return On=!0,e()}finally{On=t}}const or=["touchstart","touchmove"];function sr(e){return or.includes(e)}const cr=Symbol("events"),lr=new Set,dr=new Set;function ur(e,t,n){(t[cr]??(t[cr]={}))[e]=n}function fr(e){for(var t=0;t<e.length;t++)lr.add(e[t]);for(var n of dr)n(e)}let pr=null;function hr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;pr=e;var o=0,s=pr===e&&e[cr];if(s){var c=i.indexOf(s);if(-1!==c&&(t===document||t===window))return void(e[cr]=t);var l=i.indexOf(t);if(-1===l)return;c<=l&&(o=c)}if((a=i[o]||e.target)!==t){Z(e,"currentTarget",{configurable:!0,get:()=>a||n});var d=Pn,u=jn;Bn(null),Wn(null);try{for(var f,p=[];null!==a;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[cr]?.[r];null==g||a.disabled&&e.target!==a||g.call(a,e)}catch(m){f?p.push(m):f=m}if(e.cancelBubble||h===t||null===h)break;a=h}if(f){for(let e of p)queueMicrotask(()=>{throw e});throw f}}finally{e[cr]=t,delete e.currentTarget,Bn(d),Wn(u)}}}const gr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function mr(e,t){null===jn.nodes&&(jn.nodes={start:e,end:t,a:null,t:null})}function vr(e,t){var n,r=!!(1&t),i=!!(2&t),a=!e.startsWith("<!>");return()=>{var t,o;void 0===n&&(t=a?e:"<!>"+e,(o=fn("template")).innerHTML=function(e){return gr?.createHTML(e)??e}(t.replaceAll("<!>","\x3c!----\x3e")),n=o.content,r||(n=sn(n)));var s=i||nn?document.importNode(n,!0):n.cloneNode(!0);return r?mr(sn(s),s.lastChild):mr(s,s),s}}function yr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=on();return e.append(t,n),mr(t,n),e}function br(e,t){null!==e&&e.before(t)}function xr(e,t){var n=null==t?"":"object"==typeof t?`${t}`:t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=`${n}`)}const _r=new Map;let wr=new WeakMap;class kr{constructor(e,t=!0){__publicField(this,"anchor"),__privateAdd(this,B,new Map),__privateAdd(this,j,new Map),__privateAdd(this,W,new Map),__privateAdd(this,K,new Set),__privateAdd(this,N,!0),__privateAdd(this,F,e=>{if(__privateGet(this,B).has(e)){var t=__privateGet(this,B).get(e),n=__privateGet(this,j).get(t);if(n)Mn(n),__privateGet(this,K).delete(t);else{var r=__privateGet(this,W).get(t);r&&(__privateGet(this,j).set(t,r.effect),__privateGet(this,W).delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(const[t,n]of __privateGet(this,B)){if(__privateGet(this,B).delete(t),t===e)break;const r=__privateGet(this,W).get(n);r&&(Sn(r.effect),__privateGet(this,W).delete(n))}for(const[e,r]of __privateGet(this,j)){if(e===t||__privateGet(this,K).has(e))continue;const i=()=>{if(Array.from(__privateGet(this,B).values()).includes(e)){var t=document.createDocumentFragment();In(r,t),t.append(on()),__privateGet(this,W).set(e,{effect:r,fragment:t})}else Sn(r);__privateGet(this,K).delete(e),__privateGet(this,j).delete(e)};__privateGet(this,N)||!n?(__privateGet(this,K).add(e),An(r,i,!1)):i()}}}),__privateAdd(this,H,e=>{__privateGet(this,B).delete(e);const t=Array.from(__privateGet(this,B).values());for(const[n,r]of __privateGet(this,W))t.includes(n)||(Sn(r.effect),__privateGet(this,W).delete(n))}),this.anchor=e,__privateSet(this,N,t)}ensure(e,t){var n=st;!t||__privateGet(this,j).has(e)||__privateGet(this,W).has(e)||__privateGet(this,j).set(e,_n(()=>t(this.anchor))),__privateGet(this,B).set(n,e),__privateGet(this,F).call(this,n)}}function Sr(e,t,n=!1){var r=new kr(e);function i(e,t){r.ensure(e,t)}xn(()=>{var e=!1;t((t,n=0)=>{e=!0,i(n,t)}),e||i(-1,null)},n?ge:0)}function Er(e,t){return t}function $r(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const t of e.pending.values())for(const n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=ye,In(a,document.createDocumentFragment())):Sn(t[i],n)}}var Ar;function Cr(e,t,n,r,i,a=null){var o=e,s=new Map;!(4&t)||(o=e.appendChild(on()));var c,l=null,d=Tt(()=>{var e=n();return U(e)?e:null==e?[]:Y(e)}),u=new Map,f=!0,p={effect:xn(()=>{for(var e=(c=nr(d)).length,h=new Set,g=st,m=0;m<e;m+=1){var v=c[m],y=r(v,m);if(D){var b=r(v,m);y!==b&&Ce(String(m),String(y),String(b))}var x=f?null:s.get(y);x?(x.v&&Dt(x.v,v),x.i&&Dt(x.i,m)):(x=zr(s,f?o:Ar??(Ar=on()),v,y,m,i,t,n),f||(x.e.f|=ye),s.set(y,x)),h.add(y)}0===e&&a&&!l&&(f?l=_n(()=>a(o)):(l=_n(()=>a(Ar??(Ar=on())))).f|=ye),e>h.size&&(D?function(e,t){const n=new Map,r=e.length;for(let i=0;i<r;i++){const r=t(e[i],i);if(n.has(r)){const e=String(n.get(r)),t=String(i);let a=String(r);a.startsWith("[object ")&&(a=null),Ae(e,t,a)}n.set(r,i)}}(c,r):Ae("","","")),f||(u.set(g,h),function(e){0===(p.effect.f&fe)&&(p.pending.delete(e),p.fallback=l,function(e,t,n,r,i){var a,o,s,c,l,d=!!(8&r),u=t.length,f=e.items,p=Mr(e.effect.first),h=null,g=[],m=[];if(d)for(l=0;l<u;l+=1)s=i(t[l],l),0===((c=f.get(s).e).f&ye)&&(c.nodes?.a?.measure(),(o??(o=new Set)).add(c));for(l=0;l<u;l+=1){if(s=i(t[l],l),c=f.get(s).e,null!==e.outrogroups)for(const t of e.outrogroups)t.pending.delete(c),t.done.delete(c);if(0!==(c.f&ye)){if(c.f^=ye,c!==p){var v=h?h.next:p;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),Tr(e,h,c),Tr(e,c,v),Ir(c,v,n),g=[],m=[],p=Mr((h=c).next);continue}Ir(c,null,n)}if(0!==(c.f&ue)&&(Mn(c),d&&(c.nodes?.a?.unfix(),(o??(o=new Set)).delete(c))),c!==p){if(void 0!==a&&a.has(c)){if(g.length<m.length){var y,b=m[0];h=b.prev;var x=g[0],_=g[g.length-1];for(y=0;y<g.length;y+=1)Ir(g[y],b,n);for(y=0;y<m.length;y+=1)a.delete(m[y]);Tr(e,x.prev,_.next),Tr(e,h,x),Tr(e,_,b),p=b,h=_,l-=1,g=[],m=[]}else a.delete(c),Ir(c,p,n),Tr(e,c.prev,c.next),Tr(e,c,null===h?e.effect.first:h.next),Tr(e,h,c),h=c;continue}for(g=[],m=[];null!==p&&p!==c;)(a??(a=new Set)).add(p),m.push(p),p=Mr(p.next);if(null===p)continue}0===(c.f&ye)&&g.push(c),h=c,p=Mr(c.next)}if(null!==e.outrogroups){for(const t of e.outrogroups)0===t.pending.size&&($r(e,Y(t.done)),e.outrogroups?.delete(t));0===e.outrogroups.size&&(e.outrogroups=null)}if(null!==p||void 0!==a){var w=[];if(void 0!==a)for(c of a)0===(c.f&ue)&&w.push(c);for(;null!==p;)0===(p.f&ue)&&p!==e.fallback&&w.push(p),p=Mr(p.next);var k=w.length;if(k>0){var S=4&r&&0===u?n:null;if(d){for(l=0;l<k;l+=1)w[l].nodes?.a?.measure();for(l=0;l<k;l+=1)w[l].nodes?.a?.fix()}!function(e,t,n){for(var r,i=t.length,a=t.length,o=0;o<i;o++){let n=t[o];An(n,()=>{if(r){if(r.pending.delete(n),r.done.add(n),0===r.pending.size){var t=e.outrogroups;$r(e,Y(r.done)),t.delete(r),0===t.size&&(e.outrogroups=null)}}else a-=1},!1)}if(0===a){var s=null!==n;if(s){var c=n,l=c.parentNode;l.textContent="",l.append(c),e.items.clear()}$r(e,t,!s)}else r={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(r)}(e,w,S)}}d&&Je(()=>{if(void 0!==o)for(c of o)c.nodes?.a?.apply()})}(p,c,o,t,r),null!==l&&(0===c.length?0===(l.f&ye)?Mn(l):(l.f^=ye,Ir(l,null,o)):An(l,()=>{l=null})))}(g)),nr(d)}),items:s,pending:u,outrogroups:null,fallback:l};f=!1}function Mr(e){for(;null!==e&&0===(e.f&oe);)e=e.next;return e}function zr(e,t,n,r,i,a,o,s){var c=1&o?16&o?Ft(n):Rt(n,!1,!1):null,l=2&o?Ft(i):null;return D&&c&&(c.trace=()=>{s()}),{v:c,i:l,e:_n(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Ir(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&0===(t.f&ye)?t.nodes.start:n;null!==r;){var o=cn(r);if(a.before(r),r===i)return;r=o}}function Tr(e,t,n){null===t?e.effect.first=n:t.next=n,null===n?e.effect.last=t:n.prev=t}function Lr(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s="";if(n)var c=e;bn(()=>{var e=jn;if(s!==(s=t()??"")){if(n)return e.nodes=null,c.innerHTML=s,void(""!==s&&mr(sn(c),c.lastChild));if(null!==e.nodes&&(En(e.nodes.start,e.nodes.end),e.nodes=null),""!==s){var a=fn(r?"svg":i?"math":"template",r?"http://www.w3.org/2000/svg":i?"http://www.w3.org/1998/Math/MathML":void 0);a.innerHTML=s;var l=r||i?a:a.content;if(mr(sn(l),l.lastChild),r||i)for(;sn(l);)o.before(sn(l));else o.before(l)}}})}B=new WeakMap,j=new WeakMap,W=new WeakMap,K=new WeakMap,N=new WeakMap,F=new WeakMap,H=new WeakMap;const Gr=Symbol("is custom element"),Pr=Symbol("is html");function Or(e,t,n,r){var i=function(e){return e.__attributes??(e.__attributes={[Gr]:e.nodeName.includes("-"),[Pr]:e.namespaceURI===Ie})}(e);i[t]!==(i[t]=n)&&("loading"===t&&(e[Se]=n),null==n?e.removeAttribute(t):"string"!=typeof n&&function(e){var t,n=e.getAttribute("is")||e.nodeName,r=Br.get(n);if(r)return r;Br.set(n,r=[]);for(var i=e,a=Element.prototype;a!==i;){for(var o in t=Q(i))t[o].set&&r.push(o);i=ne(i)}return r}(e).includes(t)?e[t]=n:e.setAttribute(t,n))}var Br=new Map;function jr(e,t){return e===t||e?.[we]===t}function Wr(e={},t,n,r){var i=Ke.r,a=jn;return hn(4,()=>{var r,o;return yn(()=>{r=o,o=[],ar(()=>{e!==n(...o)&&(t(e,...o),r&&jr(n(...r),e)&&t(null,...r))})}),()=>{let r=a;for(;r!==i&&null!==r.parent&&r.parent.f&he;)r=r.parent;const s=r.teardown;r.teardown=()=>{o&&jr(n(...o),e)&&t(null,...o),s?.()}}}),e}function Kr(e,t,n,r){var i=!!(8&n),a=!!(16&n),o=r,s=!0,c=()=>(s&&(s=!1,o=a?ar(r):r),o);let l;if(i){var d=we in e||ke in e;l=X(e,t)?.set??(d&&t in e?n=>e[t]=n:void 0)}var u,f,p=!1;if(i?[u,p]=function(){var n=at;try{return at=!1,[e[t],at]}finally{at=n}}():u=e[t],void 0===u&&void 0!==r&&(u=c(),l&&(function(e){if(D){const t=new Error(`props_invalid_value\nCannot do \`bind:${e}={undefined}\` when \`${e}\` has a fallback value\nhttps://svelte.dev/e/props_invalid_value`);throw t.name="Svelte error",t}throw new Error("https://svelte.dev/e/props_invalid_value")}(t),l(u))),f=()=>{var n=e[t];return void 0===n?c():(s=!0,n)},!(4&n))return f;if(l){var h=e.$$legacy;return function(e,t){return arguments.length>0?((!t||h||p)&&l(t?f():e),e):f()}}var g=!1,m=(1&n?Mt:Tt)(()=>(g=!1,f()));D&&(m.label=t),i&&nr(m);var v=jn;return function(e,t){if(arguments.length>0){const n=t?nr(m):i?Zt(e):e;return qt(m,n),g=!0,void 0!==o&&(o=n),e}return Ln&&g||0!==(v.f&fe)?m.v:nr(m)}}if(D){let e=function(e){if(!(e in globalThis)){let t;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(void 0!==t)return t;!function(e){if(D){const t=new Error(`rune_outside_svelte\nThe \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw t.name="Svelte error",t}throw new Error("https://svelte.dev/e/rune_outside_svelte")}(e)},set:e=>{t=e}})}};e("$state"),e("$effect"),e("$derived"),e("$inspect"),e("$props"),e("$bindable")}function Nr(e){return`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`}function Fr(){return Nr('<circle cx="12" cy="4.5" r="1.5"/><path d="M12 7.5v5m0 0l-3 4.5m3-4.5l3 4.5"/><path d="M6.5 9.5h11"/>')}function Hr(){return Nr('<path d="M11 5L6 9H3v6h3l5 4V5z"/><path d="M15 9a4 4 0 0 1 0 6"/><path d="M18 6a8 8 0 0 1 0 12"/>')}function Rr(){return Nr('<path d="M12 2a5 5 0 0 1 4.65 3.2A4.5 4.5 0 0 1 20 9.5a4.5 4.5 0 0 1-1.5 3.35A5 5 0 0 1 12 18"/><path d="M12 2a5 5 0 0 0-4.65 3.2A4.5 4.5 0 0 0 4 9.5a4.5 4.5 0 0 0 1.5 3.35A5 5 0 0 0 12 18"/><path d="M12 18v4"/><path d="M8 10h.01"/><path d="M16 10h.01"/><path d="M9 14c1 1 5 1 6 0"/>')}function qr(){return Nr('<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 16l5-5 4 4 3-3 6 6"/><circle cx="8.5" cy="8.5" r="1.5"/><text x="12" y="21.5" text-anchor="middle" fill="currentColor" stroke="none" font-size="5" font-weight="bold" font-family="sans-serif">ALT</text>')}function Dr(){return Nr('<path d="M18 6L6 18"/><path d="M6 6l12 12"/>')}function Ur(){return Nr('<path d="M3 12a9 9 0 1 0 3-6.7"/><path d="M3 3v5.3h5.3"/>')}"undefined"!=typeof window&&((R=window.__svelte??(window.__svelte={})).v??(R.v=new Set)).add("5");const Vr={accessibility:Fr,contrast:function(){return Nr('<circle cx="12" cy="12" r="9"/><path d="M12 3v18" /><path d="M12 3a9 9 0 0 1 0 18" fill="currentColor" stroke="none"/>')},"text-size":function(){return Nr('<path d="M4 19l4-12h1l4 12"/><path d="M5.5 15h5"/><path d="M17 5v14"/><path d="M14 8l3-3 3 3"/><path d="M14 16l3 3 3-3"/>')},spacing:function(){return Nr('<path d="M4 9h16"/><path d="M4 15h16"/><path d="M10 5l-2 2 2 2"/><path d="M14 5l2 2-2 2"/><path d="M10 17l-2-2 2-2"/><path d="M14 17l2-2-2-2"/>')},font:function(){return Nr('<path d="M6 4h10a2 2 0 0 1 2 2v1"/><path d="M6 4v16"/><path d="M6 12h8"/><path d="M4 20h4"/>')},"reading-guide":function(){return Nr('<path d="M3 12h18"/><path d="M3 6h18" opacity="0.3"/><path d="M3 18h18" opacity="0.3"/><rect x="1" y="10" width="22" height="4" rx="1" stroke-dasharray="4 2"/>')},focus:function(){return Nr('<circle cx="12" cy="12" r="3"/><circle cx="12" cy="12" r="7"/><path d="M12 2v3"/><path d="M12 19v3"/><path d="M2 12h3"/><path d="M19 12h3"/>')},"animation-pause":function(){return Nr('<circle cx="12" cy="12" r="9"/><path d="M10 8v8"/><path d="M14 8v8"/>')},cursor:function(){return Nr('<path d="M5 3l1.5 16 3.5-4 5 6 2-1.5-5-6h5.5z"/><path d="M18 12h4"/><path d="M20 10v4"/>')},speaker:Hr,tts:Hr,brain:Rr,ai:Rr,image:qr,"alt-text":qr,keyboard:function(){return Nr('<rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h.01"/><path d="M10 10h.01"/><path d="M14 10h.01"/><path d="M18 10h.01"/><path d="M8 14h8"/>')},"color-blindness":function(){return Nr('<path d="M2 12s4-8 10-8 10 8 10 8-4 8-10 8-10-8-10-8z"/><circle cx="12" cy="12" r="3"/><path d="M12 9v6" stroke-dasharray="2 1"/><path d="M9 12h6" stroke-dasharray="2 1"/>')},"link-highlight":function(){return Nr('<path d="M10 13a5 5 0 0 0 7.07.5l2.12-2.12a5 5 0 0 0-7.07-7.07l-1.06 1.06"/><path d="M14 11a5 5 0 0 0-7.07-.5L4.81 12.6a5 5 0 0 0 7.07 7.07l1.06-1.06"/><path d="M2 20l4-4" stroke-width="3" opacity="0.4"/>')},close:Dr,"close-x":Dr,reset:Ur,chevron:function(){return Nr('<path d="M9 18l6-6-6-6"/>')},checkmark:function(){return Nr('<path d="M20 6L9 17l-5-5"/>')},warning:function(){return Nr('<path d="M10.3 3.2L1.7 18a2 2 0 0 0 1.7 3h17.2a2 2 0 0 0 1.7-3L13.7 3.2a2 2 0 0 0-3.4 0z"/><path d="M12 9v4"/><path d="M12 17h.01"/>')},scan:function(){return Nr('<circle cx="11" cy="11" r="7"/><path d="M21 21l-4.35-4.35"/><path d="M8 9h6"/><path d="M8 11h4"/><path d="M8 13h5"/>')},"simplify-text":function(){return Nr('<rect x="4" y="2" width="16" height="20" rx="2"/><path d="M8 6h8"/><path d="M8 10h8" opacity="0.35" stroke-dasharray="2 2"/><path d="M8 14h5"/><path d="M8 18h6" opacity="0.35" stroke-dasharray="2 2"/>')},eye:function(){return Nr('<path d="M2 12s4-8 10-8 10 8 10 8-4 8-10 8-10-8-10-8z"/><circle cx="12" cy="12" r="3"/>')},shield:function(){return Nr('<path d="M12 2l8 4v6c0 5.5-3.8 10.7-8 12-4.2-1.3-8-6.5-8-12V6l8-4z"/><path d="M9 12l2 2 4-4"/>')},saturation:function(){return Nr('<path d="M12 2.7c-4.5 5-7 8.5-7 11.8a7 7 0 0 0 14 0c0-3.3-2.5-6.8-7-11.8z"/><path d="M12 9v9"/><path d="M12 9a4.5 4.5 0 0 0 0 9" fill="currentColor" stroke="none" opacity="0.3"/>')},"hide-images":function(){return Nr('<rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="M3 16l5-5 4 4 3-3 6 6"/><path d="M2 2l20 20" stroke-width="2.5"/>')},"text-align":function(){return Nr('<path d="M4 6h16"/><path d="M4 10h10"/><path d="M4 14h16"/><path d="M4 18h10"/>')},"reading-mask":function(){return Nr('<rect x="2" y="2" width="20" height="20" rx="2" opacity="0.3"/><rect x="4" y="8" width="16" height="8" rx="1"/><path d="M4 8h16" stroke-dasharray="3 2"/><path d="M4 16h16" stroke-dasharray="3 2"/>')},"page-structure":function(){return Nr('<path d="M4 6h4"/><path d="M4 6v6"/><path d="M8 6v6"/><path d="M4 9h4"/><path d="M12 7h8" stroke-width="1.5"/><path d="M14 12h6" opacity="0.6"/><path d="M14 16h6" opacity="0.6"/><path d="M12 20h8" stroke-width="1.5"/>')},"line-height":function(){return Nr('<path d="M10 6h10"/><path d="M10 12h10"/><path d="M10 18h10"/><path d="M4 4v16"/><path d="M2 7l2-3 2 3"/><path d="M2 17l2 3 2-3"/>')},globe:function(){return Nr('<circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>')},profile:function(){return Nr('<circle cx="12" cy="8" r="4"/><path d="M4 20c0-4 4-7 8-7s8 3 8 7"/>')}},Jr={de:{"widget.title":"Barrierefreiheit","widget.open":"Barrierefreiheit-Einstellungen öffnen","widget.close":"Schließen","widget.reset":"Alle zurücksetzen","widget.resetConfirm":"Alle Anpassungen zurückgesetzt","widget.poweredBy":"Bereitgestellt von Accessify","widget.statement":"Barrierefreiheitserklärung","status.active":"{count} aktiv","status.noActive":"Keine Anpassungen aktiv","status.activated":"aktiviert","status.deactivated":"deaktiviert","section.profiles":"Schnellprofile","category.visual":"Visuell","category.motor":"Motorik & Navigation","category.cognitive":"Kognitiv","category.ai":"KI-Funktionen","profile.visionImpaired":"Sehbeeinträchtigung","profile.visionImpaired.desc":"Hoher Kontrast, größerer Text und Cursor","profile.motorImpaired":"Motorische Einschränkung","profile.motorImpaired.desc":"Tastaturnavigation und Fokus-Hilfen","profile.cognitive":"Kognitive Unterstützung","profile.cognitive.desc":"Lesehilfen, Abstände und einfachere Schrift","profile.seizureSafe":"Anfallssicher","profile.seizureSafe.desc":"Animationen stoppen und Reize reduzieren","profile.adhdFriendly":"ADHS-freundlich","profile.adhdFriendly.desc":"Ablenkungen reduzieren und Fokus verbessern","feature.contrast":"Kontrast","feature.contrast.desc":"Kontrast erhöhen für bessere Lesbarkeit","feature.textSize":"Größerer Text","feature.textSize.desc":"Text vergrößern oder verkleinern","feature.spacing":"Textabstand","feature.spacing.desc":"Abstände zwischen Buchstaben und Zeilen anpassen","feature.dyslexiaFont":"Legasthenie-Schrift","feature.dyslexiaFont.desc":"Spezielle Schriftart für bessere Lesbarkeit","feature.readingGuide":"Leselineal","feature.readingGuide.desc":"Horizontales Lineal zum zeilenweisen Lesen","feature.focusHighlight":"Fokus-Hervorhebung","feature.focusHighlight.desc":"Sichtbare Umrandung fokussierter Elemente","feature.animationStop":"Animationen stoppen","feature.animationStop.desc":"Alle Animationen und Videos pausieren","feature.bigCursor":"Großer Mauszeiger","feature.bigCursor.desc":"Vergrößerter Mauszeiger für bessere Sichtbarkeit","feature.colorBlind":"Farbfilter","feature.colorBlind.desc":"Farbkorrekturen für verschiedene Sehschwächen","feature.linkHighlight":"Links hervorheben","feature.linkHighlight.desc":"Alle Links sichtbar unterstreichen","feature.keyboardNav":"Tastaturnavigation","feature.keyboardNav.desc":"Erweiterte Tastatursteuerung und Shortcuts","feature.tts":"Vorlesen","feature.tts.desc":"Text per Klick vorlesen lassen","feature.textSimplify":"Text vereinfachen","feature.textSimplify.desc":"Text in Einfache Sprache umwandeln","feature.altText":"Alt-Text erzeugen","feature.altText.desc":"Bildbeschreibungen automatisch erstellen","feature.autoScan":"WCAG-Prüfung","feature.autoScan.desc":"Seite auf Barrierefreiheit prüfen","feature.saturation":"Sättigung","feature.saturation.desc":"Farbsättigung anpassen oder Graustufen","feature.hideImages":"Bilder ausblenden","feature.hideImages.desc":"Bilder entfernen für ablenkungsfreies Lesen","feature.textAlign":"Textausrichtung","feature.textAlign.desc":"Textausrichtung der Seite ändern","feature.readingMask":"Lesemaske","feature.readingMask.desc":"Fokus-Fenster, das die Umgebung abdunkelt","feature.pageStructure":"Seitenstruktur","feature.pageStructure.desc":"Überschriften und Bereiche zur Navigation anzeigen","feature.lineHeight":"Zeilenhöhe","feature.lineHeight.desc":"Abstand zwischen Textzeilen vergrößern","ai.loading":"Wird geladen...","ai.error":"Fehler bei der Verarbeitung","ai.simplify.select":"Text auswählen zum Vereinfachen","ai.simplify.level":"Vereinfachungsstufe","ai.simplify.einfache":"Einfache Sprache","ai.simplify.leichte":"Leichte Sprache","ai.alttext.generate":"Alt-Text erzeugen","ai.alttext.apply":"Übernehmen","ai.alttext.edit":"Bearbeiten","ai.alttext.badge":"Bilder ohne Alt-Text","ai.alttext.aiGenerated":"KI-generiert – bitte überprüfen","tts.play":"Vorlesen","tts.pause":"Pause","tts.stop":"Stopp","tts.speed":"Geschwindigkeit","footer.disclaimer":"Dieses Widget verbessert die Barrierefreiheit, ersetzt aber keine barrierefreie Webentwicklung.","footer.docs":"Dokumentation","footer.github":"GitHub","bfsg.notice":"Hinweis: Dieses Overlay-Tool allein erfüllt nicht die Anforderungen des BFSG. Professionelle Barrierefreiheit erfordert strukturelle Änderungen am Quellcode."},en:{"widget.title":"Accessibility","widget.open":"Open accessibility settings","widget.close":"Close","widget.reset":"Reset all","widget.resetConfirm":"All adjustments reset","widget.poweredBy":"Powered by Accessify","widget.statement":"Accessibility Statement","status.active":"{count} active","status.noActive":"No adjustments active","status.activated":"activated","status.deactivated":"deactivated","section.profiles":"Quick Profiles","category.visual":"Visual","category.motor":"Motor & Navigation","category.cognitive":"Cognitive","category.ai":"AI Features","profile.visionImpaired":"Vision Impaired","profile.visionImpaired.desc":"High contrast, larger text and cursor","profile.motorImpaired":"Motor Impaired","profile.motorImpaired.desc":"Keyboard navigation and focus aids","profile.cognitive":"Cognitive Support","profile.cognitive.desc":"Reading aids, spacing, and simpler fonts","profile.seizureSafe":"Seizure Safe","profile.seizureSafe.desc":"Stop animations and reduce stimuli","profile.adhdFriendly":"ADHD Friendly","profile.adhdFriendly.desc":"Reduce distractions and improve focus","feature.contrast":"Contrast","feature.contrast.desc":"Increase contrast for better readability","feature.textSize":"Bigger Text","feature.textSize.desc":"Increase or decrease text size","feature.spacing":"Text Spacing","feature.spacing.desc":"Adjust letter and line spacing","feature.dyslexiaFont":"Dyslexia Font","feature.dyslexiaFont.desc":"Special font for better readability","feature.readingGuide":"Reading Guide","feature.readingGuide.desc":"Horizontal ruler for line-by-line reading","feature.focusHighlight":"Focus Highlight","feature.focusHighlight.desc":"Visible outline on focused elements","feature.animationStop":"Stop Animations","feature.animationStop.desc":"Pause all animations and videos","feature.bigCursor":"Big Cursor","feature.bigCursor.desc":"Enlarged cursor for better visibility","feature.colorBlind":"Color Filter","feature.colorBlind.desc":"Color corrections for color vision deficiencies","feature.linkHighlight":"Highlight Links","feature.linkHighlight.desc":"Underline and highlight all links","feature.keyboardNav":"Keyboard Nav","feature.keyboardNav.desc":"Enhanced keyboard controls and shortcuts","feature.tts":"Read Aloud","feature.tts.desc":"Click any text to hear it spoken","feature.textSimplify":"Simplify Text","feature.textSimplify.desc":"Simplify text for easier understanding","feature.altText":"Alt-Text Generator","feature.altText.desc":"Auto-generate image descriptions","feature.autoScan":"WCAG Scan","feature.autoScan.desc":"Scan page for accessibility issues","feature.saturation":"Saturation","feature.saturation.desc":"Adjust color saturation or grayscale","feature.hideImages":"Hide Images","feature.hideImages.desc":"Remove images for distraction-free reading","feature.textAlign":"Text Align","feature.textAlign.desc":"Change text alignment across the page","feature.readingMask":"Reading Mask","feature.readingMask.desc":"Focus window that dims surrounding content","feature.pageStructure":"Page Structure","feature.pageStructure.desc":"View headings and landmarks for quick navigation","feature.lineHeight":"Line Height","feature.lineHeight.desc":"Increase space between lines of text","ai.loading":"Loading...","ai.error":"Error processing request","ai.simplify.select":"Select text to simplify","ai.simplify.level":"Simplification level","ai.simplify.einfache":"Simple language","ai.simplify.leichte":"Easy language","ai.alttext.generate":"Generate alt text","ai.alttext.apply":"Apply","ai.alttext.edit":"Edit","ai.alttext.badge":"Images missing alt text","ai.alttext.aiGenerated":"AI-generated – please review","tts.play":"Play","tts.pause":"Pause","tts.stop":"Stop","tts.speed":"Speed","footer.disclaimer":"This widget enhances accessibility but does not replace accessible web development.","footer.docs":"Documentation","footer.github":"GitHub","bfsg.notice":"Note: This overlay tool alone does not meet BFSG requirements. Full accessibility requires structural changes to the source code."}};function Yr(e,t="en"){const n=function(e){if(!e)return"en";const t=e.toLowerCase().split("-")[0];return Jr[t]?t:"en"}(t);return Jr[n]?.[e]||Jr.en?.[e]||e}var Zr=vr('<button class="accessify-trigger"></button>');fr(["click"]);var Xr=vr('<button class="accessify-lang-toggle" title="Switch language"> </button>'),Qr=vr('<div class="accessify-header"><h2> </h2> <div class="accessify-header-actions"><!> <button class="accessify-header-btn"><!> <span> </span></button> <button class="accessify-header-btn"></button></div></div>');fr(["click"]);var ei=vr('<button class="accessify-status-reset"> </button>'),ti=vr('<div class="accessify-status" role="status" aria-live="polite"><span class="accessify-status-count"> </span> <!></div>');fr(["click"]);const ni=[{id:"vision-impaired",nameKey:"profile.visionImpaired",descKey:"profile.visionImpaired.desc",iconId:"eye",features:["contrast","text-size","big-cursor","focus-highlight","link-highlight"],featureSettings:{"text-size":150,contrast:"high"}},{id:"motor-impaired",nameKey:"profile.motorImpaired",descKey:"profile.motorImpaired.desc",iconId:"keyboard",features:["keyboard-nav","focus-highlight","big-cursor"]},{id:"cognitive",nameKey:"profile.cognitive",descKey:"profile.cognitive.desc",iconId:"brain",features:["reading-guide","text-size","spacing","dyslexia-font","animation-stop"],featureSettings:{"text-size":130}},{id:"seizure-safe",nameKey:"profile.seizureSafe",descKey:"profile.seizureSafe.desc",iconId:"shield",features:["animation-stop","saturation"],featureSettings:{saturation:"low"}},{id:"adhd-friendly",nameKey:"profile.adhdFriendly",descKey:"profile.adhdFriendly.desc",iconId:"focus",features:["animation-stop","reading-mask","focus-highlight","hide-images"]}];var ri=vr('<button class="accessify-profile-card"><span aria-hidden="true"></span> <span> </span></button>'),ii=vr('<div class="accessify-profiles"><div class="accessify-section-title"> </div> <div class="accessify-profile-grid" role="group"></div></div>');fr(["click"]);const ai="https://openrouter.ai/api/v1";class oi extends Error{constructor(e){super(e),this.name="RateLimitError"}}var si=vr('<button class="accessify-card" role="switch"><span class="accessify-card-icon" aria-hidden="true"></span> <span class="accessify-card-label"> </span> <span class="accessify-card-desc" aria-hidden="true"> </span></button>'),ci=vr('<div class="accessify-category"><div class="accessify-category-title"> </div> <div class="accessify-features" role="group"></div></div>');function li(e,t){De(t,!0);const n={contrast:{id:"contrast",nameKey:"feature.contrast",descKey:"feature.contrast.desc",iconId:"contrast",category:"visual"},"text-size":{id:"text-size",nameKey:"feature.textSize",descKey:"feature.textSize.desc",iconId:"text-size",category:"visual"},spacing:{id:"spacing",nameKey:"feature.spacing",descKey:"feature.spacing.desc",iconId:"spacing",category:"visual"},"dyslexia-font":{id:"dyslexia-font",nameKey:"feature.dyslexiaFont",descKey:"feature.dyslexiaFont.desc",iconId:"font",category:"visual"},"color-blindness":{id:"color-blindness",nameKey:"feature.colorBlind",descKey:"feature.colorBlind.desc",iconId:"color-blindness",category:"visual"},"link-highlight":{id:"link-highlight",nameKey:"feature.linkHighlight",descKey:"feature.linkHighlight.desc",iconId:"link-highlight",category:"visual"},saturation:{id:"saturation",nameKey:"feature.saturation",descKey:"feature.saturation.desc",iconId:"saturation",category:"visual"},"hide-images":{id:"hide-images",nameKey:"feature.hideImages",descKey:"feature.hideImages.desc",iconId:"hide-images",category:"visual"},"text-align":{id:"text-align",nameKey:"feature.textAlign",descKey:"feature.textAlign.desc",iconId:"text-align",category:"visual"},"line-height":{id:"line-height",nameKey:"feature.lineHeight",descKey:"feature.lineHeight.desc",iconId:"line-height",category:"visual"},"reading-guide":{id:"reading-guide",nameKey:"feature.readingGuide",descKey:"feature.readingGuide.desc",iconId:"reading-guide",category:"motor"},"reading-mask":{id:"reading-mask",nameKey:"feature.readingMask",descKey:"feature.readingMask.desc",iconId:"reading-mask",category:"motor"},"focus-highlight":{id:"focus-highlight",nameKey:"feature.focusHighlight",descKey:"feature.focusHighlight.desc",iconId:"focus",category:"motor"},"big-cursor":{id:"big-cursor",nameKey:"feature.bigCursor",descKey:"feature.bigCursor.desc",iconId:"cursor",category:"motor"},"keyboard-nav":{id:"keyboard-nav",nameKey:"feature.keyboardNav",descKey:"feature.keyboardNav.desc",iconId:"keyboard",category:"motor"},"page-structure":{id:"page-structure",nameKey:"feature.pageStructure",descKey:"feature.pageStructure.desc",iconId:"page-structure",category:"motor"},"animation-stop":{id:"animation-stop",nameKey:"feature.animationStop",descKey:"feature.animationStop.desc",iconId:"animation-pause",category:"cognitive"},tts:{id:"tts",nameKey:"feature.tts",descKey:"feature.tts.desc",iconId:"tts",category:"cognitive"},"text-simplify":{id:"text-simplify",nameKey:"feature.textSimplify",descKey:"feature.textSimplify.desc",iconId:"simplify-text",category:"ai"},"alt-text":{id:"alt-text",nameKey:"feature.altText",descKey:"feature.altText.desc",iconId:"alt-text",category:"ai"},"auto-scan":{id:"auto-scan",nameKey:"feature.autoScan",descKey:"feature.autoScan.desc",iconId:"scan",category:"ai"}},r=[{key:"visual",labelKey:"category.visual"},{key:"motor",labelKey:"category.motor"},{key:"cognitive",labelKey:"category.cognitive"},{key:"ai",labelKey:"category.ai"}];let i,a=It(()=>{const e=new Map;for(const t of r)e.set(t.key,[]);for(const r of t.config.features){const t=n[r];t&&e.get(t.category).push(t)}return e});const o=new Set(["text-simplify","alt-text"]),s=new Map;"undefined"!=typeof window&&window.addEventListener("accessify:reset",function(){for(const[,e]of s)try{e.deactivate()}catch{}});var c=yr();Cr(dn(c),17,()=>r,Er,(e,n)=>{const r=It(()=>nr(a).get(nr(n).key)??[]);var c=yr(),l=dn(c),d=e=>{var a=ci(),c=ln(a),l=ln(c),d=un(c,2);Cr(d,21,()=>nr(r),e=>e.id,(e,n)=>{const r=It(()=>t.activeFeatures.get(nr(n).id)??!1);var a=si(),c=ln(a);Lr(c,()=>function(e){const t=Vr[e];return t?t():""}(nr(n).iconId),!0);var l=un(c,2),d=ln(l),u=ln(un(l,2));bn((e,t,n)=>{Or(a,"aria-checked",nr(r)),Or(a,"aria-label",e),xr(d,t),xr(u,n)},[()=>Yr(nr(n).nameKey,t.config.lang),()=>Yr(nr(n).nameKey,t.config.lang),()=>Yr(nr(n).descKey,t.config.lang)]),ur("click",a,()=>async function(e){const n=!t.activeFeatures.get(e),r=await async function(e){if(s.has(e))return s.get(e);try{const r=await((e,t)=>{const n=e[t];return n?"function"==typeof n?n():Promise.resolve(n):new Promise((e,n)=>{("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(n.bind(null,new Error("Unknown variable dynamic import: "+t+(3!==t.split("/").length?". Note that variables only represent file names one level deep.":""))))})})(Object.assign({"../features/alt-text.ts":()=>Promise.resolve().then(()=>Mi),"../features/animation-stop.ts":()=>Promise.resolve().then(()=>zi),"../features/auto-scan.ts":()=>Promise.resolve().then(()=>Ti),"../features/big-cursor.ts":()=>Promise.resolve().then(()=>Gi),"../features/color-blind.ts":()=>Promise.resolve().then(()=>Bi),"../features/contrast.ts":()=>Promise.resolve().then(()=>ji),"../features/dyslexia-font.ts":()=>Promise.resolve().then(()=>Wi),"../features/focus-highlight.ts":()=>Promise.resolve().then(()=>Ki),"../features/hide-images.ts":()=>Promise.resolve().then(()=>Ni),"../features/keyboard-nav.ts":()=>Promise.resolve().then(()=>Fi),"../features/line-height.ts":()=>Promise.resolve().then(()=>Hi),"../features/link-highlight.ts":()=>Promise.resolve().then(()=>Ri),"../features/page-structure.ts":()=>Promise.resolve().then(()=>qi),"../features/reading-guide.ts":()=>Promise.resolve().then(()=>Ui),"../features/reading-mask.ts":()=>Promise.resolve().then(()=>Vi),"../features/saturation.ts":()=>Promise.resolve().then(()=>Ji),"../features/spacing.ts":()=>Promise.resolve().then(()=>Zi),"../features/text-align.ts":()=>Promise.resolve().then(()=>Xi),"../features/text-simplify.ts":()=>Promise.resolve().then(()=>Qi),"../features/text-size.ts":()=>Promise.resolve().then(()=>ea),"../features/tts.ts":()=>Promise.resolve().then(()=>na)}),`../features/${e}.ts`),a=r.default??r;let c;return c="function"==typeof a?o.has(e)?a((i||(i=(n={apiKey:t.config.openRouterKey,siteKey:t.config.siteKey,proxyUrl:t.config.proxyUrl}).siteKey?function(e,t){const n=t||"https://accessify-api.accessify.workers.dev",r={"Content-Type":"application/json","X-Site-Key":e};return{async simplifyText(e,t="einfache",i="de"){const a=await fetch(`${n}/v1/ai/simplify`,{method:"POST",headers:r,body:JSON.stringify({text:e,level:t,lang:i})});if(!a.ok){const e=await a.json().catch(()=>({error:`HTTP ${a.status}`}));if(429===a.status)throw new oi(e.error||"Rate limit reached");throw new Error(e.error||`AI proxy error: ${a.status}`)}return(await a.json()).result||""},async generateAltText(e,t){const i=await fetch(`${n}/v1/ai/alt-text`,{method:"POST",headers:r,body:JSON.stringify({imageUrl:e,context:t})});if(!i.ok){const e=await i.json().catch(()=>({error:`HTTP ${i.status}`}));if(429===i.status)throw new oi(e.error||"Rate limit reached");throw new Error(e.error||`AI proxy error: ${i.status}`)}return(await i.json()).result||""}}}(n.siteKey,n.proxyUrl):function(e){const t={"Content-Type":"application/json",...e.apiKey?{Authorization:`Bearer ${e.apiKey}`}:{},"HTTP-Referer":"undefined"!=typeof window?window.location.origin:"","X-Title":"Accessify Widget"};return{async simplifyText(n,r="einfache",i="de"){const a=i.startsWith("de")?function(e){return"leichte"===e?"Du bist ein Experte für Leichte Sprache (DIN SPEC 33429). Vereinfache den folgenden Text nach diesen Regeln:\n- Benutze kurze Sätze (maximal 8 Wörter pro Satz)\n- Ein Satz pro Zeile\n- Benutze einfache, bekannte Wörter\n- Erkläre Fremdwörter und Fachbegriffe\n- Benutze aktive Sätze (kein Passiv)\n- Benutze keine Abkürzungen\n- Benutze keine Metaphern oder bildliche Sprache\n- Schreibe in Präsens\n- Benutze positive Formulierungen\n- Zielgruppe: CEFR A1-A2\n\nGib NUR den vereinfachten Text zurück.":"Du bist ein Experte für Einfache Sprache (DIN ISO 24495-1). Vereinfache den folgenden Text:\n- Kurze, klare Sätze (maximal 15 Wörter)\n- Vermeide Fachbegriffe oder erkläre sie\n- Benutze aktive Formulierungen\n- Strukturiere den Text mit klaren Absätzen\n- Zielgruppe: CEFR B1-B2\n- Bewahre den vollständigen Inhalt\n\nGib NUR den vereinfachten Text zurück."}(r):"You are a plain language expert. Simplify the following text:\n- Use short, clear sentences (max 15 words)\n- Avoid jargon, explain technical terms\n- Use active voice\n- Target reading level: grade 6-8\n\nReturn ONLY the simplified text.",o=await fetch(`${ai}/chat/completions`,{method:"POST",headers:t,body:JSON.stringify({model:e.textModel||"qwen/qwen3-next-80b-a3b-instruct:free",messages:[{role:"system",content:a},{role:"user",content:n}],stream:!1,max_tokens:2e3})});if(!o.ok){if(429===o.status)throw new oi("Rate limit reached. Please try again later.");throw new Error(`AI service error: ${o.status}`)}const s=await o.json();return s.choices?.[0]?.message?.content?.trim()||""},async generateAltText(n,r){const i=await fetch(`${ai}/chat/completions`,{method:"POST",headers:t,body:JSON.stringify({model:e.visionModel||"meta-llama/llama-3.3-70b-instruct:free",messages:[{role:"user",content:[{type:"text",text:`Generate a concise, descriptive alt text for this image for web accessibility. ${r?"Context: "+r:""} Return ONLY the alt text, nothing else. Max 125 characters.`},{type:"image_url",image_url:{url:n}}]}],max_tokens:100})});if(!i.ok){if(429===i.status)throw new oi("Rate limit reached. Please try again later.");throw new Error(`AI vision error: ${i.status}`)}const a=await i.json();return a.choices?.[0]?.message?.content?.trim()||""}}}(n)),i),t.config.lang):a():a,s.set(e,c),c}catch(r){return console.warn(`[Accessify] Failed to load feature module "${e}":`,r),null}var n}(e);r&&(n?r.activate():r.deactivate()),t.ontoggle(e,n)}(nr(n).id)),br(e,a)}),bn((e,t)=>{xr(l,e),Or(d,"aria-label",t)},[()=>Yr(nr(n).labelKey,t.config.lang),()=>Yr(nr(n).labelKey,t.config.lang)]),br(e,a)};Sr(l,e=>{nr(r).length>0&&e(d)}),br(e,c)}),br(e,c),Ue()}fr(["click"]);var di=vr('<span aria-hidden="true">·</span> <a target="_blank" rel="noopener noreferrer"> </a>',1),ui=vr('<div class="accessify-footer"><span> </span> <!></div>'),fi=vr('<div class="sr-only" role="status" aria-live="polite" aria-atomic="true"> </div> <!> <div class="accessify-panel" role="dialog"><!> <!> <!> <!> <!></div>',1);function pi(e,t){De(t,!0);let n=Kr(t,"config",7),r=Ht(!1),i=Ht(Zt(new Map)),a=Ht("light"),o=Ht(null),s=Ht(null),c=Ht(""),l=Ht(null),d=Ht(Zt(n().lang||"en"));const u="accessify-prefs",f="accessify-profile";let p=It(()=>Array.from(nr(i).values()).filter(Boolean).length);function h(e){qt(c,""),requestAnimationFrame(()=>{qt(c,e,!0)})}function g(){try{const e=Object.fromEntries(nr(i));localStorage.setItem(u,JSON.stringify(e)),nr(l)?localStorage.setItem(f,nr(l)):localStorage.removeItem(f)}catch{}}function m(){const e=t.shadow.getElementById("accessify-mount");e&&("auto"===n().theme?e.removeAttribute("data-theme"):e.setAttribute("data-theme",nr(a)))}function v(){qt(r,!0),requestAnimationFrame(()=>{if(nr(o)){const e=nr(o).querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');e?.focus()}})}function y(){qt(r,!1);const e=t.shadow.querySelector(".accessify-trigger");e?.focus()}function b(){qt(i,new Map,!0),qt(l,null),g(),window.dispatchEvent(new CustomEvent("accessify:reset")),h(Yr("widget.resetConfirm",nr(d)))}var x;x=()=>{!function(){if("light"===n().theme||"dark"===n().theme)return void qt(a,n().theme,!0);const e=window.matchMedia("(prefers-color-scheme: dark)");qt(a,e.matches?"dark":"light",!0),e.addEventListener("change",e=>{"auto"===n().theme&&(qt(a,e.matches?"dark":"light",!0),m())})}(),m(),function(){try{const e=localStorage.getItem(u);if(e){const t=JSON.parse(e);qt(i,new Map(Object.entries(t)),!0)}const t=localStorage.getItem(f);t&&qt(l,t,!0)}catch{}}(),queueMicrotask(()=>{!function(){for(const[e,t]of nr(i))t&&window.dispatchEvent(new CustomEvent("accessify:feature-activate",{detail:{id:e}}))}()})},null===Ke&&function(){if(D){const e=new Error("lifecycle_outside_component\n`onMount(...)` can only be used during component initialisation\nhttps://svelte.dev/e/lifecycle_outside_component");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/lifecycle_outside_component")}(),function(e){var t;t="$effect",null===jn&&(null===Pn&&function(e){if(D){const t=new Error(`effect_orphan\n\`${e}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw t.name="Svelte error",t}throw new Error("https://svelte.dev/e/effect_orphan")}(t),function(){if(D){const e=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw e.name="Svelte error",e}throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}()),Ln&&function(e){if(D){const t=new Error(`effect_in_teardown\n\`${e}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw t.name="Svelte error",t}throw new Error("https://svelte.dev/e/effect_in_teardown")}(t),D&&Z(e,"name",{value:"$effect"});var n=jn.f;if(Pn||0===(n&oe)||0!==(n&pe))return vn(e);(Ke.e??(Ke.e=[])).push(e)}(()=>{const e=ar(x);if("function"==typeof e)return e});var _,w,k,S={open:v,close:y},E=fi();k=function(e,t,n,r={}){function i(e){if(r.capture||hr.call(t,e),!e.cancelBubble)return pn(()=>n?.call(this,e))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?Je(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}("keydown",_=tn,function(e){if("Escape"===e.key&&nr(r))return e.preventDefault(),void y();if("Tab"===e.key&&nr(r)&&nr(o)){const n=nr(o).querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===n.length)return;const r=n[0],i=n[n.length-1],a=t.shadow.activeElement||document.activeElement;e.shiftKey&&a===r?(e.preventDefault(),i.focus()):e.shiftKey||a!==i||(e.preventDefault(),r.focus())}},w={capture:void 0,passive:void 0}),(_===document.body||_===window||_===document||_ instanceof HTMLMediaElement)&&mn(()=>{_.removeEventListener("keydown",k,w)});var $=dn(E),A=ln($),C=un($,2);!function(e,t){De(t,!0);let n=Kr(t,"lang",3,"en"),r=Kr(t,"el",15,null);var i=Zr();Lr(i,()=>t.isOpen?Dr():Fr(),!0),Wr(i,e=>r(e),()=>r()),bn(e=>{Or(i,"aria-expanded",t.isOpen),Or(i,"aria-label",e)},[()=>Yr(t.isOpen?"widget.close":"widget.open",n())]),ur("click",i,function(...e){t.onclick?.apply(this,e)}),br(e,i),Ue()}(C,{get isOpen(){return nr(r)},get lang(){return nr(d)},onclick:function(){nr(r)?y():v()},get el(){return nr(s)},set el(e){qt(s,e,!0)}});var M=un(C,2),z=ln(M);!function(e,t){De(t,!0);let n=Kr(t,"lang",3,"en");function r(){const e=n().startsWith("de")?"en":"de";t.onlangchange?.(e)}var i=Qr(),a=ln(i),o=ln(a),s=ln(un(a,2)),c=e=>{var t=Xr(),i=ln(t);bn((e,n)=>{Or(t,"aria-label",`Language: ${e??""}`),xr(i,n)},[()=>n().startsWith("de")?"Deutsch":"English",()=>n().startsWith("de")?"DE":"EN"]),ur("click",t,r),br(e,t)};Sr(s,e=>{t.onlangchange&&e(c)});var l=un(s,2),d=ln(l);Lr(d,Ur);var u=ln(un(d,2)),f=un(l,2);Lr(f,Dr,!0),bn((e,t,n,r)=>{xr(o,e),Or(l,"aria-label",t),xr(u,n),Or(f,"aria-label",r)},[()=>Yr("widget.title",n()),()=>Yr("widget.reset",n()),()=>Yr("widget.reset",n()),()=>Yr("widget.close",n())]),ur("click",l,function(...e){t.onreset?.apply(this,e)}),ur("click",f,function(...e){t.onclose?.apply(this,e)}),br(e,i),Ue()}(z,{get lang(){return nr(d)},onclose:y,onreset:b,onlangchange:function(e){qt(d,e,!0),n().lang=e}});var I=un(z,2);!function(e,t){De(t,!0);let n=Kr(t,"activeCount",3,0),r=Kr(t,"lang",3,"en"),i=It(()=>n()>0?Yr("status.active",r()).replace("{count}",String(n())):Yr("status.noActive",r()));var a=ti(),o=ln(a),s=ln(o),c=un(o,2),l=e=>{var n=ei(),i=ln(n);bn(e=>xr(i,e),[()=>Yr("widget.reset",r())]),ur("click",n,function(...e){t.onreset?.apply(this,e)}),br(e,n)};Sr(c,e=>{n()>0&&e(l)}),bn(()=>{Or(o,"data-count",n()),xr(s,nr(i))}),br(e,a),Ue()}(I,{get activeCount(){return nr(p)},get lang(){return nr(d)},onreset:b});var T=un(I,2);!function(e,t){De(t,!0);let n=Kr(t,"lang",3,"en"),r=Kr(t,"activeProfileId",3,null);var i=ii(),a=ln(i),o=ln(a),s=un(a,2);Cr(s,21,()=>ni,e=>e.id,(e,i)=>{var a=ri(),o=ln(a);Lr(o,()=>function(e){const t=Vr[e];return t?t():""}(nr(i).iconId),!0);var s=ln(un(o,2));bn((e,t,n)=>{Or(a,"aria-pressed",r()===nr(i).id),Or(a,"aria-label",e),Or(a,"title",t),xr(s,n)},[()=>Yr(nr(i).nameKey,n()),()=>Yr(nr(i).descKey,n()),()=>Yr(nr(i).nameKey,n())]),ur("click",a,()=>t.onactivate(nr(i))),br(e,a)}),bn((e,t)=>{xr(o,e),Or(s,"aria-label",t)},[()=>Yr("section.profiles",n()),()=>Yr("section.profiles",n())]),br(e,i),Ue()}(T,{get lang(){return nr(d)},get activeProfileId(){return nr(l)},onactivate:function(e){if(nr(l)===e.id)return void b();window.dispatchEvent(new CustomEvent("accessify:reset"));const t=new Map;for(const n of e.features)t.set(n,!0);qt(i,t,!0),qt(l,e.id,!0),g();for(const n of e.features)window.dispatchEvent(new CustomEvent("accessify:feature-activate",{detail:{id:n}}));h(`${Yr(e.nameKey,nr(d))} ${Yr("status.activated",nr(d))}`)}});var L=un(T,2);{let e=It(()=>({...n(),lang:nr(d)}));li(L,{get config(){return nr(e)},get activeFeatures(){return nr(i)},ontoggle:function(e,t){nr(i).set(e,t),qt(i,new Map(nr(i)),!0),qt(l,null),g(),h(`${Yr(`feature.${e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`,nr(d))||e} ${Yr(t?"status.activated":"status.deactivated",nr(d))}`)}})}return function(e,t){De(t,!0);let n=Kr(t,"lang",3,"en");var r=ui(),i=ln(r),a=ln(i),o=un(i,2),s=e=>{var r=di(),i=un(dn(r),2),a=ln(i);bn(e=>{Or(i,"href",t.statementUrl),xr(a,e)},[()=>Yr("widget.statement",n())]),br(e,r)};Sr(o,e=>{t.statementUrl&&e(s)}),bn(e=>xr(a,e),[()=>Yr("widget.poweredBy",n())]),br(e,r),Ue()}(un(L,2),{get lang(){return nr(d)},get statementUrl(){return n().statementUrl}}),Wr(M,e=>qt(o,e),()=>nr(o)),bn(e=>{xr(A,nr(c)),Or(M,"aria-label",e),Or(M,"aria-hidden",!nr(r))},[()=>Yr("widget.title",nr(d))]),br(e,E),Ue(S)}const hi=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>'),gi={position:"bottom-right",theme:"auto",lang:document.documentElement.lang||"en",features:["contrast","text-size","spacing","dyslexia-font","color-blindness","link-highlight","saturation","hide-images","text-align","line-height","reading-guide","reading-mask","focus-highlight","big-cursor","keyboard-nav","page-structure","animation-stop","tts","text-simplify","alt-text","auto-scan"],zIndex:999999,compact:!1};let mi=null,vi=null,yi={...gi};function bi(e={}){if(mi)return;const t=window.__accessify_dataConfig||{};yi={...gi,...t,...e},vi=document.createElement("div"),vi.id="accessify-root",vi.setAttribute("role","complementary"),vi.setAttribute("aria-label",yi.lang?.startsWith("de")?"Barrierefreiheit-Einstellungen":"Accessibility settings");const n=vi.attachShadow({mode:"open",delegatesFocus:!0}),r=new CSSStyleSheet;r.replaceSync(function(e){const t=e.position||"bottom-right",n=t.includes("right"),r=t.includes("bottom"),i=e.zIndex||999999;return`\n /* ===================================================================\n DESIGN TOKENS\n =================================================================== */\n\n :host {\n all: initial;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\n 'Helvetica Neue', Arial, sans-serif;\n font-size: 15px;\n line-height: 1.5;\n color-scheme: light dark;\n }\n\n *, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n }\n\n #accessify-mount {\n /* Spacing scale (4px base) */\n --space-1: 4px;\n --space-2: 8px;\n --space-3: 12px;\n --space-4: 16px;\n --space-5: 20px;\n --space-6: 24px;\n --space-7: 32px;\n --space-8: 40px;\n\n /* Radius system */\n --radius-sm: 6px;\n --radius-md: 10px;\n --radius-lg: 14px;\n --radius-full: 9999px;\n\n /* Typography */\n --text-xs: 11px;\n --text-sm: 13px;\n --text-base: 15px;\n --text-lg: 17px;\n --text-xl: 20px;\n --font-normal: 400;\n --font-medium: 500;\n --font-semibold: 600;\n\n /* Shadows */\n --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);\n --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.10);\n --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.14);\n\n /* Colors: Light mode (default) */\n --primary: #0055CC;\n --primary-hover: #003D99;\n --primary-soft: color-mix(in srgb, #0055CC 10%, #ffffff);\n --surface: #ffffff;\n --surface-raised: #f7f7f8;\n --text: #1a1a1a;\n --text-secondary: #5c5c5c;\n --text-on-primary: #ffffff;\n --border: #e2e2e5;\n --border-strong: #c8c8cc;\n --success: #008A00;\n --warning: #B95000;\n --error: #CC0000;\n\n /* Transition */\n --transition-fast: 120ms ease;\n --transition-normal: 200ms ease;\n }\n\n /* ── Dark mode ── */\n @media (prefers-color-scheme: dark) {\n #accessify-mount:not([data-theme="light"]) {\n --primary: #4D9FFF;\n --primary-hover: #3385E6;\n --primary-soft: color-mix(in srgb, #4D9FFF 12%, #1a1a1a);\n --surface: #1a1a1a;\n --surface-raised: #242428;\n --text: #f0f0f0;\n --text-secondary: #a0a0a5;\n --text-on-primary: #ffffff;\n --border: #38383c;\n --border-strong: #505055;\n --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);\n }\n }\n\n #accessify-mount[data-theme="dark"] {\n --primary: #4D9FFF;\n --primary-hover: #3385E6;\n --primary-soft: color-mix(in srgb, #4D9FFF 12%, #1a1a1a);\n --surface: #1a1a1a;\n --surface-raised: #242428;\n --text: #f0f0f0;\n --text-secondary: #a0a0a5;\n --text-on-primary: #ffffff;\n --border: #38383c;\n --border-strong: #505055;\n --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);\n }\n\n /* ===================================================================\n UTILITIES\n =================================================================== */\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n\n *:focus-visible {\n outline: 3px solid var(--primary);\n outline-offset: 2px;\n border-radius: var(--radius-sm);\n }\n\n /* ===================================================================\n TRIGGER BUTTON (FAB)\n =================================================================== */\n\n .accessify-trigger {\n position: fixed;\n ${r?"bottom: 20px":"top: 20px"};\n ${n?"right: 20px":"left: 20px"};\n z-index: ${i};\n width: 56px;\n height: 56px;\n border-radius: var(--radius-full);\n border: none;\n background: var(--primary);\n color: var(--text-on-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: var(--shadow-md);\n transition: transform var(--transition-fast), box-shadow var(--transition-fast);\n }\n\n .accessify-trigger:hover {\n transform: scale(1.05);\n box-shadow: var(--shadow-lg);\n background: var(--primary-hover);\n }\n\n .accessify-trigger:active {\n transform: scale(0.95);\n }\n\n .accessify-trigger svg {\n width: 28px;\n height: 28px;\n }\n\n /* ===================================================================\n PANEL\n =================================================================== */\n\n .accessify-panel {\n position: fixed;\n ${r?"bottom: 90px":"top: 90px"};\n ${n?"right: 20px":"left: 20px"};\n z-index: ${i-1};\n width: 440px;\n max-height: calc(100vh - 110px);\n overflow-y: auto;\n overflow-x: hidden;\n background: var(--surface);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-lg);\n border: 1px solid var(--border);\n transform-origin: ${r?"bottom":"top"} ${n?"right":"left"};\n transition: opacity var(--transition-normal), transform var(--transition-normal);\n }\n\n .accessify-panel[aria-hidden="true"] {\n opacity: 0;\n transform: scale(0.96) translateY(${r?"8px":"-8px"});\n pointer-events: none;\n display: none;\n }\n\n .accessify-panel[aria-hidden="false"] {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n\n /* Scroll indicator (only visible if panel overflows) */\n .accessify-panel-scroll {\n position: relative;\n }\n\n /* ===================================================================\n HEADER (Utility Bar)\n =================================================================== */\n\n .accessify-header {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-2) var(--space-3);\n border-bottom: 1px solid var(--border);\n background: var(--surface);\n position: sticky;\n top: 0;\n z-index: 2;\n }\n\n .accessify-header h2 {\n font-size: var(--text-base);\n font-weight: var(--font-semibold);\n color: var(--text);\n margin: 0;\n flex: 1;\n min-width: 0;\n }\n\n .accessify-header-actions {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n flex-shrink: 0;\n }\n\n /* Small pill buttons in header */\n .accessify-header-btn {\n background: var(--surface-raised);\n border: 1px solid var(--border);\n border-radius: var(--radius-sm);\n padding: var(--space-1) var(--space-2);\n cursor: pointer;\n color: var(--text-secondary);\n display: flex;\n align-items: center;\n gap: var(--space-1);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n transition: background var(--transition-fast), color var(--transition-fast);\n white-space: nowrap;\n }\n\n .accessify-header-btn:hover {\n background: var(--border);\n color: var(--text);\n }\n\n .accessify-header-btn svg {\n width: 14px;\n height: 14px;\n }\n\n /* Language toggle */\n .accessify-lang-toggle {\n background: var(--surface-raised);\n border: 1px solid var(--border);\n border-radius: var(--radius-sm);\n padding: var(--space-1) var(--space-2);\n cursor: pointer;\n color: var(--text-secondary);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n transition: background var(--transition-fast);\n min-width: 32px;\n text-align: center;\n }\n\n .accessify-lang-toggle:hover {\n background: var(--border);\n color: var(--text);\n }\n\n /* ===================================================================\n STATUS BAR\n =================================================================== */\n\n .accessify-status {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--space-1) var(--space-3);\n background: var(--surface-raised);\n border-bottom: 1px solid var(--border);\n font-size: 10px;\n color: var(--text-secondary);\n }\n\n .accessify-status-count {\n font-weight: var(--font-semibold);\n color: var(--primary);\n }\n\n .accessify-status-count[data-count="0"] {\n color: var(--text-secondary);\n }\n\n .accessify-status-reset {\n background: none;\n border: none;\n color: var(--text-secondary);\n cursor: pointer;\n font-size: var(--text-xs);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-sm);\n transition: color var(--transition-fast), background var(--transition-fast);\n }\n\n .accessify-status-reset:hover {\n color: var(--error);\n background: color-mix(in srgb, var(--error) 8%, transparent);\n }\n\n /* ===================================================================\n PROFILES SECTION\n =================================================================== */\n\n .accessify-profiles {\n padding: var(--space-2) var(--space-3);\n border-bottom: 1px solid var(--border);\n }\n\n .accessify-section-title {\n font-size: 10px;\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.6px;\n color: var(--text-secondary);\n margin-bottom: var(--space-1);\n }\n\n .accessify-profile-grid {\n display: flex;\n gap: var(--space-1);\n overflow-x: auto;\n scrollbar-width: none;\n -webkit-overflow-scrolling: touch;\n }\n\n .accessify-profile-grid::-webkit-scrollbar {\n display: none;\n }\n\n .accessify-profile-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n padding: var(--space-1) var(--space-2);\n border: 1.5px solid var(--border);\n border-radius: var(--radius-sm);\n background: var(--surface);\n color: var(--text);\n cursor: pointer;\n transition: all var(--transition-fast);\n min-width: 68px;\n text-align: center;\n flex-shrink: 0;\n font-size: 10px;\n line-height: 1.2;\n }\n\n .accessify-profile-card:hover {\n border-color: var(--primary);\n background: var(--surface-raised);\n }\n\n .accessify-profile-card[aria-pressed="true"] {\n background: var(--primary-soft);\n border-color: var(--primary);\n color: var(--primary);\n font-weight: var(--font-medium);\n }\n\n .accessify-profile-card svg {\n width: 16px;\n height: 16px;\n }\n\n /* ===================================================================\n CATEGORY SECTIONS\n =================================================================== */\n\n .accessify-category {\n padding: var(--space-1) var(--space-3);\n }\n\n .accessify-category + .accessify-category {\n border-top: 1px solid var(--border);\n }\n\n .accessify-category-title {\n font-size: 10px;\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.6px;\n color: var(--text-secondary);\n margin-bottom: var(--space-1);\n padding-left: var(--space-1);\n }\n\n /* ===================================================================\n FEATURE CARDS\n =================================================================== */\n\n .accessify-features {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 4px;\n }\n\n .accessify-card {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1px;\n padding: 6px var(--space-1);\n border: 1.5px solid var(--border);\n border-radius: var(--radius-sm);\n background: var(--surface);\n color: var(--text);\n cursor: pointer;\n transition: all var(--transition-fast);\n text-align: center;\n min-height: 48px;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .accessify-card:hover {\n border-color: var(--primary);\n background: var(--surface-raised);\n box-shadow: var(--shadow-sm);\n }\n\n /* ── Active card: bold, unmistakable ── */\n .accessify-card[aria-checked="true"] {\n background: var(--primary-soft);\n border-color: var(--primary);\n border-width: 2px;\n /* Compensate for thicker border to prevent layout shift */\n padding: calc(6px - 0.5px) calc(var(--space-1) - 0.5px);\n }\n\n /* Checkmark badge */\n .accessify-card[aria-checked="true"]::after {\n content: '';\n position: absolute;\n top: var(--space-1);\n right: var(--space-1);\n width: 18px;\n height: 18px;\n border-radius: var(--radius-full);\n background: var(--primary);\n mask-image: url("data:image/svg+xml,${hi}");\n mask-size: 12px;\n mask-repeat: no-repeat;\n mask-position: center;\n -webkit-mask-image: url("data:image/svg+xml,${hi}");\n -webkit-mask-size: 12px;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: center;\n }\n\n .accessify-card[aria-checked="true"] .accessify-card-icon {\n color: var(--primary);\n }\n\n .accessify-card[aria-checked="true"] .accessify-card-label {\n color: var(--primary);\n font-weight: var(--font-semibold);\n }\n\n .accessify-card-icon {\n color: var(--text-secondary);\n transition: color var(--transition-fast);\n }\n\n .accessify-card-icon svg {\n width: 18px;\n height: 18px;\n }\n\n .accessify-card-label {\n font-size: 10px;\n font-weight: var(--font-medium);\n line-height: 1.15;\n word-break: break-word;\n transition: color var(--transition-fast);\n }\n\n .accessify-card-desc {\n display: none;\n }\n\n /* ===================================================================\n FOOTER\n =================================================================== */\n\n .accessify-footer {\n padding: var(--space-1) var(--space-3);\n border-top: 1px solid var(--border);\n font-size: 10px;\n color: var(--text-secondary);\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-2);\n }\n\n .accessify-footer a {\n color: var(--primary);\n text-decoration: none;\n }\n\n .accessify-footer a:hover {\n text-decoration: underline;\n }\n\n /* ===================================================================\n SUB-PANELS (sliders, selects)\n =================================================================== */\n\n .accessify-subpanel {\n padding: var(--space-3) var(--space-5);\n background: var(--surface-raised);\n border-top: 1px solid var(--border);\n }\n\n .accessify-slider {\n width: 100%;\n accent-color: var(--primary);\n }\n\n .accessify-select {\n width: 100%;\n padding: var(--space-2) var(--space-3);\n border: 1px solid var(--border);\n border-radius: var(--radius-sm);\n background: var(--surface);\n color: var(--text);\n font-size: var(--text-sm);\n }\n\n /* ===================================================================\n REDUCED MOTION\n =================================================================== */\n\n @media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.01ms !important;\n }\n }\n\n /* ===================================================================\n MOBILE RESPONSIVE\n =================================================================== */\n\n @media (max-width: 480px) {\n .accessify-panel {\n width: 100%;\n left: 0;\n right: 0;\n ${r?"bottom: 0":"top: 0"};\n border-radius: ${r?"var(--radius-lg) var(--radius-lg) 0 0":"0 0 var(--radius-lg) var(--radius-lg)"};\n max-height: 85vh;\n }\n\n .accessify-features {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .accessify-card {\n min-height: 88px;\n padding: var(--space-3);\n }\n\n .accessify-trigger {\n ${r?"bottom: 16px":"top: 16px"};\n ${n?"right: 16px":"left: 16px"};\n }\n\n .accessify-card-desc {\n display: none;\n }\n }\n `}(yi)),n.adoptedStyleSheets=[r];const i=document.createElement("div");function a(e){return Object.getOwnPropertySymbols(e).find(e=>"Symbol(events)"===e.toString())}i.id="accessify-mount",n.appendChild(i),mi=function(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){!function(){if(void 0===tn){tn=window,nn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;rn=X(t,"firstChild").get,an=X(t,"nextSibling").get,re(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),re(n)&&(n.__t=void 0),D&&(e.__svelte_meta=null,function(){const e=Array.prototype,t=Array.__svelte_cleanup;t&&t();const{indexOf:n,lastIndexOf:r,includes:i}=e;e.indexOf=function(e,t){const r=n.call(this,e,t);if(-1===r)for(let n=t??0;n<this.length;n+=1)if(Qt(this[n])===e){Ge("array.indexOf(...)");break}return r},e.lastIndexOf=function(e,t){const n=r.call(this,e,t??this.length-1);if(-1===n)for(let r=0;r<=(t??this.length-1);r+=1)if(Qt(this[r])===e){Ge("array.lastIndexOf(...)");break}return n},e.includes=function(e,t){const n=i.call(this,e,t);if(!n)for(let r=0;r<this.length;r+=1)if(Qt(this[r])===e){Ge("array.includes(...)");break}return n},Array.__svelte_cleanup=()=>{e.indexOf=n,e.lastIndexOf=r,e.includes=i}}())}}();var c=void 0,l=function(){vt.ensure();const o=hn(524352,()=>{var o=n??t.appendChild(on());new Et(o,{pending:()=>{}},t=>{De({}),a&&(Ke.c=a),i&&(r.$$events=i),c=e(t,r)||{},Ue()},s);var l=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!l.has(r)){l.add(r);var i=sr(r);for(const e of[t,document]){var a=_r.get(e);void 0===a&&_r.set(e,a=new Map);var o=a.get(r);void 0===o?(e.addEventListener(r,hr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(Y(lr)),dr.add(d),()=>{for(var e of l)for(const n of[t,document]){var r=_r.get(n),i=r.get(e);0==--i?(n.removeEventListener(e,hr),r.delete(e),0===r.size&&_r.delete(n)):r.set(e,i)}dr.delete(d),o!==n&&o.parentNode?.removeChild(o)}});return(e={})=>new Promise(t=>{e.outro?An(o,()=>{Sn(o),t(void 0)}):(Sn(o),t(void 0))})}();return wr.set(c,l),c}(pi,{target:i,props:{config:yi,shadow:n}});const o=["click","input","change","keydown","keyup","focusin","focusout"];for(const s of o)n.addEventListener(s,e=>{let t=e.composedPath()[0],r=!1;for(;t&&t!==n;){const n=a(t);if(n){const i=t[n];i&&"function"==typeof i[s]&&(i[s].call(t,e),r=!0)}if(e.cancelBubble)break;t=t.assignedSlot||t.parentNode||t.host}r&&e.stopImmediatePropagation()},!0);document.body.appendChild(vi),yi.onReady?.()}function xi(){mi&&(function(e){const t=wr.get(e);t?(wr.delete(e),t(void 0)):(D&&(we in e?D?console.warn("%c[svelte] state_proxy_unmount\n%cTried to unmount a state proxy, rather than a component\nhttps://svelte.dev/e/state_proxy_unmount",Te,Le):console.warn("https://svelte.dev/e/state_proxy_unmount"):D?console.warn("%c[svelte] lifecycle_double_unmount\n%cTried to unmount a component that was not mounted\nhttps://svelte.dev/e/lifecycle_double_unmount",Te,Le):console.warn("https://svelte.dev/e/lifecycle_double_unmount")),Promise.resolve())}(mi),mi=null),vi?.remove(),vi=null}function _i(e,...t){const n={init:e=>bi(e),open:()=>mi?.open?.(),close:()=>mi?.close?.(),destroy:xi};n[e]?.(...t)}window.__accessify_exec=_i;const wi=window.Accessify;wi?.q&&(wi.q.forEach(e=>_i(...e)),wi.q=[]),window.Accessify=function(e,...t){_i(e,...t)},window.Accessify._loaded=!0,window.A11yPlus=window.Accessify;const ki=document.currentScript;function Si(){if(!ki)return{};const e=ki.dataset,t={};return e.openrouterKey&&(t.openRouterKey=e.openrouterKey),e.siteKey&&(t.siteKey=e.siteKey),e.proxyUrl&&(t.proxyUrl=e.proxyUrl),e.lang&&(t.lang=e.lang),e.position&&(t.position=e.position),e.theme&&(t.theme=e.theme),e.features&&(t.features=e.features.split(",").map(e=>e.trim()).filter(Boolean)),e.statementUrl&&(t.statementUrl=e.statementUrl),"true"===e.compact&&(t.compact=!0),e.zIndex&&(t.zIndex=parseInt(e.zIndex,10)),t.siteKey&&!t.proxyUrl&&(t.proxyUrl="https://accessify-api.accessify.workers.dev"),t}const Ei=[];function $i(e,...t){const n={init:e=>bi({...Si(),...e}),destroy:xi};n[e]?.(...t)}window.__accessify_exec=$i;const Ai=function(e,...t){Ai._loaded?$i(e,...t):Ei.push([e,...t])};function Ci(){Ai._loaded=!0,Ei.length>0&&(Ei.forEach(e=>$i(...e)),Ei.length=0);const e=Si(),t=Boolean(e.siteKey)||ki?.hasAttribute("data-accessify"),n=Boolean(document.getElementById("accessify-root"));t&&!n&&(window.__accessify_dataConfig=e,bi(e));const r=function(e,...t){$i(e,...t)};r._loaded=!0,window.Accessify=r,window.A11yPlus=r}Ai.q=Ei,Ai._loaded=!1,window.Accessify=Ai,window.A11yPlus=Ai,"complete"===document.readyState||"interactive"===document.readyState?setTimeout(Ci,1):document.addEventListener("DOMContentLoaded",Ci);const Mi=Object.freeze(Object.defineProperty({__proto__:null,default:function(e,t="de"){let n=!1,r=null,i=null,a=null,o=[];const s=new Map,c="accessify-alt-text-styles",l="accessify-alt-missing",d="accessify-alt-badge",u="accessify-alt-panel";function f(){h();const e=o.filter(e=>!s.has(e)||!s.get(e).applied).length;0===e&&o.length>0?p(t.startsWith("de")?"Alle Bilder haben Alt-Text!":"All images have alt text!","#2a9d8f",0):0!==e&&p(t.startsWith("de")?`${e} ${1===e?"Bild":"Bilder"} ohne Alt-Text`:`${e} ${1===e?"image":"images"} missing alt text`,"#e63946",e)}function p(e,t,n){const r=document.createElement("div");if(r.className=d,r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),n>0){const e=document.createElement("span");e.className=`${d}-count`,e.style.background=t,e.textContent=String(n),r.appendChild(e)}const a=document.createElement("span");a.textContent=e,r.appendChild(a),document.body.appendChild(r),i=r}function h(){i?.remove(),i=null}function g(e){e.preventDefault(),e.stopPropagation(),function(e){b();const n=document.createElement("div");n.className=u,n.setAttribute("role","dialog"),n.setAttribute("aria-label",t.startsWith("de")?"Alt-Text erzeugen":"Generate Alt Text");const r=e.getBoundingClientRect(),i=r.bottom+window.scrollY+8,o=Math.min(Math.max(8,r.left+window.scrollX),window.innerWidth-380);n.style.top=`${i}px`,n.style.left=`${o}px`;const c=document.createElement("div");c.className=`${u}-header`;const l=document.createElement("h3");l.textContent=t.startsWith("de")?"Alt-Text erzeugen":"Generate Alt Text";const d=document.createElement("button");d.className=`${u}-close`,d.setAttribute("aria-label",t.startsWith("de")?"Schließen":"Close"),d.innerHTML="×",d.addEventListener("click",()=>b()),c.appendChild(l),c.appendChild(d),n.appendChild(c);const f=document.createElement("div");f.className=`${u}-disclaimer`,f.textContent=t.startsWith("de")?"KI-generiert – bitte überprüfen":"AI-generated – please review",n.appendChild(f);const p=document.createElement("img");p.className=`${u}-preview`,p.src=e.src,p.alt="Preview of image being described",n.appendChild(p);const h=s.get(e);h&&h.generatedAlt?v(n,e,h.generatedAlt,h.applied):m(n,e),document.body.appendChild(n),a=n,d.focus();const g=e=>{"Escape"===e.key&&(b(),document.removeEventListener("keydown",g))};document.addEventListener("keydown",g)}(e.currentTarget)}async function m(n,r){if(!e)return void y(n,t.startsWith("de")?"Bitte konfigurieren Sie einen OpenRouter API-Schlüssel, um KI-generierte Bildbeschreibungen zu nutzen.":"Please configure an OpenRouter API key to use AI alt-text generation.");const i=document.createElement("div");i.className=`${u}-spinner`,i.textContent=t.startsWith("de")?"Alt-Text wird erzeugt...":"Generating alt text...",n.appendChild(i);try{const a=function(e){const t=[];e.title&&t.push(`Title: ${e.title}`);try{const n=new URL(e.src,window.location.href).pathname.split("/").pop();n&&t.push(`Filename: ${n}`)}catch{}const n=e.closest("figure");if(n){const e=n.querySelector("figcaption");e?.textContent?.trim()&&t.push(`Caption: ${e.textContent.trim()}`)}const r=e.parentElement;if(r){const e=r.querySelector("h1, h2, h3, h4, h5, h6");e?.textContent?.trim()&&t.push(`Nearby heading: ${e.textContent.trim()}`)}const i=e.getAttribute("aria-describedby");if(i){const e=document.getElementById(i);e?.textContent?.trim()&&t.push(`Description: ${e.textContent.trim()}`)}return t.join(". ")}(r),o=await e.generateAltText(r.src,a);if(i.remove(),!o)return void y(n,t.startsWith("de")?"Keine Beschreibung erhalten. Bitte versuchen Sie es erneut.":"No description received. Please try again.");s.set(r,{element:r,generatedAlt:o,applied:!1}),v(n,r,o,!1)}catch(a){i.remove(),y(n,a instanceof oi?t.startsWith("de")?"Kostenlose API-Grenze erreicht. Bitte versuchen Sie es in einer Minute erneut oder hinterlegen Sie einen eigenen API-Schlüssel.":"Free tier rate limit reached. Please try again in a minute or configure your own API key.":(a?.message||"").includes("401")?t.startsWith("de")?"OpenRouter API-Schlüssel fehlt oder ungültig. Erstellen Sie einen kostenlosen Key auf openrouter.ai und übergeben Sie ihn als openRouterKey in der Widget-Konfiguration.":"OpenRouter API key missing or invalid. Create a free key at openrouter.ai and pass it as openRouterKey in the widget config.":t.startsWith("de")?"Fehler beim Erzeugen des Alt-Texts. Bitte versuchen Sie es erneut.":"Error generating alt text. Please try again.")}}function v(e,n,r,i){e.querySelectorAll(`.${u}-textarea, .${u}-actions, .${u}-error, .${u}-spinner`).forEach(e=>e.remove());const a=document.createElement("textarea");a.className=`${u}-textarea`,a.value=r,a.readOnly=!0,a.setAttribute("aria-label",t.startsWith("de")?"Alt-Text Beschreibung":"Alt text description"),e.appendChild(a);const o=document.createElement("div");o.className=`${u}-actions`;const c=document.createElement("button");c.textContent=t.startsWith("de")?"Bearbeiten":"Edit",c.addEventListener("click",()=>{if(a.readOnly=!a.readOnly,a.readOnly){c.textContent=t.startsWith("de")?"Bearbeiten":"Edit";const e=s.get(n);e&&(e.generatedAlt=a.value)}else a.focus(),c.textContent=t.startsWith("de")?"Fertig":"Done"});const l=document.createElement("button");l.textContent=t.startsWith("de")?"Neu erzeugen":"Regenerate",l.addEventListener("click",()=>{s.delete(n),a.remove(),o.remove(),m(e,n)});const d=document.createElement("button");d.classList.add(i?"success":"primary"),d.textContent=i?t.startsWith("de")?"Angewendet":"Applied":t.startsWith("de")?"Übernehmen":"Apply",d.addEventListener("click",()=>{const e=a.value.trim();if(!e)return;n.alt=e,n.setAttribute("alt",e);const r=s.get(n)||{element:n,generatedAlt:e,applied:!1};r.applied=!0,r.generatedAlt=e,s.set(n,r),n.classList.add("accessify-alt-processed"),d.classList.remove("primary"),d.classList.add("success"),d.textContent=t.startsWith("de")?"Angewendet!":"Applied!",f(),setTimeout(()=>b(),1200)}),o.appendChild(c),o.appendChild(l),o.appendChild(d),e.appendChild(o)}function y(e,t){const n=document.createElement("div");n.className=`${u}-error`,n.setAttribute("role","alert"),n.textContent=t,e.appendChild(n)}function b(){a?.remove(),a=null}return{id:"alt-text",name:()=>t.startsWith("de")?"Alt-Text erzeugen":"Alt-Text Generator",description:t.startsWith("de")?"Bildbeschreibungen automatisch erstellen":"Auto-generate image descriptions",icon:"alt-text",category:"ai",activate:function(){n||(n=!0,document.getElementById(c)||(r=document.createElement("style"),r.id=c,r.textContent=`\n .${l} {\n outline: 3px dashed #e63946 !important;\n outline-offset: 3px !important;\n position: relative !important;\n cursor: pointer !important;\n transition: outline-color 0.2s ease !important;\n }\n .${l}:hover {\n outline-color: #f77f00 !important;\n outline-style: solid !important;\n }\n .${l}::after {\n content: 'ALT';\n position: absolute;\n top: 4px;\n left: 4px;\n padding: 2px 6px;\n background: #e63946;\n color: #fff;\n font-family: system-ui, -apple-system, sans-serif;\n font-size: 10px;\n font-weight: 700;\n border-radius: 3px;\n line-height: 1.4;\n pointer-events: none;\n z-index: 1;\n }\n\n .${l}.accessify-alt-processed {\n outline-color: #2a9d8f !important;\n outline-style: solid !important;\n }\n .${l}.accessify-alt-processed::after {\n content: '\\2713 ALT';\n background: #2a9d8f;\n }\n\n .${d} {\n position: fixed;\n top: 12px;\n right: 12px;\n z-index: 2147483646;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 14px;\n background: #1a1a2e;\n color: #f0f0f0;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.3);\n font-family: system-ui, -apple-system, sans-serif;\n font-size: 13px;\n user-select: none;\n animation: accessify-alt-fade-in 0.2s ease;\n }\n .${d}-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 22px;\n height: 22px;\n padding: 0 6px;\n background: #e63946;\n color: #fff;\n font-size: 12px;\n font-weight: 700;\n border-radius: 11px;\n }\n\n .${u} {\n position: absolute;\n z-index: 2147483646;\n width: 360px;\n max-width: 90vw;\n padding: 16px;\n background: #1a1a2e;\n color: #f0f0f0;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.4);\n font-family: system-ui, -apple-system, sans-serif;\n font-size: 14px;\n line-height: 1.5;\n animation: accessify-alt-fade-in 0.2s ease;\n }\n .${u}-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n }\n .${u}-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #4ea8de;\n }\n .${u}-close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #888;\n font-size: 16px;\n cursor: pointer;\n }\n .${u}-close:hover { color: #fff; background: rgba(255,255,255,0.1); }\n .${u}-close:focus-visible { outline: 2px solid #4ea8de; outline-offset: 1px; }\n\n .${u}-disclaimer {\n padding: 6px 10px;\n margin-bottom: 10px;\n background: rgba(255,193,7,0.1);\n border: 1px solid rgba(255,193,7,0.25);\n border-radius: 6px;\n font-size: 11px;\n color: #ffd166;\n }\n\n .${u}-preview {\n max-width: 100%;\n max-height: 120px;\n border-radius: 6px;\n margin-bottom: 10px;\n object-fit: contain;\n background: rgba(255,255,255,0.05);\n }\n\n .${u}-textarea {\n width: 100%;\n min-height: 60px;\n padding: 10px;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 8px;\n background: rgba(255,255,255,0.04);\n color: #f0f0f0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.5;\n resize: vertical;\n margin-bottom: 10px;\n box-sizing: border-box;\n }\n .${u}-textarea:focus {\n border-color: #4ea8de;\n outline: none;\n }\n .${u}-textarea:read-only {\n opacity: 0.7;\n cursor: default;\n }\n\n .${u}-actions {\n display: flex;\n gap: 6px;\n justify-content: flex-end;\n }\n .${u}-actions button {\n padding: 6px 14px;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 6px;\n background: rgba(255,255,255,0.08);\n color: #f0f0f0;\n font-size: 12px;\n cursor: pointer;\n transition: background 0.15s ease;\n }\n .${u}-actions button:hover { background: rgba(255,255,255,0.18); }\n .${u}-actions button:focus-visible { outline: 2px solid #4ea8de; outline-offset: 1px; }\n .${u}-actions button.primary {\n background: rgba(78,168,222,0.2);\n color: #4ea8de;\n border-color: rgba(78,168,222,0.3);\n }\n .${u}-actions button.primary:hover { background: rgba(78,168,222,0.35); }\n .${u}-actions button.success {\n background: rgba(42,157,143,0.2);\n color: #2a9d8f;\n border-color: rgba(42,157,143,0.3);\n }\n .${u}-actions button.success:hover { background: rgba(42,157,143,0.35); }\n\n .${u}-spinner {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 0;\n justify-content: center;\n color: #888;\n font-size: 13px;\n }\n .${u}-spinner::before {\n content: '';\n width: 18px;\n height: 18px;\n border: 2px solid rgba(78,168,222,0.3);\n border-top-color: #4ea8de;\n border-radius: 50%;\n animation: accessify-alt-spin 0.6s linear infinite;\n }\n\n .${u}-error {\n padding: 10px;\n background: rgba(220,53,69,0.12);\n border: 1px solid rgba(220,53,69,0.3);\n border-radius: 8px;\n color: #f0a0a8;\n font-size: 13px;\n margin-bottom: 10px;\n }\n\n @keyframes accessify-alt-fade-in {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n @keyframes accessify-alt-spin {\n to { transform: rotate(360deg); }\n }\n `,document.head.appendChild(r)),o=function(){const e=document.querySelectorAll("img"),t=[];return e.forEach(e=>{if(e.closest("#accessify-root"))return;if(e.width<20||e.height<20)return;const n=e.getAttribute("alt");null!==n&&""!==n.trim()||t.push(e)}),t}(),o.forEach(e=>{e.classList.add(l),s.has(e)&&s.get(e).applied&&e.classList.add("accessify-alt-processed"),e.addEventListener("click",g)}),f())},deactivate:function(){n=!1,b(),o.forEach(e=>{e.classList.remove(l,"accessify-alt-processed"),e.removeEventListener("click",g)}),o=[],h(),r?.remove(),r=null,document.getElementById(c)?.remove()},getState:()=>({id:"alt-text",enabled:n,value:{missingCount:o.length,processedCount:s.size,appliedCount:[...s.values()].filter(e=>e.applied).length}})}}},Symbol.toStringTag,{value:"Module"})),zi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1;const t="accessify-animation-stop",n="accessify-animation-stop";let r=[];function i(){e=!0,function(){let e=document.getElementById(t);e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent="\n /* accessify animation stop - WCAG 2.3.1 compliance */\n *, *::before, *::after {\n animation-duration: 0.01s !important;\n animation-delay: 0s !important;\n animation-iteration-count: 1 !important;\n animation-play-state: paused !important;\n transition-duration: 0.01s !important;\n transition-delay: 0s !important;\n scroll-behavior: auto !important;\n }\n "}(),function(){const e=document.querySelectorAll("video[autoplay], video");r=[],e.forEach(e=>{e.paused||(e.pause(),r.push(e))})}(),localStorage.setItem(n,"true")}function a(){e=!1,function(){const e=document.getElementById(t);e?.remove()}(),r.forEach(e=>{try{e.play()}catch{}}),r=[],localStorage.removeItem(n)}return{id:"animation-stop",name:()=>"Stop Animations",description:"Pause all animations, transitions, and auto-playing videos (WCAG 2.3.1)",icon:"animation-stop",category:"visual",activate:i,deactivate:a,getState:()=>({id:"animation-stop",enabled:e}),setState:e=>{e.enabled?i():a()}}}},Symbol.toStringTag,{value:"Module"}));let Ii=null;const Ti=Object.freeze(Object.defineProperty({__proto__:null,default:function(e="de"){let t=!1,n=null,r=null,i=null,a=!1;const o="accessify-scan-styles",s="accessify-scan-panel";function c(t){t.innerHTML="";const n=document.createElement("div");n.className=`${s}-spinner`;const r=document.createElement("span");r.textContent=e.startsWith("de")?"Seite wird auf Barrierefreiheit geprüft...":"Scanning page for accessibility issues...",n.appendChild(r);const i=document.createElement("span");i.style.fontSize="12px",i.style.color="#666",i.textContent=e.startsWith("de")?"axe-core wird geladen und analysiert die Seite":"Loading axe-core and analyzing the page",n.appendChild(i),t.appendChild(n)}async function l(t,n){a=!0;try{const r=await async function(){await async function(){if(!Ii){if(!window.axe)return new Promise((e,t)=>{const n=document.createElement("script");n.src="https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.2/axe.min.js",n.crossOrigin="anonymous",n.onload=()=>{Ii=window.axe,Ii?e():t(new Error("axe-core loaded but not available on window"))},n.onerror=()=>t(new Error("Failed to load axe-core")),document.head.appendChild(n)});Ii=window.axe}}();const e=await Ii.run(document,{exclude:["#accessify-root"],runOnly:{type:"tag",values:["wcag2a","wcag2aa","wcag21a","wcag21aa","best-practice"]}}),t={violations:e.violations.map(e=>{return{id:e.id,impact:e.impact||"minor",description:e.description,helpUrl:e.helpUrl,nodes:e.nodes.length,wcagCriteria:(t=e.tags,t.filter(e=>/^wcag\d/.test(e)||e.startsWith("best-practice")))};var t}),passes:e.passes.length,count:e.passes.length+e.violations.length,timestamp:Date.now()};return i=t,t}();a=!1,function(t,n,r){if(t.innerHTML="",0===r.violations.length){const i=document.createElement("div");return i.className=`${s}-empty`,i.innerHTML=`\n <span class="checkmark" aria-hidden="true">✓</span>\n ${e.startsWith("de")?"Keine Probleme gefunden!":"No issues found!"}\n `,t.appendChild(i),d(t,r),void u(n,r)}d(t,r);const i={critical:[],serious:[],moderate:[],minor:[]};r.violations.forEach(e=>{const t=e.impact||"minor";i[t]?i[t].push(e):i.minor.push(e)});const a={critical:{de:"Kritisch",en:"Critical"},serious:{de:"Schwerwiegend",en:"Serious"},moderate:{de:"Mittel",en:"Moderate"},minor:{de:"Gering",en:"Minor"}};for(const[o,c]of Object.entries(i)){if(0===c.length)continue;const n=document.createElement("div");n.className=`${s}-group`,n.setAttribute("data-impact",o);const r=document.createElement("div");r.className=`${s}-group-header`;const i=document.createElement("span");i.textContent="▼",i.style.fontSize="10px",i.style.transition="transform 0.15s ease";const l=document.createElement("span"),d=e.startsWith("de")?"de":"en";l.textContent=a[o]?.[d]||o;const u=document.createElement("span");u.className="count",u.textContent=String(c.length),r.appendChild(i),r.appendChild(l),r.appendChild(u);const f=document.createElement("div");let p=!1;r.addEventListener("click",()=>{p=!p,f.style.display=p?"none":"block",i.style.transform=p?"rotate(-90deg)":"rotate(0)"}),c.forEach(t=>{const n=document.createElement("div");n.className=`${s}-violation`;const r=document.createElement("div");r.className=`${s}-violation-desc`,r.textContent=t.description;const i=document.createElement("div");i.className=`${s}-violation-meta`;const a=document.createElement("span");if(a.textContent=e.startsWith("de")?`${t.nodes} ${1===t.nodes?"Element":"Elemente"}`:`${t.nodes} ${1===t.nodes?"element":"elements"}`,i.appendChild(a),t.wcagCriteria.length>0){const e=document.createElement("span");e.textContent=t.wcagCriteria.join(", "),i.appendChild(e)}const o=document.createElement("a");o.href=t.helpUrl,o.target="_blank",o.rel="noopener noreferrer",o.textContent=e.startsWith("de")?"Mehr erfahren":"Learn more",i.appendChild(o),n.appendChild(r),n.appendChild(i),f.appendChild(n)}),n.appendChild(r),n.appendChild(f),t.appendChild(n)}u(n,r)}(t,n,r)}catch(r){a=!1,t.innerHTML="";const i=document.createElement("div");i.style.cssText="padding: 20px; text-align: center; color: #f0a0a8;",i.textContent=e.startsWith("de")?`Fehler beim Scannen: ${r.message}`:`Scan error: ${r.message}`,t.appendChild(i),u(n,null)}}function d(t,n){const r=document.createElement("div");r.className=`${s}-score`;const i=n.count,a=n.passes,o=i>0?Math.round(a/i*100):100;let c="#2a9d8f";o<60?c="#e63946":o<80?c="#f77f00":o<95&&(c="#ffd166");const l=document.createElement("div");l.className=`${s}-score-ring`;const d=2*Math.PI*22;l.innerHTML=`\n <svg width="56" height="56" viewBox="0 0 56 56" aria-hidden="true">\n <circle cx="28" cy="28" r="22" fill="none" stroke="rgba(255,255,255,0.08)" stroke-width="4" />\n <circle cx="28" cy="28" r="22" fill="none" stroke="${c}" stroke-width="4"\n stroke-dasharray="${d}" stroke-dashoffset="${d-o/100*d}" stroke-linecap="round" />\n </svg>\n <div class="score-text" style="color:${c}">${o}%</div>\n `;const u=document.createElement("div");u.className=`${s}-score-details`,u.innerHTML=e.startsWith("de")?`<strong>${a}</strong> von <strong>${i}</strong> Prüfungen bestanden<br>${n.violations.length} ${1===n.violations.length?"Problem":"Probleme"} gefunden`:`<strong>${a}</strong> of <strong>${i}</strong> checks passed<br>${n.violations.length} ${1===n.violations.length?"issue":"issues"} found`,r.appendChild(l),r.appendChild(u),t.insertBefore(r,t.firstChild)}function u(t,n){t.querySelector(`.${s}-footer`)?.remove();const r=document.createElement("div");r.className=`${s}-footer`;const i=document.createElement("div");i.style.display="flex",i.style.gap="6px";const a=document.createElement("button");if(a.classList.add("primary"),a.textContent=e.startsWith("de")?"Erneut prüfen":"Rescan",a.addEventListener("click",()=>{const e=t.querySelector(`.${s}-body`);e&&(c(e),l(e,t))}),i.appendChild(a),n&&n.violations.length>0){const r=n.violations.filter(e=>f[e.id]).length;if(r>0){const a=document.createElement("button");a.classList.add("fix"),a.textContent=e.startsWith("de")?`${r} automatisch beheben`:`Auto-fix ${r} ${1===r?"issue":"issues"}`,a.addEventListener("click",()=>{const r=function(t){const n={fixed:[],skipped:[]},r=e.startsWith("de")?"de":"en";return t.forEach(e=>{const t=f[e.id];if(t)try{t.fix()?n.fixed.push("de"===r?t.labelDe:t.label):n.skipped.push("de"===r?t.labelDe:t.label)}catch{n.skipped.push("de"===r?t.labelDe:t.label)}}),n}(n.violations),i=t.querySelector(`.${s}-body`);i&&function(t,n){t.querySelectorAll(`.${s}-fix-report`).forEach(e=>e.remove());const r=document.createElement("div");r.className=`${s}-fix-report`,r.setAttribute("role","status"),r.setAttribute("aria-live","polite");let i="";n.fixed.length>0&&(i+=`<strong>${e.startsWith("de")?"Behoben:":"Fixed:"}</strong><br>`,i+=n.fixed.map(e=>`✓ ${e}`).join("<br>")),n.skipped.length>0&&(i&&(i+="<br><br>"),i+=`<strong>${e.startsWith("de")?"Übersprungen:":"Skipped:"}</strong><br>`,i+=n.skipped.map(e=>`• ${e}`).join("<br>")),0===n.fixed.length&&0===n.skipped.length&&(i=e.startsWith("de")?"Keine automatisch behebbaren Probleme gefunden.":"No auto-fixable issues found."),r.innerHTML=i,t.insertBefore(r,t.firstChild)}(i,r)}),i.appendChild(a)}}const o=document.createElement("div");if(o.style.display="flex",o.style.gap="6px",n){const t=document.createElement("button");t.textContent=e.startsWith("de")?"JSON exportieren":"Export JSON",t.addEventListener("click",()=>{!function(e){const t={...e,url:window.location.href,generatedBy:"Accessify WCAG Scanner",exportedAt:(new Date).toISOString()},n=JSON.stringify(t,null,2),r=new Blob([n],{type:"application/json"}),i=URL.createObjectURL(r),a=document.createElement("a");a.href=i,a.download=`accessify-scan-${Date.now()}.json`,a.click(),URL.revokeObjectURL(i)}(n)}),o.appendChild(t)}const d=document.createElement("button");d.textContent=e.startsWith("de")?"Schließen":"Close",d.addEventListener("click",()=>p()),o.appendChild(d),r.appendChild(i),r.appendChild(o),t.appendChild(r)}const f={"html-has-lang":{label:"Added lang attribute to <html>",labelDe:"lang-Attribut zu <html> hinzugefügt",fix:()=>function(){const e=document.documentElement;if(e.hasAttribute("lang")&&""!==e.lang.trim())return!1;const t=function(){const e=document.querySelector('meta[http-equiv="content-language"]');if(e?.content)return e.content;const t=document.querySelector('meta[property="og:locale"]');if(t?.content)return t.content.replace("_","-");const n=(document.body.innerText||"").toLowerCase().slice(0,2e3);let r=0,i=0;return["und","der","die","das","ist","nicht","ein","eine","mit","auf"].forEach(e=>{const t=new RegExp(`\\b${e}\\b`,"gi");r+=(n.match(t)||[]).length}),["the","and","is","are","for","not","with","this","that","was"].forEach(e=>{const t=new RegExp(`\\b${e}\\b`,"gi");i+=(n.match(t)||[]).length}),r>i?"de":"en"}();return e.setAttribute("lang",t),!0}()},"document-title":{label:"Added page title",labelDe:"Seitentitel hinzugefügt",fix:()=>function(){let e=document.querySelector("title");if(e&&e.textContent?.trim())return!1;const t=document.querySelector("h1"),n=t?.textContent?.trim()||window.location.hostname||"Untitled Page";return e||(e=document.createElement("title"),document.head.appendChild(e)),e.textContent=n,!0}()},bypass:{label:"Added skip-to-content link",labelDe:"Überspringen-Link hinzugefügt",fix:()=>function(){if(document.querySelector('a[href="#main"], a[href="#content"], a[href="#main-content"], .skip-link, .skip-to-content'))return!1;const t=document.querySelector("main")||document.getElementById("main")||document.getElementById("content")||document.getElementById("main-content");if(!t){const e=document.querySelector("h1, h2");e&&!e.id&&(e.id="accessify-main-content")}const n=t?.id||(t?t.id="accessify-main-content":"accessify-main-content"),r=document.createElement("a");return r.href=`#${n}`,r.textContent=e.startsWith("de")?"Zum Inhalt springen":"Skip to content",r.className="accessify-skip-link",Object.assign(r.style,{position:"absolute",top:"-100px",left:"0",padding:"8px 16px",background:"#1a1a2e",color:"#4ea8de",fontSize:"14px",fontWeight:"600",fontFamily:"system-ui, -apple-system, sans-serif",textDecoration:"none",zIndex:"2147483647",borderRadius:"0 0 8px 0",transition:"top 0.2s ease"}),r.addEventListener("focus",()=>{r.style.top="0"}),r.addEventListener("blur",()=>{r.style.top="-100px"}),document.body.insertBefore(r,document.body.firstChild),!0}()},"link-name":{label:"Added aria-labels to empty links",labelDe:"aria-label zu leeren Links hinzugefügt",fix:()=>function(){const e=document.querySelectorAll("a:not([aria-label]):not([aria-labelledby])");let t=0;return e.forEach(e=>{const n=(e.textContent||"").trim(),r=e.querySelector("img[alt]");if(n||r&&r.alt)return;const i=e.title?.trim(),a=e.href,o=e.querySelector("img"),s=i||(o?o.alt:"")||(a?new URL(a,window.location.href).hostname:"")||"Link";e.setAttribute("aria-label",s),t++}),t>0}()},"button-name":{label:"Added aria-labels to empty buttons",labelDe:"aria-label zu leeren Buttons hinzugefügt",fix:()=>function(){const e=document.querySelectorAll("button:not([aria-label]):not([aria-labelledby])");let t=0;return e.forEach(e=>{if((e.textContent||"").trim())return;const n=e.title?.trim(),r=e.querySelector("img[alt]"),i=e.querySelector("svg"),a=n||(r?r.alt:"")||(i?function(e){const t=e.querySelector("title");if(t?.textContent?.trim())return t.textContent.trim();const n=e.getAttribute("aria-label");return n?.trim()?n.trim():""}(i):"")||function(e){if(!e)return"";const t=e.replace(/[_-]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/).filter(e=>e.length>2&&!["btn","button","icon","svg","img","cls","mod"].includes(e.toLowerCase()));return t.length>0?t.slice(0,3).join(" "):""}(e.className)||"Button";e.setAttribute("aria-label",a),t++}),t>0}()},"focus-order-semantics":{label:"Added focus indicators CSS",labelDe:"CSS-Fokus-Indikatoren hinzugefügt",fix:()=>function(){const e="accessify-focus-fix";if(document.getElementById(e))return!1;const t=document.createElement("style");return t.id=e,t.textContent="\n *:focus-visible {\n outline: 3px solid #4ea8de !important;\n outline-offset: 2px !important;\n }\n ",document.head.appendChild(t),!0}()}};function p(){r?.remove(),r=null,document.querySelector(`.${s}-backdrop`)?.remove()}return{id:"auto-scan",name:()=>e.startsWith("de")?"WCAG-Prüfung":"WCAG Scan",description:e.startsWith("de")?"Seite auf Barrierefreiheit prüfen":"Scan page for accessibility issues",icon:"scan",category:"ai",activate:function(){t||(t=!0,function(){p(),document.getElementById(o)||(n=document.createElement("style"),n.id=o,n.textContent=`\n .${s} {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 2147483646;\n width: 560px;\n max-width: 92vw;\n max-height: 80vh;\n background: #1a1a2e;\n color: #f0f0f0;\n border-radius: 14px;\n box-shadow: 0 12px 48px rgba(0,0,0,0.5);\n font-family: system-ui, -apple-system, sans-serif;\n font-size: 14px;\n line-height: 1.5;\n display: flex;\n flex-direction: column;\n animation: accessify-scan-fade-in 0.25s ease;\n }\n\n .${s}-backdrop {\n position: fixed;\n inset: 0;\n z-index: 2147483645;\n background: rgba(0,0,0,0.4);\n animation: accessify-scan-fade-in 0.2s ease;\n }\n\n .${s}-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid rgba(255,255,255,0.08);\n flex-shrink: 0;\n }\n .${s}-header h2 {\n margin: 0;\n font-size: 16px;\n font-weight: 700;\n color: #f0f0f0;\n }\n .${s}-close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: 6px;\n background: transparent;\n color: #888;\n font-size: 18px;\n cursor: pointer;\n }\n .${s}-close:hover { color: #fff; background: rgba(255,255,255,0.1); }\n .${s}-close:focus-visible { outline: 2px solid #4ea8de; outline-offset: 1px; }\n\n .${s}-body {\n flex: 1;\n overflow-y: auto;\n padding: 16px 20px;\n }\n\n .${s}-score {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n background: rgba(255,255,255,0.04);\n border-radius: 10px;\n margin-bottom: 16px;\n }\n .${s}-score-ring {\n position: relative;\n width: 56px;\n height: 56px;\n flex-shrink: 0;\n }\n .${s}-score-ring svg {\n transform: rotate(-90deg);\n }\n .${s}-score-ring .score-text {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n font-weight: 700;\n }\n .${s}-score-details {\n font-size: 13px;\n color: #aaa;\n }\n .${s}-score-details strong {\n color: #f0f0f0;\n font-weight: 600;\n }\n\n .${s}-group {\n margin-bottom: 14px;\n }\n .${s}-group-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n margin-bottom: 6px;\n cursor: pointer;\n user-select: none;\n }\n .${s}-group-header:hover {\n opacity: 0.9;\n }\n .${s}-group-header .count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 700;\n }\n .${s}-group[data-impact="critical"] .${s}-group-header {\n background: rgba(220,53,69,0.12);\n color: #f0a0a8;\n }\n .${s}-group[data-impact="critical"] .count {\n background: rgba(220,53,69,0.3);\n }\n .${s}-group[data-impact="serious"] .${s}-group-header {\n background: rgba(255,152,0,0.12);\n color: #ffcc80;\n }\n .${s}-group[data-impact="serious"] .count {\n background: rgba(255,152,0,0.3);\n }\n .${s}-group[data-impact="moderate"] .${s}-group-header {\n background: rgba(255,193,7,0.12);\n color: #ffd54f;\n }\n .${s}-group[data-impact="moderate"] .count {\n background: rgba(255,193,7,0.3);\n }\n .${s}-group[data-impact="minor"] .${s}-group-header {\n background: rgba(78,168,222,0.12);\n color: #81d4fa;\n }\n .${s}-group[data-impact="minor"] .count {\n background: rgba(78,168,222,0.3);\n }\n\n .${s}-violation {\n padding: 10px 14px;\n margin-bottom: 4px;\n background: rgba(255,255,255,0.03);\n border-radius: 6px;\n border-left: 3px solid rgba(255,255,255,0.1);\n }\n .${s}-violation-desc {\n font-size: 13px;\n margin-bottom: 4px;\n }\n .${s}-violation-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n font-size: 11px;\n color: #888;\n }\n .${s}-violation-meta a {\n color: #4ea8de;\n text-decoration: none;\n }\n .${s}-violation-meta a:hover { text-decoration: underline; }\n .${s}-violation-meta a:focus-visible {\n outline: 2px solid #4ea8de;\n outline-offset: 1px;\n }\n\n .${s}-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 20px;\n border-top: 1px solid rgba(255,255,255,0.08);\n flex-shrink: 0;\n gap: 8px;\n flex-wrap: wrap;\n }\n .${s}-footer button {\n padding: 7px 16px;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 7px;\n background: rgba(255,255,255,0.08);\n color: #f0f0f0;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s ease;\n white-space: nowrap;\n }\n .${s}-footer button:hover { background: rgba(255,255,255,0.18); }\n .${s}-footer button:focus-visible { outline: 2px solid #4ea8de; outline-offset: 1px; }\n .${s}-footer button.primary {\n background: rgba(78,168,222,0.2);\n color: #4ea8de;\n border-color: rgba(78,168,222,0.3);\n }\n .${s}-footer button.primary:hover { background: rgba(78,168,222,0.35); }\n .${s}-footer button.fix {\n background: rgba(42,157,143,0.2);\n color: #2a9d8f;\n border-color: rgba(42,157,143,0.3);\n }\n .${s}-footer button.fix:hover { background: rgba(42,157,143,0.35); }\n\n .${s}-spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 14px;\n padding: 40px 20px;\n color: #aaa;\n font-size: 14px;\n }\n .${s}-spinner::before {\n content: '';\n width: 28px;\n height: 28px;\n border: 3px solid rgba(78,168,222,0.2);\n border-top-color: #4ea8de;\n border-radius: 50%;\n animation: accessify-scan-spin 0.7s linear infinite;\n }\n\n .${s}-empty {\n text-align: center;\n padding: 32px 20px;\n color: #2a9d8f;\n font-size: 15px;\n font-weight: 600;\n }\n .${s}-empty .checkmark {\n display: block;\n font-size: 40px;\n margin-bottom: 8px;\n }\n\n .${s}-fix-report {\n padding: 12px 14px;\n margin: 12px 0;\n background: rgba(42,157,143,0.1);\n border: 1px solid rgba(42,157,143,0.25);\n border-radius: 8px;\n font-size: 13px;\n color: #81cec5;\n }\n .${s}-fix-report strong { color: #2a9d8f; }\n\n @keyframes accessify-scan-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n @keyframes accessify-scan-spin {\n to { transform: rotate(360deg); }\n }\n `,document.head.appendChild(n));const t=document.createElement("div");t.className=`${s}-backdrop`,t.addEventListener("click",()=>p()),document.body.appendChild(t);const i=document.createElement("div");i.className=s,i.setAttribute("role","dialog"),i.setAttribute("aria-label",e.startsWith("de")?"WCAG-Prüfergebnisse":"WCAG Scan Results"),i.setAttribute("aria-modal","true");const a=document.createElement("div");a.className=`${s}-header`;const d=document.createElement("h2");d.textContent=e.startsWith("de")?"WCAG-Prüfung":"WCAG Accessibility Scan";const u=document.createElement("button");u.className=`${s}-close`,u.setAttribute("aria-label",e.startsWith("de")?"Schließen":"Close"),u.innerHTML="×",u.addEventListener("click",()=>p()),a.appendChild(d),a.appendChild(u),i.appendChild(a);const f=document.createElement("div");f.className=`${s}-body`,i.appendChild(f),document.body.appendChild(i),r=i,c(f),l(f,i);const h=e=>{"Escape"===e.key&&(p(),document.removeEventListener("keydown",h))};document.addEventListener("keydown",h)}())},deactivate:function(){t=!1,p(),n?.remove(),n=null,document.getElementById(o)?.remove()},getState:()=>({id:"auto-scan",enabled:t,value:i?{violations:i.violations.length,passes:i.passes,total:i.count,timestamp:i.timestamp}:null})}}},Symbol.toStringTag,{value:"Module"}));function Li(e){return`data:image/svg+xml;base64,${btoa(`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${e}" viewBox="0 0 ${e} ${e}">\n <defs>\n <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">\n <feDropShadow dx="1" dy="1" stdDeviation="1" flood-color="#000" flood-opacity="0.5"/>\n </filter>\n </defs>\n <g filter="url(#shadow)">\n <path d="M ${.15*e} ${.05*e} L ${.15*e} ${.75*e} L ${.35*e} ${.6*e} L ${.55*e} ${.9*e} L ${.65*e} ${.85*e} L ${.45*e} ${.55*e} L ${.7*e} ${.5*e} Z"\n fill="white" stroke="black" stroke-width="${.04*e}" stroke-linejoin="round"/>\n </g>\n </svg>`)}`}const Gi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t="48";const n="accessify-big-cursor",r="accessify-big-cursor",i={48:Li(48),64:Li(64)};function a(e){let t=document.getElementById(n);t||(t=document.createElement("style"),t.id=n,document.head.appendChild(t)),t.textContent=function(e){const t=parseInt(e,10),n=Math.round(.15*t);return`\n /* accessify big cursor */\n html, html * {\n cursor: url('${i[e]}') ${n} ${n}, auto !important;\n }\n html a, html a *, html button, html button *,\n html input[type="submit"], html input[type="button"],\n html [role="button"], html [role="button"] * {\n cursor: url('${i[e]}') ${n} ${n}, pointer !important;\n }\n `}(e)}return{id:"big-cursor",name:()=>"Big Cursor",description:"Enlarge the mouse cursor for easier visibility",icon:"big-cursor",category:"motor",activate:function(){e=!0;const n=localStorage.getItem(r);t="64"===n?"64":"48",a(t)},deactivate:function(){e=!1,function(){const e=document.getElementById(n);e?.remove()}(),localStorage.removeItem(r)},getState:()=>({id:"big-cursor",enabled:e,value:t}),setState:n=>{t="64"===n?"64":"48",e&&a(t),localStorage.setItem(r,t)}}}},Symbol.toStringTag,{value:"Module"})),Pi={protanopia:"\n 0.567, 0.433, 0, 0, 0\n 0.558, 0.442, 0, 0, 0\n 0, 0.242, 0.758, 0, 0\n 0, 0, 0, 1, 0\n ",deuteranopia:"\n 0.625, 0.375, 0, 0, 0\n 0.7, 0.3, 0, 0, 0\n 0, 0.3, 0.7, 0, 0\n 0, 0, 0, 1, 0\n ",tritanopia:"\n 0.95, 0.05, 0, 0, 0\n 0, 0.433, 0.567, 0, 0\n 0, 0.475, 0.525, 0, 0\n 0, 0, 0, 1, 0\n ",achromatopsia:"\n 0.299, 0.587, 0.114, 0, 0\n 0.299, 0.587, 0.114, 0, 0\n 0.299, 0.587, 0.114, 0, 0\n 0, 0, 0, 1, 0\n "},Oi={protanopia:"Protanopia (Red-blind)",deuteranopia:"Deuteranopia (Green-blind)",tritanopia:"Tritanopia (Blue-blind)",achromatopsia:"Achromatopsia (Total color blindness)"},Bi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e="off";const t="accessify-colorblind-svg",n="accessify-colorblind-style",r="accessify-colorblind-mode";function i(e){if(document.getElementById(t)?.remove(),document.getElementById(n)?.remove(),"off"===e)return;const r=`accessify-filter-${e}`,i=document.createElement("div");i.innerHTML=function(e){return`\n <svg id="${t}" xmlns="http://www.w3.org/2000/svg" style="position:absolute;width:0;height:0;overflow:hidden;">\n <defs>\n <filter id="accessify-filter-${e}" color-interpolation-filters="sRGB">\n <feColorMatrix type="matrix" values="${Pi[e]}" />\n </filter>\n </defs>\n </svg>\n `}(e);const a=i.firstElementChild;a&&document.body.appendChild(a);const o=document.createElement("style");o.id=n,o.textContent=`\n /* accessify color blindness filter: ${Oi[e]} */\n html {\n filter: url(#${r}) !important;\n }\n `,document.head.appendChild(o)}return{id:"color-blind",name:()=>"Color Blindness",description:"Apply color vision deficiency filters for testing and correction",icon:"color-blind",category:"visual",activate:function(){const t=localStorage.getItem(r);e=t&&"off"!==t?t:"protanopia",i(e)},deactivate:function(){e="off",i("off"),localStorage.removeItem(r)},getState:()=>({id:"color-blind",enabled:"off"!==e,value:e}),setState:t=>{e=t,i(t),"off"===t?localStorage.removeItem(r):localStorage.setItem(r,t)}}}},Symbol.toStringTag,{value:"Module"})),ji=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e="off";const t="accessify-contrast",n="accessify-contrast-mode";function r(e){let n=document.getElementById(t);"off"!==e?(n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent=function(e){switch(e){case"high":return"\n html { filter: contrast(1.5) !important; }\n body { background: #000 !important; color: #fff !important; }\n a { color: #ffff00 !important; }\n img { filter: contrast(1.2) !important; }\n ";case"enhanced":return"\n html { filter: contrast(1.25) !important; }\n ";default:return""}}(e)):n?.remove()}return{id:"contrast",name:()=>"Contrast",description:"Increase contrast for better readability",icon:"contrast",category:"visual",activate:function(){const t=localStorage.getItem(n);e=t||"high",r(e)},deactivate:function(){e="off",r("off"),localStorage.removeItem(n)},getState:()=>({id:"contrast",enabled:"off"!==e,value:e}),setState:t=>{e=t,r(t),localStorage.setItem(n,t)}}}},Symbol.toStringTag,{value:"Module"})),Wi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t=!1;const n="accessify-dyslexia-font",r="accessify-dyslexia-font",i="OpenDyslexic";async function a(){e=!0,await async function(){if(!t)try{const e=new FontFace(i,"url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/open-dyslexic-regular.woff2)",{style:"normal",weight:"400",display:"swap"}),n=await e.load();document.fonts.add(n),t=!0}catch(e){console.warn("[accessify] Failed to load OpenDyslexic font:",e)}}(),function(){let e=document.getElementById(n);e||(e=document.createElement("style"),e.id=n,document.head.appendChild(e)),e.textContent=`\n /* accessify dyslexia-friendly font */\n body, body * {\n font-family: '${i}', sans-serif !important;\n }\n `}(),localStorage.setItem(r,"true")}function o(){e=!1,function(){const e=document.getElementById(n);e?.remove()}(),localStorage.removeItem(r)}return{id:"dyslexia-font",name:()=>"Dyslexia Font",description:"Apply OpenDyslexic font for improved readability",icon:"dyslexia-font",category:"cognitive",activate:a,deactivate:o,getState:()=>({id:"dyslexia-font",enabled:e,value:{fontLoaded:t}}),setState:e=>{e.enabled?a():o()}}}},Symbol.toStringTag,{value:"Module"})),Ki=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1;const t="accessify-focus-highlight",n="accessify-focus-highlight";function r(){e=!0,function(){let e=document.getElementById(t);e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent='\n /* accessify focus highlight - WCAG 2.4.7 / 2.4.13 compliance */\n *:focus-visible {\n outline: 3px solid #1a73e8 !important;\n outline-offset: 2px !important;\n box-shadow: 0 0 0 6px rgba(26, 115, 232, 0.3) !important;\n }\n\n /* Override any outline:none that pages may set */\n a:focus-visible,\n button:focus-visible,\n input:focus-visible,\n select:focus-visible,\n textarea:focus-visible,\n [tabindex]:focus-visible,\n [role="button"]:focus-visible,\n [role="link"]:focus-visible,\n [role="checkbox"]:focus-visible,\n [role="radio"]:focus-visible,\n [role="tab"]:focus-visible,\n [role="menuitem"]:focus-visible,\n [role="option"]:focus-visible,\n [role="switch"]:focus-visible,\n [contenteditable="true"]:focus-visible,\n summary:focus-visible,\n details:focus-visible {\n outline: 3px solid #1a73e8 !important;\n outline-offset: 2px !important;\n box-shadow: 0 0 0 6px rgba(26, 115, 232, 0.3) !important;\n }\n\n /* High contrast mode: use yellow outline for dark backgrounds */\n @media (prefers-color-scheme: dark) {\n *:focus-visible {\n outline-color: #ffdd00 !important;\n box-shadow: 0 0 0 6px rgba(255, 221, 0, 0.3) !important;\n }\n }\n '}(),localStorage.setItem(n,"true")}function i(){e=!1,function(){const e=document.getElementById(t);e?.remove()}(),localStorage.removeItem(n)}return{id:"focus-highlight",name:()=>"Focus Highlight",description:"Add strong visible focus indicators on all focusable elements (WCAG 2.4.7/2.4.13)",icon:"focus-highlight",category:"motor",activate:r,deactivate:i,getState:()=>({id:"focus-highlight",enabled:e}),setState:e=>{e.enabled?r():i()}}}},Symbol.toStringTag,{value:"Module"})),Ni=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1;const t="accessify-hide-images";return{id:"hide-images",name:()=>"Hide Images",description:"Remove images for distraction-free reading",icon:"hide-images",category:"visual",activate:function(){e=!0;let n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent='\n img, picture, svg:not([aria-hidden="true"]), video, canvas,\n [role="img"], figure {\n opacity: 0 !important;\n pointer-events: none !important;\n }\n '},deactivate:function(){e=!1,document.getElementById(t)?.remove()},getState:()=>({id:"hide-images",enabled:e})}}},Symbol.toStringTag,{value:"Module"})),Fi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1;const t="accessify-keyboard-nav",n="accessify-skip-link",r="accessify-keyboard-help",i="accessify-keyboard-nav";let a=-1,o=-1,s=[],c=[],l=!1;function d(t){if(e){if("Escape"===t.key&&l){const e=document.getElementById(r);return e?.remove(),void(l=!1)}if(t.altKey)switch(t.key.toLowerCase()){case"h":t.preventDefault(),function(){if(s=Array.from(document.querySelectorAll("h1, h2, h3, h4, h5, h6")).filter(e=>{const t=window.getComputedStyle(e);return"none"!==t.display&&"hidden"!==t.visibility}),0===s.length)return;a=(a+1)%s.length;const e=s[a];e.setAttribute("tabindex","-1"),e.focus(),e.scrollIntoView({behavior:"smooth",block:"center"})}();break;case"l":t.preventDefault(),function(){if(c=Array.from(document.querySelectorAll(['header, [role="banner"]','nav, [role="navigation"]','main, [role="main"]','aside, [role="complementary"]','[role="search"]','[role="form"]','footer, [role="contentinfo"]','[role="region"][aria-label]'].join(", "))).filter(e=>{const t=window.getComputedStyle(e);return"none"!==t.display&&"hidden"!==t.visibility}),0===c.length)return;o=(o+1)%c.length;const e=c[o];e.setAttribute("tabindex","-1"),e.focus(),e.scrollIntoView({behavior:"smooth",block:"center"})}();break;case"k":t.preventDefault(),function(){const e=document.getElementById(r);if(e)return e.remove(),void(l=!1);l=!0;const t=document.createElement("div");t.id=r,t.setAttribute("role","dialog"),t.setAttribute("aria-label","Keyboard shortcuts"),t.setAttribute("aria-modal","true"),t.innerHTML='\n <div style="\n position: fixed; inset: 0; background: rgba(0,0,0,0.6);\n display: flex; align-items: center; justify-content: center;\n z-index: 2147483647;\n ">\n <div style="\n background: #fff; color: #222; border-radius: 12px; padding: 32px;\n max-width: 480px; width: 90%; max-height: 80vh; overflow-y: auto;\n box-shadow: 0 8px 32px rgba(0,0,0,0.3); font-family: system-ui, sans-serif;\n " role="document">\n <h2 style="margin: 0 0 16px; font-size: 20px; color: #1a73e8;">Keyboard Shortcuts</h2>\n <table style="width: 100%; border-collapse: collapse; font-size: 14px;">\n <thead>\n <tr style="border-bottom: 2px solid #e0e0e0;">\n <th style="text-align: left; padding: 8px 12px;">Shortcut</th>\n <th style="text-align: left; padding: 8px 12px;">Action</th>\n </tr>\n </thead>\n <tbody>\n <tr style="border-bottom: 1px solid #f0f0f0;">\n <td style="padding: 8px 12px;"><kbd style="background:#f5f5f5;padding:2px 8px;border-radius:4px;border:1px solid #ccc;font-family:monospace;">Alt + H</kbd></td>\n <td style="padding: 8px 12px;">Navigate to next heading</td>\n </tr>\n <tr style="border-bottom: 1px solid #f0f0f0;">\n <td style="padding: 8px 12px;"><kbd style="background:#f5f5f5;padding:2px 8px;border-radius:4px;border:1px solid #ccc;font-family:monospace;">Alt + L</kbd></td>\n <td style="padding: 8px 12px;">Navigate to next landmark</td>\n </tr>\n <tr style="border-bottom: 1px solid #f0f0f0;">\n <td style="padding: 8px 12px;"><kbd style="background:#f5f5f5;padding:2px 8px;border-radius:4px;border:1px solid #ccc;font-family:monospace;">Alt + K</kbd></td>\n <td style="padding: 8px 12px;">Toggle this help overlay</td>\n </tr>\n <tr style="border-bottom: 1px solid #f0f0f0;">\n <td style="padding: 8px 12px;"><kbd style="background:#f5f5f5;padding:2px 8px;border-radius:4px;border:1px solid #ccc;font-family:monospace;">Tab</kbd></td>\n <td style="padding: 8px 12px;">Move to next focusable element</td>\n </tr>\n <tr>\n <td style="padding: 8px 12px;"><kbd style="background:#f5f5f5;padding:2px 8px;border-radius:4px;border:1px solid #ccc;font-family:monospace;">Escape</kbd></td>\n <td style="padding: 8px 12px;">Close this overlay</td>\n </tr>\n </tbody>\n </table>\n <button style="\n margin-top: 20px; padding: 8px 24px; background: #1a73e8; color: #fff;\n border: none; border-radius: 6px; cursor: pointer; font-size: 14px;\n " id="accessify-keyboard-help-close">Close</button>\n </div>\n </div>\n ',document.body.appendChild(t);const n=document.getElementById("accessify-keyboard-help-close");n?.focus(),n?.addEventListener("click",()=>{t.remove(),l=!1})}()}}}function u(){e=!0,a=-1,o=-1,function(){let e=document.getElementById(t);e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent=`\n /* accessify keyboard navigation */\n #${n} {\n position: fixed;\n top: -100px;\n left: 50%;\n transform: translateX(-50%);\n background: #1a73e8;\n color: #fff;\n padding: 12px 24px;\n border-radius: 0 0 8px 8px;\n font-size: 16px;\n font-family: system-ui, sans-serif;\n text-decoration: none;\n z-index: 2147483647;\n transition: top 0.2s ease;\n box-shadow: 0 2px 8px rgba(0,0,0,0.3);\n }\n #${n}:focus {\n top: 0;\n outline: 3px solid #ffdd00;\n outline-offset: 2px;\n }\n `}(),function(){if(function(){const e=document.querySelectorAll('a[href^="#"]');for(const t of e){const e=t.textContent?.toLowerCase()||"";if(e.includes("skip")||e.includes("main content")||e.includes("navigation"))return!0}return!1}())return;const e=document.querySelector("main")||document.getElementById("content")||document.getElementById("main-content")||document.querySelector('[role="main"]')||document.querySelector("h1");if(!e)return;e.id||(e.id="accessify-main-content");const t=document.createElement("a");t.id=n,t.href=`#${e.id}`,t.textContent="Skip to main content",t.addEventListener("click",t=>{t.preventDefault(),e.setAttribute("tabindex","-1"),e.focus(),e.scrollIntoView({behavior:"smooth",block:"start"})}),document.body.insertBefore(t,document.body.firstChild)}(),document.querySelectorAll(["a[href]","button","input","select","textarea",'[role="button"]','[role="link"]','[role="checkbox"]','[role="radio"]','[role="tab"]','[role="menuitem"]','[role="switch"]','[contenteditable="true"]',"summary"].join(", ")).forEach(e=>{e.hasAttribute("tabindex")||function(e){const t=e.tagName.toLowerCase();return!!["a","button","input","select","textarea"].includes(t)}(e)||(e.setAttribute("tabindex","0"),e.dataset.accessifyTabindex="true")}),document.addEventListener("keydown",d),localStorage.setItem(i,"true")}function f(){e=!1,l=!1,document.removeEventListener("keydown",d),function(){const e=document.getElementById(n);e?.remove()}(),document.querySelectorAll('[data-accessify-tabindex="true"]').forEach(e=>{e.removeAttribute("tabindex"),delete e.dataset.accessifyTabindex}),function(){const e=document.getElementById(t);e?.remove()}();const a=document.getElementById(r);a?.remove(),localStorage.removeItem(i)}return{id:"keyboard-nav",name:()=>"Keyboard Navigation",description:"Enhanced keyboard navigation with skip links, heading/landmark jumping, and shortcut help",icon:"keyboard-nav",category:"motor",activate:u,deactivate:f,getState:()=>({id:"keyboard-nav",enabled:e}),setState:e=>{e.enabled?u():f()}}}},Symbol.toStringTag,{value:"Module"})),Hi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t=1.8;const n="accessify-line-height",r="accessify-line-height-value";function i(t){let r=document.getElementById(n);e?(r||(r=document.createElement("style"),r.id=n,document.head.appendChild(r)),r.textContent=`\n body, body p, body li, body td, body th, body dd, body dt,\n body span, body div, body label, body blockquote {\n line-height: ${t} !important;\n }\n `):r?.remove()}return{id:"line-height",name:()=>"Line Height",description:"Increase space between lines of text",icon:"line-height",category:"visual",activate:function(){e=!0;const n=localStorage.getItem(r);n&&(t=parseFloat(n)),i(t)},deactivate:function(){e=!1,i(t),localStorage.removeItem(r)},getState:()=>({id:"line-height",enabled:e,value:t}),setState:e=>{t=Math.min(3,Math.max(1,e)),i(t),localStorage.setItem(r,String(t))}}}},Symbol.toStringTag,{value:"Module"})),Ri=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1;const t="accessify-link-highlight",n="accessify-link-highlight";function r(){e=!0,function(){let e=document.getElementById(t);e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent=`\n /* accessify link highlighting */\n a[href] {\n text-decoration: underline !important;\n text-decoration-thickness: 3px !important;\n text-underline-offset: 3px !important;\n text-decoration-color: #1a73e8 !important;\n background-color: rgba(26, 115, 232, 0.1) !important;\n padding: 2px 4px !important;\n border-radius: 2px !important;\n transition: background-color 0.15s ease !important;\n }\n\n a[href]:hover {\n background-color: rgba(26, 115, 232, 0.25) !important;\n }\n\n a[href]:visited {\n text-decoration-color: #681da8 !important;\n background-color: rgba(104, 29, 168, 0.1) !important;\n }\n\n a[href]:visited:hover {\n background-color: rgba(104, 29, 168, 0.25) !important;\n }\n\n /* External link indicator */\n a[href^="http"]:not([href*="${"undefined"!=typeof window?window.location.hostname:""}"]):after {\n content: " \\2197";\n font-size: 0.8em;\n vertical-align: super;\n }\n `}(),localStorage.setItem(n,"true")}function i(){e=!1,function(){const e=document.getElementById(t);e?.remove()}(),localStorage.removeItem(n)}return{id:"link-highlight",name:()=>"Link Highlight",description:"Highlight all links with thick underlines and background colors",icon:"link-highlight",category:"visual",activate:r,deactivate:i,getState:()=>({id:"link-highlight",enabled:e}),setState:e=>{e.enabled?r():i()}}}},Symbol.toStringTag,{value:"Module"})),qi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t=null;const n="accessify-page-structure";function r(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function i(){e=!1,t?.remove(),t=null}return{id:"page-structure",name:()=>"Page Structure",description:"View headings and landmarks for quick navigation",icon:"page-structure",category:"motor",activate:function(){e=!0,function(){t=document.createElement("div"),t.id=n,t.setAttribute("role","dialog"),t.setAttribute("aria-label","Page Structure");const e=function(){const e=[];return document.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(t=>{if(t.closest("#accessify-root"))return;const n=t.textContent?.trim()||"";n&&e.push({tag:t.tagName.toLowerCase(),text:n,el:t})}),e}(),a=function(){const e=[];return document.querySelectorAll(["main","nav","aside","header","footer","section[aria-label]","section[aria-labelledby]",'[role="main"]','[role="navigation"]','[role="complementary"]','[role="banner"]','[role="contentinfo"]','[role="search"]'].join(",")).forEach(t=>{if(t.closest("#accessify-root"))return;const n=t.getAttribute("role")||t.tagName.toLowerCase(),r=t.getAttribute("aria-label")||t.getAttribute("aria-labelledby")||n;e.push({role:n,label:r,el:t})}),e}(),o={h1:"0",h2:"12px",h3:"24px",h4:"36px",h5:"48px",h6:"60px"};let s=`\n <style>\n #${n} {\n position: fixed; top: 50%; left: 50%;\n transform: translate(-50%, -50%);\n z-index: 999998;\n background: #fff; color: #1a1a1a;\n border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.2);\n padding: 24px; width: 400px; max-height: 80vh;\n overflow-y: auto; font-family: system-ui, sans-serif;\n font-size: 14px; line-height: 1.5;\n }\n #${n} h3 { margin: 0 0 12px; font-size: 16px; }\n #${n} .ps-section { margin-bottom: 16px; }\n #${n} .ps-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #888; margin-bottom: 6px; }\n #${n} .ps-item {\n display: block; width: 100%; text-align: left;\n padding: 6px 8px; border: none; background: none;\n cursor: pointer; border-radius: 6px; font-size: 13px;\n color: #1a1a1a; font-family: inherit;\n }\n #${n} .ps-item:hover { background: #f0f0f2; }\n #${n} .ps-item:focus-visible { outline: 2px solid #0055CC; outline-offset: 1px; }\n #${n} .ps-tag { color: #888; font-size: 11px; margin-right: 6px; }\n #${n} .ps-close {\n position: absolute; top: 12px; right: 12px;\n background: none; border: none; cursor: pointer;\n font-size: 18px; color: #888; padding: 4px 8px; border-radius: 4px;\n }\n #${n} .ps-close:hover { background: #f0f0f2; }\n @media (prefers-color-scheme: dark) {\n #${n} { background: #1a1a1a; color: #f0f0f0; }\n #${n} .ps-item { color: #f0f0f0; }\n #${n} .ps-item:hover { background: #2a2a2e; }\n #${n} .ps-close { color: #aaa; }\n #${n} .ps-close:hover { background: #2a2a2e; }\n }\n </style>\n <button class="ps-close" aria-label="Close">×</button>\n <h3>Page Structure</h3>\n `;e.length>0&&(s+='<div class="ps-section"><div class="ps-label">Headings</div>',e.forEach((e,t)=>{s+=`<button class="ps-item" data-type="heading" data-index="${t}" style="padding-left:${o[e.tag]||"0"}">\n <span class="ps-tag">${e.tag}</span>${r(e.text.slice(0,80))}\n </button>`}),s+="</div>"),a.length>0&&(s+='<div class="ps-section"><div class="ps-label">Landmarks</div>',a.forEach((e,t)=>{s+=`<button class="ps-item" data-type="landmark" data-index="${t}">\n <span class="ps-tag">${r(e.role)}</span>${r(e.label.slice(0,60))}\n </button>`}),s+="</div>"),0===e.length&&0===a.length&&(s+='<p style="color:#888">No headings or landmarks found on this page.</p>'),t.innerHTML=s,t.addEventListener("click",t=>{const n=t.target.closest(".ps-item");if(n){const t=n.dataset.type,r=parseInt(n.dataset.index||"0",10);let i;"heading"===t?i=e[r]?.el:"landmark"===t&&(i=a[r]?.el),i&&(i.scrollIntoView({behavior:"smooth",block:"center"}),i.focus({preventScroll:!0}))}t.target.closest(".ps-close")&&i()}),document.body.appendChild(t);const c=t.querySelector(".ps-item, .ps-close");c?.focus()}()},deactivate:i,getState:()=>({id:"page-structure",enabled:e})}}},Symbol.toStringTag,{value:"Module"})),Di={height:8,opacity:.3},Ui=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t=null,n=0,r={...Di};const i="accessify-reading-guide";function a(e){n=e.clientY,c()}function o(e){e.touches.length>0&&(n=e.touches[0].clientY,c())}function s(r){e&&t&&("ArrowUp"===r.key?(r.preventDefault(),n=Math.max(0,n-10),c()):"ArrowDown"===r.key&&(r.preventDefault(),n=Math.min(window.innerHeight,n+10),c()))}function c(){t&&(t.style.top=n-r.height/2+"px")}return{id:"reading-guide",name:()=>"Reading Guide",description:"Horizontal ruler that follows your cursor for easier reading",icon:"reading-guide",category:"cognitive",activate:function(){e=!0;const l=localStorage.getItem(i);if(l)try{const e=JSON.parse(l);r={height:Math.min(60,Math.max(2,e.height??Di.height)),opacity:Math.min(1,Math.max(.1,e.opacity??Di.opacity))}}catch{r={...Di}}t=function(){const e=document.createElement("div");return e.id="accessify-reading-guide",e.setAttribute("role","presentation"),e.setAttribute("aria-hidden","true"),Object.assign(e.style,{position:"fixed",left:"0",width:"100%",height:`${r.height}px`,backgroundColor:`rgba(255, 255, 0, ${r.opacity})`,pointerEvents:"none",zIndex:"2147483646",top:"50%",transition:"top 0.05s linear",boxShadow:"0 0 4px rgba(0,0,0,0.2)"}),e}(),document.documentElement.appendChild(t),n=window.innerHeight/2,c(),document.addEventListener("mousemove",a,{passive:!0}),document.addEventListener("touchmove",o,{passive:!0}),document.addEventListener("keydown",s)},deactivate:function(){e=!1,document.removeEventListener("mousemove",a),document.removeEventListener("touchmove",o),document.removeEventListener("keydown",s),t&&(t.remove(),t=null),localStorage.removeItem(i)},getState:()=>({id:"reading-guide",enabled:e,value:{...r}}),setState:e=>{r={height:Math.min(60,Math.max(2,e.height??r.height)),opacity:Math.min(1,Math.max(.1,e.opacity??r.opacity))},localStorage.setItem(i,JSON.stringify(r)),t&&(t.style.height=`${r.height}px`,t.style.backgroundColor=`rgba(255, 255, 0, ${r.opacity})`,c())}}}},Symbol.toStringTag,{value:"Module"})),Vi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t=null,n=null,r=120;function i(e){if(!t||!n)return;const i=e.clientY,a=r/2,o=Math.max(0,i-a),s=Math.max(0,window.innerHeight-i-a);t.style.height=o+"px",n.style.height=s+"px"}function a(e){if(t&&n&&("ArrowUp"===e.key||"ArrowDown"===e.key)){const e=document.activeElement;if(!e)return;const i=e.getBoundingClientRect(),a=i.top+i.height/2,o=r/2;t.style.height=Math.max(0,a-o)+"px",n.style.height=Math.max(0,window.innerHeight-a-o)+"px"}}return{id:"reading-mask",name:()=>"Reading Mask",description:"Focus window that dims surrounding content",icon:"reading-mask",category:"motor",activate:function(){e=!0,function(){t=document.createElement("div"),n=document.createElement("div");const e="\n position: fixed; left: 0; right: 0; z-index: 999990;\n background: rgba(0, 0, 0, 0.65); pointer-events: none;\n transition: top 80ms ease, bottom 80ms ease, height 80ms ease;\n ";t.setAttribute("style",e+"top: 0;"),t.setAttribute("aria-hidden","true"),t.id="accessify-mask-top",n.setAttribute("style",e+"bottom: 0;"),n.setAttribute("aria-hidden","true"),n.id="accessify-mask-bottom",document.body.appendChild(t),document.body.appendChild(n)}(),document.addEventListener("mousemove",i),document.addEventListener("keydown",a)},deactivate:function(){e=!1,document.removeEventListener("mousemove",i),document.removeEventListener("keydown",a),t?.remove(),n?.remove(),t=null,n=null},getState:()=>({id:"reading-mask",enabled:e,value:r}),setState:e=>{r=Math.min(400,Math.max(60,e))}}}},Symbol.toStringTag,{value:"Module"})),Ji=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e="off";const t="accessify-saturation",n="accessify-saturation-mode";function r(e){let n=document.getElementById(t);"off"!==e?(n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent=function(e){switch(e){case"low":return"html { filter: saturate(0.3) !important; }";case"grayscale":return"html { filter: grayscale(1) !important; }";case"high":return"html { filter: saturate(1.8) !important; }";default:return""}}(e)):n?.remove()}return{id:"saturation",name:()=>"Saturation",description:"Adjust color saturation or grayscale",icon:"saturation",category:"visual",activate:function(){const t=localStorage.getItem(n);e=t||"grayscale",r(e)},deactivate:function(){e="off",r("off"),localStorage.removeItem(n)},getState:()=>({id:"saturation",enabled:"off"!==e,value:e}),setState:t=>{e=t,r(t),localStorage.setItem(n,t)}}}},Symbol.toStringTag,{value:"Module"})),Yi={lineHeight:1.5,paragraphSpacing:2,letterSpacing:.12,wordSpacing:.16},Zi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t={...Yi};const n="accessify-spacing",r="accessify-spacing";function i(e){const t=document.documentElement;t.style.setProperty("--accessify-line-height",String(e.lineHeight)),t.style.setProperty("--accessify-paragraph-spacing",`${e.paragraphSpacing}em`),t.style.setProperty("--accessify-letter-spacing",`${e.letterSpacing}em`),t.style.setProperty("--accessify-word-spacing",`${e.wordSpacing}em`);let r=document.getElementById(n);r||(r=document.createElement("style"),r.id=n,document.head.appendChild(r)),r.textContent="\n /* accessify WCAG 1.4.12 text spacing adjustments */\n * {\n line-height: var(--accessify-line-height) !important;\n letter-spacing: var(--accessify-letter-spacing) !important;\n word-spacing: var(--accessify-word-spacing) !important;\n }\n p {\n margin-bottom: var(--accessify-paragraph-spacing) !important;\n }\n p + p {\n margin-top: var(--accessify-paragraph-spacing) !important;\n }\n "}function a(e){return{lineHeight:Math.min(2.5,Math.max(Yi.lineHeight,e.lineHeight??t.lineHeight)),paragraphSpacing:Math.min(4,Math.max(Yi.paragraphSpacing,e.paragraphSpacing??t.paragraphSpacing)),letterSpacing:Math.min(.24,Math.max(Yi.letterSpacing,e.letterSpacing??t.letterSpacing)),wordSpacing:Math.min(.32,Math.max(Yi.wordSpacing,e.wordSpacing??t.wordSpacing))}}return{id:"spacing",name:()=>"Text Spacing",description:"Adjust line height, letter spacing, word spacing and paragraph spacing (WCAG 1.4.12)",icon:"spacing",category:"visual",activate:function(){e=!0;const n=localStorage.getItem(r);if(n)try{t=a(JSON.parse(n))}catch{t={...Yi}}else t={...Yi};i(t)},deactivate:function(){e=!1,function(){const e=document.documentElement;e.style.removeProperty("--accessify-line-height"),e.style.removeProperty("--accessify-paragraph-spacing"),e.style.removeProperty("--accessify-letter-spacing"),e.style.removeProperty("--accessify-word-spacing");const t=document.getElementById(n);t?.remove()}(),localStorage.removeItem(r),t={...Yi}},getState:()=>({id:"spacing",enabled:e,value:{...t}}),setState:n=>{t=a(n),i(t),localStorage.setItem(r,JSON.stringify(t)),e=!0}}}},Symbol.toStringTag,{value:"Module"})),Xi=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e="off";const t="accessify-text-align",n="accessify-text-align-mode";function r(e){let n=document.getElementById(t);"off"!==e?(n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent=`\n body, body * {\n text-align: ${e} !important;\n }\n `):n?.remove()}return{id:"text-align",name:()=>"Text Align",description:"Change text alignment across the page",icon:"text-align",category:"visual",activate:function(){const t=localStorage.getItem(n);e=t||"left",r(e)},deactivate:function(){e="off",r("off"),localStorage.removeItem(n)},getState:()=>({id:"text-align",enabled:"off"!==e,value:e}),setState:t=>{e=t,r(t),localStorage.setItem(n,t)}}}},Symbol.toStringTag,{value:"Module"})),Qi=Object.freeze(Object.defineProperty({__proto__:null,default:function(e,t="de"){let n=!1,r="einfache",i=[],a=null,o=null;const s="accessify-text-simplify",c="data-accessify-simplified",l="data-accessify-original";function d(e){e.style.opacity="0.5",e.style.transition="opacity 0.3s ease"}function u(e){e.style.opacity="",e.style.transition=""}function f(e,n){o||(o=document.createElement("div"),o.setAttribute("role","status"),o.setAttribute("aria-live","polite"),Object.assign(o.style,{position:"fixed",bottom:"80px",right:"24px",zIndex:"2147483645",padding:"10px 18px",background:"#1a1a2e",color:"#4ea8de",borderRadius:"10px",boxShadow:"0 4px 20px rgba(0,0,0,0.3)",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"13px",fontWeight:"600",display:"flex",alignItems:"center",gap:"8px"}),document.body.appendChild(o));const r=Math.round(e/n*100),i=t.startsWith("de")?`Wird vereinfacht... ${e}/${n} (${r}%)`:`Simplifying... ${e}/${n} (${r}%)`;if(o.innerHTML=`<span style="display:inline-block;width:14px;height:14px;border:2px solid rgba(78,168,222,0.3);border-top-color:#4ea8de;border-radius:50%;animation:accessify-autospin 0.6s linear infinite"></span> ${i}`,!document.getElementById("accessify-autospin-style")){const e=document.createElement("style");e.id="accessify-autospin-style",e.textContent="@keyframes accessify-autospin { to { transform: rotate(360deg); } }",document.head.appendChild(e)}}function p(){o?.remove(),o=null,document.getElementById("accessify-autospin-style")?.remove()}return{id:"text-simplify",name:()=>t.startsWith("de")?"Text vereinfachen":"Simplify Text",description:t.startsWith("de")?"Text in Einfache Sprache umwandeln":"Simplify text for easier understanding",icon:"simplify-text",category:"ai",activate:function(){n||(n=!0,function(){const e=localStorage.getItem(s);if(e)try{const t=JSON.parse(e);"einfache"!==t.level&&"leichte"!==t.level||(r=t.level)}catch{}}(),async function(){if(!e)return f(0,1),n=t.startsWith("de")?"Kein API-Key konfiguriert":"No API key configured",void(o&&(o.innerHTML=`<span style="color:#ef4444">✕</span> ${n}`,o.style.color="#ef4444",setTimeout(()=>p(),5e3)));var n;const s=function(){const e=[],t=new Set;return document.querySelectorAll("p, li, td, th, blockquote, figcaption, .hero-subtitle, h1, h2, h3, h4, h5, h6").forEach(n=>{const r=n;if(r.closest("#accessify-root"))return;if(null===r.offsetParent&&"fixed"!==r.style.display)return;if((r.textContent?.trim()||"").length<20)return;if(t.has(r))return;let i=!1;for(const e of t)if(e.contains(r)){i=!0;break}i||(t.add(r),e.push(r))}),e}();if(0===s.length)return;a=new AbortController,i=[];for(const e of s)i.push({el:e,originalText:e.textContent||""}),e.setAttribute(l,e.innerHTML),d(e);f(0,s.length);let h=0,g=0;for(const i of s){if(a.signal.aborted)break;const n=i.textContent?.trim()||"";if(n.length<20)u(i),h++,f(h,s.length);else try{const o=await e.simplifyText(n,r,t);if(a?.signal.aborted)return;o&&o!==n&&(i.textContent=o,i.setAttribute(c,"true"),g++)}catch(m){if(m?.message?.includes("429")){await new Promise(e=>setTimeout(e,8e3));try{const o=await e.simplifyText(n,r,t);if(a?.signal.aborted)return;o&&o!==n&&(i.textContent=o,i.setAttribute(c,"true"),g++)}catch{}}else console.warn("[Accessify] Failed to simplify:",m)}finally{u(i),h++,a?.signal.aborted||f(h,s.length)}}a?.signal.aborted||function(e){if(o){const n=t.startsWith("de")?`${e} Textabschnitte vereinfacht`:`${e} text sections simplified`;o.innerHTML=`<span style="color:#22c55e">✓</span> ${n}`,o.style.color="#22c55e",setTimeout(()=>p(),3e3)}}(g)}())},deactivate:function(){n=!1,a?.abort(),a=null,function(){for(const{el:e}of i){const t=e.getAttribute(l);null!==t&&(e.innerHTML=t,e.removeAttribute(l),e.removeAttribute(c),u(e))}i=[]}(),p()},getState:()=>({id:"text-simplify",enabled:n,value:{level:r}}),setState:e=>{!e.level||"einfache"!==e.level&&"leichte"!==e.level||(r=e.level,localStorage.setItem(s,JSON.stringify({level:r})))}}}},Symbol.toStringTag,{value:"Module"})),ea=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=100,t="";const n="accessify-text-size",r="accessify-text-size";function i(e){let r=document.getElementById(n);if(100===e)return r?.remove(),void(t?document.documentElement.style.fontSize=t:document.documentElement.style.removeProperty("font-size"));r||(r=document.createElement("style"),r.id=n,document.head.appendChild(r)),document.documentElement.style.fontSize=e/100*100+"%",r.textContent=`\n /* accessify text-size: ${e}% */\n body { font-size: 1rem !important; }\n `}function a(e){return Math.min(200,Math.max(100,10*Math.round(e/10)))}return{id:"text-size",name:()=>"Text Size",description:"Adjust text size from 100% to 200%",icon:"text-size",category:"visual",activate:function(){t=document.documentElement.style.fontSize||"";const n=localStorage.getItem(r);e=n?a(parseInt(n,10)):150,i(e)},deactivate:function(){e=100,i(100),localStorage.removeItem(r)},getState:()=>({id:"text-size",enabled:100!==e,value:e}),setState:t=>{e=a(t),i(e),localStorage.setItem(r,String(e))}}}},Symbol.toStringTag,{value:"Module"})),ta={speed:1},na=Object.freeze(Object.defineProperty({__proto__:null,default:function(){let e=!1,t={...ta},n=null,r=null,i=!1,a=!1,o=!0,s=[],c=0,l=null,d="en";const u="accessify-tts",f="accessify-tts-controls",p="accessify-tts-styles",h="accessify-tts-highlight";function g(){l=function(e){const t=speechSynthesis.getVoices();if(0===t.length)return null;const n=e.split("-")[0];if("de"===n){const e=t.find(e=>e.lang.toLowerCase().startsWith("de-de")&&!1===e.localService);if(e)return e;const n=t.find(e=>e.lang.toLowerCase().startsWith("de-de"));if(n)return n;const r=t.find(e=>e.lang.toLowerCase().startsWith("de"));if(r)return r}return t.find(t=>t.lang.toLowerCase()===e)||t.find(e=>e.lang.toLowerCase().startsWith(n))||t[0]||null}(d)}function m(){speechSynthesis.cancel(),i=!1,a=!1,s=[],c=0,b(),w()}function v(e,n){if(m(),!e.trim())return;var o;n&&(o=n,b(),o.classList.add(h),r=o);const u=function(e){const t=e.match(/[^.!?]*[.!?]+[\s]?|[^.!?]+$/g);if(!t)return[e];const n=[];let r="";for(const i of t){const e=i.trim();e&&(r+=(r?" ":"")+e,(r.length>80||/[.!?]$/.test(r))&&(n.push(r),r=""))}return r.trim()&&n.push(r.trim()),n.length>0?n:[e]}(e);s=u.map(e=>{const n=new SpeechSynthesisUtterance(e);return n.rate=t.speed,n.lang=d,l&&(n.voice=l),n}),c=0,i=!0,a=!1,w(),y()}function y(){if(c>=s.length)return i=!1,a=!1,b(),void w();const e=s[c];e.onend=()=>{c++,c<s.length&&i?setTimeout(()=>y(),50):(i=!1,a=!1,b(),w())},e.onerror=e=>{"interrupted"!==e.error&&"canceled"!==e.error&&console.warn("[Accessify TTS] Speech error:",e.error),i=!1,a=!1,b(),w()},speechSynthesis.speak(e)}function b(){r&&(r.classList.remove(h),r=null),document.querySelectorAll(`.${h}`).forEach(e=>e.classList.remove(h))}function x(t){if(!e||!o)return;const r=t.target;if(!r)return;if(n?.contains(r))return;t.preventDefault(),t.stopPropagation();const i=function(e){if(_(e).trim().length>0)return e;let t=e;for(;t&&t!==document.body;){if(_(t).trim().length>0)return t;t=t.parentElement}return null}(r);if(!i)return;const a=_(i);a.trim()&&v(a,i)}function _(e){return(e.innerText||e.textContent||"").trim()}function w(){if(!n)return;const e=n.querySelector(".accessify-tts-play"),t=n.querySelector(".accessify-tts-hint");e&&(i&&!a?(e.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><rect x="5" y="3" width="4" height="18"/><rect x="15" y="3" width="4" height="18"/></svg>',e.setAttribute("aria-label","Pause"),e.title="Pause"):i&&a?(e.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><polygon points="6,3 20,12 6,21"/></svg>',e.setAttribute("aria-label","Resume"),e.title="Resume"):(e.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><polygon points="6,3 20,12 6,21"/></svg>',e.setAttribute("aria-label","Play / Pause"),e.title="Play / Pause")),t&&(t.textContent=i&&!a?"Speaking...":a?"Paused":"Click any text to read it aloud")}function k(){localStorage.setItem(u,JSON.stringify({speed:t.speed}))}return{id:"tts",name:()=>"Text-to-Speech",description:"Click any text to hear it read aloud with adjustable speed",icon:"tts",category:"cognitive",activate:function(){e||(e=!0,function(){const e=localStorage.getItem(u);if(e)try{const n=JSON.parse(e);t.speed=Math.min(2,Math.max(.5,n.speed??ta.speed))}catch{t={...ta}}}(),d=function(){const e=document.documentElement.lang;if(e)return e.toLowerCase();const t=document.querySelector('meta[http-equiv="content-language"]');return t?.content?t.content.toLowerCase():"en"}(),g(),l||void 0===speechSynthesis.onvoiceschanged||(speechSynthesis.onvoiceschanged=()=>{g()}),function(){let e=document.getElementById(p);e||(e=document.createElement("style"),e.id=p,document.head.appendChild(e)),e.textContent=`\n /* accessify TTS styles */\n .${h} {\n background-color: rgba(78, 168, 222, 0.15) !important;\n outline: 2px solid rgba(78, 168, 222, 0.5) !important;\n outline-offset: 2px !important;\n border-radius: 3px !important;\n transition: background-color 0.2s ease, outline-color 0.2s ease !important;\n }\n\n #${f} .accessify-tts-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n margin: 0;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 6px;\n background: rgba(255,255,255,0.08);\n color: #f0f0f0;\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease;\n line-height: 1;\n }\n\n #${f} .accessify-tts-btn:hover {\n background: rgba(255,255,255,0.18);\n border-color: rgba(255,255,255,0.3);\n }\n\n #${f} .accessify-tts-btn:focus-visible {\n outline: 2px solid #4ea8de;\n outline-offset: 1px;\n }\n\n #${f} .accessify-tts-btn:active {\n background: rgba(255,255,255,0.25);\n }\n `}(),n=function(){const e=document.createElement("div");e.id=f,e.setAttribute("role","toolbar"),e.setAttribute("aria-label","Text-to-Speech controls"),Object.assign(e.style,{position:"fixed",top:"0",left:"50%",transform:"translateX(-50%)",zIndex:"2147483646",display:"flex",alignItems:"center",gap:"6px",padding:"6px 14px",background:"#1a1a2e",color:"#f0f0f0",borderRadius:"0 0 10px 10px",boxShadow:"0 4px 16px rgba(0,0,0,0.3)",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"13px",lineHeight:"1",userSelect:"none",transition:"opacity 0.2s ease"});const n=document.createElement("button");n.className="accessify-tts-btn accessify-tts-play",n.setAttribute("aria-label","Play / Pause"),n.title="Play / Pause",n.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><polygon points="6,3 20,12 6,21"/></svg>',n.addEventListener("click",()=>{i&&i&&(a?(speechSynthesis.resume(),a=!1):(speechSynthesis.pause(),a=!0),w())});const r=document.createElement("button");r.className="accessify-tts-btn accessify-tts-stop",r.setAttribute("aria-label","Stop"),r.title="Stop",r.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"/></svg>',r.addEventListener("click",()=>{m()});const o=document.createElement("div");Object.assign(o.style,{display:"flex",alignItems:"center",gap:"4px",marginLeft:"4px"});const c=document.createElement("label");c.textContent="Speed",c.setAttribute("for","accessify-tts-speed"),Object.assign(c.style,{fontSize:"11px",opacity:"0.8",whiteSpace:"nowrap"});const l=document.createElement("input");l.type="range",l.id="accessify-tts-speed",l.min="0.5",l.max="2",l.step="0.1",l.value=String(t.speed),l.setAttribute("aria-label","Speech speed"),Object.assign(l.style,{width:"70px",accentColor:"#4ea8de",cursor:"pointer"});const d=document.createElement("span");d.className="accessify-tts-speed-val",d.textContent=`${t.speed.toFixed(1)}x`,Object.assign(d.style,{fontSize:"11px",minWidth:"30px",textAlign:"center",opacity:"0.8"}),l.addEventListener("input",()=>{const e=parseFloat(l.value);t.speed=e,d.textContent=`${e.toFixed(1)}x`,k();for(const t of s)t.rate=e}),o.appendChild(c),o.appendChild(l),o.appendChild(d);const u=document.createElement("div");Object.assign(u.style,{width:"1px",height:"18px",background:"rgba(255,255,255,0.2)",margin:"0 4px"});const p=document.createElement("span");p.className="accessify-tts-hint",p.textContent="Click any text to read it aloud",Object.assign(p.style,{fontSize:"11px",opacity:"0.6",whiteSpace:"nowrap"});const h=document.createElement("span");return Object.assign(h.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:"0"}),h.textContent="For full screen reader support, use NVDA, JAWS, or VoiceOver",e.appendChild(n),e.appendChild(r),e.appendChild(u),e.appendChild(o),e.appendChild(u.cloneNode(!0)),e.appendChild(p),e.appendChild(h),e}(),document.documentElement.appendChild(n),o=!0,document.addEventListener("click",x,!0))},deactivate:function(){e=!1,m(),document.removeEventListener("click",x,!0),o=!1,n&&(n.remove(),n=null),b(),function(){const e=document.getElementById(p);e?.remove()}(),void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=null)},getState:()=>({id:"tts",enabled:e,value:{speed:t.speed}}),setState:e=>{if(void 0!==e.speed){t.speed=Math.min(2,Math.max(.5,e.speed)),k();const r=document.getElementById("accessify-tts-speed");r&&(r.value=String(t.speed));const i=n?.querySelector(".accessify-tts-speed-val");i&&(i.textContent=`${t.speed.toFixed(1)}x`)}}}}},Symbol.toStringTag,{value:"Module"}))}();
|
|
2
|
+
//# sourceMappingURL=widget.js.map
|