@seliseblocks/mailcraft 0.2.1 → 0.2.2
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/DOCS.md +3 -0
- package/dist/mailcraft-editor.bundle.js +59 -48
- package/dist/mailcraft-editor.bundle.js.map +3 -3
- package/package.json +1 -1
- package/src/core/i18n/loaders.js +78 -0
- package/src/core/i18n/tables.js +5 -4
- package/src/core/import-html.js +9 -0
- package/src/index.js +1 -0
- package/src/mailcraft-editor.js +46 -17
- package/src/render/style.js +503 -488
- package/types/index.d.ts +9 -0
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
var Ve=Object.defineProperty;var Ue=(re,
|
|
1
|
+
var Ve=Object.defineProperty;var Ue=(re,Le,Me)=>Le in re?Ve(re,Le,{enumerable:!0,configurable:!0,writable:!0,value:Me}):re[Le]=Me;var Ce=(re,Le,Me)=>Ue(re,typeof Le!="symbol"?Le+"":Le,Me);(function(){var re={},Le={};function Me(se){if(Le[se])return Le[se].exports;var K={exports:{}};return Le[se]=K,re[se](K,K.exports,Me),K.exports}re["core/accent.js"]=function(se,K,z){const V={r:255,g:255,b:255},Z={r:17,g:24,b:39},ae={r:255,g:255,b:255},N={r:11,g:17,b:32},k=4.5,O=A=>Math.max(0,Math.min(255,Math.round(A)));function n(A){const D=A/255;return D<=.04045?D/12.92:Math.pow((D+.055)/1.055,2.4)}function I(A){return .2126*n(A.r)+.7152*n(A.g)+.0722*n(A.b)}function T(A,D){const e=I(A),u=I(D);return(Math.max(e,u)+.05)/(Math.min(e,u)+.05)}function d(A,D,e){return{r:O(A.r+(D.r-A.r)*e),g:O(A.g+(D.g-A.g)*e),b:O(A.b+(D.b-A.b)*e)}}const p=A=>"#"+[A.r,A.g,A.b].map(D=>O(D).toString(16).padStart(2,"0")).join(""),t=(A,D)=>`rgba(${O(A.r)},${O(A.g)},${O(A.b)},${D})`;function g(A,D,e){const u=(A%360+360)%360/60,y=(1-Math.abs(2*e-1))*D,f=y*(1-Math.abs(u%2-1)),x=e-y/2,[M,P,$]=u<1?[y,f,0]:u<2?[f,y,0]:u<3?[0,y,f]:u<4?[0,f,y]:u<5?[f,0,y]:[y,0,f];return{r:O((M+x)*255),g:O((P+x)*255),b:O(($+x)*255)}}function v(A){const D=String(A??"").trim().toLowerCase();if(!D)return null;const e=/^#([0-9a-f]{3,8})$/.exec(D);if(e){const M=e[1];return M.length===3||M.length===4?{r:parseInt(M[0]+M[0],16),g:parseInt(M[1]+M[1],16),b:parseInt(M[2]+M[2],16)}:M.length===6||M.length===8?{r:parseInt(M.slice(0,2),16),g:parseInt(M.slice(2,4),16),b:parseInt(M.slice(4,6),16)}:null}const u=/^(rgba?|hsla?)\(([^)]*)\)$/.exec(D);if(!u)return null;const y=u[2].replace(/\//g," ").split(/[\s,]+/).filter(Boolean);if(y.length<3)return null;const f=M=>parseFloat(M);let x;if(u[1].startsWith("rgb")){const M=P=>P.endsWith("%")?f(P)/100*255:f(P);x={r:O(M(y[0])),g:O(M(y[1])),b:O(M(y[2]))}}else{const M=$=>$.endsWith("%")?f($)/100:f($),P=$=>Math.max(0,Math.min(1,M($)));x=g(f(y[0]),P(y[1]),P(y[2]))}return Number.isNaN(x.r+x.g+x.b)?null:x}function C(A,D){const e=I(D)>.5?N:ae;let u=A;for(let y=1;y<=20&&T(u,D)<k;y+=1)u=d(A,e,y/20);return u}const S=A=>T(A,ae)>=T(A,N)?ae:N;function j(A,D){const e=D==="dark",u=C(A,e?Z:V),y=e?d(u,ae,.22):d(u,N,.2),f=e?C(A,V):u;return{"--ed-accent":p(u),"--ed-accent-strong":p(y),"--ed-accent-ink":p(S(u)),"--ed-accent-tint":p(d(u,ae,.34)),"--ed-soft":t(u,e?.13:.09),"--ed-glow":t(u,.28),"--ed-select":t(u,e?.3:.22),"--ed-accent-sheet":p(f),"--ed-accent-sheet-strong":p(d(f,N,.22)),"--ed-accent-sheet-ink":p(S(f)),"--ed-accent-sheet-line":t(f,.5)}}const G=Object.keys(j({r:0,g:0,b:0},"light"));Object.assign(K,{contrast:T,toHex:p,parseColor:v,accentTokens:j,ACCENT_VARS:G})},re["core/assets.js"]=function(se,K,z){Object.assign(K,{KB:Z=>Z>1048576?(Z/1048576).toFixed(1)+" MB":Math.round(Z/1024)+" KB"})},re["core/binder.js"]=function(se,K,z){function V(N,k,O){return{head:n=>({kind:"head",label:n}),text:(n,I,T,d)=>({kind:"text",label:n,value:N()[I]??"",placeholder:T||"",suggestions:Array.isArray(d)&&d.length?d:null,onChange:p=>k(I,p)}),area:(n,I,T)=>({kind:"area",label:n,value:N()[I]??"",placeholder:T||"",onChange:d=>k(I,d)}),num:(n,I,T,d)=>({kind:"num",label:n,value:N()[I]??0,min:T,max:d,onChange:p=>{const t=parseFloat(p);Number.isFinite(t)&&k(I,t)},onBlur:p=>{if(O&&O.rendering)return;const t=parseFloat(p);k(I,Math.min(d,Math.max(T,Number.isFinite(t)?t:N()[I]??T)))}}),color:(n,I,T)=>{const d=N()[I]??"",p=String(d).trim(),t=/^(transparent|none)$/i.test(p)||/^rgba\([^)]*,\s*0*(?:\.0+)?\s*\)$/i.test(p);return{kind:"color",label:n,value:d,swatch:/^#/.test(d||"")?d:"#ffffff",transparent:t,clearable:!!(T&&T.transparent),onChange:g=>k(I,g),onToggleTransparent:()=>k(I,t?T&&T.solid||"#ffffff":"transparent")}},range:(n,I,T,d,p,t)=>{const g=N()[I]??T,v=p||1,C=(String(v).split(".")[1]||"").length,S=A=>Math.min(d,Math.max(T,A)),j=A=>Number(A.toFixed(C)),G=A=>k(I,j(S(A)));return{kind:"range",label:n,value:g,min:T,max:d,step:v,unit:t||"",display:g+(t||""),onDec:()=>G(g-v),onInc:()=>G(g+v),onInput:A=>{const D=parseFloat(A);Number.isNaN(D)||k(I,D)},onBlur:A=>{if(O&&O.rendering)return;const D=parseFloat(A);G(Number.isNaN(D)?g:D)}}},slider:(n,I,T,d,p,t)=>({kind:"slider",label:n,value:N()[I]??T,min:T,max:d,step:p||1,unit:t||"",onCommit:g=>{const v=parseFloat(g);Number.isFinite(v)&&k(I,Math.min(d,Math.max(T,v)))}}),sel:(n,I,T)=>{const d=T.map(t=>typeof t=="string"?{value:t,label:t}:t),p=N()[I];return{kind:"select",label:n,value:p??d[0]?.value??"",options:d,onChange:t=>k(I,t)}},seg:(n,I,T)=>({kind:"seg",label:n,options:T.map(d=>{const p=typeof d=="string"?d:d.value,t=typeof d=="string"?d:d.label,g=N()[I]===p;return{label:t,bg:g?"var(--ed-accent)":"transparent",fg:g?"var(--ed-accent-ink)":"var(--ed-muted)",onClick:()=>k(I,p)}})}),tog:(n,I,T)=>{const d=N()[I],p=d===void 0?!!T:!!d;return{kind:"toggle",label:n,on:p,onChange:()=>k(I,!p)}},btn:(n,I)=>({kind:"btn",label:n,onClick:I})}}function Z(N,k,O){return{kind:"rangeGroup",label:N,items:k,toggle:O||null}}function ae(N){return N.filter(Boolean).map((k,O)=>{const n=Object.assign({},k,{key:O,isHead:k.kind==="head",isArea:k.kind==="area",isBtn:k.kind==="btn",isSeg:k.kind==="seg",isRange:k.kind==="range",isToggle:k.kind==="toggle",isSocial:k.kind==="social",isTableGrid:k.kind==="tablegrid",isRichLinks:k.kind==="richLinks",isRangeGroup:k.kind==="rangeGroup",isSlider:k.kind==="slider",isRow:["text","num","color","select"].indexOf(k.kind)>-1,isField:["text","num","color","select"].indexOf(k.kind)>-1,isText:k.kind==="text",isNum:k.kind==="num",isColor:k.kind==="color",isSelect:k.kind==="select"});return n.isRangeGroup&&(n.items=k.items.map((I,T)=>Object.assign({},I,{key:O+"g"+T,isRange:!0}))),n})}Object.assign(K,{binder:V,group:Z,decorate:ae})},re["core/blocks.js"]=function(se,K,z){const{uid:V}=z("core/ids.js"),{PH:Z}=z("core/placeholder.js"),{THEME:ae}=z("core/theme.js"),N=[{type:"text",code:"TXT",label:"Text",hint:"Rich text — edit inline",make:()=>({html:"Hi {{ first_name }} — we cut three things from the fall line and kept the two that mattered. Here they are.",size:16,lh:1.6,color:"",align:"left",weight:"400",py:10,px:0})},{type:"image",code:"IMG",label:"Image",hint:"Image from the library",make:()=>({src:Z("hero image 600 × 320",600,320),alt:"Hero image",width:100,align:"center",href:"",radius:10,py:0,px:0})},{type:"button",code:"BTN",label:"Button",hint:"Call to action",make:()=>({label:"Shop the drop",href:"https://example.com",bg:"#0065b3",color:"#ffffff",radius:8,py:13,px:26,align:"left",size:15,full:!1,borderW:0,borderStyle:"solid",borderColor:""})},{type:"divider",code:"DIV",label:"Divider",hint:"Horizontal rule",make:()=>({thickness:1,lineStyle:"solid",color:"#e2e8f0",width:100,py:14})},{type:"spacer",code:"SPC",label:"Spacer",hint:"Vertical space",make:()=>({height:32})},{type:"social",code:"SOC",label:"Social",hint:"Social icon row",make:()=>({items:`Instagram|https://instagram.com
|
|
2
2
|
X|https://x.com
|
|
3
3
|
LinkedIn|https://linkedin.com
|
|
4
|
-
YouTube|https://youtube.com`,align:"center",size:20,gap:12,color:"#0065b3",palette:"custom",shape:"outline",showLabel:!1})},{type:"video",code:"VID",label:"Video",hint:"Thumbnail + play badge",make:()=>({src:
|
|
4
|
+
YouTube|https://youtube.com`,align:"center",size:20,gap:12,color:"#0065b3",palette:"custom",shape:"outline",showLabel:!1})},{type:"video",code:"VID",label:"Video",hint:"Thumbnail + play badge",make:()=>({src:Z("video thumbnail 600 × 330",600,330),href:"https://example.com/watch",caption:"Two minutes inside the workshop",badge:"#172033"})},{type:"html",code:"HTM",label:"HTML",hint:"Raw HTML block",make:()=>({code:'<p style="font:13px/1.6 ui-monospace,monospace;margin:0"><!-- raw HTML passes through untouched --></p>'})},{type:"countdown",code:"CDN",label:"Countdown",hint:"Live countdown",make:()=>({target:new Date(Date.now()+2.4*864e5).toISOString().slice(0,16),label:"Subscriber pricing ends in",color:"#172033"})},{type:"menu",code:"NAV",label:"Menu",hint:"Navigation row",make:()=>({items:`New in|https://example.com/new
|
|
5
5
|
Outerwear|https://example.com/outerwear
|
|
6
|
-
Archive|https://example.com/archive`,align:"center",size:12,gap:20,color:"#172033"})}];
|
|
6
|
+
Archive|https://example.com/archive`,align:"center",size:12,gap:20,color:"#172033"})}];N.push({type:"heading",code:"HED",label:"Heading",hint:"Display heading",make:()=>({text:"What we kept",level:"h2",size:34,lh:1.12,align:"left",color:"",weight:"600",font:"body",py:8,px:0})},{type:"list",code:"LST",label:"List",hint:"Bulleted or numbered list",make:()=>({items:`Import your list
|
|
7
7
|
Pick a template
|
|
8
8
|
Send the first one`,ordered:!1,size:15,lh:1.7,color:"",gap:4,py:8,px:0})},{type:"table",code:"TBL",label:"Table",hint:"Data table — edit cells inline",make:()=>({data:`Plan|Price|Seats
|
|
9
9
|
Starter|$19|3
|
|
10
10
|
Team|$49|10
|
|
11
11
|
Studio|$99|25`,header:!0,borders:!0,borderWidth:1,borderStyle:"solid",striped:!0,pad:10,size:14,headBg:"#f8fafc",lineColor:"#e2e8f0",align:"left",width:100})},{type:"embed",code:"EMB",label:"Embed",hint:"Iframe embed — map, form, player",make:()=>({src:"https://example.com/embed",height:320,label:"Embedded content",py:8})},{type:"css",code:"CSS",label:"Raw CSS",hint:"Inject a style block",make:()=>({code:'.mc-note { font: 13px/1.6 "Helvetica Neue", Helvetica, Arial, sans-serif; color: #0065b3; letter-spacing: 0.04em; }',note:"Styles apply to raw HTML blocks below."})},{type:"codeblock",code:"PRE",label:"Code",hint:"Preformatted code sample",make:()=>({code:`curl -X POST https://api.example.com/v1/sends \\
|
|
12
12
|
-H "Authorization: Bearer $KEY" \\
|
|
13
|
-
-d campaign=mc-4471`,bg:"#172033",color:"#e8e9ea",size:12.5,pad:14})}),
|
|
14
|
-
`))),N=[],z=/([^{}]+)\{([^{}]*)\}/g;let d,p=0;for(;d=z.exec(b);){const g=[];d[2].split(";").forEach(v=>{const H=v.indexOf(":");if(H<0)return;const S=v.slice(0,H).trim().toLowerCase();let C=v.slice(H+1).trim();if(!S||!C||S.indexOf("--")===0||S.indexOf("mso-")===0)return;const $=/!important\s*$/i.test(C);$&&(C=C.replace(/!important\s*$/i,"").trim()),C&&g.push({prop:S,value:C,important:$})}),g.length&&d[1].split(",").forEach(v=>{const H=v.trim();!H||H==="*"||H.indexOf(":")>-1||N.push({sel:H,decls:g,spec:ie(H),order:p++})})}if(!N.length)return;N.sort((g,v)=>g.spec-v.spec||g.order-v.order);const a=new Map;N.forEach(g=>{let v;try{v=k.querySelectorAll(g.sel)}catch{return}v.forEach(H=>{if(H!==k.body&&!k.body.contains(H))return;let S=a.get(H);S||(S=new Map,a.set(H,S)),g.decls.forEach(C=>{const $=S.get(C.prop);$&&$.important&&!C.important||S.set(C.prop,C)})})}),a.forEach((g,v)=>{v.style&&g.forEach((H,S)=>{if(!(!H.important&&v.style.getPropertyValue(S)))try{v.style.setProperty(S,H.value)}catch{}})})}Object.assign(V,{inlineStylesheets:K})},re["core/editor-core.js"]=function(ne,V,A){const{uid:W}=A("core/ids.js"),{mk:q,blk:ie,mkRow:K,GROUPS:k,LAYOUTS:O,migrateDoc:b,normalizeDoc:N,blankDoc:z}=A("core/blocks.js"),{binder:d,decorate:p,group:a}=A("core/binder.js"),{ALL_FOLDER_ID:g,normalizeAsset:v,resolveLimits:H,providerProblems:S}=A("core/storage.js"),{validateFiles:C,limitsProblem:$}=A("core/storage-limits.js"),{migrateTokens:E,cleanHtml:D,escHtml:e}=A("core/sanitize.js"),{buildHtml:m}=A("core/export.js"),{htmlToDoc:y}=A("core/import-html.js"),{boxCss:f}=A("core/layout-style.js"),{vars:w,TOKEN:L,INSERT_KEYS:F}=A("core/variables.js"),{createTranslator:Y}=A("core/i18n/index.js"),Q=P=>JSON.parse(JSON.stringify(P)),R="mailcraft.v3",_=R+".tab.",ae="mailcraft.tab",l=10080*60*1e3,ce=3,ee=/^data:image\/svg\+xml;utf8,.*%3Cpattern%20id%3D%22s%22/,me=P=>Array.isArray(P)?P.filter(o=>!ee.test(String(o&&o.url||""))):[],pe=[{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"},{value:"double",label:"Double"}];function he(P,o,r){if(o.nodeType!==Node.TEXT_NODE){let T=0;const G=document.createTreeWalker(P,NodeFilter.SHOW_TEXT);let I;const oe=o.childNodes[r];if(!oe){for(;G.nextNode();)T+=G.currentNode.nodeValue.length;return T}for(;I=G.nextNode();){if(I===oe||oe.contains(I))return T;T+=I.nodeValue.length}return T}let s=0;const c=document.createTreeWalker(P,NodeFilter.SHOW_TEXT);let i;for(;i=c.nextNode();){if(i===o)return s+r;s+=i.nodeValue.length}return s}function de(P){const o=y(P);let r=o.rows;if(!r.length){const s=K([100],[q("html")]);s.props.py=0,s.props.px=0;let c=P;try{c=new DOMParser().parseFromString(String(P||""),"text/html").body.innerHTML||P}catch{}s.cols[0].blocks[0].props.code=String(c||"").trim(),r=[s]}return{rows:r,theme:o.theme||{}}}function t(P){const o=z(),{rows:r,theme:s}=de(P);return o.rows=r,Object.assign(o.theme,s),o}const h=[{group:"Draft a new email",items:["Full email draft","Welcome or onboarding","Product announcement","Promotion or sale","Event or webinar invite","Newsletter intro","Abandoned cart reminder","Back in stock alert","Re-engagement nudge","Referral or reward invite","Feedback or review request","Thank you or post-purchase","Transactional notice"]},{group:"Rework existing copy",items:["Headline options","Shorten existing copy","Rewrite for clarity"]}],x=["Confident, plain","Warm and personal","Friendly and casual","Direct and minimal","Playful","Enthusiastic and bold","Urgent and time-sensitive","Premium and understated","Reassuring and calm","Apologetic and accountable","Formal","Technical and precise"],M=h.flatMap(P=>P.items);class j{constructor({variables:o,aiProvider:r,iconProvider:s,messages:c,storageProvider:i,storageLimits:T}={}){Te(this,"openLink",()=>{const o=this.anchorAt();this.rteActive=!0,this.setState({linkDraft:{href:o?o.getAttribute("href")||"":"https://",blank:o?o.target==="_blank":!0,editing:!!o}})});Te(this,"applyLink",o=>{const r=this.state.linkDraft;if(!r)return;this.exec("createLink",r.href);const s=this.editEl;s&&s.querySelectorAll("a").forEach(c=>{c.getAttribute("href")===r.href&&(r.blank?(c.setAttribute("target","_blank"),c.setAttribute("rel","noopener")):(c.removeAttribute("target"),c.removeAttribute("rel")))}),this.syncEdit(o),this.setState({linkDraft:null})});Te(this,"removeLink",o=>{this.exec("unlink"),this.syncEdit(o),this.setState({linkDraft:null})});Te(this,"canvasDragOver",o=>{if(!this.drag)return;o.preventDefault();const s=this.indexFromPoint(o.currentTarget,o.clientY);this.state.rowDrop!==s&&this.setState({rowDrop:s,drop:null})});Te(this,"canvasDrop",o=>{const r=this.drag;if(!r)return;o.preventDefault();const s=this.indexFromPoint(o.currentTarget,o.clientY);r.kind==="row"?this.insertRow(r.spans,s,r.html):r.kind==="move-row"?this.moveRow(r.id,s):r.kind==="block"?this.insertBlock(r.type,null,0,s):r.kind==="move-block"?this.moveBlockToNewRow(r.id,s):r.kind==="group"?this.insertGroup(r.id,null,0,s):r.kind==="asset"&&this.dropAsset(r.assetId,null,0,s),this.drag=null});Te(this,"openExport",()=>{this.setState({exportOpen:!0,exportCode:this.buildHtml(),copied:!1,libraryOpen:!1,aiOpen:!1,codeOpen:!1})});Te(this,"copyExport",()=>{navigator.clipboard?navigator.clipboard.writeText(this.state.exportCode).then(()=>this.setState({copied:!0}),()=>this.setState({copied:!0})):this.setState({copied:!0}),this.flash(this.t("toast.htmlCopied"))});Te(this,"downloadExport",()=>{const o=new Blob([this.state.exportCode],{type:"text/html"}),r=document.createElement("a");r.href=URL.createObjectURL(o),r.download="email.html",r.click(),setTimeout(()=>URL.revokeObjectURL(r.href),1500)});Te(this,"openCode",()=>{const o=this.buildHtml();this.setState({codeOpen:!0,codeSrc:o,codeLive:o,codeDirty:!1,libraryOpen:!1,exportOpen:!1,aiOpen:!1})});Te(this,"setCodeSrc",o=>{this.state.codeSrc=o,this.state.codeDirty=!0,this.onCodeSourceChange&&this.onCodeSourceChange(),clearTimeout(this.codeTimer),this.codeTimer=setTimeout(()=>this.setState({codeLive:this.state.codeSrc}),350)});Te(this,"applyCode",()=>{try{const o=this.importHtml(this.state.codeSrc);this.setState({codeOpen:!1,codeDirty:!1,sel:null}),this.flash(o===1?this.t("toast.sourceAppliedOne"):this.t("toast.sourceAppliedMany",{rows:o}))}catch{this.flash(this.t("toast.parseError"))}});Te(this,"runAi",async()=>{const{aiGoal:o,aiTone:r,aiBrief:s}=this.state;this.setState({aiBusy:!0,aiResults:[]});const c="You write marketing email copy. Goal: "+o+". Tone: "+r+". Brief: "+s+'. Return ONLY JSON: {"headline":"...","body":"...","cta":"..."} — body max 55 words, plain sentences, no emoji, may use {{ first_name }}.';let i=null;try{if(this.aiProvider){const G=await this.aiProvider(c),I=String(G).match(/\{[\s\S]*\}/);I&&(i=JSON.parse(I[0]))}}catch{i=null}if(!i){const G=(s||"the new drop").replace(/\.$/,"");i={headline:G.split(/[,.]/)[0].slice(0,58),body:"Hi {{ first_name }} — "+G+". We kept it short: one link, one decision, no pressure.",cta:"See it"}}const T=(G,I,oe)=>{const se=q("text");se.props.html=G,I&&(se.props.size=I),this.commit(ke=>{ke.rows.push(K([100],[se]))}),this.setState({aiOpen:!1,sel:{type:"block",id:se.id},tab:"design"}),this.flash(oe)};this.setState({aiBusy:!1,aiResults:[{kind:this.t("ai.kindHeadline"),text:i.headline,action:this.t("ai.actionInsertHeading"),onUse:()=>T('<strong style="font-size:27px;line-height:1.15;display:block">'+i.headline+"</strong>",16,this.t("toast.headingAdded"))},{kind:this.t("ai.kindBody"),text:i.body,action:this.t("ai.actionInsertText"),onUse:()=>T(i.body,16,this.t("toast.textBlockAdded"))},{kind:this.t("ai.kindButton"),text:i.cta,action:this.t("ai.actionInsertButton"),onUse:()=>{const G=q("button");G.props.label=i.cta,this.commit(I=>{I.rows.push(K([100],[G]))}),this.setState({aiOpen:!1,sel:{type:"block",id:G.id},tab:"design"}),this.flash(this.t("toast.buttonAdded"))}}]})});this.variablesRaw=o??null,this.aiProvider=r??null,this.iconProvider=s??null,this.storageProvider=i??null,this.storageLimits=T??null,this.messages=c??null,this.t=Y(this.messages),this.listeners=new Set,this.drag=null,this.editEl=null,this.savedRange=null,this.rteActive=!1,this.fileEl=null,this.docSetByHost=!1,this.mounted=!1,this.state={doc:z(),sel:null,hover:null,tab:"design",chrome:"light",device:"desktop",mode:"rows",zoom:1,advancedOpen:!1,assets:[],assetFolder:g,assetQuery:"",libraryOpen:!1,assetTarget:null,folders:null,assetCursor:null,assetsLoading:!1,assetsError:null,assetsLoaded:!1,uploading:0,exportOpen:!1,exportCode:"",copied:!1,aiOpen:!1,aiGoal:M[0],aiTone:x[0],aiBrief:"",aiBusy:!1,aiResults:[],previewOpen:!1,toast:null,drop:null,rowDrop:null,editing:null,linkDraft:null,codeOpen:!1,codeSrc:"",codeLive:"",codeDirty:!1,codeDevice:"desktop",history:[],future:[],now:Date.now(),savedStatus:"idle",savedAt:null,libHot:!1}}subscribe(o){return this.listeners.add(o),()=>this.listeners.delete(o)}getSelection(){return this.exportRoot&&typeof this.exportRoot.getSelection=="function"?this.exportRoot.getSelection():window.getSelection()}emit(){if(this._emitScheduled)return;this._emitScheduled=!0;const o=typeof requestAnimationFrame=="function"?requestAnimationFrame:r=>setTimeout(r,16);this._emitHandle=o(()=>{this._emitScheduled=!1,this._emitHandle=null;for(const r of this.listeners)r()})}setState(o,r){Object.assign(this.state,typeof o=="function"?o(this.state):o),this.emit(),r&&r()}mount(o){this.exportRoot=o;try{let s=sessionStorage.getItem(ae);s||(s=W(),sessionStorage.setItem(ae,s)),this.tabKey=_+s}catch{this.tabKey=null}const r=!this.mounted;this.mounted=!0;try{const s=r&&!this.docSetByHost&&(this.tabKey&&localStorage.getItem(this.tabKey)||localStorage.getItem(R));if(s){const c=JSON.parse(E(s));c&&c.doc&&(c.doc=N(c.doc)),c&&c.doc&&this.setState({doc:c.doc,assets:me(c.assets),chrome:c.chrome||"light",device:c.device==="mobile"?"mobile":"desktop"})}}catch{}this.sweepDrafts(),this.tick=setInterval(()=>{this.hasCountdown()&&(this.state.now=Date.now(),this.onTick?this.onTick():this.setState({now:this.state.now}))},1e3)}sweepDrafts(){try{for(let o=localStorage.length-1;o>=0;o--){const r=localStorage.key(o);if(!r||!r.startsWith(_)||r===this.tabKey)continue;let s=!0;try{const c=JSON.parse(localStorage.getItem(r));s=!c||!c.t||Date.now()-c.t>l}catch{}s&&localStorage.removeItem(r)}}catch{}}mountKeyboard(o){this.onKey=r=>{const s=r.composedPath?r.composedPath()[0]:r.target,c=o(s);if(r.key==="Escape"){if(c&&s&&typeof s.blur=="function"){s.blur();return}this.setState({sel:null,libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,previewOpen:!1});return}if((r.metaKey||r.ctrlKey)&&r.key.toLowerCase()==="z"){if(c&&!(s&&s.isContentEditable))return;r.preventDefault(),r.shiftKey?this.redo():this.undo();return}if((r.metaKey||r.ctrlKey)&&r.key.toLowerCase()==="e"){r.preventDefault(),this.openExport();return}if((r.metaKey||r.ctrlKey)&&r.key.toLowerCase()==="k"&&this.state.editing){r.preventDefault(),this.openLink();return}if(!c){if((r.metaKey||r.ctrlKey)&&r.key.toLowerCase()==="d"){r.preventDefault(),this.dupSel();return}(r.key==="Backspace"||r.key==="Delete")&&this.state.sel&&(r.preventDefault(),this.delSel())}},window.addEventListener("keydown",this.onKey),this._lastSelBlock=null,this._lastSelStart=null,this._lastSelEnd=null,this.onSelect=()=>{if(!this.state.editing)return;const r=this.getSelection();if(!(r&&r.rangeCount&&this.editEl&&this.editEl.contains(r.anchorNode)))return;const s=r.getRangeAt(0),c=he(this.editEl,s.startContainer,s.startOffset),i=he(this.editEl,s.endContainer,s.endOffset);this._lastSelBlock===this.state.editing&&this._lastSelStart===c&&this._lastSelEnd===i||(this._lastSelBlock=this.state.editing,this._lastSelStart=c,this._lastSelEnd=i,this.savedRange=s.cloneRange(),this.onFormatChange&&this.onFormatChange())},document.addEventListener("selectionchange",this.onSelect)}unmountKeyboard(){window.removeEventListener("keydown",this.onKey),document.removeEventListener("selectionchange",this.onSelect)}unmount(){clearTimeout(this._searchTimer),clearTimeout(this._limitsWarnTimer),this.abortAssets("list"),this.abortAssets("upload"),clearInterval(this.tick),clearTimeout(this.tt),clearTimeout(this.codeTimer),clearTimeout(this._persistTimer),this._emitHandle!=null&&(typeof cancelAnimationFrame=="function"?cancelAnimationFrame(this._emitHandle):clearTimeout(this._emitHandle)),this._emitHandle=null,this._emitScheduled=!1,this.unmountKeyboard()}exec(o,r){this.rteActive=!0;try{if(this.editEl){this.editEl.focus({preventScroll:!0});const c=this.getSelection();!(c&&c.rangeCount&&this.editEl.contains(c.anchorNode)&&this.editEl.contains(c.focusNode))&&this.savedRange&&c&&(c.removeAllRanges(),c.addRange(this.savedRange))}document.execCommand(o,!1,r);const s=this.getSelection();s&&s.rangeCount&&this.editEl&&this.editEl.contains(s.anchorNode)&&(this.savedRange=s.getRangeAt(0).cloneRange())}catch{}setTimeout(()=>{this.rteActive=!1},0)}pasteClean(o){return r=>{const s=r.clipboardData;if(!s)return;r.preventDefault();const c=s.getData("text/html"),i=s.getData("text/plain")||"",T=!o&&c?D(c):e(i).replace(/\r?\n/g,"<br />");this.exec("insertHTML",T)}}syncEdit(o){const r=this.editEl;if(!r)return;const s=o.type==="heading"?"text":o.type==="html"?"code":"html",c=o.type==="heading"?r.textContent:r.innerHTML;o.props[s]!==c&&this.setProp(o.id,s,c)}anchorAt(){const o=this.getSelection(),r=o&&o.anchorNode?o.anchorNode.nodeType===1?o.anchorNode:o.anchorNode.parentElement:null;return r&&r.closest?r.closest("a"):null}currentTag(){const o=this.getSelection(),r=o&&o.anchorNode?o.anchorNode.nodeType===1?o.anchorNode:o.anchorNode.parentElement:null,s=r&&r.closest?r.closest("h1,h2,h3,h4,h5,h6,blockquote,p"):null;return s?s.tagName.toLowerCase():""}formatFingerprint(o){let r=o.id+"|"+this.currentTag()+"|"+(o.props.size||16)+"|"+(this.state.linkDraft?1:0)+"|";for(const s of["bold","italic","underline","strikeThrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList"]){let c=!1;try{c=document.queryCommandState(s)}catch{}r+=c?"1":"0"}return r}size(o,r){const s=this.editEl;if(s){const i=o.type==="heading"?"text":o.type==="html"?"code":"html",T=o.type==="heading"?s.textContent:s.innerHTML;o.props[i]!==T&&this.setProp(o.id,i,T)}const c=Number(o.props.size)||16;this.setProp(o.id,"size",Math.max(10,Math.min(64,c+r)))}hasCountdown(){return this.state.doc.rows.some(o=>o.cols.some(r=>r.blocks.some(s=>s.type==="countdown")))}persist(o,r,s){try{const c=JSON.stringify({doc:o||this.state.doc,assets:this.storageProvider?[]:r||this.state.assets,chrome:s||this.state.chrome,t:Date.now()});this.tabKey&&localStorage.setItem(this.tabKey,c),localStorage.setItem(R,c),this.state.savedStatus="saved",this.state.savedAt=new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),this.onSavedChange&&this.onSavedChange()}catch{this.state.savedStatus="error",this.onSavedChange&&this.onSavedChange()}}commit(o){const r=JSON.stringify(this.state.doc),s=JSON.parse(r);o(s),this.setState({doc:s,history:this.state.history.slice(-40).concat(r),future:[]}),clearTimeout(this._persistTimer),this._persistTimer=setTimeout(()=>this.persist(s),400)}undo(){const o=this.state.history.slice(),r=o.pop();if(!r)return;const s=JSON.parse(r);this.setState({doc:s,history:o,future:this.state.future.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(s))}redo(){const o=this.state.future.slice(),r=o.pop();if(!r)return;const s=JSON.parse(r);this.setState({doc:s,future:o,history:this.state.history.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(s))}flash(o){this.state.toast=o,this.onToast?this.onToast():this.setState({toast:o}),clearTimeout(this.tt),this.tt=setTimeout(()=>{this.state.toast=null,this.onToast?this.onToast():this.setState({toast:null})},1900)}select(o,r){this.setState({sel:{type:o,id:r},tab:"design"})}find(o,r){for(const s of o.rows){if(s.id===r)return{row:s};for(let c=0;c<s.cols.length;c++){const i=s.cols[c].blocks.findIndex(T=>T.id===r);if(i>-1)return{row:s,col:s.cols[c],ci:c,bi:i,block:s.cols[c].blocks[i]}}}return{}}selObj(){return this.state.sel?this.find(this.state.doc,this.state.sel.id):{}}setProp(o,r,s){this.commit(c=>{const i=this.find(c,o),T=i.block?i.block.props:i.row?i.row.props:null;T&&(T[r]=s)})}setTheme(o,r){this.commit(s=>{s.theme[o]=r})}setColProp(o,r,s,c){this.commit(i=>{const T=this.find(i,o).row;T&&T.cols[r]&&(T.cols[r][s]=c)})}togglePadSplit(o){this.commit(r=>{const c=this.find(r,o).row;if(!c)return;const i=c.props,T=!i.padSplit;T?i.pt===void 0&&(i.pt=i.py,i.pb=i.py,i.pl=i.px,i.pr=i.px):(i.py=Math.round(((i.pt??i.py)+(i.pb??i.py))/2),i.px=Math.round(((i.pl??i.px)+(i.pr??i.px))/2),delete i.pt,delete i.pb,delete i.pl,delete i.pr),i.padSplit=T})}insertBlock(o,r,s,c){const i=q(o),T=o==="condition"||o==="loop"?[i,ie(o,{expr:"",end:!0})]:[i];this.commit(G=>{if(this.state.mode==="stack"||!r){const I=typeof c=="number"?c:G.rows.length;T.slice().reverse().forEach(oe=>{const se=K([100],[oe]);T.length>1&&(se.props.py=4),G.rows.splice(I,0,se)})}else{const I=this.find(G,r),oe=I.row.cols[s]||I.row.cols[0],se=typeof c=="number"?c:oe.blocks.length;oe.blocks.splice(se,0,...T)}}),this.setState({sel:{type:"block",id:i.id},tab:"design",drop:null,rowDrop:null})}insertGroup(o,r,s,c){const i=k[o];if(!i)return;const T=i.build();if(r){const G=T.reduce((I,oe)=>I.concat(oe.cols.reduce((se,ke)=>se.concat(ke.blocks),[])),[]);this.commit(I=>{const oe=this.find(I,r),se=oe.row.cols[s]||oe.row.cols[0];se.blocks.splice(typeof c=="number"?c:se.blocks.length,0,...G)}),this.setState({sel:G[0]?{type:"block",id:G[0].id}:null,tab:"design",drop:null,rowDrop:null});return}this.commit(G=>{G.rows.splice(typeof c=="number"?c:G.rows.length,0,...T)}),this.setState({sel:{type:"row",id:T[0].id},tab:"design",drop:null,rowDrop:null})}insertRow(o,r,s){const c=s?K([100],[q("html")]):K(o);s&&(c.props.py=0,c.props.px=0),this.commit(i=>{i.rows.splice(typeof r=="number"?r:i.rows.length,0,c)}),this.setState({sel:{type:s?"block":"row",id:s?c.cols[0].blocks[0].id:c.id},tab:"design",drop:null,rowDrop:null})}moveBlock(o,r,s,c){this.commit(i=>{const T=this.find(i,o);if(!T.block)return;const[G]=T.col.blocks.splice(T.bi,1),I=this.find(i,r);if(!I.row){i.rows.push(K([100],[G]));return}const oe=I.row.cols[s]||I.row.cols[0];let se=typeof c=="number"?c:oe.blocks.length;oe===T.col&&T.bi<se&&se--,oe.blocks.splice(se,0,G)}),this.setState({drop:null,rowDrop:null})}moveRow(o,r){this.commit(s=>{const c=s.rows.findIndex(G=>G.id===o);if(c<0)return;const[i]=s.rows.splice(c,1);let T=r;c<T&&T--,s.rows.splice(Math.max(0,Math.min(T,s.rows.length)),0,i)}),this.setState({drop:null,rowDrop:null})}moveBlockToNewRow(o,r){this.commit(s=>{const c=this.find(s,o);if(!c.block)return;const[i]=c.col.blocks.splice(c.bi,1);s.rows.splice(r,0,K([100],[i]))}),this.setState({drop:null,rowDrop:null})}dupSel(){const o=this.state.sel;o&&(this.commit(r=>{const s=this.find(r,o.id);if(s.block){const c=Q(s.block);c.id=W(),s.col.blocks.splice(s.bi+1,0,c)}else if(s.row){const c=Q(s.row);c.id=W(),c.cols.forEach(i=>{i.id=W(),i.blocks.forEach(T=>{T.id=W()})}),r.rows.splice(r.rows.indexOf(s.row)+1,0,c)}}),this.flash(this.t("toast.duplicated")))}delSel(){const o=this.state.sel;o&&(this.commit(r=>{const s=this.find(r,o.id);s.block?s.col.blocks.splice(s.bi,1):s.row&&r.rows.splice(r.rows.indexOf(s.row),1)}),this.setState({sel:null}))}nudge(o,r){this.commit(s=>{const c=this.find(s,o);if(c.block){const i=c.bi+r;if(i<0||i>=c.col.blocks.length)return;const[T]=c.col.blocks.splice(c.bi,1);c.col.blocks.splice(i,0,T)}else if(c.row){const i=s.rows.indexOf(c.row),T=i+r;if(T<0||T>=s.rows.length)return;const[G]=s.rows.splice(i,1);s.rows.splice(T,0,G)}})}startDrag(o){return r=>{this.drag=o;try{r.dataTransfer.setData("text/plain",JSON.stringify(o)),r.dataTransfer.effectAllowed="copyMove"}catch{}}}indexFromPoint(o,r){if(!o||!o.children)return 0;const s=Array.from(o.children).filter(i=>i.getAttribute&&i.getAttribute("data-mc-slot")==="1");let c=s.length;for(let i=0;i<s.length;i++){const T=s[i].getBoundingClientRect();if(T.height!==0&&r<T.top+T.height/2){c=i;break}}return c}colDragOver(o,r){return s=>{const c=this.drag;if(!c||(s.preventDefault(),s.stopPropagation(),c.kind==="row"||c.kind==="move-row"))return;const i=this.indexFromPoint(s.currentTarget,s.clientY),T=this.state.drop;(!T||T.rowId!==o||T.ci!==r||T.index!==i)&&this.setState({drop:{rowId:o,ci:r,index:i},rowDrop:null})}}colDrop(o,r){return s=>{const c=this.drag;if(!c)return;s.preventDefault(),s.stopPropagation();const i=this.indexFromPoint(s.currentTarget,s.clientY);c.kind==="block"?this.insertBlock(c.type,o,r,i):c.kind==="move-block"?this.moveBlock(c.id,o,r,i):c.kind==="group"?this.insertGroup(c.id,o,r,i):c.kind==="asset"&&this.dropAsset(c.assetId,o,r,i),this.drag=null}}dropAsset(o,r,s,c){const i=this.state.assets.find(G=>G.id===o);if(!i)return;const T=q("image");T.props.src=i.url,T.props.alt=i.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," "),this.commit(G=>{if(!r||this.state.mode==="stack")G.rows.splice(typeof c=="number"?c:G.rows.length,0,K([100],[T]));else{const I=this.find(G,r),oe=I.row.cols[s]||I.row.cols[0];oe.blocks.splice(typeof c=="number"?c:oe.blocks.length,0,T)}}),this.setState({sel:{type:"block",id:T.id},tab:"design",drop:null,rowDrop:null})}setStorageProvider(o){const r=o?S(o):[];if(r.length){console.warn("[mailcraft] "+r.join("; "));return}if(this.storageProvider=o||null,this.abortAssets("list"),this.abortAssets("upload"),!o){this.setState({assets:[],folders:null,assetFolder:g,assetCursor:null,assetsError:null,assetsLoaded:!1});return}this.setState({assets:[],folders:null,assetFolder:g,assetCursor:null,assetsError:null,assetsLoaded:!1}),clearTimeout(this._limitsWarnTimer),this._limitsWarnTimer=setTimeout(()=>{this.storageProvider&&$(this.limits())&&console.warn("[mailcraft] storageProvider is set but storageLimits is not -- every upload will be refused. See core/storage-limits.js.")},0),this.refreshAssets()}loadTemplate(o){if(!o)return;const r=typeof o.build=="function"?o.build():o.doc?o.doc:typeof o.html=="string"&&o.html.trim()?t(o.html):null;if(!r)return;const s=N(JSON.parse(JSON.stringify(r)));s&&(this.docSetByHost=!0,this.setState({doc:s,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(s)),this.flash(this.t("toast.templateLoaded",{name:o.name||""})))}setStorageLimits(o){this.storageLimits=o||null,this.emit()}abortAssets(o){const r=o==="upload"?"_uploadAbort":"_listAbort";return this[r]&&this[r].abort(),this[r]=typeof AbortController=="function"?new AbortController:null,this[r]?this[r].signal:void 0}limits(){return H(this.storageLimits,this.storageProvider&&this.storageProvider.limits)}folderOptions(){const o=this.state;return this.storageProvider?[{id:g,name:this.t("library.allFiles"),count:null}].concat((o.folders||[]).map(r=>({id:r.id,name:r.name,count:null}))):[{id:g,name:this.t("library.allFiles"),count:o.assets.length}]}visibleAssets(){const o=this.state;if(this.storageProvider)return o.assets;const r=(o.assetQuery||"").trim().toLowerCase();return r?o.assets.filter(s=>s.name.toLowerCase().includes(r)):o.assets}openLibrary(o){this.setState({libraryOpen:!0,assetTarget:o||null}),this.storageProvider&&!this.state.assetsLoaded&&!this.state.assetsLoading&&this.refreshAssets()}setAssetFolder(o){this.setState({assetFolder:o}),this.storageProvider&&this.refreshAssets()}setAssetQuery(o){this.setState({assetQuery:o}),this.storageProvider&&(clearTimeout(this._searchTimer),this._searchTimer=setTimeout(()=>this.refreshAssets(),320))}async refreshAssets({append:o=!1}={}){const r=this.storageProvider;if(!r)return;const s=this._assetToken=(this._assetToken||0)+1,c=this.abortAssets("list");this.setState({assetsLoading:!0,assetsError:null});try{if(!this.state.folders&&r.folders)try{const G=await r.folders({signal:c});s===this._assetToken&&this.setState({folders:G})}catch{}const i=await r.list({folderId:this.folderId(),cursor:o?this.state.assetCursor:null,query:(this.state.assetQuery||"").trim(),signal:c});if(s!==this._assetToken)return;const T=(i&&i.items||[]).map(G=>v(G));this.setState({assets:o?this.state.assets.concat(T):T,assetCursor:i&&i.cursor||null,assetsLoading:!1,assetsLoaded:!0})}catch(i){if(s!==this._assetToken||i&&i.name==="AbortError")return;this.setState({assetsLoading:!1,assetsError:i&&i.message||String(i)})}}loadMoreAssets(){this.state.assetCursor&&!this.state.assetsLoading&&this.refreshAssets({append:!0})}folderId(){return this.state.assetFolder||g}async addFiles(o){const r=Array.from(o||[]);if(!r.length)return;const s=this.storageProvider,c=this.limits();if(!s&&!c){this.addFilesAsDataUrls(r);return}const{accepted:i,rejected:T}=await C(r,c);if(T.forEach((n,B)=>{B===0?this.flash(this.t(n.key,n.params)):setTimeout(()=>this.flash(this.t(n.key,n.params)),B*2100)}),!i.length)return;if(!s){this.addFilesAsDataUrls(i.map(n=>n.file));return}const G=this.folderId(),I=this.abortAssets("upload"),oe=new Array(i.length);let se=0;this.setState({uploading:i.length});const ke=async()=>{for(let n=se++;n<i.length;n=se++){const B=i[n];try{const U=await s.upload(B.file,{folderId:G,width:B.w,height:B.ht,signal:I});oe[n]=v(U,B)}catch(U){U&&U.name==="AbortError"||this.flash(this.t("storage.errUploadFailed",{name:B.name,reason:U&&U.message||""}))}this.setState({uploading:Math.max(0,this.state.uploading-1)})}};await Promise.all(Array.from({length:Math.min(ce,i.length)},ke)),this.setState({uploading:0});const u=oe.filter(Boolean);u.length&&this.finishUpload(u)}addFilesAsDataUrls(o){const r=Array.from(o||[]).filter(T=>/^image\//.test(T.type));if(!r.length)return;let s=r.length;const c=[],i=()=>{--s===0&&c.length&&this.finishUpload(c)};r.forEach(T=>{const G=new FileReader;G.onload=()=>{const I=new Image;I.onload=()=>{c.push({id:W(),name:T.name,url:G.result,folder:"",w:I.width,ht:I.height,size:T.size}),i()},I.onerror=()=>{c.push({id:W(),name:T.name,url:G.result,folder:"",w:0,ht:0,size:T.size}),i()},I.src=G.result},G.onerror=i,G.readAsDataURL(T)})}finishUpload(o){const r=o.concat(this.state.assets);this.setState({assets:r,libHot:!1},()=>{this.storageProvider||this.persist(null,r)}),this.flash(o.length===1?this.t("toast.fileUploadedOne"):this.t("toast.fileUploadedMany",{count:o.length}))}async removeAsset(o){const r=this.storageProvider;if(r&&r.remove)try{await r.remove(o)}catch(c){this.flash(this.t("storage.errDeleteFailed",{name:o.name,reason:c&&c.message||""}));return}const s=this.state.assets.filter(c=>c.id!==o.id);this.setState({assets:s},()=>{r||this.persist(null,s)}),this.flash(this.t("toast.assetDeleted",{name:o.name}))}useAsset(o){const r=this.state.assetTarget;if(r)this.setProp(r.id||r,r.key||"src",o.url),this.setState({libraryOpen:!1,assetTarget:null}),this.flash(this.t("toast.imageReplaced"));else{const s=q("image");s.props.src=o.url,s.props.alt=o.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," ");const c=this.selObj();this.commit(i=>{c.row&&this.state.mode==="rows"?this.find(i,c.row.id).row.cols[c.ci||0].blocks.push(s):i.rows.push(K([100],[s]))}),this.setState({libraryOpen:!1,sel:{type:"block",id:s.id},tab:"design"}),this.flash(this.t("toast.imageAdded"))}}buildHtml(){return m(this.state,this.exportRoot,f)}importHtml(o){const{rows:r,theme:s}=de(o);return this.docSetByHost=!0,this.commit(c=>{c.rows=r,Object.assign(c.theme,s)}),r.length}boxFields(){const o=this.selObj();if(!o.block)return[];const r=o.block,s=d(()=>this.find(this.state.doc,r.id).block.props,(c,i)=>this.setProp(r.id,c,i),this);return p([s.head("Box & border"),s.color("Background color","bBg"),s.range("Border thickness","bBorder",0,20,1,"px"),...r.props.bBorder?[s.sel("Border style","bStyle",pe),s.color("Border color","bLine"),s.tog("Top border","bTop",!0),s.tog("Right border","bRight",!0),s.tog("Bottom border","bBottom",!0),s.tog("Left border","bLeft",!0)]:[],s.range("Rounded corners","bRadius",0,100,1,"px"),s.range("Space inside","bPad",0,100,2,"px")])}fields(){if(!this.state.sel)return[];const r=this.selObj(),s=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];if(r.block){const c=r.block,i=d(()=>this.find(this.state.doc,c.id).block.props,(I,oe)=>this.setProp(c.id,I,oe),this),T=[],G=[i.head("Spacing"),a(null,[i.range("Above & below","py",0,160,2,"px"),i.range("Left & right","px",0,120,2,"px")])];switch(c.type){case"text":return p(T.concat(/<a(?:\s|>)/i.test(String(c.props.html||""))?[{kind:"richLinks",label:"Links",html:c.props.html||"",onChange:I=>this.setProp(c.id,"html",I)}]:[],[i.area("Text","html"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Text size","size",8,96,1,"px"),i.range("Line spacing","lh",.8,3,.05,""),i.seg("Align","align",s),i.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"700",label:"Bold"}]),i.color("Text color","color")],G));case"image":return p(T.concat([i.btn("Choose from library",()=>this.openLibrary({id:c.id,key:"src"})),i.text("Alt text","alt","Describe the image"),i.text("Link URL","href","https://"),i.range("Width","width",5,100,1,"%"),i.seg("Align","align",s),i.range("Rounded corners","radius",0,200,1,"px")],G));case"button":return p(T.concat([i.text("Label","label"),i.text("Link URL","href","https://"),i.color("Button color","bg"),i.color("Text color","color"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Text size","size",8,48,1,"px"),i.range("Rounded corners","radius",0,60,1,"px"),i.range("Outline thickness","borderW",0,6,1,"px")].concat(c.props.borderW?[i.sel("Outline style","borderStyle",pe),i.color("Outline color","borderColor")]:[]).concat([i.range("Button height","py",0,60,1,"px"),i.range("Button width","px",0,120,2,"px"),i.seg("Align","align",s),i.tog("Full width","full")])));case"divider":return p(T.concat([i.range("Thickness","thickness",1,20,1,"px"),i.sel("Line style","lineStyle",pe),i.range("Width","width",5,100,5,"%"),i.color("Color","color"),i.range("Space above & below","py",0,160,2,"px")]));case"spacer":return p(T.concat([i.range("Height","height",0,400,2,"px")]));case"condition":return p(T.concat(c.props.end?[i.head("End of condition — drag it to move the boundary")]:[i.text("Show only if","expr","e.g. is_premium",this.vars())]));case"loop":return p(T.concat(c.props.end?[i.head("End of loop — drag it to move the boundary")]:[i.text("Repeat for each","expr","e.g. order.items",this.vars())]));case"social":return p(T.concat([{kind:"social",label:"Networks",value:c.props.items||"",onChange:I=>this.setProp(c.id,"items",I)},i.seg("Icon palette","palette",[{value:"custom",label:"Custom"},{value:"brand",label:"Brand"}]),i.seg("Icon shape","shape",[{value:"outline",label:"Outline"},{value:"bare",label:"Bare"},{value:"circle",label:"Circle"},{value:"square",label:"Square"}]),i.tog("Show network names","showLabel"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.seg("Align","align",s),i.range("Icon size","size",10,64,1,"px"),i.range("Space between icons","gap",0,80,2,"px"),i.color("Icon color","color")]));case"video":return p(T.concat([i.btn("Choose thumbnail",()=>this.openLibrary({id:c.id,key:"src"})),i.text("Video URL","href","https://"),i.text("Caption","caption"),i.color("Badge color","badge")]));case"html":return p(T.concat([i.area("Raw HTML","code")]));case"countdown":return p(T.concat([i.text("Ends at (YYYY-MM-DDTHH:MM)","target"),i.text("Label","label"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.color("Color","color")]));case"menu":return p(T.concat([i.area("Items — one per line as Label|URL","items"),i.seg("Align","align",s),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Text size","size",8,32,1,"px"),i.range("Space between items","gap",0,80,2,"px"),i.color("Text color","color")]));case"heading":return p(T.concat([i.area("Text","text"),i.sel("Heading level","level",[{value:"h1",label:"H1 — largest"},{value:"h2",label:"H2"},{value:"h3",label:"H3"},{value:"h4",label:"H4 — smallest"}]),i.seg("Font style","font",[{value:"condensed",label:"Condensed"},{value:"body",label:"Body"}]),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Text size","size",12,120,1,"px"),i.range("Line spacing","lh",.8,2.2,.02,""),i.seg("Align","align",s),i.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"}]),i.color("Text color","color")],G));case"list":return p(T.concat([i.area("Items — one per line","items"),i.tog("Numbered","ordered"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Text size","size",8,48,1,"px"),i.range("Line spacing","lh",.8,3,.05,""),i.range("Space between items","gap",0,60,1,"px"),i.color("Text color","color")],G));case"table":return p(T.concat([{kind:"tablegrid",label:"Cells",value:c.props.data||"",header:!!c.props.header,onChange:I=>this.setProp(c.id,"data",I)},i.tog("Header row","header"),i.tog("Cell borders","borders"),...c.props.borders?[i.range("Border thickness","borderWidth",1,10,1,"px"),i.sel("Border style","borderStyle",pe)]:[],i.tog("Zebra stripes","striped"),i.sel("Font","fontFamily",this.fontOptions(!0)),i.range("Space in cells","pad",0,50,1,"px"),i.range("Text size","size",8,32,1,"px"),i.range("Width","width",10,100,5,"%"),i.color("Header color","headBg"),i.color("Line color","lineColor"),i.seg("Align","align",s)]));case"embed":return p(T.concat([i.text("Embed URL","src","https://"),i.range("Height","height",40,1200,10,"px"),i.text("Accessible label","label"),i.range("Padding","py",0,120,2,"px")]));case"css":return p(T.concat([i.area("CSS","code"),i.text("Note to yourself","note")]));case"box":return p(T.concat([i.area("Content (HTML allowed)","html"),i.color("Background color","bg"),i.btn("Choose background image",()=>this.openLibrary({id:c.id,key:"bgImage"})),i.text("Background image URL","bgImage","https://"),i.range("Space inside","pad",0,160,2,"px"),i.range("Border thickness","border",0,20,1,"px")].concat(c.props.border?[i.sel("Border style","borderStyle",pe),i.color("Border color","lineColor"),i.tog("Top border","topBorder",!0),i.tog("Right border","rightBorder",!0),i.tog("Bottom border","bottomBorder",!0),i.tog("Left border","leftBorder",!0)]:[]).concat([i.range("Rounded corners","radius",0,200,1,"px"),i.range("Min height","minH",0,1200,10,"px"),i.range("Max width","maxW",10,100,5,"%"),i.seg("Align","align",s),i.tog("Drop shadow","shadow")])));case"svg":return p(T.concat([i.area("SVG markup","code"),i.seg("Align","align",s),i.range("Width","width",5,100,5,"%"),i.range("Padding","py",0,120,2,"px")]));case"codeblock":return p(T.concat([i.area("Code","code"),i.color("Background","bg"),i.color("Text color","color"),i.range("Size","size",8,32,.5,"px"),i.range("Padding","pad",0,80,2,"px")]));default:return[]}}if(r.row){const c=r.row,i=c.props,T=d(()=>this.find(this.state.doc,c.id).row.props,(se,ke)=>this.setProp(c.id,se,ke),this),G=O.findIndex(se=>se.spans.length===c.cols.length&&se.spans.join()===c.cols.map(ke=>ke.span).join()),I=!!this.state.advancedOpen,oe=(se,ke,u)=>({kind:"toggle",label:se,on:!!ke,onChange:u});return p([{kind:"select",label:"Columns",value:String(G>-1?G:0),options:O.map((se,ke)=>({value:String(ke),label:se.label})),onChange:se=>{const ke=O[Number(se)].spans;this.commit(u=>{const n=this.find(u,c.id).row,B=n.cols.slice();n.cols=ke.map((Z,J)=>Object.assign({},B[J]||{},{id:B[J]&&B[J].id||W(),span:Z,blocks:B[J]&&B[J].blocks||[]}));const U=B.slice(ke.length).reduce((Z,J)=>Z.concat(J.blocks),[]);U.length&&(n.cols[n.cols.length-1].blocks=n.cols[n.cols.length-1].blocks.concat(U))})}},...c.cols.length>1?[T.range("Space between columns","gap",0,120,2,"px"),T.tog("Stack columns on mobile","stackMobile")]:[],...c.cols.length>1?c.cols.reduce((se,ke,u)=>{const n=d(()=>this.find(this.state.doc,c.id).row.cols[u],(B,U)=>this.setColProp(c.id,u,B,U),this);return se.concat([T.head("Column "+(u+1)),n.color("Background color","bg"),n.range("Border thickness","border",0,20,1,"px"),...ke.border?[n.sel("Border style","borderStyle",pe),n.color("Border color","lineColor")]:[],n.range("Rounded corners","radius",0,100,1,"px"),a("Space inside",[n.range("Top & bottom","padY",0,100,2,"px"),n.range("Left & right","padX",0,100,2,"px")])])},[]):[],T.head("Background"),T.color("Background color","bg"),T.btn(i.bgImage?"Change background image":"Add background image",()=>this.openLibrary({id:c.id,key:"bgImage"})),...i.bgImage?[T.btn("Remove background image",()=>this.setProp(c.id,"bgImage","")),T.sel("Image fit","bgSize",[{value:"cover",label:"Fill the section"},{value:"contain",label:"Fit inside"},{value:"auto",label:"Actual size"}]),T.sel("Image position","bgPos",[{value:"center",label:"Center"},{value:"top",label:"Top"},{value:"bottom",label:"Bottom"},{value:"left",label:"Left"},{value:"right",label:"Right"}]),T.range("Darken image","overlay",0,100,1,"%")]:[],T.head("Border & corners"),T.range("Border thickness","border",0,20,1,"px"),T.sel("Border style","borderStyle",pe),...i.border?[T.color("Border color","lineColor"),T.tog("Top border","bTop",!0),T.tog("Right border","bRight",!0),T.tog("Bottom border","bBottom",!0),T.tog("Left border","bLeft",!0)]:[],T.range("Rounded corners","radius",0,200,1,"px"),oe("Drop shadow",!!i.shadow,()=>this.setProp(c.id,"shadow",i.shadow?"":"0 1px 2px rgba(15,23,42,0.06), 0 8px 24px rgba(15,23,42,0.10)")),T.head("Spacing"),a("Space inside",i.padSplit?[T.range("Top","pt",0,200,2,"px"),T.range("Right","pr",0,160,2,"px"),T.range("Bottom","pb",0,200,2,"px"),T.range("Left","pl",0,160,2,"px")]:[T.range("Top & bottom","py",0,200,2,"px"),T.range("Left & right","px",0,160,2,"px")],{on:!!i.padSplit,onChange:()=>this.togglePadSplit(c.id)}),a("Space outside",[T.range("Top","mt",0,160,2,"px"),T.range("Right","mr",0,160,2,"px"),T.range("Bottom","mb",0,160,2,"px"),T.range("Left","ml",0,160,2,"px")]),oe("Advanced options",I,()=>this.setState({advancedOpen:!this.state.advancedOpen})),...I?[T.head("Advanced"),T.seg("Layout engine","layout",[{value:"columns",label:"Columns"},{value:"flex",label:"Flex"},{value:"grid",label:"Grid"}]),...i.layout==="flex"?[T.sel("Flex direction","flexDir",[{value:"row",label:"Row"},{value:"row-reverse",label:"Row reverse"},{value:"column",label:"Column"},{value:"column-reverse",label:"Column reverse"}]),T.sel("Justify content","justify",[{value:"flex-start",label:"Start"},{value:"center",label:"Center"},{value:"flex-end",label:"End"},{value:"space-between",label:"Space between"},{value:"space-around",label:"Space around"}]),T.sel("Align items","alignItems",[{value:"stretch",label:"Stretch"},{value:"flex-start",label:"Start"},{value:"center",label:"Center"},{value:"flex-end",label:"End"}]),T.tog("Wrap flex items","wrap")]:[],...i.layout==="grid"?[T.range("Grid columns","gridCols",1,12,1,"")]:[],T.text("Background image URL","bgImage","https://"),T.sel("Image repeat","bgRepeat",[{value:"no-repeat",label:"No repeat"},{value:"repeat",label:"Tile"},{value:"repeat-x",label:"Tile across"}]),T.range("Max width","maxW",10,100,5,"%"),T.seg("Vertical align","valign",[{value:"top",label:"Top"},{value:"middle",label:"Middle"},{value:"bottom",label:"Bottom"}])]:[]])}return[]}fontOptions(o){const r=[{value:'"Helvetica Neue", Helvetica, Arial, sans-serif',label:"Helvetica Neue"},{value:"Helvetica, Arial, sans-serif",label:"Helvetica / Arial"},{value:'-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',label:"System UI"},{value:"Verdana, Geneva, sans-serif",label:"Verdana"},{value:"Tahoma, Geneva, sans-serif",label:"Tahoma"},{value:'"Trebuchet MS", Helvetica, sans-serif',label:"Trebuchet MS"},{value:'Georgia, "Times New Roman", serif',label:"Georgia"},{value:'"Times New Roman", Times, serif',label:"Times New Roman"},{value:'"Palatino Linotype", Palatino, Georgia, serif',label:"Palatino"},{value:'ui-monospace, "Courier New", monospace',label:"Monospace"}];return o?[{value:"",label:"Inherit — theme font"}].concat(r):r}themeFields(){const o=d(()=>this.state.doc.theme,(r,s)=>this.setTheme(r,s),this);return p([o.head("Canvas"),o.slider("Content area width","width",280,900,5,"px"),o.color("Page background color","bg",{transparent:!0,solid:"#eef2f7"}),a("Space around content",[o.range("Top & bottom","padY",0,120,2,"px"),o.range("Sides","padX",0,120,2,"px")]),o.head("Content area"),o.color("Content area background color","contentBg",{transparent:!0,solid:"#ffffff"}),o.range("Corner radius","radius",0,48,1,"px"),o.head("Type & color"),o.sel("Default font","font",this.fontOptions(!1)),o.color("Text color","text"),o.color("Link color","link")])}vars(){return w(this.variablesRaw)}insertSnippet(o,r){const s=this.selObj(),c=s.block?F[s.block.type]:null;c?(this.setProp(s.block.id,c,(s.block.props[c]||"")+(c==="items"||c==="data"?`
|
|
15
|
-
`:" ")+
|
|
16
|
-
`);return{emit:
|
|
17
|
-
`);const f=R=>R.blocks.map(
|
|
18
|
-
`)||" ",
|
|
13
|
+
-d campaign=mc-4471`,bg:"#172033",color:"#e8e9ea",size:12.5,pad:14})}),N.push({type:"box",code:"BOX",label:"Section box",hint:"Styled container with free content",make:()=>({html:'<strong style="font-size:19px;display:block;margin-bottom:6px">Section title</strong>Drop copy here, or paste markup. The box takes background, padding, border and radius.',bg:"#f8fafc",bgImage:"",border:1,borderStyle:"solid",lineColor:"#e2e8f0",topBorder:!0,rightBorder:!0,bottomBorder:!0,leftBorder:!0,radius:12,pad:22,align:"left",minH:0,maxW:100,shadow:!1})},{type:"svg",code:"SVG",label:"Inline SVG",hint:"Paste SVG markup",make:()=>({code:'<svg viewBox="0 0 120 40" width="120" height="40" fill="none" stroke="#0065b3" stroke-width="1.5"><rect x="0.75" y="0.75" width="118.5" height="38.5"/><path d="M12 28l14-16 12 10 10-8 18 14"/></svg>',align:"left",width:100,py:10})}),N.push({type:"condition",code:"IF",label:"Condition",hint:"Show everything between the two markers only when the expression is true",make:()=>({expr:"is_premium",end:!1})},{type:"loop",code:"EACH",label:"Loop",hint:"Repeat everything between the two markers once per list item",make:()=>({expr:"order.items",end:!1})});const k=S=>N.find(j=>j.type===S),O=S=>({id:V(),type:S,props:k(S).make()}),n=(S,j)=>{const G=O(S);return Object.assign(G.props,j||{}),G},I=[{spans:[100],label:"1 col"},{spans:[50,50],label:"50 / 50"},{spans:[33,67],label:"33 / 67"},{spans:[67,33],label:"67 / 33"},{spans:[33,34,33],label:"3 col"},{spans:[25,25,25,25],label:"4 col"}],T=(S,j)=>({id:V(),props:{bg:"",bgImage:"",bgSize:"cover",bgPos:"center",bgRepeat:"no-repeat",overlay:0,border:0,borderStyle:"solid",lineColor:"#e2e2e5",bTop:!0,bRight:!0,bBottom:!0,bLeft:!0,radius:0,shadow:"",maxW:100,mt:0,mr:0,mb:0,ml:0,layout:"columns",flexDir:"row",justify:"flex-start",alignItems:"stretch",wrap:!0,gridCols:2,py:20,px:24,padSplit:!1,gap:20,valign:"top",stackMobile:!0},cols:S.map((G,A)=>({id:V(),span:G,blocks:A===0&&j?j:[]}))}),d=S=>p[S]?p[S].build():[],p={hero:{label:"Hero",icon:"hero",build:()=>{const S=T([100]);return Object.assign(S.props,{py:56,px:36,bgImage:Z("hero background 1200 × 560",1200,560),overlay:46,gap:0}),S.cols[0].blocks=[n("text",{html:"AUTUMN 2026",size:11,align:"center",color:"#ffffff",py:0}),n("heading",{text:"Built for the long haul",size:44,align:"center",color:"#ffffff",py:10}),n("text",{html:"Waxed cotton, storm cuffs, and a repair promise that outlives the season.",size:15,align:"center",color:"#ffffff",py:4}),n("button",{label:"Shop the drop",align:"center",bg:"#ffffff",color:"#172033",radius:8})],[S]}},card:{label:"Card",icon:"card",build:()=>{const S=T([100]);return Object.assign(S.props,{bg:"#f8fafc",border:1,lineColor:"#e2e8f0",radius:12,py:0,px:0,gap:0}),S.cols[0].blocks=[n("image",{src:Z("card image 520 × 300",520,300),alt:"Inside the workshop",py:0,px:0}),n("heading",{text:"Inside the workshop",size:22,py:16,px:20}),n("text",{html:"Three benches, two machines, and a rule about finishing what you start.",size:13.5,py:0,px:20}),n("button",{label:"Read the story",bg:"#0065b3",color:"#ffffff",size:13,py:10,px:18,align:"left"})],[S]}},product:{label:"Product",icon:"product",build:()=>{const S=T([45,55]);return Object.assign(S.props,{valign:"middle",py:16}),S.cols[0].blocks=[n("image",{src:Z("product shot 520 × 520",520,520),alt:"Field Jacket 03",py:0,px:0})],S.cols[1].blocks=[n("heading",{text:"Field Jacket 03",size:26,py:0}),n("text",{html:"<strong>$248</strong> — waxed cotton, storm cuffs, cut and sewn in Portugal.",size:14,py:8}),n("button",{label:"View product"})],[S]}},stats:{label:"Stats",icon:"stats",build:()=>{const S=T([33,34,33]);return Object.assign(S.props,{py:22,gap:8}),[["12k","Subscribers"],["41%","Open rate"],["8.2%","Click rate"]].forEach((j,G)=>{S.cols[G].blocks=[n("heading",{text:j[0],size:32,align:"center",color:"#0065b3",py:0}),n("text",{html:j[1].toUpperCase(),size:11,align:"center",py:4})]}),[S]}},quote:{label:"Quote",icon:"quote",build:()=>{const S=T([100]);return Object.assign(S.props,{py:18,gap:0}),S.cols[0].blocks=[n("text",{html:"<em>“It shipped in a week and nobody asked me for a spec.”</em>",size:19,lh:1.45,py:0}),n("text",{html:"RAE OKONKWO, FOUNDRY SUPPLY",size:11,py:6})],[S]}},gallery:{label:"Gallery",icon:"gallery",build:()=>{const S=T([50,50]);return Object.assign(S.props,{py:10,gap:10}),S.cols[0].blocks=[n("image",{src:Z("image 01",400,300),alt:"",py:0,px:0}),n("image",{src:Z("image 03",400,300),alt:"",py:10,px:0})],S.cols[1].blocks=[n("image",{src:Z("image 02",400,300),alt:"",py:0,px:0}),n("image",{src:Z("image 04",400,300),alt:"",py:10,px:0})],[S]}},footer:{label:"Footer",icon:"footer",build:()=>{const S=T([100]);return Object.assign(S.props,{py:22,gap:0}),S.cols[0].blocks=[n("divider",{py:0}),n("social",{align:"center",size:18,shape:"bare"}),n("text",{html:"<strong>MailCraft, Inc.</strong><br />220 Foundry Street, Suite 4, Portland OR 97209<br />You are receiving this because you signed up at mailcraft.co.",size:11.5,align:"center",py:6}),n("text",{html:'<a href="{{ unsubscribe_url }}">Unsubscribe</a> · <a href="#">Update preferences</a>',size:11.5,align:"center",py:0})],[S]}}},t=[{t:"heading"},{t:"text"},{t:"list"},{g:"quote"},{t:"image"},{g:"gallery"},{t:"button"},{t:"table"},{g:"card"},{g:"product"},{g:"hero"},{g:"stats"},{t:"box"},{t:"divider"},{t:"spacer"},{t:"social"},{t:"video"},{t:"embed"},{t:"menu"},{g:"footer"},{t:"html"},{t:"css"},{t:"svg"},{t:"codeblock"},{t:"countdown"},{t:"condition"},{t:"loop"}],g=()=>({theme:ae(),rows:[T([100])]});function v(S){const j=T([100]).props,G=[];return(S.rows||[]).forEach(A=>{const D=A.cols.some(u=>u.blocks.length),e=A.props.my??0;A.props.mt===void 0&&(A.props.mt=e),A.props.mr===void 0&&(A.props.mr=0),A.props.mb===void 0&&(A.props.mb=e),A.props.ml===void 0&&(A.props.ml=0),A.cols.forEach(u=>{u.blocks=u.blocks.filter(y=>k(y.type)),u.blocks.forEach(y=>{y.type==="social"&&y.props.shape==="solid"&&(y.props.shape="square")})}),Object.keys(j).forEach(u=>{A.props[u]===void 0&&(A.props[u]=j[u])}),D&&!A.cols.some(u=>u.blocks.length)&&G.push(A.id)}),S.rows=(S.rows||[]).filter(A=>G.indexOf(A.id)<0),S}function C(S){if(!S||typeof S!="object"||Array.isArray(S))return null;const j=T([100]).props,G=(Array.isArray(S.rows)?S.rows:[]).filter(D=>D&&typeof D=="object"),A={theme:Object.assign(ae(),S.theme||{}),rows:G.map(D=>{const e=Array.isArray(D.cols)&&D.cols.length?D.cols.filter(f=>f&&typeof f=="object"):[{}],u=e.length?e:[{}],y=Math.round(100/u.length);return{id:D.id||V(),props:Object.assign({},j,D.props||{}),cols:u.map(f=>({id:f.id||V(),span:Number(f.span)>0?Number(f.span):y,blocks:(Array.isArray(f.blocks)?f.blocks:[]).filter(x=>x&&typeof x=="object"&&x.type).map(x=>k(x.type)?{id:x.id||V(),type:x.type,props:Object.assign(k(x.type).make(),x.props||{})}:{id:x.id||V(),type:x.type,props:x.props||{}})}))}})};return A.rows.length?v(A):null}Object.assign(K,{BLOCKS:N,DEF:k,mk:O,blk:n,LAYOUTS:I,mkRow:T,groupRows:d,GROUPS:p,PALETTE:t,blankDoc:g,migrateDoc:v,normalizeDoc:C})},re["core/css-cascade.js"]=function(se,K,z){function V(k){return String(k||"").replace(/\/\*[\s\S]*?\*\//g,"")}function Z(k){let O="",n=0;for(;n<k.length;){if(k[n]==="@"){const I=k.indexOf(";",n),T=k.indexOf("{",n);if(T===-1||I!==-1&&I<T){n=I===-1?k.length:I+1;continue}let d=0,p=T;for(;p<k.length;p++)if(k[p]==="{")d++;else if(k[p]==="}"&&(d--,!d))break;n=p+1;continue}O+=k[n],n++}return O}function ae(k){const O=(k.match(/#[\w-]+/g)||[]).length,n=(k.match(/\.[\w-]+|\[[^\]]*\]/g)||[]).length,I=(k.match(/(^|[\s>+~])[a-zA-Z][\w-]*/g)||[]).length;return O*100+n*10+I}function N(k){const O=Array.from(k.querySelectorAll("style"));if(!O.length)return;const n=Z(V(O.map(g=>g.textContent||"").join(`
|
|
14
|
+
`))),I=[],T=/([^{}]+)\{([^{}]*)\}/g;let d,p=0;for(;d=T.exec(n);){const g=[];d[2].split(";").forEach(v=>{const C=v.indexOf(":");if(C<0)return;const S=v.slice(0,C).trim().toLowerCase();let j=v.slice(C+1).trim();if(!S||!j||S.indexOf("--")===0||S.indexOf("mso-")===0)return;const G=/!important\s*$/i.test(j);G&&(j=j.replace(/!important\s*$/i,"").trim()),j&&g.push({prop:S,value:j,important:G})}),g.length&&d[1].split(",").forEach(v=>{const C=v.trim();!C||C==="*"||C.indexOf(":")>-1||I.push({sel:C,decls:g,spec:ae(C),order:p++})})}if(!I.length)return;I.sort((g,v)=>g.spec-v.spec||g.order-v.order);const t=new Map;I.forEach(g=>{let v;try{v=k.querySelectorAll(g.sel)}catch{return}v.forEach(C=>{if(C!==k.body&&!k.body.contains(C))return;let S=t.get(C);S||(S=new Map,t.set(C,S)),g.decls.forEach(j=>{const G=S.get(j.prop);G&&G.important&&!j.important||S.set(j.prop,j)})})}),t.forEach((g,v)=>{v.style&&g.forEach((C,S)=>{if(!(!C.important&&v.style.getPropertyValue(S)))try{v.style.setProperty(S,C.value)}catch{}})})}Object.assign(K,{inlineStylesheets:N})},re["core/editor-core.js"]=function(se,K,z){const{uid:V}=z("core/ids.js"),{mk:Z,blk:ae,mkRow:N,GROUPS:k,LAYOUTS:O,migrateDoc:n,normalizeDoc:I,blankDoc:T}=z("core/blocks.js"),{binder:d,decorate:p,group:t}=z("core/binder.js"),{ALL_FOLDER_ID:g,normalizeAsset:v,resolveLimits:C,providerProblems:S}=z("core/storage.js"),{validateFiles:j,limitsProblem:G}=z("core/storage-limits.js"),{migrateTokens:A,cleanHtml:D,escHtml:e}=z("core/sanitize.js"),{buildHtml:u}=z("core/export.js"),{htmlToDoc:y}=z("core/import-html.js"),{boxCss:f}=z("core/layout-style.js"),{vars:x,TOKEN:M,INSERT_KEYS:P}=z("core/variables.js"),{createTranslator:$}=z("core/i18n/index.js"),ee=L=>JSON.parse(JSON.stringify(L)),R="mailcraft.v3",q=R+".tab.",oe="mailcraft.tab",de=10080*60*1e3,c=3,ne=/^data:image\/svg\+xml;utf8,.*%3Cpattern%20id%3D%22s%22/,ce=L=>Array.isArray(L)?L.filter(a=>!ne.test(String(a&&a.url||""))):[],pe=[{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"},{value:"double",label:"Double"}];function he(L,a,o){if(a.nodeType!==Node.TEXT_NODE){let w=0;const Y=document.createTreeWalker(L,NodeFilter.SHOW_TEXT);let F;const Q=a.childNodes[o];if(!Q){for(;Y.nextNode();)w+=Y.currentNode.nodeValue.length;return w}for(;F=Y.nextNode();){if(F===Q||Q.contains(F))return w;w+=F.nodeValue.length}return w}let s=0;const h=document.createTreeWalker(L,NodeFilter.SHOW_TEXT);let r;for(;r=h.nextNode();){if(r===a)return s+o;s+=r.nodeValue.length}return s}function we(L){const a=y(L);let o=a.rows;if(!o.length){const s=N([100],[Z("html")]);s.props.py=0,s.props.px=0;let h=L;try{h=new DOMParser().parseFromString(String(L||""),"text/html").body.innerHTML||L}catch{}s.cols[0].blocks[0].props.code=String(h||"").trim(),o=[s]}return{rows:o,theme:a.theme||{}}}function _(L){const a=T(),{rows:o,theme:s}=we(L);return a.rows=o,Object.assign(a.theme,s),a}const i=[{group:"Draft a new email",items:["Full email draft","Welcome or onboarding","Product announcement","Promotion or sale","Event or webinar invite","Newsletter intro","Abandoned cart reminder","Back in stock alert","Re-engagement nudge","Referral or reward invite","Feedback or review request","Thank you or post-purchase","Transactional notice"]},{group:"Rework existing copy",items:["Headline options","Shorten existing copy","Rewrite for clarity"]}],m=["Confident, plain","Warm and personal","Friendly and casual","Direct and minimal","Playful","Enthusiastic and bold","Urgent and time-sensitive","Premium and understated","Reassuring and calm","Apologetic and accountable","Formal","Technical and precise"],H=i.flatMap(L=>L.items);class E{constructor({variables:a,aiProvider:o,iconProvider:s,messages:h,storageProvider:r,storageLimits:w}={}){Ce(this,"openLink",()=>{const a=this.anchorAt();this.rteActive=!0,this.setState({linkDraft:{href:a?a.getAttribute("href")||"":"https://",blank:a?a.target==="_blank":!0,editing:!!a}})});Ce(this,"applyLink",a=>{const o=this.state.linkDraft;if(!o)return;this.exec("createLink",o.href);const s=this.editEl;s&&s.querySelectorAll("a").forEach(h=>{h.getAttribute("href")===o.href&&(o.blank?(h.setAttribute("target","_blank"),h.setAttribute("rel","noopener")):(h.removeAttribute("target"),h.removeAttribute("rel")))}),this.syncEdit(a),this.setState({linkDraft:null})});Ce(this,"removeLink",a=>{this.exec("unlink"),this.syncEdit(a),this.setState({linkDraft:null})});Ce(this,"canvasDragOver",a=>{if(!this.drag)return;a.preventDefault();const s=this.indexFromPoint(a.currentTarget,a.clientY);this.state.rowDrop!==s&&this.setState({rowDrop:s,drop:null})});Ce(this,"canvasDrop",a=>{const o=this.drag;if(!o)return;a.preventDefault();const s=this.indexFromPoint(a.currentTarget,a.clientY);o.kind==="row"?this.insertRow(o.spans,s,o.html):o.kind==="move-row"?this.moveRow(o.id,s):o.kind==="block"?this.insertBlock(o.type,null,0,s):o.kind==="move-block"?this.moveBlockToNewRow(o.id,s):o.kind==="group"?this.insertGroup(o.id,null,0,s):o.kind==="asset"&&this.dropAsset(o.assetId,null,0,s),this.drag=null});Ce(this,"openExport",()=>{this.setState({exportOpen:!0,exportCode:this.buildHtml(),copied:!1,libraryOpen:!1,aiOpen:!1,codeOpen:!1})});Ce(this,"copyExport",()=>{navigator.clipboard?navigator.clipboard.writeText(this.state.exportCode).then(()=>this.setState({copied:!0}),()=>this.setState({copied:!0})):this.setState({copied:!0}),this.flash(this.t("toast.htmlCopied"))});Ce(this,"downloadExport",()=>{const a=new Blob([this.state.exportCode],{type:"text/html"}),o=document.createElement("a");o.href=URL.createObjectURL(a),o.download="email.html",o.click(),setTimeout(()=>URL.revokeObjectURL(o.href),1500)});Ce(this,"openCode",()=>{const a=this.buildHtml();this.setState({codeOpen:!0,codeSrc:a,codeLive:a,codeDirty:!1,libraryOpen:!1,exportOpen:!1,aiOpen:!1})});Ce(this,"setCodeSrc",a=>{this.state.codeSrc=a,this.state.codeDirty=!0,this.onCodeSourceChange&&this.onCodeSourceChange(),clearTimeout(this.codeTimer),this.codeTimer=setTimeout(()=>this.setState({codeLive:this.state.codeSrc}),350)});Ce(this,"applyCode",()=>{try{const a=this.importHtml(this.state.codeSrc);this.setState({codeOpen:!1,codeDirty:!1,sel:null}),this.flash(a===1?this.t("toast.sourceAppliedOne"):this.t("toast.sourceAppliedMany",{rows:a}))}catch{this.flash(this.t("toast.parseError"))}});Ce(this,"runAi",async()=>{const{aiGoal:a,aiTone:o,aiBrief:s}=this.state;this.setState({aiBusy:!0,aiResults:[]});const h="You write marketing email copy. Goal: "+a+". Tone: "+o+". Brief: "+s+'. Return ONLY JSON: {"headline":"...","body":"...","cta":"..."} — body max 55 words, plain sentences, no emoji, may use {{ first_name }}.';let r=null;try{if(this.aiProvider){const Y=await this.aiProvider(h),F=String(Y).match(/\{[\s\S]*\}/);F&&(r=JSON.parse(F[0]))}}catch{r=null}if(!r){const Y=(s||"the new drop").replace(/\.$/,"");r={headline:Y.split(/[,.]/)[0].slice(0,58),body:"Hi {{ first_name }} — "+Y+". We kept it short: one link, one decision, no pressure.",cta:"See it"}}const w=(Y,F,Q)=>{const ie=Z("text");ie.props.html=Y,F&&(ie.props.size=F),this.commit(me=>{me.rows.push(N([100],[ie]))}),this.setState({aiOpen:!1,sel:{type:"block",id:ie.id},tab:"design"}),this.flash(Q)};this.setState({aiBusy:!1,aiResults:[{kind:this.t("ai.kindHeadline"),text:r.headline,action:this.t("ai.actionInsertHeading"),onUse:()=>w('<strong style="font-size:27px;line-height:1.15;display:block">'+r.headline+"</strong>",16,this.t("toast.headingAdded"))},{kind:this.t("ai.kindBody"),text:r.body,action:this.t("ai.actionInsertText"),onUse:()=>w(r.body,16,this.t("toast.textBlockAdded"))},{kind:this.t("ai.kindButton"),text:r.cta,action:this.t("ai.actionInsertButton"),onUse:()=>{const Y=Z("button");Y.props.label=r.cta,this.commit(F=>{F.rows.push(N([100],[Y]))}),this.setState({aiOpen:!1,sel:{type:"block",id:Y.id},tab:"design"}),this.flash(this.t("toast.buttonAdded"))}}]})});this.variablesRaw=a??null,this.aiProvider=o??null,this.iconProvider=s??null,this.storageProvider=r??null,this.storageLimits=w??null,this.messages=h??null,this.t=$(this.messages),this.listeners=new Set,this.drag=null,this.editEl=null,this.savedRange=null,this.rteActive=!1,this.fileEl=null,this.docSetByHost=!1,this.mounted=!1,this.state={doc:T(),sel:null,hover:null,tab:"design",chrome:"light",device:"desktop",mode:"rows",zoom:1,advancedOpen:!1,assets:[],assetFolder:g,assetQuery:"",libraryOpen:!1,assetTarget:null,folders:null,assetCursor:null,assetsLoading:!1,assetsError:null,assetsLoaded:!1,uploading:0,exportOpen:!1,exportCode:"",copied:!1,aiOpen:!1,aiGoal:H[0],aiTone:m[0],aiBrief:"",aiBusy:!1,aiResults:[],previewOpen:!1,toast:null,drop:null,rowDrop:null,editing:null,linkDraft:null,codeOpen:!1,codeSrc:"",codeLive:"",codeDirty:!1,codeDevice:"desktop",history:[],future:[],now:Date.now(),savedStatus:"idle",savedAt:null,libHot:!1}}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}getSelection(){return this.exportRoot&&typeof this.exportRoot.getSelection=="function"?this.exportRoot.getSelection():window.getSelection()}emit(){if(this._emitScheduled)return;this._emitScheduled=!0;const a=typeof requestAnimationFrame=="function"?requestAnimationFrame:o=>setTimeout(o,16);this._emitHandle=a(()=>{this._emitScheduled=!1,this._emitHandle=null;for(const o of this.listeners)o()})}setState(a,o){Object.assign(this.state,typeof a=="function"?a(this.state):a),this.emit(),o&&o()}mount(a){this.exportRoot=a;try{let s=sessionStorage.getItem(oe);s||(s=V(),sessionStorage.setItem(oe,s)),this.tabKey=q+s}catch{this.tabKey=null}const o=!this.mounted;this.mounted=!0;try{const s=o&&!this.docSetByHost&&(this.tabKey&&localStorage.getItem(this.tabKey)||localStorage.getItem(R));if(s){const h=JSON.parse(A(s));h&&h.doc&&(h.doc=I(h.doc)),h&&h.doc&&this.setState({doc:h.doc,assets:ce(h.assets),chrome:h.chrome||"light",device:h.device==="mobile"?"mobile":"desktop"})}}catch{}this.sweepDrafts(),this.tick=setInterval(()=>{this.hasCountdown()&&(this.state.now=Date.now(),this.onTick?this.onTick():this.setState({now:this.state.now}))},1e3)}sweepDrafts(){try{for(let a=localStorage.length-1;a>=0;a--){const o=localStorage.key(a);if(!o||!o.startsWith(q)||o===this.tabKey)continue;let s=!0;try{const h=JSON.parse(localStorage.getItem(o));s=!h||!h.t||Date.now()-h.t>de}catch{}s&&localStorage.removeItem(o)}}catch{}}mountKeyboard(a){this.onKey=o=>{const s=o.composedPath?o.composedPath()[0]:o.target,h=a(s);if(o.key==="Escape"){if(h&&s&&typeof s.blur=="function"){s.blur();return}this.setState({sel:null,libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,previewOpen:!1});return}if((o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="z"){if(h&&!(s&&s.isContentEditable))return;o.preventDefault(),o.shiftKey?this.redo():this.undo();return}if((o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="e"){o.preventDefault(),this.openExport();return}if((o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="k"&&this.state.editing){o.preventDefault(),this.openLink();return}if(!h){if((o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="d"){o.preventDefault(),this.dupSel();return}(o.key==="Backspace"||o.key==="Delete")&&this.state.sel&&(o.preventDefault(),this.delSel())}},window.addEventListener("keydown",this.onKey),this._lastSelBlock=null,this._lastSelStart=null,this._lastSelEnd=null,this.onSelect=()=>{if(!this.state.editing)return;const o=this.getSelection();if(!(o&&o.rangeCount&&this.editEl&&this.editEl.contains(o.anchorNode)))return;const s=o.getRangeAt(0),h=he(this.editEl,s.startContainer,s.startOffset),r=he(this.editEl,s.endContainer,s.endOffset);this._lastSelBlock===this.state.editing&&this._lastSelStart===h&&this._lastSelEnd===r||(this._lastSelBlock=this.state.editing,this._lastSelStart=h,this._lastSelEnd=r,this.savedRange=s.cloneRange(),this.onFormatChange&&this.onFormatChange())},document.addEventListener("selectionchange",this.onSelect)}unmountKeyboard(){window.removeEventListener("keydown",this.onKey),document.removeEventListener("selectionchange",this.onSelect)}unmount(){clearTimeout(this._searchTimer),clearTimeout(this._limitsWarnTimer),this.abortAssets("list"),this.abortAssets("upload"),clearInterval(this.tick),clearTimeout(this.tt),clearTimeout(this.codeTimer),clearTimeout(this._persistTimer),this._emitHandle!=null&&(typeof cancelAnimationFrame=="function"?cancelAnimationFrame(this._emitHandle):clearTimeout(this._emitHandle)),this._emitHandle=null,this._emitScheduled=!1,this.unmountKeyboard()}exec(a,o){this.rteActive=!0;try{if(this.editEl){this.editEl.focus({preventScroll:!0});const h=this.getSelection();!(h&&h.rangeCount&&this.editEl.contains(h.anchorNode)&&this.editEl.contains(h.focusNode))&&this.savedRange&&h&&(h.removeAllRanges(),h.addRange(this.savedRange))}document.execCommand(a,!1,o);const s=this.getSelection();s&&s.rangeCount&&this.editEl&&this.editEl.contains(s.anchorNode)&&(this.savedRange=s.getRangeAt(0).cloneRange())}catch{}setTimeout(()=>{this.rteActive=!1},0)}pasteClean(a){return o=>{const s=o.clipboardData;if(!s)return;o.preventDefault();const h=s.getData("text/html"),r=s.getData("text/plain")||"",w=!a&&h?D(h):e(r).replace(/\r?\n/g,"<br />");this.exec("insertHTML",w)}}syncEdit(a){const o=this.editEl;if(!o)return;const s=a.type==="heading"?"text":a.type==="html"?"code":"html",h=a.type==="heading"?o.textContent:o.innerHTML;a.props[s]!==h&&this.setProp(a.id,s,h)}anchorAt(){const a=this.getSelection(),o=a&&a.anchorNode?a.anchorNode.nodeType===1?a.anchorNode:a.anchorNode.parentElement:null;return o&&o.closest?o.closest("a"):null}currentTag(){const a=this.getSelection(),o=a&&a.anchorNode?a.anchorNode.nodeType===1?a.anchorNode:a.anchorNode.parentElement:null,s=o&&o.closest?o.closest("h1,h2,h3,h4,h5,h6,blockquote,p"):null;return s?s.tagName.toLowerCase():""}formatFingerprint(a){let o=a.id+"|"+this.currentTag()+"|"+(a.props.size||16)+"|"+(this.state.linkDraft?1:0)+"|";for(const s of["bold","italic","underline","strikeThrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList"]){let h=!1;try{h=document.queryCommandState(s)}catch{}o+=h?"1":"0"}return o}size(a,o){const s=this.editEl;if(s){const r=a.type==="heading"?"text":a.type==="html"?"code":"html",w=a.type==="heading"?s.textContent:s.innerHTML;a.props[r]!==w&&this.setProp(a.id,r,w)}const h=Number(a.props.size)||16;this.setProp(a.id,"size",Math.max(10,Math.min(64,h+o)))}hasCountdown(){return this.state.doc.rows.some(a=>a.cols.some(o=>o.blocks.some(s=>s.type==="countdown")))}persist(a,o,s){try{const h=JSON.stringify({doc:a||this.state.doc,assets:this.storageProvider?[]:o||this.state.assets,chrome:s||this.state.chrome,t:Date.now()});this.tabKey&&localStorage.setItem(this.tabKey,h),localStorage.setItem(R,h),this.state.savedStatus="saved",this.state.savedAt=new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),this.onSavedChange&&this.onSavedChange()}catch{this.state.savedStatus="error",this.onSavedChange&&this.onSavedChange()}}commit(a){const o=JSON.stringify(this.state.doc),s=JSON.parse(o);a(s),this.setState({doc:s,history:this.state.history.slice(-40).concat(o),future:[]}),clearTimeout(this._persistTimer),this._persistTimer=setTimeout(()=>this.persist(s),400)}undo(){const a=this.state.history.slice(),o=a.pop();if(!o)return;const s=JSON.parse(o);this.setState({doc:s,history:a,future:this.state.future.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(s))}redo(){const a=this.state.future.slice(),o=a.pop();if(!o)return;const s=JSON.parse(o);this.setState({doc:s,future:a,history:this.state.history.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(s))}flash(a){this.state.toast=a,this.onToast?this.onToast():this.setState({toast:a}),clearTimeout(this.tt),this.tt=setTimeout(()=>{this.state.toast=null,this.onToast?this.onToast():this.setState({toast:null})},1900)}select(a,o){this.setState({sel:{type:a,id:o},tab:"design"})}find(a,o){for(const s of a.rows){if(s.id===o)return{row:s};for(let h=0;h<s.cols.length;h++){const r=s.cols[h].blocks.findIndex(w=>w.id===o);if(r>-1)return{row:s,col:s.cols[h],ci:h,bi:r,block:s.cols[h].blocks[r]}}}return{}}selObj(){return this.state.sel?this.find(this.state.doc,this.state.sel.id):{}}setProp(a,o,s){this.commit(h=>{const r=this.find(h,a),w=r.block?r.block.props:r.row?r.row.props:null;w&&(w[o]=s)})}setTheme(a,o){this.commit(s=>{s.theme[a]=o})}setColProp(a,o,s,h){this.commit(r=>{const w=this.find(r,a).row;w&&w.cols[o]&&(w.cols[o][s]=h)})}togglePadSplit(a){this.commit(o=>{const h=this.find(o,a).row;if(!h)return;const r=h.props,w=!r.padSplit;w?r.pt===void 0&&(r.pt=r.py,r.pb=r.py,r.pl=r.px,r.pr=r.px):(r.py=Math.round(((r.pt??r.py)+(r.pb??r.py))/2),r.px=Math.round(((r.pl??r.px)+(r.pr??r.px))/2),delete r.pt,delete r.pb,delete r.pl,delete r.pr),r.padSplit=w})}insertBlock(a,o,s,h){const r=Z(a),w=a==="condition"||a==="loop"?[r,ae(a,{expr:"",end:!0})]:[r];this.commit(Y=>{if(this.state.mode==="stack"||!o){const F=typeof h=="number"?h:Y.rows.length;w.slice().reverse().forEach(Q=>{const ie=N([100],[Q]);w.length>1&&(ie.props.py=4),Y.rows.splice(F,0,ie)})}else{const F=this.find(Y,o),Q=F.row.cols[s]||F.row.cols[0],ie=typeof h=="number"?h:Q.blocks.length;Q.blocks.splice(ie,0,...w)}}),this.setState({sel:{type:"block",id:r.id},tab:"design",drop:null,rowDrop:null})}insertGroup(a,o,s,h){const r=k[a];if(!r)return;const w=r.build();if(o){const Y=w.reduce((F,Q)=>F.concat(Q.cols.reduce((ie,me)=>ie.concat(me.blocks),[])),[]);this.commit(F=>{const Q=this.find(F,o),ie=Q.row.cols[s]||Q.row.cols[0];ie.blocks.splice(typeof h=="number"?h:ie.blocks.length,0,...Y)}),this.setState({sel:Y[0]?{type:"block",id:Y[0].id}:null,tab:"design",drop:null,rowDrop:null});return}this.commit(Y=>{Y.rows.splice(typeof h=="number"?h:Y.rows.length,0,...w)}),this.setState({sel:{type:"row",id:w[0].id},tab:"design",drop:null,rowDrop:null})}insertRow(a,o,s){const h=s?N([100],[Z("html")]):N(a);s&&(h.props.py=0,h.props.px=0),this.commit(r=>{r.rows.splice(typeof o=="number"?o:r.rows.length,0,h)}),this.setState({sel:{type:s?"block":"row",id:s?h.cols[0].blocks[0].id:h.id},tab:"design",drop:null,rowDrop:null})}moveBlock(a,o,s,h){this.commit(r=>{const w=this.find(r,a);if(!w.block)return;const[Y]=w.col.blocks.splice(w.bi,1),F=this.find(r,o);if(!F.row){r.rows.push(N([100],[Y]));return}const Q=F.row.cols[s]||F.row.cols[0];let ie=typeof h=="number"?h:Q.blocks.length;Q===w.col&&w.bi<ie&&ie--,Q.blocks.splice(ie,0,Y)}),this.setState({drop:null,rowDrop:null})}moveRow(a,o){this.commit(s=>{const h=s.rows.findIndex(Y=>Y.id===a);if(h<0)return;const[r]=s.rows.splice(h,1);let w=o;h<w&&w--,s.rows.splice(Math.max(0,Math.min(w,s.rows.length)),0,r)}),this.setState({drop:null,rowDrop:null})}moveBlockToNewRow(a,o){this.commit(s=>{const h=this.find(s,a);if(!h.block)return;const[r]=h.col.blocks.splice(h.bi,1);s.rows.splice(o,0,N([100],[r]))}),this.setState({drop:null,rowDrop:null})}dupSel(){const a=this.state.sel;a&&(this.commit(o=>{const s=this.find(o,a.id);if(s.block){const h=ee(s.block);h.id=V(),s.col.blocks.splice(s.bi+1,0,h)}else if(s.row){const h=ee(s.row);h.id=V(),h.cols.forEach(r=>{r.id=V(),r.blocks.forEach(w=>{w.id=V()})}),o.rows.splice(o.rows.indexOf(s.row)+1,0,h)}}),this.flash(this.t("toast.duplicated")))}delSel(){const a=this.state.sel;a&&(this.commit(o=>{const s=this.find(o,a.id);s.block?s.col.blocks.splice(s.bi,1):s.row&&o.rows.splice(o.rows.indexOf(s.row),1)}),this.setState({sel:null}))}nudge(a,o){this.commit(s=>{const h=this.find(s,a);if(h.block){const r=h.bi+o;if(r<0||r>=h.col.blocks.length)return;const[w]=h.col.blocks.splice(h.bi,1);h.col.blocks.splice(r,0,w)}else if(h.row){const r=s.rows.indexOf(h.row),w=r+o;if(w<0||w>=s.rows.length)return;const[Y]=s.rows.splice(r,1);s.rows.splice(w,0,Y)}})}startDrag(a){return o=>{this.drag=a;try{o.dataTransfer.setData("text/plain",JSON.stringify(a)),o.dataTransfer.effectAllowed="copyMove"}catch{}}}indexFromPoint(a,o){if(!a||!a.children)return 0;const s=Array.from(a.children).filter(r=>r.getAttribute&&r.getAttribute("data-mc-slot")==="1");let h=s.length;for(let r=0;r<s.length;r++){const w=s[r].getBoundingClientRect();if(w.height!==0&&o<w.top+w.height/2){h=r;break}}return h}colDragOver(a,o){return s=>{const h=this.drag;if(!h||(s.preventDefault(),s.stopPropagation(),h.kind==="row"||h.kind==="move-row"))return;const r=this.indexFromPoint(s.currentTarget,s.clientY),w=this.state.drop;(!w||w.rowId!==a||w.ci!==o||w.index!==r)&&this.setState({drop:{rowId:a,ci:o,index:r},rowDrop:null})}}colDrop(a,o){return s=>{const h=this.drag;if(!h)return;s.preventDefault(),s.stopPropagation();const r=this.indexFromPoint(s.currentTarget,s.clientY);h.kind==="block"?this.insertBlock(h.type,a,o,r):h.kind==="move-block"?this.moveBlock(h.id,a,o,r):h.kind==="group"?this.insertGroup(h.id,a,o,r):h.kind==="asset"&&this.dropAsset(h.assetId,a,o,r),this.drag=null}}dropAsset(a,o,s,h){const r=this.state.assets.find(Y=>Y.id===a);if(!r)return;const w=Z("image");w.props.src=r.url,w.props.alt=r.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," "),this.commit(Y=>{if(!o||this.state.mode==="stack")Y.rows.splice(typeof h=="number"?h:Y.rows.length,0,N([100],[w]));else{const F=this.find(Y,o),Q=F.row.cols[s]||F.row.cols[0];Q.blocks.splice(typeof h=="number"?h:Q.blocks.length,0,w)}}),this.setState({sel:{type:"block",id:w.id},tab:"design",drop:null,rowDrop:null})}setStorageProvider(a){const o=a?S(a):[];if(o.length){console.warn("[mailcraft] "+o.join("; "));return}if(this.storageProvider=a||null,this.abortAssets("list"),this.abortAssets("upload"),!a){this.setState({assets:[],folders:null,assetFolder:g,assetCursor:null,assetsError:null,assetsLoaded:!1});return}this.setState({assets:[],folders:null,assetFolder:g,assetCursor:null,assetsError:null,assetsLoaded:!1}),clearTimeout(this._limitsWarnTimer),this._limitsWarnTimer=setTimeout(()=>{this.storageProvider&&G(this.limits())&&console.warn("[mailcraft] storageProvider is set but storageLimits is not -- every upload will be refused. See core/storage-limits.js.")},0),this.refreshAssets()}loadTemplate(a){if(!a)return;const o=typeof a.build=="function"?a.build():a.doc?a.doc:typeof a.html=="string"&&a.html.trim()?_(a.html):null;if(!o)return;const s=I(JSON.parse(JSON.stringify(o)));s&&(this.docSetByHost=!0,this.setState({doc:s,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(s)),this.flash(this.t("toast.templateLoaded",{name:a.name||""})))}setStorageLimits(a){this.storageLimits=a||null,this.emit()}abortAssets(a){const o=a==="upload"?"_uploadAbort":"_listAbort";return this[o]&&this[o].abort(),this[o]=typeof AbortController=="function"?new AbortController:null,this[o]?this[o].signal:void 0}limits(){return C(this.storageLimits,this.storageProvider&&this.storageProvider.limits)}folderOptions(){const a=this.state;return this.storageProvider?[{id:g,name:this.t("library.allFiles"),count:null}].concat((a.folders||[]).map(o=>({id:o.id,name:o.name,count:null}))):[{id:g,name:this.t("library.allFiles"),count:a.assets.length}]}visibleAssets(){const a=this.state;if(this.storageProvider)return a.assets;const o=(a.assetQuery||"").trim().toLowerCase();return o?a.assets.filter(s=>s.name.toLowerCase().includes(o)):a.assets}openLibrary(a){this.setState({libraryOpen:!0,assetTarget:a||null}),this.storageProvider&&!this.state.assetsLoaded&&!this.state.assetsLoading&&this.refreshAssets()}setAssetFolder(a){this.setState({assetFolder:a}),this.storageProvider&&this.refreshAssets()}setAssetQuery(a){this.setState({assetQuery:a}),this.storageProvider&&(clearTimeout(this._searchTimer),this._searchTimer=setTimeout(()=>this.refreshAssets(),320))}async refreshAssets({append:a=!1}={}){const o=this.storageProvider;if(!o)return;const s=this._assetToken=(this._assetToken||0)+1,h=this.abortAssets("list");this.setState({assetsLoading:!0,assetsError:null});try{if(!this.state.folders&&o.folders)try{const Y=await o.folders({signal:h});s===this._assetToken&&this.setState({folders:Y})}catch{}const r=await o.list({folderId:this.folderId(),cursor:a?this.state.assetCursor:null,query:(this.state.assetQuery||"").trim(),signal:h});if(s!==this._assetToken)return;const w=(r&&r.items||[]).map(Y=>v(Y));this.setState({assets:a?this.state.assets.concat(w):w,assetCursor:r&&r.cursor||null,assetsLoading:!1,assetsLoaded:!0})}catch(r){if(s!==this._assetToken||r&&r.name==="AbortError")return;this.setState({assetsLoading:!1,assetsError:r&&r.message||String(r)})}}loadMoreAssets(){this.state.assetCursor&&!this.state.assetsLoading&&this.refreshAssets({append:!0})}folderId(){return this.state.assetFolder||g}async addFiles(a){const o=Array.from(a||[]);if(!o.length)return;const s=this.storageProvider,h=this.limits();if(!s&&!h){this.addFilesAsDataUrls(o);return}const{accepted:r,rejected:w}=await j(o,h);if(w.forEach((l,B)=>{B===0?this.flash(this.t(l.key,l.params)):setTimeout(()=>this.flash(this.t(l.key,l.params)),B*2100)}),!r.length)return;if(!s){this.addFilesAsDataUrls(r.map(l=>l.file));return}const Y=this.folderId(),F=this.abortAssets("upload"),Q=new Array(r.length);let ie=0;this.setState({uploading:r.length});const me=async()=>{for(let l=ie++;l<r.length;l=ie++){const B=r[l];try{const U=await s.upload(B.file,{folderId:Y,width:B.w,height:B.ht,signal:F});Q[l]=v(U,B)}catch(U){U&&U.name==="AbortError"||this.flash(this.t("storage.errUploadFailed",{name:B.name,reason:U&&U.message||""}))}this.setState({uploading:Math.max(0,this.state.uploading-1)})}};await Promise.all(Array.from({length:Math.min(c,r.length)},me)),this.setState({uploading:0});const b=Q.filter(Boolean);b.length&&this.finishUpload(b)}addFilesAsDataUrls(a){const o=Array.from(a||[]).filter(w=>/^image\//.test(w.type));if(!o.length)return;let s=o.length;const h=[],r=()=>{--s===0&&h.length&&this.finishUpload(h)};o.forEach(w=>{const Y=new FileReader;Y.onload=()=>{const F=new Image;F.onload=()=>{h.push({id:V(),name:w.name,url:Y.result,folder:"",w:F.width,ht:F.height,size:w.size}),r()},F.onerror=()=>{h.push({id:V(),name:w.name,url:Y.result,folder:"",w:0,ht:0,size:w.size}),r()},F.src=Y.result},Y.onerror=r,Y.readAsDataURL(w)})}finishUpload(a){const o=a.concat(this.state.assets);this.setState({assets:o,libHot:!1},()=>{this.storageProvider||this.persist(null,o)}),this.flash(a.length===1?this.t("toast.fileUploadedOne"):this.t("toast.fileUploadedMany",{count:a.length}))}async removeAsset(a){const o=this.storageProvider;if(o&&o.remove)try{await o.remove(a)}catch(h){this.flash(this.t("storage.errDeleteFailed",{name:a.name,reason:h&&h.message||""}));return}const s=this.state.assets.filter(h=>h.id!==a.id);this.setState({assets:s},()=>{o||this.persist(null,s)}),this.flash(this.t("toast.assetDeleted",{name:a.name}))}useAsset(a){const o=this.state.assetTarget;if(o)this.setProp(o.id||o,o.key||"src",a.url),this.setState({libraryOpen:!1,assetTarget:null}),this.flash(this.t("toast.imageReplaced"));else{const s=Z("image");s.props.src=a.url,s.props.alt=a.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," ");const h=this.selObj();this.commit(r=>{h.row&&this.state.mode==="rows"?this.find(r,h.row.id).row.cols[h.ci||0].blocks.push(s):r.rows.push(N([100],[s]))}),this.setState({libraryOpen:!1,sel:{type:"block",id:s.id},tab:"design"}),this.flash(this.t("toast.imageAdded"))}}buildHtml(){return u(this.state,this.exportRoot,f)}importHtml(a){const{rows:o,theme:s}=we(a);return this.docSetByHost=!0,this.commit(h=>{h.rows=o,Object.assign(h.theme,s)}),o.length}boxFields(){const a=this.selObj();if(!a.block)return[];const o=a.block,s=d(()=>this.find(this.state.doc,o.id).block.props,(h,r)=>this.setProp(o.id,h,r),this);return p([s.head("Box & border"),s.color("Background color","bBg"),s.range("Border thickness","bBorder",0,20,1,"px"),...o.props.bBorder?[s.sel("Border style","bStyle",pe),s.color("Border color","bLine"),s.tog("Top border","bTop",!0),s.tog("Right border","bRight",!0),s.tog("Bottom border","bBottom",!0),s.tog("Left border","bLeft",!0)]:[],s.range("Rounded corners","bRadius",0,100,1,"px"),s.range("Space inside","bPad",0,100,2,"px")])}fields(){if(!this.state.sel)return[];const o=this.selObj(),s=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];if(o.block){const h=o.block,r=d(()=>this.find(this.state.doc,h.id).block.props,(F,Q)=>this.setProp(h.id,F,Q),this),w=[],Y=[r.head("Spacing"),t(null,[r.range("Above & below","py",0,160,2,"px"),r.range("Left & right","px",0,120,2,"px")])];switch(h.type){case"text":return p(w.concat(/<a(?:\s|>)/i.test(String(h.props.html||""))?[{kind:"richLinks",label:"Links",html:h.props.html||"",onChange:F=>this.setProp(h.id,"html",F)}]:[],[r.area("Text","html"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Text size","size",8,96,1,"px"),r.range("Line spacing","lh",.8,3,.05,""),r.seg("Align","align",s),r.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"700",label:"Bold"}]),r.color("Text color","color")],Y));case"image":return p(w.concat([r.btn("Choose from library",()=>this.openLibrary({id:h.id,key:"src"})),r.text("Alt text","alt","Describe the image"),r.text("Link URL","href","https://"),r.range("Width","width",5,100,1,"%"),r.seg("Align","align",s),r.range("Rounded corners","radius",0,200,1,"px")],Y));case"button":return p(w.concat([r.text("Label","label"),r.text("Link URL","href","https://"),r.color("Button color","bg"),r.color("Text color","color"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Text size","size",8,48,1,"px"),r.range("Rounded corners","radius",0,60,1,"px"),r.range("Outline thickness","borderW",0,6,1,"px")].concat(h.props.borderW?[r.sel("Outline style","borderStyle",pe),r.color("Outline color","borderColor")]:[]).concat([r.range("Button height","py",0,60,1,"px"),r.range("Button width","px",0,120,2,"px"),r.seg("Align","align",s),r.tog("Full width","full")])));case"divider":return p(w.concat([r.range("Thickness","thickness",1,20,1,"px"),r.sel("Line style","lineStyle",pe),r.range("Width","width",5,100,5,"%"),r.color("Color","color"),r.range("Space above & below","py",0,160,2,"px")]));case"spacer":return p(w.concat([r.range("Height","height",0,400,2,"px")]));case"condition":return p(w.concat(h.props.end?[r.head("End of condition — drag it to move the boundary")]:[r.text("Show only if","expr","e.g. is_premium",this.vars())]));case"loop":return p(w.concat(h.props.end?[r.head("End of loop — drag it to move the boundary")]:[r.text("Repeat for each","expr","e.g. order.items",this.vars())]));case"social":return p(w.concat([{kind:"social",label:"Networks",value:h.props.items||"",onChange:F=>this.setProp(h.id,"items",F)},r.seg("Icon palette","palette",[{value:"custom",label:"Custom"},{value:"brand",label:"Brand"}]),r.seg("Icon shape","shape",[{value:"outline",label:"Outline"},{value:"bare",label:"Bare"},{value:"circle",label:"Circle"},{value:"square",label:"Square"}]),r.tog("Show network names","showLabel"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.seg("Align","align",s),r.range("Icon size","size",10,64,1,"px"),r.range("Space between icons","gap",0,80,2,"px"),r.color("Icon color","color")]));case"video":return p(w.concat([r.btn("Choose thumbnail",()=>this.openLibrary({id:h.id,key:"src"})),r.text("Video URL","href","https://"),r.text("Caption","caption"),r.color("Badge color","badge")]));case"html":return p(w.concat([r.area("Raw HTML","code")]));case"countdown":return p(w.concat([r.text("Ends at (YYYY-MM-DDTHH:MM)","target"),r.text("Label","label"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.color("Color","color")]));case"menu":return p(w.concat([r.area("Items — one per line as Label|URL","items"),r.seg("Align","align",s),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Text size","size",8,32,1,"px"),r.range("Space between items","gap",0,80,2,"px"),r.color("Text color","color")]));case"heading":return p(w.concat([r.area("Text","text"),r.sel("Heading level","level",[{value:"h1",label:"H1 — largest"},{value:"h2",label:"H2"},{value:"h3",label:"H3"},{value:"h4",label:"H4 — smallest"}]),r.seg("Font style","font",[{value:"condensed",label:"Condensed"},{value:"body",label:"Body"}]),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Text size","size",12,120,1,"px"),r.range("Line spacing","lh",.8,2.2,.02,""),r.seg("Align","align",s),r.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"}]),r.color("Text color","color")],Y));case"list":return p(w.concat([r.area("Items — one per line","items"),r.tog("Numbered","ordered"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Text size","size",8,48,1,"px"),r.range("Line spacing","lh",.8,3,.05,""),r.range("Space between items","gap",0,60,1,"px"),r.color("Text color","color")],Y));case"table":return p(w.concat([{kind:"tablegrid",label:"Cells",value:h.props.data||"",header:!!h.props.header,onChange:F=>this.setProp(h.id,"data",F)},r.tog("Header row","header"),r.tog("Cell borders","borders"),...h.props.borders?[r.range("Border thickness","borderWidth",1,10,1,"px"),r.sel("Border style","borderStyle",pe)]:[],r.tog("Zebra stripes","striped"),r.sel("Font","fontFamily",this.fontOptions(!0)),r.range("Space in cells","pad",0,50,1,"px"),r.range("Text size","size",8,32,1,"px"),r.range("Width","width",10,100,5,"%"),r.color("Header color","headBg"),r.color("Line color","lineColor"),r.seg("Align","align",s)]));case"embed":return p(w.concat([r.text("Embed URL","src","https://"),r.range("Height","height",40,1200,10,"px"),r.text("Accessible label","label"),r.range("Padding","py",0,120,2,"px")]));case"css":return p(w.concat([r.area("CSS","code"),r.text("Note to yourself","note")]));case"box":return p(w.concat([r.area("Content (HTML allowed)","html"),r.color("Background color","bg"),r.btn("Choose background image",()=>this.openLibrary({id:h.id,key:"bgImage"})),r.text("Background image URL","bgImage","https://"),r.range("Space inside","pad",0,160,2,"px"),r.range("Border thickness","border",0,20,1,"px")].concat(h.props.border?[r.sel("Border style","borderStyle",pe),r.color("Border color","lineColor"),r.tog("Top border","topBorder",!0),r.tog("Right border","rightBorder",!0),r.tog("Bottom border","bottomBorder",!0),r.tog("Left border","leftBorder",!0)]:[]).concat([r.range("Rounded corners","radius",0,200,1,"px"),r.range("Min height","minH",0,1200,10,"px"),r.range("Max width","maxW",10,100,5,"%"),r.seg("Align","align",s),r.tog("Drop shadow","shadow")])));case"svg":return p(w.concat([r.area("SVG markup","code"),r.seg("Align","align",s),r.range("Width","width",5,100,5,"%"),r.range("Padding","py",0,120,2,"px")]));case"codeblock":return p(w.concat([r.area("Code","code"),r.color("Background","bg"),r.color("Text color","color"),r.range("Size","size",8,32,.5,"px"),r.range("Padding","pad",0,80,2,"px")]));default:return[]}}if(o.row){const h=o.row,r=h.props,w=d(()=>this.find(this.state.doc,h.id).row.props,(ie,me)=>this.setProp(h.id,ie,me),this),Y=O.findIndex(ie=>ie.spans.length===h.cols.length&&ie.spans.join()===h.cols.map(me=>me.span).join()),F=!!this.state.advancedOpen,Q=(ie,me,b)=>({kind:"toggle",label:ie,on:!!me,onChange:b});return p([{kind:"select",label:"Columns",value:String(Y>-1?Y:0),options:O.map((ie,me)=>({value:String(me),label:ie.label})),onChange:ie=>{const me=O[Number(ie)].spans;this.commit(b=>{const l=this.find(b,h.id).row,B=l.cols.slice();l.cols=me.map((W,X)=>Object.assign({},B[X]||{},{id:B[X]&&B[X].id||V(),span:W,blocks:B[X]&&B[X].blocks||[]}));const U=B.slice(me.length).reduce((W,X)=>W.concat(X.blocks),[]);U.length&&(l.cols[l.cols.length-1].blocks=l.cols[l.cols.length-1].blocks.concat(U))})}},...h.cols.length>1?[w.range("Space between columns","gap",0,120,2,"px"),w.tog("Stack columns on mobile","stackMobile")]:[],...h.cols.length>1?h.cols.reduce((ie,me,b)=>{const l=d(()=>this.find(this.state.doc,h.id).row.cols[b],(B,U)=>this.setColProp(h.id,b,B,U),this);return ie.concat([w.head("Column "+(b+1)),l.color("Background color","bg"),l.range("Border thickness","border",0,20,1,"px"),...me.border?[l.sel("Border style","borderStyle",pe),l.color("Border color","lineColor")]:[],l.range("Rounded corners","radius",0,100,1,"px"),t("Space inside",[l.range("Top & bottom","padY",0,100,2,"px"),l.range("Left & right","padX",0,100,2,"px")])])},[]):[],w.head("Background"),w.color("Background color","bg"),w.btn(r.bgImage?"Change background image":"Add background image",()=>this.openLibrary({id:h.id,key:"bgImage"})),...r.bgImage?[w.btn("Remove background image",()=>this.setProp(h.id,"bgImage","")),w.sel("Image fit","bgSize",[{value:"cover",label:"Fill the section"},{value:"contain",label:"Fit inside"},{value:"auto",label:"Actual size"}]),w.sel("Image position","bgPos",[{value:"center",label:"Center"},{value:"top",label:"Top"},{value:"bottom",label:"Bottom"},{value:"left",label:"Left"},{value:"right",label:"Right"}]),w.range("Darken image","overlay",0,100,1,"%")]:[],w.head("Border & corners"),w.range("Border thickness","border",0,20,1,"px"),w.sel("Border style","borderStyle",pe),...r.border?[w.color("Border color","lineColor"),w.tog("Top border","bTop",!0),w.tog("Right border","bRight",!0),w.tog("Bottom border","bBottom",!0),w.tog("Left border","bLeft",!0)]:[],w.range("Rounded corners","radius",0,200,1,"px"),Q("Drop shadow",!!r.shadow,()=>this.setProp(h.id,"shadow",r.shadow?"":"0 1px 2px rgba(15,23,42,0.06), 0 8px 24px rgba(15,23,42,0.10)")),w.head("Spacing"),t("Space inside",r.padSplit?[w.range("Top","pt",0,200,2,"px"),w.range("Right","pr",0,160,2,"px"),w.range("Bottom","pb",0,200,2,"px"),w.range("Left","pl",0,160,2,"px")]:[w.range("Top & bottom","py",0,200,2,"px"),w.range("Left & right","px",0,160,2,"px")],{on:!!r.padSplit,onChange:()=>this.togglePadSplit(h.id)}),t("Space outside",[w.range("Top","mt",0,160,2,"px"),w.range("Right","mr",0,160,2,"px"),w.range("Bottom","mb",0,160,2,"px"),w.range("Left","ml",0,160,2,"px")]),Q("Advanced options",F,()=>this.setState({advancedOpen:!this.state.advancedOpen})),...F?[w.head("Advanced"),w.seg("Layout engine","layout",[{value:"columns",label:"Columns"},{value:"flex",label:"Flex"},{value:"grid",label:"Grid"}]),...r.layout==="flex"?[w.sel("Flex direction","flexDir",[{value:"row",label:"Row"},{value:"row-reverse",label:"Row reverse"},{value:"column",label:"Column"},{value:"column-reverse",label:"Column reverse"}]),w.sel("Justify content","justify",[{value:"flex-start",label:"Start"},{value:"center",label:"Center"},{value:"flex-end",label:"End"},{value:"space-between",label:"Space between"},{value:"space-around",label:"Space around"}]),w.sel("Align items","alignItems",[{value:"stretch",label:"Stretch"},{value:"flex-start",label:"Start"},{value:"center",label:"Center"},{value:"flex-end",label:"End"}]),w.tog("Wrap flex items","wrap")]:[],...r.layout==="grid"?[w.range("Grid columns","gridCols",1,12,1,"")]:[],w.text("Background image URL","bgImage","https://"),w.sel("Image repeat","bgRepeat",[{value:"no-repeat",label:"No repeat"},{value:"repeat",label:"Tile"},{value:"repeat-x",label:"Tile across"}]),w.range("Max width","maxW",10,100,5,"%"),w.seg("Vertical align","valign",[{value:"top",label:"Top"},{value:"middle",label:"Middle"},{value:"bottom",label:"Bottom"}])]:[]])}return[]}fontOptions(a){const o=[{value:'"Helvetica Neue", Helvetica, Arial, sans-serif',label:"Helvetica Neue"},{value:"Helvetica, Arial, sans-serif",label:"Helvetica / Arial"},{value:'-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',label:"System UI"},{value:"Verdana, Geneva, sans-serif",label:"Verdana"},{value:"Tahoma, Geneva, sans-serif",label:"Tahoma"},{value:'"Trebuchet MS", Helvetica, sans-serif',label:"Trebuchet MS"},{value:'Georgia, "Times New Roman", serif',label:"Georgia"},{value:'"Times New Roman", Times, serif',label:"Times New Roman"},{value:'"Palatino Linotype", Palatino, Georgia, serif',label:"Palatino"},{value:'ui-monospace, "Courier New", monospace',label:"Monospace"}];return a?[{value:"",label:"Inherit — theme font"}].concat(o):o}themeFields(){const a=d(()=>this.state.doc.theme,(o,s)=>this.setTheme(o,s),this);return p([a.head("Canvas"),a.slider("Content area width","width",280,900,5,"px"),a.color("Page background color","bg",{transparent:!0,solid:"#eef2f7"}),t("Space around content",[a.range("Top & bottom","padY",0,120,2,"px"),a.range("Sides","padX",0,120,2,"px")]),a.head("Content area"),a.color("Content area background color","contentBg",{transparent:!0,solid:"#ffffff"}),a.range("Corner radius","radius",0,48,1,"px"),a.head("Type & color"),a.sel("Default font","font",this.fontOptions(!1)),a.color("Text color","text"),a.color("Link color","link")])}vars(){return x(this.variablesRaw)}insertSnippet(a,o){const s=this.selObj(),h=s.block?P[s.block.type]:null;h?(this.setProp(s.block.id,h,(s.block.props[h]||"")+(h==="items"||h==="data"?`
|
|
15
|
+
`:" ")+a),this.flash(this.t("toast.snippetInserted",{name:o||this.t("toast.snippetDefaultLabel")}))):(navigator.clipboard&&navigator.clipboard.writeText(a),this.flash(this.t("toast.snippetCopied",{name:o||this.t("toast.snippetDefaultLabel")})))}insertTag(a){this.insertSnippet(M(a),M(a))}loadDoc(a){const o=I(a);o&&(this.docSetByHost=!0,this.setState({doc:o,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(o)))}}Object.assign(K,{AI_GOALS:i,AI_TONES:m,AI_GOAL_VALUES:H,EditorCore:E})},re["core/export.js"]=function(se,K,z){const{cssUrl:V}=z("core/sanitize.js"),{rowBorderCss:Z,rowMargin:ae,rowPad:N}=z("core/layout-style.js"),k={condition:"{{#if ",loop:"{{#each "},O={condition:"{{/if}}",loop:"{{/each}}"};function n(d){const p=C=>String(C||"").replace(/[<>]/g,"").trim(),t=new Map,g=[];d.rows.forEach(C=>C.cols.forEach(S=>S.blocks.forEach(j=>{if(!(j.type!=="condition"&&j.type!=="loop"))if(j.props.end)g[g.length-1]===j.type?(g.pop(),t.set(j.id,O[j.type])):t.set(j.id,"");else{const G=p(j.props.expr);t.set(j.id,G?k[j.type]+G+"}}":""),G&&g.push(j.type)}})));const v=g.reverse().map(C=>O[C]).join(`
|
|
16
|
+
`);return{emit:t,tail:v}}function I(d){const p=S=>String(S).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t=(S,j,G)=>{const A=S==="each"?"#7c3aed":"#0e7490",D=G?S==="each"?"END LOOP":"END IF":S==="each"?"REPEAT EACH":"SHOW IF";return'<span style="display:inline-flex;align-items:center;gap:7px;box-sizing:border-box;border:1.5px dashed '+A+";border-radius:7px;background:"+A+"14;padding:4px 10px;margin:2px 0;color:"+A+';font-family:ui-monospace,monospace;font-size:9.5px;font-weight:700;letter-spacing:0.12em;">'+(G?"⏶ ":"⏷ ")+D+(j?' <span style="font-weight:400;font-size:11px;letter-spacing:0;">{{ '+p(j)+" }}</span>":"")+"</span>"},g=(S,j,G)=>'<tr><td colspan="99" style="padding:2px 8px;">'+t(S,j,G)+"</td></tr>";let v=String(d||"");const C=S=>{const j=S.match(/^#(if|each)\s+(.+)$/);return j?[j[1],j[2].trim(),!1]:[S.slice(1),"",!0]};for(let S=0;S<6;S++){const j=v;if(v=v.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(G,A)=>g(...C(A))),v=v.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(G,A,D)=>A+g(...C(D))),v===j)break}return v=v.replace(/\{\{#(if|each)\s+([^{}]+?)\s*\}\}/gi,(S,j,G)=>t(j.toLowerCase(),G,!1)),v=v.replace(/\{\{\/(if|each)\s*\}\}/gi,(S,j)=>t(j.toLowerCase(),"",!0)),v}function T(d,p,t){const g=d.doc,v=g.theme,C=n(g),S=e=>{const u=p.querySelector('[data-mc-content="'+e+'"]');return u?u.outerHTML.replace(/\scontenteditable="[^"]*"/g,"").replace(/\sdata-mc-[a-z-]+="[^"]*"/g,"").replace(/\sspellcheck="[^"]*"/g,"").replace(/\sdata-(?:gramm|gramm_editor|enable-grammarly|lt-active)="[^"]*"/g,"").replace(/\sdraggable="[^"]*"/g,""):""},j=g.rows.map(e=>{const u=e.props,y=e.cols.reduce((R,q)=>R.concat(q.blocks),[]);if(y.length&&y.every(R=>R.type==="condition"||R.type==="loop"))return y.map(R=>C.emit.get(R.id)||"").filter(Boolean).map(R=>" "+R).join(`
|
|
17
|
+
`);const f=R=>R.blocks.map(q=>q.type==="css"?"<style>"+(q.props.code||"")+"</style>":q.type==="html"?q.props.code||"":q.type==="svg"?'<div style="text-align:'+q.props.align+";padding:"+q.props.py+'px 0">'+(q.props.code||"")+"</div>":q.type==="condition"||q.type==="loop"?C.emit.get(q.id)||"":'<div style="'+t(q.props)+'">'+S(q.id)+"</div>").filter(Boolean).join(`
|
|
18
|
+
`)||" ",x=e.cols.map(R=>{const q=R.bg||R.border||R.radius||R.padY||R.padX?'<div style="background:'+(R.bg||"transparent")+";"+(R.border?"border:"+R.border+"px "+(R.borderStyle||"solid")+" "+(R.lineColor||"#e2e2e5")+";":"")+"border-radius:"+(R.radius||0)+"px;padding:"+(R.padY||0)+"px "+(R.padX||0)+`px">
|
|
19
19
|
`+f(R)+`
|
|
20
|
-
</div>`:f(R);return'<td width="'+R.span+'%" valign="'+
|
|
21
|
-
`+
|
|
20
|
+
</div>`:f(R);return'<td width="'+R.span+'%" valign="'+u.valign+'" style="padding:0 '+Math.round(u.gap/2)+`px;">
|
|
21
|
+
`+q+`
|
|
22
22
|
</td>`}).join(`
|
|
23
|
-
`),
|
|
23
|
+
`),M=u.layout==="grid"?'<div style="display:grid;grid-template-columns:repeat('+(u.gridCols||2)+",minmax(0,1fr));gap:"+u.gap+`px">
|
|
24
24
|
`+e.cols.map(R=>"<div>"+f(R)+"</div>").join(`
|
|
25
25
|
`)+`
|
|
26
|
-
</div>`:'<div style="display:flex;flex-direction:'+(
|
|
26
|
+
</div>`:'<div style="display:flex;flex-direction:'+(u.flexDir||"row")+";justify-content:"+(u.justify||"flex-start")+";align-items:"+(u.alignItems||"stretch")+";flex-wrap:"+(u.wrap?"wrap":"nowrap")+";gap:"+u.gap+`px">
|
|
27
27
|
`+e.cols.map(R=>'<div style="flex:'+R.span+' 1 auto;min-width:0">'+f(R)+"</div>").join(`
|
|
28
28
|
`)+`
|
|
29
|
-
</div>`,
|
|
30
|
-
`+
|
|
31
|
-
</tr></table
|
|
32
|
-
<td style="padding:`+
|
|
33
|
-
`+
|
|
29
|
+
</div>`,P=u.layout&&u.layout!=="columns"?M:`<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
30
|
+
`+x+`
|
|
31
|
+
</tr></table>`,$=u.bgImage?"background-color:"+(u.bg||v.contentBg||"transparent")+";background-image:"+(u.overlay?"linear-gradient(rgba(20,22,24,"+u.overlay/100+"),rgba(20,22,24,"+u.overlay/100+")),":"")+"url(""+V(u.bgImage)+"");background-size:"+(u.bgSize||"cover")+";background-position:"+(u.bgPos||"center")+";background-repeat:"+(u.bgRepeat||"no-repeat")+";":"background:"+(u.bg||v.contentBg||"transparent")+";",ee=Z(u)+(u.radius?"border-radius:"+u.radius+"px;":"")+(u.shadow?"box-shadow:"+u.shadow+";":"")+(u.mt||u.mr||u.mb||u.ml||u.my?"margin:"+ae(u)+";":"");return` <tr>
|
|
32
|
+
<td style="padding:`+N(u)+";"+$+ee+`">
|
|
33
|
+
`+P+`
|
|
34
34
|
</td>
|
|
35
35
|
</tr>`}).join(`
|
|
36
|
-
`)+(
|
|
37
|
-
`+
|
|
36
|
+
`)+(C.tail?`
|
|
37
|
+
`+C.tail:""),G=v.bg||"transparent",A=v.padY||v.padX?(v.padY||0)+"px "+(v.padX||0)+"px":"0",D=v.radius?"border-radius:"+v.radius+"px;overflow:hidden;":"";return`<!doctype html>
|
|
38
38
|
<html lang="en">
|
|
39
39
|
<head>
|
|
40
40
|
<meta charset="utf-8">
|
|
@@ -42,23 +42,23 @@ Studio|$99|25`,header:!0,borders:!0,borderWidth:1,borderStyle:"solid",striped:!0
|
|
|
42
42
|
<meta name="color-scheme" content="light dark">
|
|
43
43
|
<title>Email</title>
|
|
44
44
|
</head>
|
|
45
|
-
<body style="margin:0;padding:0;background
|
|
46
|
-
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="background
|
|
47
|
-
<tr><td align="center" style="padding:`+
|
|
45
|
+
<body style="margin:0;padding:0;background:`+G+";font-family:"+v.font.replace(/"/g,"'")+";color:"+v.text+`;-webkit-font-smoothing:antialiased;">
|
|
46
|
+
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="background:`+G+`;">
|
|
47
|
+
<tr><td align="center" style="padding:`+A+`;">
|
|
48
48
|
<table role="presentation" width="`+v.width+'" cellpadding="0" cellspacing="0" border="0" style="width:'+v.width+"px;max-width:100%;background:"+(v.contentBg||"transparent")+";"+D+`">
|
|
49
|
-
`+
|
|
49
|
+
`+j+`
|
|
50
50
|
</table>
|
|
51
51
|
</td></tr>
|
|
52
52
|
</table>
|
|
53
53
|
</body>
|
|
54
|
-
</html>`}Object.assign(V,{decorateLogicTags:N,buildHtml:z})},re["core/footer.js"]=function(ne,V,A){const W=["none","hidden","off","false"];function q(K){const k=String(K??"").trim();if(!k)return"";const O=k.match(/^([a-z][a-z0-9+.-]*):/i);return O&&!/^(https?|mailto)$/i.test(O[1])?"":k}function ie(K){if(K===!1)return null;if(K==null)return{text:null,href:"",target:""};if(typeof K=="string"){const k=K.trim();return W.indexOf(k.toLowerCase())>=0?null:{text:k||null,href:"",target:""}}return typeof K=="object"?K.show===!1?null:{text:K.text==null?null:String(K.text),href:q(K.href),target:K.target?String(K.target):""}:{text:null,href:"",target:""}}Object.assign(V,{resolveFooter:ie})},re["core/i18n/ar.js"]=function(ne,V,A){Object.assign(V,{AR:{"action.undoHint":"تراجع — ⌘Z","action.redoHint":"إعادة — ⌘⇧Z","action.chromeToDark":"داكن","action.chromeToLight":"فاتح","action.chromeHint":"وضع المحرر فاتح / داكن","action.chromeHintToDark":"الوضع الداكن","action.chromeHintToLight":"الوضع الفاتح","action.aiDraft":"مسودة","action.aiDraftHint":"صياغة محتوى البريد بالذكاء الاصطناعي","action.code":"الكود","action.codeHint":"تحرير HTML الخام مع معاينة مباشرة","action.preview":"معاينة","action.previewHint":"معاينة البريد","action.export":"تصدير","action.exportHint":"تصدير بريدك","device.desktop":"سطح المكتب","device.desktopHint":"عرض سطح المكتب","device.mobile":"الجوال","device.mobileHint":"عرض الجوال","status.autosaveOn":"الحفظ التلقائي مفعّل","status.saved":"تم الحفظ {time}","status.saveFailed":"لم يتم الحفظ — التخزين ممتلئ","canvas.meta":"{rows} صفوف · {blocks} كتل · {width}px","tab.design":"النمط","tab.designHint":"تنسيق العنصر المحدد","tab.blocks":"الكتل","tab.blocksHint":"كتل المحتوى والمتغيرات","tab.rows":"الأقسام","tab.rowsHint":"تخطيطات الأقسام ونموذج اللوحة","tab.files":"الملفات","tab.filesHint":"مكتبة الأصول","tab.layers":"البنية","tab.layersHint":"بنية المستند","tab.settings":"الإعدادات","tab.settingsHint":"إعدادات البريد","tab.data":"المتغيرات","tab.dataHint":"المتغيرات المقدَّمة من برنامجك","inspector.blockProperties":"خصائص الكتلة","inspector.sectionProperties":"خصائص القسم","inspector.title":"المفتش","inspector.sectionLabel":"قسم","inspector.nothingSelected":"لا يوجد تحديد","action.duplicateHint":"مضاعفة — ⌘D","action.deleteHint":"حذف — ⌫","inspector.emptyBody":'اختر صفًا أو كتلة على اللوحة لتنسيقه هنا. اسحب الكتل من تبويب <strong style="color: var(--ed-text); font-weight: 600;">الكتل</strong>؛ انقر نقرًا مزدوجًا على أي نص لتحريره في مكانه.',"inspector.shortcuts":"الاختصارات","shortcut.undoRedo":"⌘Z / ⌘⇧Z — تراجع، إعادة","shortcut.duplicate":"⌘D — مضاعفة التحديد","shortcut.delete":"⌫ — حذف التحديد","shortcut.export":"⌘E — تصدير HTML","shortcut.escape":"ESC — إلغاء التحديد، إغلاق","blocks.dragHint":"اسحب إلى اللوحة","blocks.count":"{count} كتلة","rows.sectionLayouts":"تخطيطات الأقسام","rows.customMarkup":"ترميز مخصص","rows.htmlRowHint":"اسحب لإدراجه، أو انقر للإضافة — صف بعرض كامل تملأه بـ HTML خام","rows.rawHtmlSection":"قسم HTML خام","rows.rawHtmlDesc":"قسم بعرض كامل، ترميزك الخاص، وقابل للسحب أيضًا","rows.canvasModel":"نموذج اللوحة","rows.modeRowBased":"قائم على الصفوف","rows.modeFreeStack":"تكديس حر","rows.hintRows":"قائم على الأقسام: أسقط تخطيطًا أولًا، ثم أسقط الكتل داخل أعمدته — كل قسم يحمل خلفيته وحدوده وإعدادات flex أو grid الخاصة به.","rows.hintStack":"تكديس حر: بدون تخطيطات — كل كتلة تسحبها تصبح قسمًا مستقلًا بعرض كامل، مرتبة بالتسلسل.","files.libraryCount":"المكتبة — {count} ملفات","files.openManager":"فتح مدير الملفات","files.dragToCanvas":"اسحب أي ملف مباشرة إلى اللوحة لوضعه كصورة.","layers.structure":"البنية","layers.sectionSingle":"قسم","layers.sectionMulti":"قسم · {count} أعمدة","layers.column":"العمود {index}","layers.blockCount":"{count} كتلة","vars.title":"المتغيرات","vars.fromCode":"{count} من برنامجك","vars.declaredNote":"مُعرَّفة من قِبل تطبيقك — تعرض اللوحة دائمًا الرمز، وليس القيمة أبدًا.","vars.filterPlaceholder":"تصفية المتغيرات…","vars.insertHint":"انقر للإدراج في النص أو العنوان أو الزر المحدد","vars.insert":"إدراج","vars.noMatch":"لا يوجد متغير يطابق هذا الفلتر.","vars.noneDeclared":"لم يُعرِّف تطبيقك أي متغيرات بعد.","vars.rteHint":"أثناء تحرير النص يمكنك أيضًا اختيار متغير من القائمة المنسدلة في شريط الأدوات المضمّن.","modal.fileManager":"مدير الملفات","modal.assetsTitle":"الأصول","modal.replaceImage":"استبدال الصورة","library.searchPlaceholder":"بحث في الملفات…","action.upload":"رفع","library.clickToPlace":"انقر على ملف لوضعه · أو اسحب ملفًا إلى اللوحة","library.clickToReplace":"انقر على ملف لاستبدال الصورة المحددة","library.storageLabel":"{count} ملفات · {size}","library.folders":"المجلدات","library.dropHint":"أسقط ملفات الصور هنا للرفع — أو استخدم زر الرفع.","library.deleteFileHint":"حذف الملف","library.del":"حذف","toast.assetDeleted":"تم حذف {name}","library.allFiles":"كل الملفات","library.loadMore":"تحميل المزيد","library.empty":"لا توجد ملفات هنا بعد.","storage.loading":"جارٍ تحميل الملفات…","storage.uploading":"جارٍ رفع {count}…","storage.errLoadFailed":"تعذّر تحميل مكتبة الملفات — {reason}","storage.errNoLimits":"الرفع معطّل: لم يحدّد هذا التطبيق أي حدود للرفع.","storage.errNoMaxBytes":"الرفع معطّل: لم يُحدَّد حد أقصى لحجم الملف.","storage.errTooLarge":"حجم {name} هو {size} — والحد هو {max}.","storage.errFormat":"{name} ملف من نوع {type}، وهو غير مسموح به هنا.","storage.errSvg":"{name} ملف SVG، وهذا التطبيق لا يقبله.","storage.errDimensions":"أبعاد {name} هي {w}×{ht}px — والحد هو {maxW}×{maxH}px.","storage.errTooMany":"يمكن رفع {max} ملفات فقط في المرة الواحدة.","storage.errUnreadable":"{name} ليس صورة قابلة للقراءة.","storage.errUploadFailed":"تعذّر رفع {name} — {reason}","storage.errDeleteFailed":"تعذّر حذف {name} — {reason}","modal.export":"تصدير","modal.exportTitle":"HTML بريد إلكتروني قائم على الجداول","export.copy":"نسخ","export.copied":"تم النسخ","action.download":"تنزيل","export.meta":"{kb} كيلوبايت · جداول + أنماط مضمّنة · عروض آمنة لـ Outlook","modal.rawHtmlTitle":"HTML خام، معاينة مباشرة","code.statusEdited":"عرض الكود — مُعدَّل — المعاينة مباشرة، لم يُطبَّق بعد","code.statusSynced":"عرض الكود — متزامن مع اللوحة","action.reload":"إعادة تحميل","action.reloadHint":"إعادة تحميل المصدر من اللوحة","action.applyToCanvas":"تطبيق على اللوحة","action.applyToCanvasHint":"تحليل المصدر مرة أخرى إلى صفوف قابلة للتحرير","action.closeWithoutApplyingHint":"إغلاق دون تطبيق","code.source":"المصدر","code.livePreview":"معاينة مباشرة","code.liveHtmlPreviewTitle":"معاينة HTML مباشرة","code.applyNote":"يحلّل زر التطبيق كل صف جدول من المستوى الأعلى إلى صف لوحة يمكنك تحديده وإعادة ترتيبه وحذفه — الترميز المكتوب يدويًا يبقى سليمًا.","code.meta":"{kb} كيلوبايت · {lines} أسطر","toast.sourceReloaded":"تمت إعادة تحميل المصدر من اللوحة","toast.sourceAppliedOne":"تم تطبيق المصدر — صف واحد على اللوحة","toast.sourceAppliedMany":"تم تطبيق المصدر — {rows} صفوف على اللوحة","toast.parseError":"تعذّر تحليل ذلك الـ HTML","modal.aiDraft":"مساعد الكتابة بالذكاء الاصطناعي","modal.aiDraftTitle":"اكتب مسودة بريدك بالذكاء الاصطناعي","ai.disclosure":"ينشئ الذكاء الاصطناعي اقتراحات من موجزك. راجع النتيجة وحرّرها قبل الإرسال.","ai.goal":"الهدف","ai.tone":"الأسلوب","ai.briefLabel":"ما موضوع هذا البريد الإلكتروني؟","ai.briefPlaceholder":"مثال: إطلاق ملابس الخريف، خصم 15% للمشتركين، شحن مجاني فوق 150$","ai.generate":"إنشاء النص","ai.writing":"جارٍ الكتابة…","ai.kindHeadline":"عنوان رئيسي","ai.kindBody":"نص أساسي","ai.kindButton":"نص الزر","ai.actionInsertHeading":"إدراج كعنوان","ai.actionInsertText":"إدراج ككتلة نصية","ai.actionInsertButton":"إدراج كزر","toast.headingAdded":"تمت إضافة العنوان","toast.textBlockAdded":"تمت إضافة الكتلة النصية","toast.buttonAdded":"تمت إضافة الزر","preview.kickerMobile":"معاينة — جوال 375px","preview.kickerDesktop":"معاينة — سطح مكتب {width}px","action.close":"إغلاق","toast.duplicated":"تمت المضاعفة","toast.fileUploadedOne":"تم رفع ملف واحد","toast.fileUploadedMany":"تم رفع {count} ملفات","toast.imageReplaced":"تم استبدال الصورة","toast.imageAdded":"تمت إضافة الصورة إلى اللوحة","toast.htmlCopied":"تم نسخ HTML إلى الحافظة","toast.templateLoaded":"تم تحميل {name}","toast.snippetDefaultLabel":"مقتطف","toast.snippetInserted":"تم إدراج {name}","toast.snippetCopied":"تم نسخ {name} — حدد كتلة نصية لإدراجه","rte.textStyle":"نمط النص","rte.mergeTags":"حقول الدمج","rte.noMergeTags":"لا توجد حقول دمج متاحة","rte.textColor":"لون النص","rte.highlightColor":"لون التمييز","rte.removeHighlight":"إزالة التمييز","rte.clearFormatting":"مسح التنسيق","action.downloadPng":"تنزيل PNG","action.screenshot":"لقطة شاشة","action.screenshotHint":"معاينة القالب كاملاً كصورة، ثم تنزيله","toast.pngSaved":"تم تنزيل لقطة الشاشة","toast.pngFailed":"فشلت لقطة الشاشة — تعذّر تحميل صورة خارجية","toast.pngCopied":"تم نسخ لقطة الشاشة إلى الحافظة","toast.pngCopyFailed":"لم يقبل هذا المتصفح نسخ صورة إلى الحافظة","story.kicker":"لقطة شاشة","story.rendering":"جارٍ إنشاء لقطة الشاشة","story.renderingHint":"يجري رسم كل كتلة بدقة 2× — يستغرق ذلك لحظة في القوالب الطويلة.","story.failed":"فشلت لقطة الشاشة","story.failedHint":"تعذّر تحميل إحدى صور القالب لالتقاطها.","story.retry":"أعد المحاولة","story.play":"تشغيل","story.pause":"إيقاف مؤقت","story.replay":"إعادة التشغيل","story.copy":"نسخ","story.meta":"{w}×{h} · شاشة {i} من {n}","footer.poweredBy":"مدعوم من SELISE Blocks © 2026"}})},re["core/i18n/bg.js"]=function(ne,V,A){Object.assign(V,{BG:{"action.undoHint":"Отмяна — ⌘Z","action.redoHint":"Повторение — ⌘⇧Z","action.chromeToDark":"Тъмна","action.chromeToLight":"Светла","action.chromeHint":"Тема на редактора светла / тъмна","action.chromeHintToDark":"Тъмен режим","action.chromeHintToLight":"Светъл режим","action.aiDraft":"Чернова","action.aiDraftHint":"Създаване на съдържание с изкуствен интелект","action.code":"Код","action.codeHint":"Редактиране на суров HTML с преглед на живо","action.preview":"Преглед","action.previewHint":"Преглед на имейла","action.export":"Изнасяне","action.exportHint":"Изнасяне на имейла","device.desktop":"Компютър","device.desktopHint":"Ширина за компютър","device.mobile":"Телефон","device.mobileHint":"Ширина за телефон","status.autosaveOn":"автоматичното запазване е включено","status.saved":"запазено {time}","status.saveFailed":"не е запазено — хранилището е пълно","canvas.meta":"{rows} реда · {blocks} блока · {width}px","tab.design":"Стил","tab.designHint":"Стилизиране на избраното","tab.blocks":"Блокове","tab.blocksHint":"Блокове съдържание и променливи","tab.rows":"Секции","tab.rowsHint":"Оформления на секции и модел на платното","tab.files":"Файлове","tab.filesHint":"Библиотека с ресурси","tab.layers":"Структура","tab.layersHint":"Структура на документа","tab.settings":"Настройки","tab.settingsHint":"Настройки на имейла","tab.data":"Промен.","tab.dataHint":"Променливи, предоставени от вашия код","inspector.blockProperties":"Свойства на блока","inspector.sectionProperties":"Свойства на секцията","inspector.title":"Инспектор","inspector.sectionLabel":"Секция","inspector.nothingSelected":"Нищо не е избрано","action.duplicateHint":"Дублиране — ⌘D","action.deleteHint":"Изтриване — ⌫","inspector.emptyBody":'Изберете ред или блок на платното, за да го стилизирате тук. Плъзнете блокове от раздела <strong style="color: var(--ed-text); font-weight: 600;">Блокове</strong>; кликнете два пъти върху текст, за да го редактирате на място.',"inspector.shortcuts":"Клавишни комбинации","shortcut.undoRedo":"⌘Z / ⌘⇧Z — отмяна, повторение","shortcut.duplicate":"⌘D — дублиране на избора","shortcut.delete":"⌫ — изтриване на избора","shortcut.export":"⌘E — изнасяне на HTML","shortcut.escape":"ESC — премахване на избора, затваряне","blocks.dragHint":"Плъзнете върху платното","blocks.count":"{count} блока","rows.sectionLayouts":"Оформления на секции","rows.customMarkup":"Персонализирана маркировка","rows.htmlRowHint":"Плъзнете, за да вмъкнете, или кликнете, за да добавите — ред на цялата ширина, който запълвате със суров HTML","rows.rawHtmlSection":"Секция със суров HTML","rows.rawHtmlDesc":"Секция на цялата ширина, ваша собствена маркировка, все още може да се плъзга","rows.canvasModel":"Модел на платното","rows.modeRowBased":"Базирано на редове","rows.modeFreeStack":"Свободно подреждане","rows.hintRows":"Базирано на секции: първо пуснете оформление, после блокове в неговите колони — всяка секция има собствен фон, рамка, flex или grid настройки.","rows.hintStack":"Свободно подреждане: без оформления — всеки пуснат блок става собствена секция на цялата ширина, подредена по ред.","files.libraryCount":"Библиотека — {count} файла","files.openManager":"Отваряне на файловия мениджър","files.dragToCanvas":"Плъзнете произволен файл директно върху платното, за да го поставите като блок с изображение.","layers.structure":"Структура","layers.sectionSingle":"Секция","layers.sectionMulti":"Секция · {count} колони","layers.column":"Колона {index}","layers.blockCount":"{count} бл.","vars.title":"Променливи","vars.fromCode":"{count} от вашия код","vars.declaredNote":"Декларирани от вашето приложение — платното винаги показва токена, никога стойност.","vars.filterPlaceholder":"Филтриране на променливи…","vars.insertHint":"Кликнете, за да вмъкнете в избрания текст, заглавие или бутон","vars.insert":"вмъкване","vars.noMatch":"Няма променлива, отговаряща на този филтър.","vars.noneDeclared":"Вашето приложение все още не е декларирало променливи.","vars.rteHint":"При редактиране на текст можете да изберете променлива и директно от падащото меню на вградената лента с инструменти.","modal.fileManager":"Файлов мениджър","modal.assetsTitle":"Ресурси","modal.replaceImage":"Замяна на изображение","library.searchPlaceholder":"Търсене на файлове…","action.upload":"Качване","library.clickToPlace":"Кликнете върху файл, за да го поставите · или плъзнете файл върху платното","library.clickToReplace":"Кликнете върху файл, за да замените избраното изображение","library.storageLabel":"{count} файла · {size}","library.folders":"Папки","library.dropHint":"Пуснете файлове с изображения тук за качване — или използвайте бутона Качване.","library.deleteFileHint":"Изтриване на файл","library.del":"ИЗТР","toast.assetDeleted":"{name} изтрит","library.allFiles":"Всички файлове","library.loadMore":"Зареждане на още","library.empty":"Тук още няма файлове.","storage.loading":"Файловете се зареждат…","storage.uploading":"Качване на {count}…","storage.errLoadFailed":"Библиотеката с файлове не можа да се зареди — {reason}","storage.errNoLimits":"Качването е изключено: това приложение не е задало ограничения за качване.","storage.errNoMaxBytes":"Качването е изключено: не е зададен максимален размер на файл.","storage.errTooLarge":"{name} е {size} — ограничението е {max}.","storage.errFormat":"{name} е файл от тип {type}, който не е разрешен тук.","storage.errSvg":"{name} е SVG, който това приложение не приема.","storage.errDimensions":"{name} е {w}×{ht}px — ограничението е {maxW}×{maxH}px.","storage.errTooMany":"Наведнъж могат да се качат само {max} файла.","storage.errUnreadable":"{name} не е четимо изображение.","storage.errUploadFailed":"{name} не можа да бъде качен — {reason}","storage.errDeleteFailed":"{name} не можа да бъде изтрит — {reason}","modal.export":"Изнасяне","modal.exportTitle":"HTML на имейл, базиран на таблици","export.copy":"Копиране","export.copied":"Копирано","action.download":"Изтегляне","export.meta":"{kb} KB · таблици + вградени стилове · ширини, безопасни за Outlook","modal.rawHtmlTitle":"Суров HTML, преглед на живо","code.statusEdited":"Изглед на кода — редактиран — преглед на живо, все още не е приложен","code.statusSynced":"Изглед на кода — синхронизиран с платното","action.reload":"Презареждане","action.reloadHint":"Презареждане на изходния код от платното","action.applyToCanvas":"Приложи върху платното","action.applyToCanvasHint":"Анализиране на изходния код обратно в редактируеми редове","action.closeWithoutApplyingHint":"Затваряне без прилагане","code.source":"Изходен код","code.livePreview":"Преглед на живо","code.liveHtmlPreviewTitle":"Преглед на HTML на живо","code.applyNote":"Прилагането анализира всеки ред на таблица от най-високо ниво в ред на платното, който все още можете да избирате, преподреждате и изтривате — ръчно написаната маркировка преминава непроменена.","code.meta":"{kb} KB · {lines} реда","toast.sourceReloaded":"Изходният код е презареден от платното","toast.sourceAppliedOne":"Изходният код е приложен — 1 ред на платното","toast.sourceAppliedMany":"Изходният код е приложен — {rows} реда на платното","toast.parseError":"Този HTML не можа да бъде анализиран","modal.aiDraft":"Асистент за писане с ИИ","modal.aiDraftTitle":"Напишете имейла си с изкуствен интелект","ai.disclosure":"Изкуственият интелект създава предложения по вашето задание. Прегледайте и редактирайте резултата преди изпращане.","ai.goal":"Цел","ai.tone":"Тон","ai.briefLabel":"За какво е този имейл?","ai.briefPlaceholder":"напр. Есенна колекция, 15% за абонати, безплатна доставка над 150 лв","ai.generate":"Генериране на текст","ai.writing":"Пишем…","ai.kindHeadline":"Заглавие","ai.kindBody":"Основен текст","ai.kindButton":"Текст на бутона","ai.actionInsertHeading":"Вмъкни като заглавие","ai.actionInsertText":"Вмъкни като текстов блок","ai.actionInsertButton":"Вмъкни като бутон","toast.headingAdded":"Заглавието е добавено","toast.textBlockAdded":"Текстовият блок е добавен","toast.buttonAdded":"Бутонът е добавен","preview.kickerMobile":"Преглед — телефон 375px","preview.kickerDesktop":"Преглед — компютър {width}px","action.close":"Затваряне","toast.duplicated":"Дублирано","toast.fileUploadedOne":"Качен е 1 файл","toast.fileUploadedMany":"Качени са {count} файла","toast.imageReplaced":"Изображението е заменено","toast.imageAdded":"Изображението е добавено към платното","toast.htmlCopied":"HTML е копиран в клипборда","toast.templateLoaded":"{name} е зареден","toast.snippetDefaultLabel":"Откъс","toast.snippetInserted":"{name} е вмъкнат","toast.snippetCopied":"{name} е копиран — изберете текстов блок, за да го вмъкнете","rte.textStyle":"Стил на текста","rte.mergeTags":"Полета за сливане","rte.noMergeTags":"Няма налични полета за сливане","rte.textColor":"Цвят на текста","rte.highlightColor":"Цвят на маркиране","rte.removeHighlight":"Премахване на маркирането","rte.clearFormatting":"Изчистване на форматирането","action.downloadPng":"Изтегляне на PNG","action.screenshot":"Екранна снимка","action.screenshotHint":"Прегледайте целия шаблон като изображение и го изтеглете","toast.pngSaved":"Екранната снимка е изтеглена","toast.pngFailed":"Екранната снимка се провали — външно изображение не можа да се зареди","toast.pngCopied":"Екранната снимка е копирана в клипборда","toast.pngCopyFailed":"Този браузър не прие изображение в клипборда","story.kicker":"Екранна снимка","story.rendering":"Екранната снимка се изготвя","story.renderingHint":"Всеки блок се рисува при 2× — при дълъг шаблон отнема момент.","story.failed":"Екранната снимка се провали","story.failedHint":"Изображение в шаблона не можа да се зареди за заснемане.","story.retry":"Опитайте отново","story.play":"Пускане","story.pause":"Пауза","story.replay":"Отначало","story.copy":"Копиране","story.meta":"{w}×{h} · екран {i} от {n}","footer.poweredBy":"С технологията на SELISE Blocks © 2026"}})},re["core/i18n/bn.js"]=function(ne,V,A){Object.assign(V,{BN:{"action.undoHint":"পূর্বাবস্থায় ফেরান — ⌘Z","action.redoHint":"পুনরায় করুন — ⌘⇧Z","action.chromeToDark":"ডার্ক","action.chromeToLight":"লাইট","action.chromeHint":"সম্পাদক থিম লাইট/ডার্ক","action.chromeHintToDark":"ডার্ক মোড","action.chromeHintToLight":"লাইট মোড","action.aiDraft":"ড্রাফট","action.aiDraftHint":"AI দিয়ে ইমেইলের কনটেন্ট লিখুন","action.code":"কোড","action.codeHint":"লাইভ প্রিভিউসহ HTML সম্পাদনা করুন","action.preview":"প্রিভিউ","action.previewHint":"ইমেইলের প্রিভিউ দেখুন","action.export":"রপ্তানি","action.exportHint":"আপনার ইমেইল রপ্তানি করুন","device.desktop":"ডেস্কটপ","device.desktopHint":"ডেস্কটপ প্রস্থ","device.mobile":"মোবাইল","device.mobileHint":"মোবাইল প্রস্থ","status.autosaveOn":"অটোসেভ চালু","status.saved":"সংরক্ষিত হয়েছে {time}","status.saveFailed":"সংরক্ষণ হয়নি — স্টোরেজ পূর্ণ","canvas.meta":"{rows}টি সারি · {blocks}টি ব্লক · {width}px","tab.design":"স্টাইল","tab.designHint":"নির্বাচিত অংশ স্টাইল করুন","tab.blocks":"ব্লক","tab.blocksHint":"কন্টেন্ট ব্লক ও ভেরিয়েবল","tab.rows":"সেকশন","tab.rowsHint":"সেকশন লেআউট ও ক্যানভাস মডেল","tab.files":"ফাইল","tab.filesHint":"অ্যাসেট লাইব্রেরি","tab.layers":"কাঠামো","tab.layersHint":"ডকুমেন্ট কাঠামো","tab.settings":"সেটিংস","tab.settingsHint":"ইমেইল সেটিংস","tab.data":"ভেরিয়েবল","tab.dataHint":"আপনার কোড থেকে দেওয়া ভেরিয়েবল","inspector.blockProperties":"ব্লকের বৈশিষ্ট্য","inspector.sectionProperties":"সেকশনের বৈশিষ্ট্য","inspector.title":"ইন্সপেক্টর","inspector.sectionLabel":"সেকশন","inspector.nothingSelected":"কিছু নির্বাচিত নয়","action.duplicateHint":"নকল করুন — ⌘D","action.deleteHint":"মুছুন — ⌫","inspector.emptyBody":'ক্যানভাসে একটি সারি বা ব্লক নির্বাচন করে এখানে স্টাইল করুন। <strong style="color: var(--ed-text); font-weight: 600;">ব্লক</strong> ট্যাব থেকে ব্লক টেনে আনুন; সরাসরি সম্পাদনার জন্য যেকোনো লেখায় ডাবল-ক্লিক করুন।',"inspector.shortcuts":"শর্টকাট","shortcut.undoRedo":"⌘Z / ⌘⇧Z — পূর্বাবস্থা, পুনরায়","shortcut.duplicate":"⌘D — নির্বাচন নকল করুন","shortcut.delete":"⌫ — নির্বাচন মুছুন","shortcut.export":"⌘E — HTML রপ্তানি করুন","shortcut.escape":"ESC — নির্বাচন বাতিল, বন্ধ করুন","blocks.dragHint":"ক্যানভাসে টেনে আনুন","blocks.count":"{count}টি ব্লক","rows.sectionLayouts":"সেকশন লেআউট","rows.customMarkup":"কাস্টম মার্কআপ","rows.htmlRowHint":"টেনে আনুন, বা যোগ করতে ক্লিক করুন — একটি ফুল-ব্লিড সারি যা আপনি raw HTML দিয়ে পূরণ করেন","rows.rawHtmlSection":"Raw HTML সেকশন","rows.rawHtmlDesc":"ফুল-ব্লিড সেকশন, আপনার নিজস্ব মার্কআপ, তবুও টানা যায়","rows.canvasModel":"ক্যানভাস মডেল","rows.modeRowBased":"সারি-ভিত্তিক","rows.modeFreeStack":"ফ্রি স্ট্যাক","rows.hintRows":"সেকশন-ভিত্তিক: প্রথমে একটি লেআউট রাখুন, তারপর এর কলামে ব্লক রাখুন — প্রতিটি সেকশনের নিজস্ব ব্যাকগ্রাউন্ড, বর্ডার, ফ্লেক্স বা গ্রিড সেটিংস থাকে।","rows.hintStack":"ফ্রি স্ট্যাক: লেআউট ছাড়াই — আপনি যে ব্লকই রাখুন না কেন তা নিজেই একটি পূর্ণ-প্রস্থ সেকশন হয়ে ক্রমানুসারে সাজে।","files.libraryCount":"লাইব্রেরি — {count}টি ফাইল","files.openManager":"ফাইল ম্যানেজার খুলুন","files.dragToCanvas":"একটি ইমেজ ব্লক হিসেবে বসাতে যেকোনো ফাইল সরাসরি ক্যানভাসে টেনে আনুন।","layers.structure":"কাঠামো","layers.sectionSingle":"সেকশন","layers.sectionMulti":"সেকশন · {count}টি কলাম","layers.column":"কলাম {index}","layers.blockCount":"{count}টি ব্লক","vars.title":"ভেরিয়েবল","vars.fromCode":"আপনার কোড থেকে {count}টি","vars.declaredNote":"আপনার অ্যাপ্লিকেশন দ্বারা ঘোষিত — ক্যানভাস সবসময় টোকেন দেখায়, কখনো মান নয়।","vars.filterPlaceholder":"ভেরিয়েবল ফিল্টার করুন…","vars.insertHint":"নির্বাচিত টেক্সট, হেডিং বা বাটনে বসাতে ক্লিক করুন","vars.insert":"বসান","vars.noMatch":"সেই ফিল্টারের সাথে কোনো ভেরিয়েবল মেলেনি।","vars.noneDeclared":"আপনার অ্যাপ্লিকেশন এখনো কোনো ভেরিয়েবল ঘোষণা করেনি।","vars.rteHint":"টেক্সট সম্পাদনার সময় আপনি ইনলাইন টুলবারের ড্রপডাউন থেকেও ভেরিয়েবল বেছে নিতে পারেন।","modal.fileManager":"ফাইল ম্যানেজার","modal.assetsTitle":"অ্যাসেট","modal.replaceImage":"ইমেজ প্রতিস্থাপন করুন","library.searchPlaceholder":"ফাইল খুঁজুন…","action.upload":"আপলোড","library.clickToPlace":"বসাতে একটি ফাইলে ক্লিক করুন · অথবা ক্যানভাসে ফাইল টেনে আনুন","library.clickToReplace":"নির্বাচিত ইমেজ প্রতিস্থাপন করতে একটি ফাইলে ক্লিক করুন","library.storageLabel":"{count}টি ফাইল · {size}","library.folders":"ফোল্ডার","library.dropHint":"আপলোড করতে এখানে ইমেজ ফাইল ড্রপ করুন — অথবা আপলোড বোতাম ব্যবহার করুন।","library.deleteFileHint":"ফাইল মুছুন","library.del":"মুছুন","toast.assetDeleted":"{name} মুছে ফেলা হয়েছে","library.allFiles":"সব ফাইল","library.loadMore":"আরও দেখুন","library.empty":"এখানে এখনও কোনো ফাইল নেই।","storage.loading":"ফাইল লোড হচ্ছে…","storage.uploading":"{count}টি আপলোড হচ্ছে…","storage.errLoadFailed":"ফাইল লাইব্রেরি লোড করা যায়নি — {reason}","storage.errNoLimits":"আপলোড বন্ধ: এই অ্যাপ কোনো আপলোড সীমা নির্ধারণ করেনি।","storage.errNoMaxBytes":"আপলোড বন্ধ: সর্বোচ্চ ফাইল আকার নির্ধারণ করা হয়নি।","storage.errTooLarge":"{name} এর আকার {size} — সীমা {max}।","storage.errFormat":"{name} একটি {type} ফাইল, যা এখানে অনুমোদিত নয়।","storage.errSvg":"{name} একটি SVG, যা এই অ্যাপ গ্রহণ করে না।","storage.errDimensions":"{name} এর মাপ {w}×{ht}px — সীমা {maxW}×{maxH}px।","storage.errTooMany":"একসাথে সর্বোচ্চ {max}টি ফাইল আপলোড করা যায়।","storage.errUnreadable":"{name} পাঠযোগ্য কোনো ছবি নয়।","storage.errUploadFailed":"{name} আপলোড করা যায়নি — {reason}","storage.errDeleteFailed":"{name} মুছে ফেলা যায়নি — {reason}","modal.export":"রপ্তানি","modal.exportTitle":"টেবিল-ভিত্তিক ইমেইল HTML","export.copy":"কপি","export.copied":"কপি হয়েছে","action.download":"ডাউনলোড","export.meta":"{kb} KB · টেবিল + ইনলাইন স্টাইল · Outlook-নিরাপদ প্রস্থ","modal.rawHtmlTitle":"Raw HTML, লাইভ প্রিভিউ","code.statusEdited":"কোড ভিউ — সম্পাদিত — প্রিভিউ লাইভ, এখনো প্রয়োগ হয়নি","code.statusSynced":"কোড ভিউ — ক্যানভাসের সাথে সিঙ্ক করা আছে","action.reload":"রিলোড","action.reloadHint":"ক্যানভাস থেকে সোর্স পুনরায় লোড করুন","action.applyToCanvas":"ক্যানভাসে প্রয়োগ করুন","action.applyToCanvasHint":"সোর্সটি সম্পাদনাযোগ্য সারিতে পার্স করুন","action.closeWithoutApplyingHint":"প্রয়োগ না করে বন্ধ করুন","code.source":"সোর্স","code.livePreview":"লাইভ প্রিভিউ","code.liveHtmlPreviewTitle":"লাইভ HTML প্রিভিউ","code.applyNote":"প্রয়োগ করলে প্রতিটি টেবিল সারি একটি ক্যানভাস সারিতে পার্স হয় যা আপনি এখনও নির্বাচন, পুনর্বিন্যাস ও মুছতে পারবেন — হাতে-লেখা মার্কআপ অক্ষত থাকে।","code.meta":"{kb} KB · {lines}টি লাইন","toast.sourceReloaded":"ক্যানভাস থেকে সোর্স পুনরায় লোড হয়েছে","toast.sourceAppliedOne":"সোর্স প্রয়োগ হয়েছে — ক্যানভাসে ১টি সারি","toast.sourceAppliedMany":"সোর্স প্রয়োগ হয়েছে — ক্যানভাসে {rows}টি সারি","toast.parseError":"সেই HTML পার্স করা যায়নি","modal.aiDraft":"AI লেখার সহায়ক","modal.aiDraftTitle":"AI দিয়ে আপনার ইমেইল লিখুন","ai.disclosure":"আপনার সংক্ষিপ্ত বিবরণ থেকে AI পরামর্শ তৈরি করে। পাঠানোর আগে ফলাফল দেখে নিন ও সম্পাদনা করুন।","ai.goal":"লক্ষ্য","ai.tone":"সুর","ai.briefLabel":"এই ইমেইলটি কী সম্পর্কে?","ai.briefPlaceholder":"যেমন: শরৎকালীন আউটারওয়্যার, সাবস্ক্রাইবারদের জন্য ১৫% ছাড়, $১৫০-এর উপরে ফ্রি শিপিং","ai.generate":"কপি তৈরি করুন","ai.writing":"লেখা হচ্ছে…","ai.kindHeadline":"হেডলাইন","ai.kindBody":"মূল লেখা","ai.kindButton":"বাটন লেবেল","ai.actionInsertHeading":"হেডিং হিসেবে বসান","ai.actionInsertText":"টেক্সট ব্লক হিসেবে বসান","ai.actionInsertButton":"বাটন হিসেবে বসান","toast.headingAdded":"হেডিং যোগ হয়েছে","toast.textBlockAdded":"টেক্সট ব্লক যোগ হয়েছে","toast.buttonAdded":"বাটন যোগ হয়েছে","preview.kickerMobile":"প্রিভিউ — মোবাইল ৩৭৫px","preview.kickerDesktop":"প্রিভিউ — ডেস্কটপ {width}px","action.close":"বন্ধ করুন","toast.duplicated":"নকল করা হয়েছে","toast.fileUploadedOne":"১টি ফাইল আপলোড হয়েছে","toast.fileUploadedMany":"{count}টি ফাইল আপলোড হয়েছে","toast.imageReplaced":"ইমেজ প্রতিস্থাপিত হয়েছে","toast.imageAdded":"ক্যানভাসে ইমেজ যোগ হয়েছে","toast.htmlCopied":"HTML ক্লিপবোর্ডে কপি হয়েছে","toast.templateLoaded":"{name} লোড হয়েছে","toast.snippetDefaultLabel":"স্নিপেট","toast.snippetInserted":"{name} বসানো হয়েছে","toast.snippetCopied":"{name} কপি হয়েছে — বসাতে একটি টেক্সট ব্লক নির্বাচন করুন","rte.textStyle":"লেখার স্টাইল","rte.mergeTags":"মার্জ ট্যাগ","rte.noMergeTags":"কোনো মার্জ ট্যাগ নেই","rte.textColor":"লেখার রং","rte.highlightColor":"হাইলাইট রং","rte.removeHighlight":"হাইলাইট সরান","rte.clearFormatting":"ফরম্যাটিং মুছুন","action.downloadPng":"PNG ডাউনলোড","action.screenshot":"স্ক্রিনশট","action.screenshotHint":"পুরো টেমপ্লেট ছবি হিসেবে দেখুন, তারপর ডাউনলোড করুন","toast.pngSaved":"স্ক্রিনশট ডাউনলোড হয়েছে","toast.pngFailed":"স্ক্রিনশট ব্যর্থ — একটি বাহ্যিক ছবি লোড করা যায়নি","toast.pngCopied":"স্ক্রিনশট ক্লিপবোর্ডে কপি হয়েছে","toast.pngCopyFailed":"এই ব্রাউজার ক্লিপবোর্ডে ছবি নিতে পারেনি","story.kicker":"স্ক্রিনশট","story.rendering":"স্ক্রিনশট তৈরি হচ্ছে","story.renderingHint":"প্রতিটি ব্লক 2× এ আঁকা হচ্ছে — লম্বা টেমপ্লেটে একটু সময় লাগে।","story.failed":"স্ক্রিনশট ব্যর্থ","story.failedHint":"টেমপ্লেটের একটি ছবি ক্যাপচারের জন্য লোড করা যায়নি।","story.retry":"আবার চেষ্টা করুন","story.play":"চালান","story.pause":"থামান","story.replay":"আবার চালান","story.copy":"কপি","story.meta":"{w}×{h} · স্ক্রিন {i} / {n}","footer.poweredBy":"SELISE Blocks দ্বারা পরিচালিত © 2026"}})},re["core/i18n/ca.js"]=function(ne,V,A){Object.assign(V,{CA:{"action.undoHint":"Desfés — ⌘Z","action.redoHint":"Refés — ⌘⇧Z","action.chromeToDark":"Fosc","action.chromeToLight":"Clar","action.chromeHint":"Tema de l’editor clar / fosc","action.chromeHintToDark":"Mode fosc","action.chromeHintToLight":"Mode clar","action.aiDraft":"Esborrany","action.aiDraftHint":"Redactar el contingut del correu amb IA","action.code":"Codi","action.codeHint":"Editar l’HTML en brut amb previsualització en directe","action.preview":"Previsualització","action.previewHint":"Previsualitza el correu","action.export":"Exporta","action.exportHint":"Exporta el teu correu","device.desktop":"Escriptori","device.desktopHint":"Amplada d’escriptori","device.mobile":"Mòbil","device.mobileHint":"Amplada mòbil","status.autosaveOn":"desament automàtic activat","status.saved":"desat {time}","status.saveFailed":"no desat — emmagatzematge ple","canvas.meta":"{rows} files · {blocks} blocs · {width}px","tab.design":"Estil","tab.designHint":"Aplica estil a la selecció","tab.blocks":"Blocs","tab.blocksHint":"Blocs de contingut i variables","tab.rows":"Seccions","tab.rowsHint":"Dissenys de secció i model de llenç","tab.files":"Fitxers","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estruct.","tab.layersHint":"Estructura del document","tab.settings":"Configuració","tab.settingsHint":"Configuració del correu","tab.data":"Var.","tab.dataHint":"Variables proporcionades pel vostre codi","inspector.blockProperties":"Propietats del bloc","inspector.sectionProperties":"Propietats de la secció","inspector.title":"Inspector","inspector.sectionLabel":"Secció","inspector.nothingSelected":"Res seleccionat","action.duplicateHint":"Duplica — ⌘D","action.deleteHint":"Elimina — ⌫","inspector.emptyBody":'Seleccioneu una fila o un bloc al llenç per donar-li estil aquí. Arrossegueu blocs des de la pestanya <strong style="color: var(--ed-text); font-weight: 600;">Blocs</strong>; feu doble clic a qualsevol text per editar-lo directament.',"inspector.shortcuts":"Dreceres","shortcut.undoRedo":"⌘Z / ⌘⇧Z — desfés, refés","shortcut.duplicate":"⌘D — duplica la selecció","shortcut.delete":"⌫ — elimina la selecció","shortcut.export":"⌘E — exporta HTML","shortcut.escape":"ESC — desselecciona, tanca","blocks.dragHint":"Arrossegueu al llenç","blocks.count":"{count} blocs","rows.sectionLayouts":"Dissenys de secció","rows.customMarkup":"Marcat personalitzat","rows.htmlRowHint":"Arrossegueu per inserir, o feu clic per afegir — una fila d’amplada completa que ompliu amb HTML en brut","rows.rawHtmlSection":"Secció d’HTML en brut","rows.rawHtmlDesc":"Secció d’amplada completa, el vostre propi marcat, encara es pot arrossegar","rows.canvasModel":"Model de llenç","rows.modeRowBased":"Basat en files","rows.modeFreeStack":"Pila lliure","rows.hintRows":"Basat en seccions: primer deixeu anar un disseny, després blocs a les seves columnes — cada secció té el seu propi fons, vora, configuració flex o de graella.","rows.hintStack":"Pila lliure: sense dissenys — cada bloc que deixeu anar esdevé la seva pròpia secció d’amplada completa, apilada en ordre.","files.libraryCount":"Biblioteca — {count} fitxers","files.openManager":"Obre el gestor de fitxers","files.dragToCanvas":"Arrossegueu qualsevol fitxer directament al llenç per col·locar-lo com a bloc d’imatge.","layers.structure":"Estructura","layers.sectionSingle":"Secció","layers.sectionMulti":"Secció · {count} col.","layers.column":"Columna {index}","layers.blockCount":"{count} bl.","vars.title":"Variables","vars.fromCode":"{count} del vostre codi","vars.declaredNote":"Declarades per la vostra aplicació — el llenç sempre mostra el testimoni, mai un valor.","vars.filterPlaceholder":"Filtra variables…","vars.insertHint":"Feu clic per inserir al text, títol o botó seleccionat","vars.insert":"insereix","vars.noMatch":"Cap variable coincideix amb aquest filtre.","vars.noneDeclared":"La vostra aplicació encara no ha declarat cap variable.","vars.rteHint":"Mentre editeu text, també podeu triar una variable directament des del menú desplegable de la barra d’eines en línia.","modal.fileManager":"Gestor de fitxers","modal.assetsTitle":"Recursos","modal.replaceImage":"Substitueix la imatge","library.searchPlaceholder":"Cerca fitxers…","action.upload":"Puja","library.clickToPlace":"Feu clic a un fitxer per col·locar-lo · o arrossegueu un fitxer al llenç","library.clickToReplace":"Feu clic a un fitxer per substituir la imatge seleccionada","library.storageLabel":"{count} fitxers · {size}","library.folders":"Carpetes","library.dropHint":"Deixeu anar fitxers d’imatge aquí per pujar-los — o utilitzeu el botó Puja.","library.deleteFileHint":"Elimina el fitxer","library.del":"ELIM","toast.assetDeleted":"{name} eliminat","library.allFiles":"Tots els fitxers","library.loadMore":"Carrega’n més","library.empty":"Encara no hi ha cap fitxer.","storage.loading":"S’estan carregant els fitxers…","storage.uploading":"S’estan pujant {count}…","storage.errLoadFailed":"No s’ha pogut carregar la biblioteca de fitxers — {reason}","storage.errNoLimits":"Les pujades estan desactivades: aquesta aplicació no ha definit cap límit de pujada.","storage.errNoMaxBytes":"Les pujades estan desactivades: no s’ha definit cap mida màxima de fitxer.","storage.errTooLarge":"{name} fa {size} — el límit és {max}.","storage.errFormat":"{name} és un fitxer {type}, que no s’admet aquí.","storage.errSvg":"{name} és un SVG, i aquesta aplicació no l’accepta.","storage.errDimensions":"{name} fa {w}×{ht}px — el límit és {maxW}×{maxH}px.","storage.errTooMany":"Només es poden pujar {max} fitxers alhora.","storage.errUnreadable":"{name} no és una imatge llegible.","storage.errUploadFailed":"No s’ha pogut pujar {name} — {reason}","storage.errDeleteFailed":"No s’ha pogut eliminar {name} — {reason}","modal.export":"Exporta","modal.exportTitle":"HTML de correu basat en taules","export.copy":"Copia","export.copied":"Copiat","action.download":"Descarrega","export.meta":"{kb} KB · taules + estils en línia · amplades segures per a Outlook","modal.rawHtmlTitle":"HTML en brut, previsualització en directe","code.statusEdited":"Vista de codi — editat — previsualització en directe, encara no aplicat","code.statusSynced":"Vista de codi — sincronitzat amb el llenç","action.reload":"Recarrega","action.reloadHint":"Recarrega la font des del llenç","action.applyToCanvas":"Aplica al llenç","action.applyToCanvasHint":"Torna a analitzar la font en files editables","action.closeWithoutApplyingHint":"Tanca sense aplicar","code.source":"Font","code.livePreview":"Previsualització en directe","code.liveHtmlPreviewTitle":"Previsualització d’HTML en directe","code.applyNote":"Aplicar analitza cada fila de taula de nivell superior en una fila de llenç que encara podeu seleccionar, reordenar i eliminar — el marcatge escrit a mà sobreviu al procés.","code.meta":"{kb} KB · {lines} línies","toast.sourceReloaded":"Font recarregada des del llenç","toast.sourceAppliedOne":"Font aplicada — 1 fila al llenç","toast.sourceAppliedMany":"Font aplicada — {rows} files al llenç","toast.parseError":"No s’ha pogut analitzar aquest HTML","modal.aiDraft":"Assistent de redacció amb IA","modal.aiDraftTitle":"Redacta el teu correu amb IA","ai.disclosure":"La IA crea suggeriments a partir del teu resum. Revisa i edita el resultat abans d’enviar-lo.","ai.goal":"Objectiu","ai.tone":"To","ai.briefLabel":"De què tracta aquest correu?","ai.briefPlaceholder":"p. ex. Col·lecció de tardor, 15% per a subscriptors, enviament gratuït a partir de 150 €","ai.generate":"Genera text","ai.writing":"S’està escrivint…","ai.kindHeadline":"Titular","ai.kindBody":"Cos del text","ai.kindButton":"Text del botó","ai.actionInsertHeading":"Insereix com a capçalera","ai.actionInsertText":"Insereix com a bloc de text","ai.actionInsertButton":"Insereix com a botó","toast.headingAdded":"Capçalera afegida","toast.textBlockAdded":"Bloc de text afegit","toast.buttonAdded":"Botó afegit","preview.kickerMobile":"Previsualització — mòbil 375px","preview.kickerDesktop":"Previsualització — escriptori {width}px","action.close":"Tanca","toast.duplicated":"Duplicat","toast.fileUploadedOne":"1 fitxer pujat","toast.fileUploadedMany":"{count} fitxers pujats","toast.imageReplaced":"Imatge substituïda","toast.imageAdded":"Imatge afegida al llenç","toast.htmlCopied":"HTML copiat al porta-retalls","toast.templateLoaded":"{name} carregat","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} inserit","toast.snippetCopied":"{name} copiat — seleccioneu un bloc de text per inserir-lo","rte.textStyle":"Estil del text","rte.mergeTags":"Camps de combinació","rte.noMergeTags":"No hi ha camps de combinació disponibles","rte.textColor":"Color del text","rte.highlightColor":"Color de ressaltat","rte.removeHighlight":"Treu el ressaltat","rte.clearFormatting":"Neteja el format","action.downloadPng":"Baixa el PNG","action.screenshot":"Captura","action.screenshotHint":"Previsualitza tota la plantilla com a imatge i baixa-la","toast.pngSaved":"Captura baixada","toast.pngFailed":"La captura ha fallat — no s’ha pogut carregar una imatge externa","toast.pngCopied":"Captura copiada al porta-retalls","toast.pngCopyFailed":"Aquest navegador no ha acceptat una imatge al porta-retalls","story.kicker":"Captura","story.rendering":"S’està generant la captura","story.renderingHint":"S’està dibuixant cada bloc a 2× — en una plantilla llarga triga un moment.","story.failed":"La captura ha fallat","story.failedHint":"No s’ha pogut carregar una imatge de la plantilla per capturar-la.","story.retry":"Torna-ho a provar","story.play":"Reprodueix","story.pause":"Pausa","story.replay":"Torna a reproduir","story.copy":"Copia","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Amb la tecnologia de SELISE Blocks © 2026"}})},re["core/i18n/cs.js"]=function(ne,V,A){Object.assign(V,{CS:{"action.undoHint":"Zpět — ⌘Z","action.redoHint":"Znovu — ⌘⇧Z","action.chromeToDark":"Tmavý","action.chromeToLight":"Světlý","action.chromeHint":"Motiv editoru světlý / tmavý","action.chromeHintToDark":"Tmavý režim","action.chromeHintToLight":"Světlý režim","action.aiDraft":"Návrh","action.aiDraftHint":"Napsat obsah e-mailu pomocí AI","action.code":"Kód","action.codeHint":"Upravit surové HTML s živým náhledem","action.preview":"Náhled","action.previewHint":"Náhled e-mailu","action.export":"Exportovat","action.exportHint":"Exportovat váš e-mail","device.desktop":"Počítač","device.desktopHint":"Šířka pro počítač","device.mobile":"Mobil","device.mobileHint":"Šířka pro mobil","status.autosaveOn":"automatické ukládání zapnuto","status.saved":"uloženo {time}","status.saveFailed":"neuloženo — úložiště je plné","canvas.meta":"{rows} řádků · {blocks} bloků · {width}px","tab.design":"Styl","tab.designHint":"Stylovat výběr","tab.blocks":"Bloky","tab.blocksHint":"Bloky obsahu a proměnné","tab.rows":"Sekce","tab.rowsHint":"Rozvržení sekcí a model plátna","tab.files":"Soubory","tab.filesHint":"Knihovna souborů","tab.layers":"Struktura","tab.layersHint":"Struktura dokumentu","tab.settings":"Nastavení","tab.settingsHint":"Nastavení e-mailu","tab.data":"Prom.","tab.dataHint":"Proměnné poskytnuté vaším kódem","inspector.blockProperties":"Vlastnosti bloku","inspector.sectionProperties":"Vlastnosti sekce","inspector.title":"Inspektor","inspector.sectionLabel":"Sekce","inspector.nothingSelected":"Nic není vybráno","action.duplicateHint":"Duplikovat — ⌘D","action.deleteHint":"Smazat — ⌫","inspector.emptyBody":'Vyberte řádek nebo blok na plátně a stylujte jej zde. Přetáhněte bloky z karty <strong style="color: var(--ed-text); font-weight: 600;">Bloky</strong>; dvojklikem na text jej upravíte přímo na místě.',"inspector.shortcuts":"Zkratky","shortcut.undoRedo":"⌘Z / ⌘⇧Z — zpět, znovu","shortcut.duplicate":"⌘D — duplikovat výběr","shortcut.delete":"⌫ — smazat výběr","shortcut.export":"⌘E — exportovat HTML","shortcut.escape":"ESC — zrušit výběr, zavřít","blocks.dragHint":"Přetáhněte na plátno","blocks.count":"{count} bloků","rows.sectionLayouts":"Rozvržení sekcí","rows.customMarkup":"Vlastní kód","rows.htmlRowHint":"Přetáhněte pro vložení nebo klikněte pro přidání — řádek na celou šířku, který vyplníte surovým HTML","rows.rawHtmlSection":"Sekce se surovým HTML","rows.rawHtmlDesc":"Sekce na celou šířku, váš vlastní kód, stále přetažitelná","rows.canvasModel":"Model plátna","rows.modeRowBased":"Založeno na řádcích","rows.modeFreeStack":"Volný zásobník","rows.hintRows":"Založeno na sekcích: nejprve umístěte rozvržení, poté bloky do jeho sloupců — každá sekce má vlastní pozadí, ohraničení, nastavení flex nebo mřížky.","rows.hintStack":"Volný zásobník: bez rozvržení — každý umístěný blok se stane vlastní sekcí na celou šířku, seřazenou postupně.","files.libraryCount":"Knihovna — {count} souborů","files.openManager":"Otevřít správce souborů","files.dragToCanvas":"Přetáhněte libovolný soubor přímo na plátno a umístěte jej jako obrazový blok.","layers.structure":"Struktura","layers.sectionSingle":"Sekce","layers.sectionMulti":"Sekce · {count} sloupců","layers.column":"Sloupec {index}","layers.blockCount":"{count} bl.","vars.title":"Proměnné","vars.fromCode":"{count} z vašeho kódu","vars.declaredNote":"Deklarované vaší aplikací — plátno vždy zobrazuje token, nikdy hodnotu.","vars.filterPlaceholder":"Filtrovat proměnné…","vars.insertHint":"Klikněte pro vložení do vybraného textu, nadpisu nebo tlačítka","vars.insert":"vložit","vars.noMatch":"Žádná proměnná neodpovídá tomuto filtru.","vars.noneDeclared":"Vaše aplikace zatím nedeklarovala žádné proměnné.","vars.rteHint":"Při úpravě textu můžete proměnnou vybrat i přímo z rozbalovací nabídky vloženého panelu nástrojů.","modal.fileManager":"Správce souborů","modal.assetsTitle":"Zdroje","modal.replaceImage":"Nahradit obrázek","library.searchPlaceholder":"Hledat soubory…","action.upload":"Nahrát","library.clickToPlace":"Klikněte na soubor pro umístění · nebo přetáhněte soubor na plátno","library.clickToReplace":"Klikněte na soubor pro nahrazení vybraného obrázku","library.storageLabel":"{count} souborů · {size}","library.folders":"Složky","library.dropHint":"Sem přetáhněte obrázkové soubory pro nahrání — nebo použijte tlačítko Nahrát.","library.deleteFileHint":"Smazat soubor","library.del":"SMAZ","toast.assetDeleted":"{name} smazán","library.allFiles":"Všechny soubory","library.loadMore":"Načíst další","library.empty":"Zatím tu nejsou žádné soubory.","storage.loading":"Načítání souborů…","storage.uploading":"Nahrávání {count}…","storage.errLoadFailed":"Knihovnu souborů se nepodařilo načíst — {reason}","storage.errNoLimits":"Nahrávání je vypnuté: tato aplikace nenastavila žádné limity nahrávání.","storage.errNoMaxBytes":"Nahrávání je vypnuté: není nastavena maximální velikost souboru.","storage.errTooLarge":"{name} má {size} — limit je {max}.","storage.errFormat":"{name} je soubor typu {type}, který tu není povolen.","storage.errSvg":"{name} je SVG, které tato aplikace nepřijímá.","storage.errDimensions":"{name} má {w}×{ht}px — limit je {maxW}×{maxH}px.","storage.errTooMany":"Najednou lze nahrát jen {max} souborů.","storage.errUnreadable":"{name} není čitelný obrázek.","storage.errUploadFailed":"{name} se nepodařilo nahrát — {reason}","storage.errDeleteFailed":"{name} se nepodařilo smazat — {reason}","modal.export":"Exportovat","modal.exportTitle":"HTML e-mailu založené na tabulkách","export.copy":"Kopírovat","export.copied":"Zkopírováno","action.download":"Stáhnout","export.meta":"{kb} KB · tabulky + vložené styly · šířky bezpečné pro Outlook","modal.rawHtmlTitle":"Surové HTML, živý náhled","code.statusEdited":"Zobrazení kódu — upraveno — náhled živě, zatím neaplikováno","code.statusSynced":"Zobrazení kódu — synchronizováno s plátnem","action.reload":"Znovu načíst","action.reloadHint":"Znovu načíst zdroj z plátna","action.applyToCanvas":"Použít na plátno","action.applyToCanvasHint":"Znovu rozebrat zdroj na editovatelné řádky","action.closeWithoutApplyingHint":"Zavřít bez použití","code.source":"Zdroj","code.livePreview":"Živý náhled","code.liveHtmlPreviewTitle":"Živý náhled HTML","code.applyNote":"Použití rozebere každý řádek tabulky nejvyšší úrovně do řádku plátna, který lze stále vybírat, přeuspořádávat a mazat — ručně psaný kód proces přežije beze změny.","code.meta":"{kb} KB · {lines} řádků","toast.sourceReloaded":"Zdroj znovu načten z plátna","toast.sourceAppliedOne":"Zdroj použit — 1 řádek na plátně","toast.sourceAppliedMany":"Zdroj použit — {rows} řádků na plátně","toast.parseError":"Toto HTML se nepodařilo rozebrat","modal.aiDraft":"Asistent psaní s AI","modal.aiDraftTitle":"Napište svůj e-mail pomocí AI","ai.disclosure":"AI vytváří návrhy podle vašeho zadání. Před odesláním výsledek zkontrolujte a upravte.","ai.goal":"Cíl","ai.tone":"Tón","ai.briefLabel":"O čem tento e-mail je?","ai.briefPlaceholder":"např. Podzimní kolekce, 15 % pro odběratele, doprava zdarma nad 150 €","ai.generate":"Vygenerovat text","ai.writing":"Píše se…","ai.kindHeadline":"Nadpis","ai.kindBody":"Hlavní text","ai.kindButton":"Text tlačítka","ai.actionInsertHeading":"Vložit jako nadpis","ai.actionInsertText":"Vložit jako textový blok","ai.actionInsertButton":"Vložit jako tlačítko","toast.headingAdded":"Nadpis přidán","toast.textBlockAdded":"Textový blok přidán","toast.buttonAdded":"Tlačítko přidáno","preview.kickerMobile":"Náhled — mobil 375px","preview.kickerDesktop":"Náhled — počítač {width}px","action.close":"Zavřít","toast.duplicated":"Duplikováno","toast.fileUploadedOne":"Nahrán 1 soubor","toast.fileUploadedMany":"Nahráno souborů: {count}","toast.imageReplaced":"Obrázek nahrazen","toast.imageAdded":"Obrázek přidán na plátno","toast.htmlCopied":"HTML zkopírováno do schránky","toast.templateLoaded":"{name} načteno","toast.snippetDefaultLabel":"Úryvek","toast.snippetInserted":"{name} vloženo","toast.snippetCopied":"{name} zkopírováno — vyberte textový blok pro vložení","rte.textStyle":"Styl textu","rte.mergeTags":"Slučovací pole","rte.noMergeTags":"Nejsou k dispozici žádná slučovací pole","rte.textColor":"Barva textu","rte.highlightColor":"Barva zvýraznění","rte.removeHighlight":"Odebrat zvýraznění","rte.clearFormatting":"Zrušit formátování","action.downloadPng":"Stáhnout PNG","action.screenshot":"Snímek","action.screenshotHint":"Zobrazit celou šablonu jako obrázek a stáhnout ji","toast.pngSaved":"Snímek stažen","toast.pngFailed":"Snímek se nezdařil — externí obrázek se nepodařilo načíst","toast.pngCopied":"Snímek zkopírován do schránky","toast.pngCopyFailed":"Tento prohlížeč nepřijal obrázek do schránky","story.kicker":"Snímek","story.rendering":"Vykreslování snímku","story.renderingHint":"Každý blok se kreslí ve 2× — u dlouhé šablony to chvíli trvá.","story.failed":"Snímek se nezdařil","story.failedHint":"Obrázek v šabloně se nepodařilo načíst pro zachycení.","story.retry":"Zkusit znovu","story.play":"Přehrát","story.pause":"Pozastavit","story.replay":"Přehrát znovu","story.copy":"Kopírovat","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Běží na SELISE Blocks © 2026"}})},re["core/i18n/da.js"]=function(ne,V,A){Object.assign(V,{DA:{"action.undoHint":"Fortryd — ⌘Z","action.redoHint":"Gentag — ⌘⇧Z","action.chromeToDark":"Mørk","action.chromeToLight":"Lys","action.chromeHint":"Redigeringstema lys / mørk","action.chromeHintToDark":"Mørk tilstand","action.chromeHintToLight":"Lys tilstand","action.aiDraft":"Udkast","action.aiDraftHint":"Skriv e-mailens indhold med AI","action.code":"Kode","action.codeHint":"Rediger rå HTML med direkte forhåndsvisning","action.preview":"Forhåndsvisning","action.previewHint":"Se e-mailen","action.export":"Eksportér","action.exportHint":"Eksportér din e-mail","device.desktop":"Computer","device.desktopHint":"Bredde til computer","device.mobile":"Mobil","device.mobileHint":"Bredde til mobil","status.autosaveOn":"automatisk gemning slået til","status.saved":"gemt {time}","status.saveFailed":"ikke gemt — lagerplads fuld","canvas.meta":"{rows} rækker · {blocks} blokke · {width}px","tab.design":"Stil","tab.designHint":"Formatér markeringen","tab.blocks":"Blokke","tab.blocksHint":"Indholdsblokke og variabler","tab.rows":"Sektioner","tab.rowsHint":"Sektionslayouts og lærredsmodel","tab.files":"Filer","tab.filesHint":"Ressourcebibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Indstillinger","tab.settingsHint":"E-mailindstillinger","tab.data":"Var.","tab.dataHint":"Variabler leveret af din kode","inspector.blockProperties":"Blokegenskaber","inspector.sectionProperties":"Sektionsegenskaber","inspector.title":"Inspektør","inspector.sectionLabel":"Sektion","inspector.nothingSelected":"Intet valgt","action.duplicateHint":"Dupliker — ⌘D","action.deleteHint":"Slet — ⌫","inspector.emptyBody":'Vælg en række eller en blok på lærredet for at formatere den her. Træk blokke fra fanen <strong style="color: var(--ed-text); font-weight: 600;">Blokke</strong>; dobbeltklik på tekst for at redigere direkte.',"inspector.shortcuts":"Genveje","shortcut.undoRedo":"⌘Z / ⌘⇧Z — fortryd, gentag","shortcut.duplicate":"⌘D — dupliker markering","shortcut.delete":"⌫ — slet markering","shortcut.export":"⌘E — eksportér HTML","shortcut.escape":"ESC — fjern markering, luk","blocks.dragHint":"Træk til lærredet","blocks.count":"{count} blokke","rows.sectionLayouts":"Sektionslayouts","rows.customMarkup":"Tilpasset kode","rows.htmlRowHint":"Træk for at indsætte, eller klik for at tilføje — en fuldbredde-række, du fylder med rå HTML","rows.rawHtmlSection":"Rå HTML-sektion","rows.rawHtmlDesc":"Fuldbredde-sektion, din egen kode, stadig trækbar","rows.canvasModel":"Lærredsmodel","rows.modeRowBased":"Rækkebaseret","rows.modeFreeStack":"Fri stak","rows.hintRows":"Sektionsbaseret: slip et layout først, derefter blokke i dets kolonner — hver sektion har sin egen baggrund, kant, flex- eller gitterindstillinger.","rows.hintStack":"Fri stak: uden layouts — hver blok, du slipper, bliver sin egen fuldbredde-sektion, stablet i rækkefølge.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Åbn filhåndtering","files.dragToCanvas":"Træk en vilkårlig fil direkte til lærredet for at placere den som en billedblok.","layers.structure":"Struktur","layers.sectionSingle":"Sektion","layers.sectionMulti":"Sektion · {count} kol.","layers.column":"Kolonne {index}","layers.blockCount":"{count} bl.","vars.title":"Variabler","vars.fromCode":"{count} fra din kode","vars.declaredNote":"Erklæret af din applikation — lærredet viser altid tokenet, aldrig en værdi.","vars.filterPlaceholder":"Filtrér variabler…","vars.insertHint":"Klik for at indsætte i markeret tekst, overskrift eller knap","vars.insert":"indsæt","vars.noMatch":"Ingen variabel matcher det filter.","vars.noneDeclared":"Din applikation har endnu ikke erklæret nogen variabler.","vars.rteHint":"Når du redigerer tekst, kan du også vælge en variabel direkte fra rullemenuen i den indlejrede værktøjslinje.","modal.fileManager":"Filhåndtering","modal.assetsTitle":"Ressourcer","modal.replaceImage":"Erstat billede","library.searchPlaceholder":"Søg i filer…","action.upload":"Upload","library.clickToPlace":"Klik på en fil for at placere den · eller træk en fil til lærredet","library.clickToReplace":"Klik på en fil for at erstatte det markerede billede","library.storageLabel":"{count} filer · {size}","library.folders":"Mapper","library.dropHint":"Slip billedfiler her for at uploade — eller brug knappen Upload.","library.deleteFileHint":"Slet fil","library.del":"SLET","toast.assetDeleted":"{name} slettet","library.allFiles":"Alle filer","library.loadMore":"Indlæs flere","library.empty":"Der er ingen filer her endnu.","storage.loading":"Indlæser filer…","storage.uploading":"Uploader {count}…","storage.errLoadFailed":"Filbiblioteket kunne ikke indlæses — {reason}","storage.errNoLimits":"Upload er slået fra: denne app har ikke sat nogen uploadgrænser.","storage.errNoMaxBytes":"Upload er slået fra: der er ikke sat nogen maksimal filstørrelse.","storage.errTooLarge":"{name} er {size} — grænsen er {max}.","storage.errFormat":"{name} er en {type}-fil, som ikke er tilladt her.","storage.errSvg":"{name} er en SVG, som denne app ikke accepterer.","storage.errDimensions":"{name} er {w}×{ht}px — grænsen er {maxW}×{maxH}px.","storage.errTooMany":"Der kan kun uploades {max} filer ad gangen.","storage.errUnreadable":"{name} er ikke et læsbart billede.","storage.errUploadFailed":"{name} kunne ikke uploades — {reason}","storage.errDeleteFailed":"{name} kunne ikke slettes — {reason}","modal.export":"Eksportér","modal.exportTitle":"Tabelbaseret e-mail-HTML","export.copy":"Kopiér","export.copied":"Kopieret","action.download":"Download","export.meta":"{kb} KB · tabeller + inline-stilarter · Outlook-sikre bredder","modal.rawHtmlTitle":"Rå HTML, direkte forhåndsvisning","code.statusEdited":"Kodevisning — redigeret — forhåndsvisning live, endnu ikke anvendt","code.statusSynced":"Kodevisning — synkroniseret med lærredet","action.reload":"Genindlæs","action.reloadHint":"Genindlæs kilde fra lærredet","action.applyToCanvas":"Anvend på lærred","action.applyToCanvasHint":"Fortolk kilden tilbage til redigerbare rækker","action.closeWithoutApplyingHint":"Luk uden at anvende","code.source":"Kilde","code.livePreview":"Direkte forhåndsvisning","code.liveHtmlPreviewTitle":"Direkte HTML-forhåndsvisning","code.applyNote":"Anvend fortolker hver tabelrække på øverste niveau til en lærredsrække, du stadig kan markere, omarrangere og slette — håndskrevet kode overlever processen uændret.","code.meta":"{kb} KB · {lines} linjer","toast.sourceReloaded":"Kilde genindlæst fra lærredet","toast.sourceAppliedOne":"Kilde anvendt — 1 række på lærredet","toast.sourceAppliedMany":"Kilde anvendt — {rows} rækker på lærredet","toast.parseError":"Kunne ikke fortolke den HTML","modal.aiDraft":"AI-skriveassistent","modal.aiDraftTitle":"Skriv din e-mail med AI","ai.disclosure":"AI skaber forslag ud fra din brief. Gennemgå og redigér resultatet, før du sender.","ai.goal":"Mål","ai.tone":"Tone","ai.briefLabel":"Hvad handler denne e-mail om?","ai.briefPlaceholder":"f.eks. Efterårskollektion, 15% til abonnenter, fragtfrit over 150 kr","ai.generate":"Generér tekst","ai.writing":"Skriver…","ai.kindHeadline":"Overskrift","ai.kindBody":"Brødtekst","ai.kindButton":"Knaptekst","ai.actionInsertHeading":"Indsæt som overskrift","ai.actionInsertText":"Indsæt som tekstblok","ai.actionInsertButton":"Indsæt som knap","toast.headingAdded":"Overskrift tilføjet","toast.textBlockAdded":"Tekstblok tilføjet","toast.buttonAdded":"Knap tilføjet","preview.kickerMobile":"Forhåndsvisning — mobil 375px","preview.kickerDesktop":"Forhåndsvisning — computer {width}px","action.close":"Luk","toast.duplicated":"Duplikeret","toast.fileUploadedOne":"1 fil uploadet","toast.fileUploadedMany":"{count} filer uploadet","toast.imageReplaced":"Billede erstattet","toast.imageAdded":"Billede tilføjet til lærredet","toast.htmlCopied":"HTML kopieret til udklipsholder","toast.templateLoaded":"{name} indlæst","toast.snippetDefaultLabel":"Uddrag","toast.snippetInserted":"{name} indsat","toast.snippetCopied":"{name} kopieret — vælg en tekstblok for at indsætte den","rte.textStyle":"Tekststil","rte.mergeTags":"Flettefelter","rte.noMergeTags":"Ingen flettefelter tilgængelige","rte.textColor":"Tekstfarve","rte.highlightColor":"Fremhævningsfarve","rte.removeHighlight":"Fjern fremhævning","rte.clearFormatting":"Ryd formatering","action.downloadPng":"Hent PNG","action.screenshot":"Skærmbillede","action.screenshotHint":"Se hele skabelonen som et billede, og hent det","toast.pngSaved":"Skærmbillede hentet","toast.pngFailed":"Skærmbilledet mislykkedes — et eksternt billede kunne ikke indlæses","toast.pngCopied":"Skærmbillede kopieret til udklipsholderen","toast.pngCopyFailed":"Denne browser ville ikke acceptere et billede i udklipsholderen","story.kicker":"Skærmbillede","story.rendering":"Skærmbilledet gengives","story.renderingHint":"Hver blok tegnes i 2× — det tager et øjeblik ved en lang skabelon.","story.failed":"Skærmbilledet mislykkedes","story.failedHint":"Et billede i skabelonen kunne ikke indlæses til optagelsen.","story.retry":"Prøv igen","story.play":"Afspil","story.pause":"Pause","story.replay":"Afspil igen","story.copy":"Kopiér","story.meta":"{w}×{h} · skærm {i} af {n}","footer.poweredBy":"Drevet af SELISE Blocks © 2026"}})},re["core/i18n/de-CH.js"]=function(ne,V,A){Object.assign(V,{DE_CH:{"action.undoHint":"Rückgängig — ⌘Z","action.redoHint":"Wiederholen — ⌘⇧Z","action.chromeToDark":"Dunkel","action.chromeToLight":"Hell","action.chromeHint":"Editor-Design hell / dunkel","action.chromeHintToDark":"Dunkelmodus","action.chromeHintToLight":"Hellmodus","action.aiDraft":"Entwurf","action.aiDraftHint":"E-Mail-Inhalt mit KI entwerfen","action.code":"Code","action.codeHint":"Rohes HTML mit Live-Vorschau bearbeiten","action.preview":"Vorschau","action.previewHint":"E-Mail-Vorschau","action.export":"Exportieren","action.exportHint":"E-Mail exportieren","device.desktop":"Desktop","device.desktopHint":"Desktop-Breite","device.mobile":"Mobil","device.mobileHint":"Mobile Breite","status.autosaveOn":"Autospeichern aktiv","status.saved":"gespeichert {time}","status.saveFailed":"nicht gespeichert — Speicher voll","canvas.meta":"{rows} Zeilen · {blocks} Blöcke · {width}px","tab.design":"Stil","tab.designHint":"Auswahl gestalten","tab.blocks":"Blöcke","tab.blocksHint":"Inhaltsblöcke und Variablen","tab.rows":"Abschn.","tab.rowsHint":"Abschnittslayouts und Canvas-Modell","tab.files":"Dateien","tab.filesHint":"Asset-Bibliothek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Einstellungen","tab.settingsHint":"E-Mail-Einstellungen","tab.data":"Var.","tab.dataHint":"Von deinem Code bereitgestellte Variablen","inspector.blockProperties":"Blockeigenschaften","inspector.sectionProperties":"Abschnittseigenschaften","inspector.title":"Inspektor","inspector.sectionLabel":"Abschnitt","inspector.nothingSelected":"Nichts ausgewählt","action.duplicateHint":"Duplizieren — ⌘D","action.deleteHint":"Löschen — ⌫","inspector.emptyBody":'Wähle eine Zeile oder einen Block auf der Canvas aus, um ihn hier zu gestalten. Ziehe Blöcke aus dem Tab <strong style="color: var(--ed-text); font-weight: 600;">Blöcke</strong>; Doppelklick auf beliebigen Text, um ihn direkt zu bearbeiten.',"inspector.shortcuts":"Kurzbefehle","shortcut.undoRedo":"⌘Z / ⌘⇧Z — Rückgängig, Wiederholen","shortcut.duplicate":"⌘D — Auswahl duplizieren","shortcut.delete":"⌫ — Auswahl löschen","shortcut.export":"⌘E — HTML exportieren","shortcut.escape":"ESC — Auswahl aufheben, schliessen","blocks.dragHint":"Auf die Canvas ziehen","blocks.count":"{count} Blöcke","rows.sectionLayouts":"Abschnittslayouts","rows.customMarkup":"Eigenes Markup","rows.htmlRowHint":"Zum Einfügen ziehen oder klicken — eine randlose Zeile, die du mit rohem HTML füllst","rows.rawHtmlSection":"Roher HTML-Abschnitt","rows.rawHtmlDesc":"Randloser Abschnitt, dein eigenes Markup, weiterhin ziehbar","rows.canvasModel":"Canvas-Modell","rows.modeRowBased":"Zeilenbasiert","rows.modeFreeStack":"Freier Stapel","rows.hintRows":"Abschnittsbasiert: Zuerst ein Layout ablegen, dann Blöcke in seine Spalten ziehen — jeder Abschnitt hat eigene Hintergrund-, Rahmen-, Flex- oder Grid-Einstellungen.","rows.hintStack":"Freier Stapel: Ohne Layouts — jeder abgelegte Block wird zu einem eigenen, vollbreiten Abschnitt, der Reihe nach gestapelt.","files.libraryCount":"Bibliothek — {count} Dateien","files.openManager":"Dateimanager öffnen","files.dragToCanvas":"Ziehe eine beliebige Datei direkt auf die Canvas, um sie als Bildblock einzufügen.","layers.structure":"Struktur","layers.sectionSingle":"Abschnitt","layers.sectionMulti":"Abschnitt · {count} Spalten","layers.column":"Spalte {index}","layers.blockCount":"{count} Blk.","vars.title":"Variablen","vars.fromCode":"{count} aus deinem Code","vars.declaredNote":"Von deiner Anwendung deklariert — die Canvas zeigt immer das Token, nie einen Wert.","vars.filterPlaceholder":"Variablen filtern…","vars.insertHint":"Klicken, um in ausgewählten Text, Überschrift oder Button einzufügen","vars.insert":"einfügen","vars.noMatch":"Keine Variable entspricht diesem Filter.","vars.noneDeclared":"Deine Anwendung hat noch keine Variablen deklariert.","vars.rteHint":"Beim Bearbeiten von Text kannst du eine Variable auch direkt aus dem Dropdown der Inline-Symbolleiste auswählen.","modal.fileManager":"Dateimanager","modal.assetsTitle":"Assets","modal.replaceImage":"Bild ersetzen","library.searchPlaceholder":"Dateien suchen…","action.upload":"Hochladen","library.clickToPlace":"Datei anklicken zum Platzieren · oder Datei auf die Canvas ziehen","library.clickToReplace":"Datei anklicken, um das ausgewählte Bild zu ersetzen","library.storageLabel":"{count} Dateien · {size}","library.folders":"Ordner","library.dropHint":"Bilddateien hier zum Hochladen ablegen — oder den Hochladen-Button nutzen.","library.deleteFileHint":"Datei löschen","library.del":"LÖSCH","toast.assetDeleted":"{name} gelöscht","library.allFiles":"Alle Dateien","library.loadMore":"Mehr laden","library.empty":"Hier gibt es noch keine Dateien.","storage.loading":"Dateien werden geladen…","storage.uploading":"{count} werden hochgeladen…","storage.errLoadFailed":"Die Dateibibliothek konnte nicht geladen werden — {reason}","storage.errNoLimits":"Uploads sind deaktiviert: Diese Anwendung hat keine Upload-Limiten gesetzt.","storage.errNoMaxBytes":"Uploads sind deaktiviert: Es wurde keine maximale Dateigrösse festgelegt.","storage.errTooLarge":"{name} ist {size} gross — das Limit liegt bei {max}.","storage.errFormat":"{name} ist eine {type}-Datei, die hier nicht erlaubt ist.","storage.errSvg":"{name} ist eine SVG-Datei, die diese Anwendung nicht akzeptiert.","storage.errDimensions":"{name} ist {w}×{ht}px — das Limit liegt bei {maxW}×{maxH}px.","storage.errTooMany":"Es können nur {max} Dateien aufs Mal hochgeladen werden.","storage.errUnreadable":"{name} ist kein lesbares Bild.","storage.errUploadFailed":"{name} konnte nicht hochgeladen werden — {reason}","storage.errDeleteFailed":"{name} konnte nicht gelöscht werden — {reason}","modal.export":"Exportieren","modal.exportTitle":"Tabellenbasiertes E-Mail-HTML","export.copy":"Kopieren","export.copied":"Kopiert","action.download":"Herunterladen","export.meta":"{kb} KB · Tabellen + Inline-Stile · Outlook-sichere Breiten","modal.rawHtmlTitle":"Rohes HTML, Live-Vorschau","code.statusEdited":"Code-Ansicht — bearbeitet — Vorschau live, noch nicht übernommen","code.statusSynced":"Code-Ansicht — synchron mit der Canvas","action.reload":"Neu laden","action.reloadHint":"Quelltext aus der Canvas neu laden","action.applyToCanvas":"Auf Canvas anwenden","action.applyToCanvasHint":"Quelltext zurück in bearbeitbare Zeilen umwandeln","action.closeWithoutApplyingHint":"Ohne Anwenden schliessen","code.source":"Quelltext","code.livePreview":"Live-Vorschau","code.liveHtmlPreviewTitle":"Live-HTML-Vorschau","code.applyNote":"Beim Anwenden wird jede oberste Tabellenzeile in eine Canvas-Zeile umgewandelt, die du weiterhin auswählen, neu anordnen und löschen kannst — handgeschriebenes Markup übersteht den Vorgang unverändert.","code.meta":"{kb} KB · {lines} Zeilen","toast.sourceReloaded":"Quelltext aus der Canvas neu geladen","toast.sourceAppliedOne":"Quelltext angewendet — 1 Zeile auf der Canvas","toast.sourceAppliedMany":"Quelltext angewendet — {rows} Zeilen auf der Canvas","toast.parseError":"Dieses HTML konnte nicht verarbeitet werden","modal.aiDraft":"KI-Schreibassistent","modal.aiDraftTitle":"E-Mail mit KI entwerfen","ai.disclosure":"Die KI erstellt Vorschläge aus Ihrem Briefing. Prüfen und bearbeiten Sie das Ergebnis vor dem Versand.","ai.goal":"Ziel","ai.tone":"Ton","ai.briefLabel":"Worum geht es in dieser E-Mail?","ai.briefPlaceholder":"z. B. Herbstkollektion, 15 % für Abonnenten, kostenloser Versand ab 150 €","ai.generate":"Text generieren","ai.writing":"Wird geschrieben…","ai.kindHeadline":"Überschrift","ai.kindBody":"Fliesstext","ai.kindButton":"Button-Text","ai.actionInsertHeading":"Als Überschrift einfügen","ai.actionInsertText":"Als Textblock einfügen","ai.actionInsertButton":"Als Button einfügen","toast.headingAdded":"Überschrift hinzugefügt","toast.textBlockAdded":"Textblock hinzugefügt","toast.buttonAdded":"Button hinzugefügt","preview.kickerMobile":"Vorschau — Mobil 375px","preview.kickerDesktop":"Vorschau — Desktop {width}px","action.close":"Schliessen","toast.duplicated":"Dupliziert","toast.fileUploadedOne":"1 Datei hochgeladen","toast.fileUploadedMany":"{count} Dateien hochgeladen","toast.imageReplaced":"Bild ersetzt","toast.imageAdded":"Bild zur Canvas hinzugefügt","toast.htmlCopied":"HTML in die Zwischenablage kopiert","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eingefügt","toast.snippetCopied":"{name} kopiert — wähle einen Textblock zum Einfügen aus","rte.textStyle":"Textstil","rte.mergeTags":"Platzhalter","rte.noMergeTags":"Keine Platzhalter verfügbar","rte.textColor":"Textfarbe","rte.highlightColor":"Markierungsfarbe","rte.removeHighlight":"Markierung entfernen","rte.clearFormatting":"Formatierung entfernen","action.downloadPng":"PNG herunterladen","action.screenshot":"Screenshot","action.screenshotHint":"Die ganze Vorlage als Bild ansehen und herunterladen","toast.pngSaved":"Screenshot heruntergeladen","toast.pngFailed":"Screenshot fehlgeschlagen — ein externes Bild konnte nicht geladen werden","toast.pngCopied":"Screenshot in die Zwischenablage kopiert","toast.pngCopyFailed":"Dieser Browser hat kein Bild in der Zwischenablage akzeptiert","story.kicker":"Screenshot","story.rendering":"Screenshot wird erstellt","story.renderingHint":"Jeder Block wird in 2× gezeichnet — bei einer langen Vorlage dauert das einen Moment.","story.failed":"Screenshot fehlgeschlagen","story.failedHint":"Ein Bild in der Vorlage konnte für die Aufnahme nicht geladen werden.","story.retry":"Nochmals versuchen","story.play":"Abspielen","story.pause":"Pause","story.replay":"Nochmals abspielen","story.copy":"Kopieren","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},re["core/i18n/de.js"]=function(ne,V,A){Object.assign(V,{DE:{"action.undoHint":"Rückgängig — ⌘Z","action.redoHint":"Wiederholen — ⌘⇧Z","action.chromeToDark":"Dunkel","action.chromeToLight":"Hell","action.chromeHint":"Editor-Design hell / dunkel","action.chromeHintToDark":"Dunkelmodus","action.chromeHintToLight":"Hellmodus","action.aiDraft":"Entwurf","action.aiDraftHint":"E-Mail-Inhalt mit KI entwerfen","action.code":"Code","action.codeHint":"Rohes HTML mit Live-Vorschau bearbeiten","action.preview":"Vorschau","action.previewHint":"E-Mail-Vorschau","action.export":"Exportieren","action.exportHint":"E-Mail exportieren","device.desktop":"Desktop","device.desktopHint":"Desktop-Breite","device.mobile":"Mobil","device.mobileHint":"Mobile Breite","status.autosaveOn":"Autospeichern aktiv","status.saved":"gespeichert {time}","status.saveFailed":"nicht gespeichert — Speicher voll","canvas.meta":"{rows} Zeilen · {blocks} Blöcke · {width}px","tab.design":"Stil","tab.designHint":"Auswahl gestalten","tab.blocks":"Blöcke","tab.blocksHint":"Inhaltsblöcke und Variablen","tab.rows":"Abschn.","tab.rowsHint":"Abschnittslayouts und Canvas-Modell","tab.files":"Dateien","tab.filesHint":"Asset-Bibliothek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Einstellungen","tab.settingsHint":"E-Mail-Einstellungen","tab.data":"Var.","tab.dataHint":"Von deinem Code bereitgestellte Variablen","inspector.blockProperties":"Blockeigenschaften","inspector.sectionProperties":"Abschnittseigenschaften","inspector.title":"Inspektor","inspector.sectionLabel":"Abschnitt","inspector.nothingSelected":"Nichts ausgewählt","action.duplicateHint":"Duplizieren — ⌘D","action.deleteHint":"Löschen — ⌫","inspector.emptyBody":'Wähle eine Zeile oder einen Block auf der Canvas aus, um ihn hier zu gestalten. Ziehe Blöcke aus dem Tab <strong style="color: var(--ed-text); font-weight: 600;">Blöcke</strong>; Doppelklick auf beliebigen Text, um ihn direkt zu bearbeiten.',"inspector.shortcuts":"Kurzbefehle","shortcut.undoRedo":"⌘Z / ⌘⇧Z — Rückgängig, Wiederholen","shortcut.duplicate":"⌘D — Auswahl duplizieren","shortcut.delete":"⌫ — Auswahl löschen","shortcut.export":"⌘E — HTML exportieren","shortcut.escape":"ESC — Auswahl aufheben, schließen","blocks.dragHint":"Auf die Canvas ziehen","blocks.count":"{count} Blöcke","rows.sectionLayouts":"Abschnittslayouts","rows.customMarkup":"Eigenes Markup","rows.htmlRowHint":"Zum Einfügen ziehen oder klicken — eine randlose Zeile, die du mit rohem HTML füllst","rows.rawHtmlSection":"Roher HTML-Abschnitt","rows.rawHtmlDesc":"Randloser Abschnitt, dein eigenes Markup, weiterhin ziehbar","rows.canvasModel":"Canvas-Modell","rows.modeRowBased":"Zeilenbasiert","rows.modeFreeStack":"Freier Stapel","rows.hintRows":"Abschnittsbasiert: Zuerst ein Layout ablegen, dann Blöcke in seine Spalten ziehen — jeder Abschnitt hat eigene Hintergrund-, Rahmen-, Flex- oder Grid-Einstellungen.","rows.hintStack":"Freier Stapel: Ohne Layouts — jeder abgelegte Block wird zu einem eigenen, vollbreiten Abschnitt, der Reihe nach gestapelt.","files.libraryCount":"Bibliothek — {count} Dateien","files.openManager":"Dateimanager öffnen","files.dragToCanvas":"Ziehe eine beliebige Datei direkt auf die Canvas, um sie als Bildblock einzufügen.","layers.structure":"Struktur","layers.sectionSingle":"Abschnitt","layers.sectionMulti":"Abschnitt · {count} Spalten","layers.column":"Spalte {index}","layers.blockCount":"{count} Blk.","vars.title":"Variablen","vars.fromCode":"{count} aus deinem Code","vars.declaredNote":"Von deiner Anwendung deklariert — die Canvas zeigt immer das Token, nie einen Wert.","vars.filterPlaceholder":"Variablen filtern…","vars.insertHint":"Klicken, um in ausgewählten Text, Überschrift oder Button einzufügen","vars.insert":"einfügen","vars.noMatch":"Keine Variable entspricht diesem Filter.","vars.noneDeclared":"Deine Anwendung hat noch keine Variablen deklariert.","vars.rteHint":"Beim Bearbeiten von Text kannst du eine Variable auch direkt aus dem Dropdown der Inline-Symbolleiste auswählen.","modal.fileManager":"Dateimanager","modal.assetsTitle":"Assets","modal.replaceImage":"Bild ersetzen","library.searchPlaceholder":"Dateien suchen…","action.upload":"Hochladen","library.clickToPlace":"Datei anklicken zum Platzieren · oder Datei auf die Canvas ziehen","library.clickToReplace":"Datei anklicken, um das ausgewählte Bild zu ersetzen","library.storageLabel":"{count} Dateien · {size}","library.folders":"Ordner","library.dropHint":"Bilddateien hier zum Hochladen ablegen — oder den Hochladen-Button nutzen.","library.deleteFileHint":"Datei löschen","library.del":"LÖSCH","toast.assetDeleted":"{name} gelöscht","library.allFiles":"Alle Dateien","library.loadMore":"Mehr laden","library.empty":"Hier gibt es noch keine Dateien.","storage.loading":"Dateien werden geladen…","storage.uploading":"{count} werden hochgeladen…","storage.errLoadFailed":"Die Dateibibliothek konnte nicht geladen werden — {reason}","storage.errNoLimits":"Uploads sind deaktiviert: Diese Anwendung hat keine Upload-Limits gesetzt.","storage.errNoMaxBytes":"Uploads sind deaktiviert: Es wurde keine maximale Dateigröße festgelegt.","storage.errTooLarge":"{name} ist {size} groß — das Limit liegt bei {max}.","storage.errFormat":"{name} ist eine {type}-Datei, die hier nicht erlaubt ist.","storage.errSvg":"{name} ist eine SVG-Datei, die diese Anwendung nicht akzeptiert.","storage.errDimensions":"{name} ist {w}×{ht}px — das Limit liegt bei {maxW}×{maxH}px.","storage.errTooMany":"Es können nur {max} Dateien auf einmal hochgeladen werden.","storage.errUnreadable":"{name} ist kein lesbares Bild.","storage.errUploadFailed":"{name} konnte nicht hochgeladen werden — {reason}","storage.errDeleteFailed":"{name} konnte nicht gelöscht werden — {reason}","modal.export":"Exportieren","modal.exportTitle":"Tabellenbasiertes E-Mail-HTML","export.copy":"Kopieren","export.copied":"Kopiert","action.download":"Herunterladen","export.meta":"{kb} KB · Tabellen + Inline-Stile · Outlook-sichere Breiten","modal.rawHtmlTitle":"Rohes HTML, Live-Vorschau","code.statusEdited":"Code-Ansicht — bearbeitet — Vorschau live, noch nicht übernommen","code.statusSynced":"Code-Ansicht — synchron mit der Canvas","action.reload":"Neu laden","action.reloadHint":"Quelltext aus der Canvas neu laden","action.applyToCanvas":"Auf Canvas anwenden","action.applyToCanvasHint":"Quelltext zurück in bearbeitbare Zeilen umwandeln","action.closeWithoutApplyingHint":"Ohne Anwenden schließen","code.source":"Quelltext","code.livePreview":"Live-Vorschau","code.liveHtmlPreviewTitle":"Live-HTML-Vorschau","code.applyNote":"Beim Anwenden wird jede oberste Tabellenzeile in eine Canvas-Zeile umgewandelt, die du weiterhin auswählen, neu anordnen und löschen kannst — handgeschriebenes Markup übersteht den Vorgang unverändert.","code.meta":"{kb} KB · {lines} Zeilen","toast.sourceReloaded":"Quelltext aus der Canvas neu geladen","toast.sourceAppliedOne":"Quelltext angewendet — 1 Zeile auf der Canvas","toast.sourceAppliedMany":"Quelltext angewendet — {rows} Zeilen auf der Canvas","toast.parseError":"Dieses HTML konnte nicht verarbeitet werden","modal.aiDraft":"KI-Schreibassistent","modal.aiDraftTitle":"E-Mail mit KI entwerfen","ai.disclosure":"Die KI erstellt Vorschläge aus Ihrem Briefing. Prüfen und bearbeiten Sie das Ergebnis vor dem Versand.","ai.goal":"Ziel","ai.tone":"Ton","ai.briefLabel":"Worum geht es in dieser E-Mail?","ai.briefPlaceholder":"z. B. Herbstkollektion, 15 % für Abonnenten, kostenloser Versand ab 150 €","ai.generate":"Text generieren","ai.writing":"Wird geschrieben…","ai.kindHeadline":"Überschrift","ai.kindBody":"Fließtext","ai.kindButton":"Button-Text","ai.actionInsertHeading":"Als Überschrift einfügen","ai.actionInsertText":"Als Textblock einfügen","ai.actionInsertButton":"Als Button einfügen","toast.headingAdded":"Überschrift hinzugefügt","toast.textBlockAdded":"Textblock hinzugefügt","toast.buttonAdded":"Button hinzugefügt","preview.kickerMobile":"Vorschau — Mobil 375px","preview.kickerDesktop":"Vorschau — Desktop {width}px","action.close":"Schließen","toast.duplicated":"Dupliziert","toast.fileUploadedOne":"1 Datei hochgeladen","toast.fileUploadedMany":"{count} Dateien hochgeladen","toast.imageReplaced":"Bild ersetzt","toast.imageAdded":"Bild zur Canvas hinzugefügt","toast.htmlCopied":"HTML in die Zwischenablage kopiert","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eingefügt","toast.snippetCopied":"{name} kopiert — wähle einen Textblock zum Einfügen aus","rte.textStyle":"Textstil","rte.mergeTags":"Platzhalter","rte.noMergeTags":"Keine Platzhalter verfügbar","rte.textColor":"Textfarbe","rte.highlightColor":"Markierungsfarbe","rte.removeHighlight":"Markierung entfernen","rte.clearFormatting":"Formatierung entfernen","action.downloadPng":"PNG herunterladen","action.screenshot":"Screenshot","action.screenshotHint":"Die gesamte Vorlage als Bild ansehen und herunterladen","toast.pngSaved":"Screenshot heruntergeladen","toast.pngFailed":"Screenshot fehlgeschlagen — ein externes Bild konnte nicht geladen werden","toast.pngCopied":"Screenshot in die Zwischenablage kopiert","toast.pngCopyFailed":"Dieser Browser hat kein Bild in der Zwischenablage akzeptiert","story.kicker":"Screenshot","story.rendering":"Screenshot wird erstellt","story.renderingHint":"Jeder Block wird in 2× gezeichnet — bei einer langen Vorlage dauert das einen Moment.","story.failed":"Screenshot fehlgeschlagen","story.failedHint":"Ein Bild in der Vorlage konnte für die Aufnahme nicht geladen werden.","story.retry":"Erneut versuchen","story.play":"Abspielen","story.pause":"Pause","story.replay":"Erneut abspielen","story.copy":"Kopieren","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},re["core/i18n/dz.js"]=function(ne,V,A){Object.assign(V,{DZ:{"action.undoHint":"ལོག་སྟེ་བཟོ — ⌘Z","action.redoHint":"སླར་བསྐྱར — ⌘⇧Z","action.chromeToDark":"ནག་ཅན","action.chromeToLight":"དཀར་ཅན","action.chromeHint":"སྣུམ་འཕྲུལ་གྱི་མདོག་དཀར་ནག","action.chromeHintToDark":"ནག་ཅན་ཐབས་ལམ","action.chromeHintToLight":"འོད་ཅན་ཐབས་ལམ","action.aiDraft":"ཟིན་བྲིས","action.aiDraftHint":"AI གིས་གློག་འཕྲིན་གྱི་ནང་དོན་བྲིས","action.code":"ཀོཌ","action.codeHint":"HTML རྩ་བ་ལས་བཟོ་བཅོས་དང་མཐོང་སྣང་","action.preview":"སྔོན་མཐོང","action.previewHint":"གློག་འཕྲིན་སྔོན་མཐོང","action.export":"ཕྱིར་འདྲེན","action.exportHint":"ཁྱོད་ཀྱི་གློག་འཕྲིན་ཕྱིར་འདྲེན","device.desktop":"ཌེསིཀ་ཊོཔ","device.desktopHint":"ཌེསིཀ་ཊོཔ་གི་རྒྱ་ཚད","device.mobile":"མོ་བའིལ","device.mobileHint":"མོ་བའིལ་གྱི་རྒྱ་ཚད","status.autosaveOn":"རང་བཞིན་ཉར་ཚགས་ཁ་ཕྱེ་ཡོད","status.saved":"ཉར་ཚགས་བྱུང་ {time}","status.saveFailed":"ཉར་ཚགས་མ་བྱུང — གནས་ཁོངས་གང་སོང","canvas.meta":"ཐིག་ཁྲམ་ {rows} · སྡེབ་ཚན་ {blocks} · {width}px","tab.design":"བཟོ་རྣམ","tab.designHint":"སེལ་འཐུ་བྱུང་བའི་ཆ་ཤས་བཟོ་རྣམ་སྒྱུར","tab.blocks":"སྡེབ་ཚན","tab.blocksHint":"ནང་དོན་སྡེབ་ཚན་དང་འགྱུར་ཚད","tab.rows":"དབྱེ་ཚན","tab.rowsHint":"དབྱེ་ཚན་གྱི་བཀོད་པ་དང་ཐིག་ཁྲམ","tab.files":"ཡིག་སྣོད","tab.filesHint":"དཔེ་མཛོད","tab.layers":"བཀོད་པ","tab.layersHint":"ཡིག་ཆའི་བཀོད་པ","tab.settings":"སྒྲིག་སྟངས","tab.settingsHint":"གློག་འཕྲིན་གྱི་སྒྲིག་སྟངས","tab.data":"འགྱུར་ཚད","tab.dataHint":"ཁྱོད་ཀྱི་ཀོཌ་ནང་ལས་ཐོན་པའི་འགྱུར་ཚད","inspector.blockProperties":"སྡེབ་ཚན་གྱི་ཁྱད་ཆོས","inspector.sectionProperties":"དབྱེ་ཚན་གྱི་ཁྱད་ཆོས","inspector.title":"བརྟག་ཞིབ","inspector.sectionLabel":"དབྱེ་ཚན","inspector.nothingSelected":"ག་ནི་ཡང་སེལ་འཐུ་མ་བྱུང","action.duplicateHint":"འདྲ་བཤུས — ⌘D","action.deleteHint":"བསུབ — ⌫","inspector.emptyBody":'ཐིག་ཁྲམ་ནང་གི་དབྱེ་ཚན་ཡང་ན་སྡེབ་ཚན་ཅིག་སེལ་འཐུ་འབད་དེ་འདི་ནང་བཟོ་རྣམ་སྒྱུར། <strong style="color: var(--ed-text); font-weight: 600;">སྡེབ་ཚན</strong> ཟེར་བའི་ཁ་ཆའི་ནང་ལས་སྡེབ་ཚན་འདྲུད་དེ་བཙུགས། ཡི་གུ་ག་ནི་འབད་རུང་ཁར་གཉིས་མཐེབ་བརྡབས་ཏེ་བཟོ་བཅོས་འབད།',"inspector.shortcuts":"མགྱོགས་ལམ","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ལོག་སྟེ་བཟོ, སླར་བསྐྱར","shortcut.duplicate":"⌘D — སེལ་འཐུ་འདྲ་བཤུས","shortcut.delete":"⌫ — སེལ་འཐུ་བསུབ","shortcut.export":"⌘E — HTML ཕྱིར་འདྲེན","shortcut.escape":"ESC — སེལ་འཐུ་བཏོན, ཁ་བསྡམས","blocks.dragHint":"ཐིག་ཁྲམ་ལུ་འདྲུད་དེ་བཙུགས","blocks.count":"སྡེབ་ཚན་ {count}","rows.sectionLayouts":"དབྱེ་ཚན་གྱི་བཀོད་པ","rows.customMarkup":"རང་སྒྲིག་མཱརཀ་པ","rows.htmlRowHint":"འདྲུད་དེ་བཙུགས, ཡང་ན་ཁ་སྣོན་འབད་ནི་ལུ་མཐེབ་རྐྱབས — raw HTML གིས་བཀང་ནིའི་དབྱེ་ཚན་རྒྱ་ཚད་ཧྲིལ་བུ","rows.rawHtmlSection":"Raw HTML དབྱེ་ཚན","rows.rawHtmlDesc":"རྒྱ་ཚད་ཧྲིལ་བུའི་དབྱེ་ཚན, ཁྱོད་རང་གི་མཱརཀ་པ, ད་རུང་འདྲུད་བཏུབ","rows.canvasModel":"ཐིག་ཁྲམ་གྱི་དཔེ་གཞི","rows.modeRowBased":"ཐིག་ཁྲམ་གྱི་གཞི་བཞག","rows.modeFreeStack":"རང་མོས་སྤུང་ཚུལ","rows.hintRows":"དབྱེ་ཚན་གྱི་གཞི་བཞག: དང་པོ་བཀོད་པ་ཅིག་བཙུགས, དེ་ལས་སྡེབ་ཚན་ཚུ་ཀེར་ཐིག་ནང་བཙུགས — དབྱེ་ཚན་རེ་རེ་ལུ་རང་སོའི་རྒྱབ་མདོག, མཐའ་མཚམས, flex ཡང་ན་ grid སྒྲིག་སྟངས་ཡོད།","rows.hintStack":"རང་མོས་སྤུང་ཚུལ: བཀོད་པ་མེད་པར — ཁྱོད་ཀྱིས་འདྲུད་དེ་བཙུགས་པའི་སྡེབ་ཚན་རེ་རེ་རང་སོའི་རྒྱ་ཚད་ཧྲིལ་བུའི་དབྱེ་ཚན་ཅིག་ལུ་གྱུར་ཏེ་གོ་རིམ་བཞིན་སྤུངས།","files.libraryCount":"དཔེ་མཛོད — ཡིག་སྣོད་ {count}","files.openManager":"ཡིག་སྣོད་དོ་དམ་པ་ཁ་ཕྱེ","files.dragToCanvas":"གཟུགས་བརྙན་སྡེབ་ཚན་ཅིག་སྦེ་བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ག་ནི་འབད་རུང་ཐིག་ཁྲམ་ལུ་ཐད་ཀར་འདྲུད།","layers.structure":"བཀོད་པ","layers.sectionSingle":"དབྱེ་ཚན","layers.sectionMulti":"དབྱེ་ཚན · ཀེར་ཐིག་ {count}","layers.column":"ཀེར་ཐིག {index}","layers.blockCount":"སྡེབ་ཚན་ {count}","vars.title":"འགྱུར་ཚད","vars.fromCode":"ཁྱོད་ཀྱི་ཀོཌ་ནང་ལས་ {count}","vars.declaredNote":"ཁྱོད་ཀྱི་ལག་ཆས་ཀྱིས་གསལ་བཀོད་འབད་ཡོད — ཐིག་ཁྲམ་གྱིས་རྟག་པར་ཊོ་ཀེན་སྟོན, གནས་གོང་ནམ་ཡང་མི་སྟོན།","vars.filterPlaceholder":"འགྱུར་ཚད་འཚོལ…","vars.insertHint":"སེལ་འཐུ་བྱུང་བའི་ཡི་གུ, མགོ་མིང་ཡང་ན་མཐེབ་ནང་བཙུགས་ནིའི་དོན་ལུ་མཐེབ་རྐྱབས","vars.insert":"བཙུགས","vars.noMatch":"འཚོལ་ཞིབ་དེ་དང་མཐུན་པའི་འགྱུར་ཚད་མིན་འདུག","vars.noneDeclared":"ཁྱོད་ཀྱི་ལག་ཆས་ཀྱིས་ད་ལྟོ་ཚུན་འགྱུར་ཚད་ག་ནི་ཡང་གསལ་བཀོད་མ་འབད","vars.rteHint":"ཡི་གུ་བཟོ་བཅོས་སྐབས་ལག་ཆས་ཕྲ་མོའི་ཐོ་ཡིག་ནང་ལས་ཡང་འགྱུར་ཚད་ཅིག་འཐུ་བཏུབ།","modal.fileManager":"ཡིག་སྣོད་དོ་དམ་པ","modal.assetsTitle":"དངོས་རིགས","modal.replaceImage":"གཟུགས་བརྙན་ཚབ་བཙུགས","library.searchPlaceholder":"ཡིག་སྣོད་འཚོལ…","action.upload":"བསྐྱེད་འདྲེན","library.clickToPlace":"བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ཅིག་ལུ་མཐེབ་རྐྱབས · ཡང་ན་ཐིག་ཁྲམ་ལུ་ཡིག་སྣོད་འདྲུད","library.clickToReplace":"སེལ་འཐུ་བྱུང་བའི་གཟུགས་བརྙན་ཚབ་བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ལུ་མཐེབ་རྐྱབས","library.storageLabel":"ཡིག་སྣོད་ {count} · {size}","library.folders":"ཡིག་སྣོད་ཁུག","library.dropHint":"བསྐྱེད་འདྲེན་འབད་ནིའི་དོན་ལུ་གཟུགས་བརྙན་ཡིག་སྣོད་འདི་ཁར་བཞག — ཡང་ན་བསྐྱེད་འདྲེན་མཐེབ་ལག་ལེན།","library.deleteFileHint":"ཡིག་སྣོད་བསུབ","library.del":"བསུབ","toast.assetDeleted":"{name} བསུབ་ཡོདཔ","library.allFiles":"ཡིག་སྣོད་ཆ་མཉམ","library.loadMore":"ཧེང་བཀལ་བལྟ","library.empty":"ནཱ་ལུ་ད་ལྟོ་ཡིག་སྣོད་མིན་འདུག།","storage.loading":"ཡིག་སྣོད་མངོན་གསལ་འབད་བཞིན་འདུག…","storage.uploading":"{count} ཡར་འཇུག་འབད་བཞིན་འདུག…","storage.errLoadFailed":"ཡིག་སྣོད་མཛོད་མངོན་གསལ་མ་ཚུགས — {reason}","storage.errNoLimits":"ཡར་འཇུག་བཀག་ནུག: གློག་རིམ་འདི་གིས་ཡར་འཇུག་གི་ཚད་གཞི་བཟོ་མ་བཞག།","storage.errNoMaxBytes":"ཡར་འཇུག་བཀག་ནུག: ཡིག་སྣོད་ཀྱི་ཚད་མཐོ་ཤོས་བཀོད་མ་བཞག།","storage.errTooLarge":"{name} འདི {size} ཨིན — ཚད་གཞི {max} ཨིན།","storage.errFormat":"{name} འདི {type} ཡིག་སྣོད་ཨིན། ནཱ་ལུ་ཆོག་མི་འཐོབ།","storage.errSvg":"{name} འདི SVG ཨིན། གློག་རིམ་འདི་གིས་དེ་ལེན་མི་བཏུབ།","storage.errDimensions":"{name} འདི {w}×{ht}px ཨིན — ཚད་གཞི {maxW}×{maxH}px ཨིན།","storage.errTooMany":"ཐེངས་གཅིག་ལུ་ཡིག་སྣོད {max} རྐྱངམ་ཅིག་ཡར་འཇུག་འབད་ཚུགས།","storage.errUnreadable":"{name} འདི ལྷག་བཏུབ་པའི་པར་ཅིག་མེན།","storage.errUploadFailed":"{name} ཡར་འཇུག་འབད་མ་ཚུགས — {reason}","storage.errDeleteFailed":"{name} བསུབ་མ་ཚུགས — {reason}","modal.export":"ཕྱིར་འདྲེན","modal.exportTitle":"ཐིག་ཁྲམ་གཞི་བཞག HTML","export.copy":"འདྲ་བཤུས","export.copied":"འདྲ་བཤུས་བྱུང","action.download":"ཕབ་ལེན","export.meta":"{kb} KB · ཐིག་ཁྲམ + ནང་འཁོད་བཟོ་རྣམ · Outlook ལུ་ཉེན་སྲུང་ཡོད་པའི་རྒྱ་ཚད","modal.rawHtmlTitle":"Raw HTML, མཐོང་སྣང་","code.statusEdited":"ཀོཌ་མཐོང་སྣང — བཟོ་བཅོས་བྱུང — མཐོང་སྣང་མཐོང་སྣང་ཡིན་རུང་ད་ལྟོ་ཚུན་ལག་ལེན་མ་འཐབ","code.statusSynced":"ཀོཌ་མཐོང་སྣང — ཐིག་ཁྲམ་དང་མཉམ་འབྲེལ་ཡོད","action.reload":"སླར་འདྲེན","action.reloadHint":"ཐིག་ཁྲམ་ནང་ལས་རྩ་འཛིན་སླར་འདྲེན","action.applyToCanvas":"ཐིག་ཁྲམ་ལུ་ལག་ལེན་འཐབ","action.applyToCanvasHint":"རྩ་འཛིན་བཟོ་བཅོས་བཏུབ་པའི་ཐིག་ཁྲམ་ལུ་བཤད་བཤག","action.closeWithoutApplyingHint":"ལག་ལེན་མ་འཐབ་པར་ཁ་བསྡམས","code.source":"རྩ་འཛིན","code.livePreview":"མཐོང་སྣང","code.liveHtmlPreviewTitle":"HTML མཐོང་སྣང","code.applyNote":"ལག་ལེན་འཐབ་པའི་སྐབས་ཐིག་ཁྲམ་ཐིག་ཁྲམ་རེ་རེ་སེལ་འཐུ, གོ་རིམ་བསྒྱུར, ད་རུང་བསུབ་བཏུབ་པའི་ཐིག་ཁྲམ་ཅིག་ལུ་བཤད་བཤག — ལག་གིས་བྲིས་པའི་མཱརཀ་པ་ཧེ་མ་བཟུམ་ལུས་འོང༌།","code.meta":"{kb} KB · ཐིག་ {lines}","toast.sourceReloaded":"ཐིག་ཁྲམ་ནང་ལས་རྩ་འཛིན་སླར་འདྲེན་བྱུང","toast.sourceAppliedOne":"རྩ་འཛིན་ལག་ལེན་འཐབ་ཡོད — ཐིག་ཁྲམ་ནང་ཐིག་ ༡","toast.sourceAppliedMany":"རྩ་འཛིན་ལག་ལེན་འཐབ་ཡོད — ཐིག་ཁྲམ་ནང་ཐིག་ {rows}","toast.parseError":"HTML དེ་བཤད་བཤག་མ་ཚུགས","modal.aiDraft":"AI ཡིག་འབྲིའི་གྲོགས་རམ","modal.aiDraftTitle":"AI གིས་ཁྱོད་ཀྱི་གློག་འཕྲིན་བྲིས","ai.disclosure":"AI གིས་ཁྱོད་ཀྱི་བཅུད་བསྡུས་ལས་བསམ་འཆར་བཟོཝ་ཨིན། གཏང་བའི་ཧེ་མ་གྲུབ་འབྲས་ལུ་ཞིབ་དཔྱད་དང་ཞུན་དག་འབད།","ai.goal":"དམིགས་དོན","ai.tone":"སྒྲ་གདངས","ai.briefLabel":"ཡིག་འཕྲིན་འདི་ག་ཅི་གི་སྐོར་ལས་ཨིན་ན?","ai.briefPlaceholder":"དཔེར་ན: སྟོན་ཀའི་གོས་གྱོན, འོང་ལེན་པ་ལུ་བརྒྱ་ཆ་ ༡༥ ཞབས་ཏོག, སོར་ ༡༥༠ ལས་ལྷག་ན་འཁྱེར་ཁ་རིན་མེད","ai.generate":"ཡི་གུ་བཟོ","ai.writing":"བྲིས་བཞིན་འདུག…","ai.kindHeadline":"མགོ་མིང","ai.kindBody":"ཡིག་ཐོག་གནད་དོན","ai.kindButton":"མཐེབ་ཀྱི་ཡིག་རྟགས","ai.actionInsertHeading":"མགོ་མིང་སྦེ་བཙུགས","ai.actionInsertText":"ཡི་གུའི་སྡེབ་ཚན་སྦེ་བཙུགས","ai.actionInsertButton":"མཐེབ་སྦེ་བཙུགས","toast.headingAdded":"མགོ་མིང་ཁ་སྣོན་བྱུང","toast.textBlockAdded":"ཡི་གུའི་སྡེབ་ཚན་ཁ་སྣོན་བྱུང","toast.buttonAdded":"མཐེབ་ཁ་སྣོན་བྱུང","preview.kickerMobile":"སྔོན་མཐོང — མོ་བའིལ 375px","preview.kickerDesktop":"སྔོན་མཐོང — ཌེསིཀ་ཊོཔ {width}px","action.close":"ཁ་བསྡམས","toast.duplicated":"འདྲ་བཤུས་བྱུང","toast.fileUploadedOne":"ཡིག་སྣོད་ ༡ བསྐྱེད་འདྲེན་བྱུང","toast.fileUploadedMany":"ཡིག་སྣོད་ {count} བསྐྱེད་འདྲེན་བྱུང","toast.imageReplaced":"གཟུགས་བརྙན་ཚབ་བཙུགས་བྱུང","toast.imageAdded":"ཐིག་ཁྲམ་ལུ་གཟུགས་བརྙན་ཁ་སྣོན་བྱུང","toast.htmlCopied":"HTML ཀ་ལིཔ་བོརཌ་ལུ་འདྲ་བཤུས་བྱུང","toast.templateLoaded":"{name} འདྲེན་སྤྱོད་བྱུང","toast.snippetDefaultLabel":"ཡིག་ཐིག","toast.snippetInserted":"{name} བཙུགས་བྱུང","toast.snippetCopied":"{name} འདྲ་བཤུས་བྱུང — བཙུགས་ནིའི་དོན་ལུ་ཡི་གུའི་སྡེབ་ཚན་ཅིག་སེལ་འཐུ་འབད","rte.textStyle":"ཡི་གུའི་བཟོ་རྣམ","rte.mergeTags":"བསྡུ་སྒྲིལ་ངོ་རྟགས","rte.noMergeTags":"བསྡུ་སྒྲིལ་ངོ་རྟགས་མིན་འདུག","rte.textColor":"ཡི་གུའི་ཚོས་གཞི","rte.highlightColor":"གསལ་སྟོན་ཚོས་གཞི","rte.removeHighlight":"གསལ་སྟོན་རྩ་བསྐྲད","rte.clearFormatting":"རྣམ་གཞག་བསུབ","action.downloadPng":"PNG ཕབ་ལེན","action.screenshot":"བརྙན་ཤེལ་པར","action.screenshotHint":"ཊེམ་པེལེཊ་ཧྲིལ་བུ་པར་བཟུམ་སྦེ་བལྟ་ཞིནམ་ལས་ཕབ་ལེན་འབད","toast.pngSaved":"བརྙན་ཤེལ་པར་ཕབ་ལེན་བྱུང","toast.pngFailed":"བརྙན་ཤེལ་པར་མ་བྱུང — ཕྱི་ཁའི་པར་ཅིག་མངོན་གསལ་མ་ཚུགས","toast.pngCopied":"བརྙན་ཤེལ་པར་ཀ་ལིཔ་བོརཌ་ལུ་འདྲ་བཤུས་བྱུང","toast.pngCopyFailed":"བརའུ་ཟར་འདི་གིས་ཀ་ལིཔ་བོརཌ་ནང་པར་ལེན་མ་བཏུབ","story.kicker":"བརྙན་ཤེལ་པར","story.rendering":"བརྙན་ཤེལ་པར་བཟོ་བཞིན་འདུག","story.renderingHint":"སྒྲོམ་རེ་རེ 2× ནང་བྲི་བཞིན་འདུག — ཊེམ་པེལེཊ་རིངམ་ལུ་དུས་ཚོད་ཅིག་འགོར།","story.failed":"བརྙན་ཤེལ་པར་མ་བྱུང","story.failedHint":"ཊེམ་པེལེཊ་ནང་གི་པར་ཅིག་བཟུང་ནིའི་དོན་ལུ་མངོན་གསལ་མ་ཚུགས།","story.retry":"སླར་འབད་བལྟ","story.play":"གཏང","story.pause":"འཕྲལ་བཀག","story.replay":"སླར་གཏང","story.copy":"འདྲ་བཤུས","story.meta":"{w}×{h} · གསལ་གཞི {i}/{n}","footer.poweredBy":"SELISE Blocks གིས་མཁོ་སྤྲོད © 2026"}})},re["core/i18n/el.js"]=function(ne,V,A){Object.assign(V,{EL:{"action.undoHint":"Αναίρεση — ⌘Z","action.redoHint":"Επανάληψη — ⌘⇧Z","action.chromeToDark":"Σκούρο","action.chromeToLight":"Ανοιχτόχρωμο","action.chromeHint":"Θέμα επεξεργαστή ανοιχτό / σκούρο","action.chromeHintToDark":"Σκούρα λειτουργία","action.chromeHintToLight":"Φωτεινή λειτουργία","action.aiDraft":"Προσχέδιο","action.aiDraftHint":"Σύνταξη περιεχομένου email με AI","action.code":"Κώδικας","action.codeHint":"Επεξεργασία ακατέργαστου HTML με ζωντανή προεπισκόπηση","action.preview":"Προεπισκόπηση","action.previewHint":"Προεπισκόπηση του email","action.export":"Εξαγωγή","action.exportHint":"Εξαγωγή του email σας","device.desktop":"Υπολογιστής","device.desktopHint":"Πλάτος υπολογιστή","device.mobile":"Κινητό","device.mobileHint":"Πλάτος κινητού","status.autosaveOn":"η αυτόματη αποθήκευση είναι ενεργή","status.saved":"αποθηκεύτηκε {time}","status.saveFailed":"δεν αποθηκεύτηκε — ο χώρος αποθήκευσης γέμισε","canvas.meta":"{rows} γραμμές · {blocks} μπλοκ · {width}px","tab.design":"Στυλ","tab.designHint":"Μορφοποίηση επιλογής","tab.blocks":"Μπλοκ","tab.blocksHint":"Μπλοκ περιεχομένου και μεταβλητές","tab.rows":"Ενότητες","tab.rowsHint":"Διατάξεις ενοτήτων και μοντέλο καμβά","tab.files":"Αρχεία","tab.filesHint":"Βιβλιοθήκη πόρων","tab.layers":"Δομή","tab.layersHint":"Δομή εγγράφου","tab.settings":"Ρυθμίσεις","tab.settingsHint":"Ρυθμίσεις email","tab.data":"Μετ.","tab.dataHint":"Μεταβλητές που παρέχονται από τον κώδικά σας","inspector.blockProperties":"Ιδιότητες μπλοκ","inspector.sectionProperties":"Ιδιότητες ενότητας","inspector.title":"Επόπτης","inspector.sectionLabel":"Ενότητα","inspector.nothingSelected":"Καμία επιλογή","action.duplicateHint":"Διπλασιασμός — ⌘D","action.deleteHint":"Διαγραφή — ⌫","inspector.emptyBody":'Επιλέξτε μια γραμμή ή ένα μπλοκ στον καμβά για να το μορφοποιήσετε εδώ. Σύρετε μπλοκ από την καρτέλα <strong style="color: var(--ed-text); font-weight: 600;">Μπλοκ</strong>· κάντε διπλό κλικ σε οποιοδήποτε κείμενο για να το επεξεργαστείτε απευθείας.',"inspector.shortcuts":"Συντομεύσεις","shortcut.undoRedo":"⌘Z / ⌘⇧Z — αναίρεση, επανάληψη","shortcut.duplicate":"⌘D — διπλασιασμός επιλογής","shortcut.delete":"⌫ — διαγραφή επιλογής","shortcut.export":"⌘E — εξαγωγή HTML","shortcut.escape":"ESC — κατάργηση επιλογής, κλείσιμο","blocks.dragHint":"Σύρετε στον καμβά","blocks.count":"{count} μπλοκ","rows.sectionLayouts":"Διατάξεις ενοτήτων","rows.customMarkup":"Προσαρμοσμένη σήμανση","rows.htmlRowHint":"Σύρετε για εισαγωγή ή κάντε κλικ για προσθήκη — μια γραμμή πλήρους πλάτους που γεμίζετε με ακατέργαστο HTML","rows.rawHtmlSection":"Ενότητα ακατέργαστου HTML","rows.rawHtmlDesc":"Ενότητα πλήρους πλάτους, δική σας σήμανση, εξακολουθεί να είναι μεταφέρσιμη","rows.canvasModel":"Μοντέλο καμβά","rows.modeRowBased":"Βάσει γραμμών","rows.modeFreeStack":"Ελεύθερη στοίβα","rows.hintRows":"Βάσει ενοτήτων: αποθέστε πρώτα μια διάταξη, μετά μπλοκ στις στήλες της — κάθε ενότητα έχει το δικό της φόντο, περίγραμμα, ρυθμίσεις flex ή πλέγματος.","rows.hintStack":"Ελεύθερη στοίβα: χωρίς διατάξεις — κάθε μπλοκ που αποθέτετε γίνεται δική του ενότητα πλήρους πλάτους, στοιβαγμένη με τη σειρά.","files.libraryCount":"Βιβλιοθήκη — {count} αρχεία","files.openManager":"Άνοιγμα διαχείρισης αρχείων","files.dragToCanvas":"Σύρετε οποιοδήποτε αρχείο απευθείας στον καμβά για να το τοποθετήσετε ως μπλοκ εικόνας.","layers.structure":"Δομή","layers.sectionSingle":"Ενότητα","layers.sectionMulti":"Ενότητα · {count} στήλες","layers.column":"Στήλη {index}","layers.blockCount":"{count} μπλ.","vars.title":"Μεταβλητές","vars.fromCode":"{count} από τον κώδικά σας","vars.declaredNote":"Δηλωμένες από την εφαρμογή σας — ο καμβάς εμφανίζει πάντα το token, ποτέ μια τιμή.","vars.filterPlaceholder":"Φιλτράρισμα μεταβλητών…","vars.insertHint":"Κάντε κλικ για εισαγωγή στο επιλεγμένο κείμενο, τίτλο ή κουμπί","vars.insert":"εισαγωγή","vars.noMatch":"Καμία μεταβλητή δεν ταιριάζει με αυτό το φίλτρο.","vars.noneDeclared":"Η εφαρμογή σας δεν έχει δηλώσει ακόμη μεταβλητές.","vars.rteHint":"Κατά την επεξεργασία κειμένου, μπορείτε επίσης να επιλέξετε μια μεταβλητή απευθείας από το αναπτυσσόμενο μενού της ενσωματωμένης γραμμής εργαλείων.","modal.fileManager":"Διαχείριση αρχείων","modal.assetsTitle":"Πόροι","modal.replaceImage":"Αντικατάσταση εικόνας","library.searchPlaceholder":"Αναζήτηση αρχείων…","action.upload":"Μεταφόρτωση","library.clickToPlace":"Κάντε κλικ σε ένα αρχείο για να το τοποθετήσετε · ή σύρετε ένα αρχείο στον καμβά","library.clickToReplace":"Κάντε κλικ σε ένα αρχείο για να αντικαταστήσετε την επιλεγμένη εικόνα","library.storageLabel":"{count} αρχεία · {size}","library.folders":"Φάκελοι","library.dropHint":"Αποθέστε εδώ αρχεία εικόνας για μεταφόρτωση — ή χρησιμοποιήστε το κουμπί Μεταφόρτωση.","library.deleteFileHint":"Διαγραφή αρχείου","library.del":"ΔΙΑΓΡ","toast.assetDeleted":"Το {name} διαγράφηκε","library.allFiles":"Όλα τα αρχεία","library.loadMore":"Φόρτωση περισσότερων","library.empty":"Δεν υπάρχουν ακόμη αρχεία εδώ.","storage.loading":"Φόρτωση αρχείων…","storage.uploading":"Μεταφόρτωση {count}…","storage.errLoadFailed":"Δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης αρχείων — {reason}","storage.errNoLimits":"Οι μεταφορτώσεις είναι απενεργοποιημένες: αυτή η εφαρμογή δεν έχει ορίσει όρια μεταφόρτωσης.","storage.errNoMaxBytes":"Οι μεταφορτώσεις είναι απενεργοποιημένες: δεν έχει οριστεί μέγιστο μέγεθος αρχείου.","storage.errTooLarge":"Το {name} είναι {size} — το όριο είναι {max}.","storage.errFormat":"Το {name} είναι αρχείο {type}, που δεν επιτρέπεται εδώ.","storage.errSvg":"Το {name} είναι SVG, το οποίο αυτή η εφαρμογή δεν δέχεται.","storage.errDimensions":"Το {name} είναι {w}×{ht}px — το όριο είναι {maxW}×{maxH}px.","storage.errTooMany":"Μπορούν να μεταφορτωθούν μόνο {max} αρχεία τη φορά.","storage.errUnreadable":"Το {name} δεν είναι αναγνώσιμη εικόνα.","storage.errUploadFailed":"Δεν ήταν δυνατή η μεταφόρτωση του {name} — {reason}","storage.errDeleteFailed":"Δεν ήταν δυνατή η διαγραφή του {name} — {reason}","modal.export":"Εξαγωγή","modal.exportTitle":"HTML email βασισμένο σε πίνακες","export.copy":"Αντιγραφή","export.copied":"Αντιγράφηκε","action.download":"Λήψη","export.meta":"{kb} KB · πίνακες + ενσωματωμένα στυλ · πλάτη ασφαλή για Outlook","modal.rawHtmlTitle":"Ακατέργαστο HTML, ζωντανή προεπισκόπηση","code.statusEdited":"Προβολή κώδικα — επεξεργάστηκε — ζωντανή προεπισκόπηση, δεν έχει εφαρμοστεί ακόμη","code.statusSynced":"Προβολή κώδικα — συγχρονισμένη με τον καμβά","action.reload":"Επαναφόρτωση","action.reloadHint":"Επαναφόρτωση πηγής από τον καμβά","action.applyToCanvas":"Εφαρμογή στον καμβά","action.applyToCanvasHint":"Ανάλυση της πηγής ξανά σε επεξεργάσιμες γραμμές","action.closeWithoutApplyingHint":"Κλείσιμο χωρίς εφαρμογή","code.source":"Πηγή","code.livePreview":"Ζωντανή προεπισκόπηση","code.liveHtmlPreviewTitle":"Ζωντανή προεπισκόπηση HTML","code.applyNote":"Η εφαρμογή αναλύει κάθε γραμμή πίνακα ανώτατου επιπέδου σε γραμμή καμβά που μπορείτε ακόμη να επιλέξετε, να αναδιατάξετε και να διαγράψετε — ο χειρόγραφος κώδικας επιβιώνει αναλλοίωτος.","code.meta":"{kb} KB · {lines} γραμμές","toast.sourceReloaded":"Η πηγή επαναφορτώθηκε από τον καμβά","toast.sourceAppliedOne":"Η πηγή εφαρμόστηκε — 1 γραμμή στον καμβά","toast.sourceAppliedMany":"Η πηγή εφαρμόστηκε — {rows} γραμμές στον καμβά","toast.parseError":"Δεν ήταν δυνατή η ανάλυση αυτού του HTML","modal.aiDraft":"Βοηθός σύνταξης AI","modal.aiDraftTitle":"Συντάξτε το email σας με AI","ai.disclosure":"Το AI δημιουργεί προτάσεις από τη σύνοψή σας. Ελέγξτε και επεξεργαστείτε το αποτέλεσμα πριν το στείλετε.","ai.goal":"Στόχος","ai.tone":"Τόνος","ai.briefLabel":"Για τι αφορά αυτό το email;","ai.briefPlaceholder":"π.χ. Φθινοπωρινή συλλογή, 15% για συνδρομητές, δωρεάν αποστολή άνω των 150€","ai.generate":"Δημιουργία κειμένου","ai.writing":"Γίνεται συγγραφή…","ai.kindHeadline":"Τίτλος","ai.kindBody":"Κύριο κείμενο","ai.kindButton":"Κείμενο κουμπιού","ai.actionInsertHeading":"Εισαγωγή ως τίτλος","ai.actionInsertText":"Εισαγωγή ως μπλοκ κειμένου","ai.actionInsertButton":"Εισαγωγή ως κουμπί","toast.headingAdded":"Ο τίτλος προστέθηκε","toast.textBlockAdded":"Το μπλοκ κειμένου προστέθηκε","toast.buttonAdded":"Το κουμπί προστέθηκε","preview.kickerMobile":"Προεπισκόπηση — κινητό 375px","preview.kickerDesktop":"Προεπισκόπηση — υπολογιστής {width}px","action.close":"Κλείσιμο","toast.duplicated":"Διπλασιάστηκε","toast.fileUploadedOne":"1 αρχείο μεταφορτώθηκε","toast.fileUploadedMany":"{count} αρχεία μεταφορτώθηκαν","toast.imageReplaced":"Η εικόνα αντικαταστάθηκε","toast.imageAdded":"Η εικόνα προστέθηκε στον καμβά","toast.htmlCopied":"Το HTML αντιγράφηκε στο πρόχειρο","toast.templateLoaded":"Το {name} φορτώθηκε","toast.snippetDefaultLabel":"Απόσπασμα","toast.snippetInserted":"Το {name} εισήχθη","toast.snippetCopied":"Το {name} αντιγράφηκε — επιλέξτε ένα μπλοκ κειμένου για να το εισαγάγετε","rte.textStyle":"Στυλ κειμένου","rte.mergeTags":"Πεδία συγχώνευσης","rte.noMergeTags":"Δεν υπάρχουν διαθέσιμα πεδία συγχώνευσης","rte.textColor":"Χρώμα κειμένου","rte.highlightColor":"Χρώμα επισήμανσης","rte.removeHighlight":"Αφαίρεση επισήμανσης","rte.clearFormatting":"Καθαρισμός μορφοποίησης","action.downloadPng":"Λήψη PNG","action.screenshot":"Στιγμιότυπο","action.screenshotHint":"Δείτε όλο το πρότυπο ως εικόνα και κατεβάστε το","toast.pngSaved":"Το στιγμιότυπο κατέβηκε","toast.pngFailed":"Το στιγμιότυπο απέτυχε — μια εξωτερική εικόνα δεν φορτώθηκε","toast.pngCopied":"Το στιγμιότυπο αντιγράφηκε στο πρόχειρο","toast.pngCopyFailed":"Αυτό το πρόγραμμα περιήγησης δεν δέχτηκε εικόνα στο πρόχειρο","story.kicker":"Στιγμιότυπο","story.rendering":"Δημιουργία στιγμιότυπου","story.renderingHint":"Κάθε μπλοκ σχεδιάζεται σε 2× — σε μεγάλο πρότυπο θέλει λίγη ώρα.","story.failed":"Το στιγμιότυπο απέτυχε","story.failedHint":"Μια εικόνα του προτύπου δεν φορτώθηκε για τη λήψη.","story.retry":"Δοκιμάστε ξανά","story.play":"Αναπαραγωγή","story.pause":"Παύση","story.replay":"Επανάληψη","story.copy":"Αντιγραφή","story.meta":"{w}×{h} · οθόνη {i} από {n}","footer.poweredBy":"Με την υποστήριξη του SELISE Blocks © 2026"}})},re["core/i18n/en.js"]=function(ne,V,A){const W={"action.undoHint":"Undo — ⌘Z","action.redoHint":"Redo — ⌘⇧Z","action.chromeToDark":"Dark","action.chromeToLight":"Light","action.chromeHint":"Light / dark editor chrome","action.chromeHintToDark":"Dark mode","action.chromeHintToLight":"Light mode","action.aiDraft":"Draft","action.aiDraftHint":"Draft email content with AI","action.code":"Code","action.codeHint":"Edit the raw HTML with a live preview","action.preview":"Preview","action.previewHint":"Preview the email","action.export":"Export","action.exportHint":"Export your email","device.desktop":"Desktop","device.desktopHint":"Desktop width","device.mobile":"Mobile","device.mobileHint":"Mobile width","status.autosaveOn":"autosave on","status.saved":"saved {time}","status.saveFailed":"not saved — storage full","canvas.meta":"{rows} rows · {blocks} blocks · {width}px","tab.design":"Design","tab.designHint":"Style the selection","tab.blocks":"Content blocks","tab.blocksHint":"Content blocks and variables","tab.rows":"Sections","tab.rowsHint":"Section layouts and canvas model","tab.files":"Assets","tab.filesHint":"Asset library","tab.layers":"Layers","tab.layersHint":"Document structure","tab.settings":"Settings","tab.settingsHint":"Email settings","tab.data":"Variables","tab.dataHint":"Variables provided by your code","inspector.blockProperties":"Block properties","inspector.sectionProperties":"Section properties","inspector.title":"Inspector","inspector.sectionLabel":"Section","inspector.nothingSelected":"Nothing selected","action.duplicateHint":"Duplicate — ⌘D","action.deleteHint":"Delete — ⌫","inspector.emptyBody":'Pick a row or block on the canvas to style it here. Drag blocks in from the <strong style="color: var(--ed-text); font-weight: 600;">Content blocks</strong> tab; double-click any text to edit it in place.',"inspector.shortcuts":"Shortcuts","shortcut.undoRedo":"⌘Z / ⌘⇧Z — undo, redo","shortcut.duplicate":"⌘D — duplicate selection","shortcut.delete":"⌫ — delete selection","shortcut.export":"⌘E — export email","shortcut.escape":"ESC — deselect, close","blocks.dragHint":"Drag a block onto the canvas","blocks.count":"{count} blocks","rows.sectionLayouts":"Section layouts","rows.customMarkup":"Custom markup","rows.htmlRowHint":"Drag in, or click to append — a full-bleed row you fill with raw HTML","rows.rawHtmlSection":"Raw HTML section","rows.rawHtmlDesc":"Full-bleed section, your markup, still draggable","rows.canvasModel":"Canvas model","rows.modeRowBased":"Row based","rows.modeFreeStack":"Free stack","rows.hintRows":"Section based: drop a layout first, then drop blocks into its columns — every section carries its own background, border, flex or grid settings.","rows.hintStack":"Free stack: skip layouts — every block you drop becomes its own full-width section, stacked in order.","files.libraryCount":"Library — {count} files","files.openManager":"Open file manager","files.dragToCanvas":"Drag any file straight onto the canvas to place it as an image block.","layers.structure":"Structure","layers.sectionSingle":"Section","layers.sectionMulti":"Section · {count} columns","layers.column":"Column {index}","layers.blockCount":"{count} blocks","vars.title":"Variables","vars.fromCode":"{count} from your code","vars.declaredNote":"Declared by your application — the canvas always shows the token, never a value.","vars.filterPlaceholder":"Filter variables…","vars.insertHint":"Click to insert into the selected text, heading or button","vars.insert":"insert","vars.noMatch":"No variable matches that filter.","vars.noneDeclared":"Your application has not declared any variables yet.","vars.rteHint":"While editing text you can also pick a variable straight from the inline toolbar’s dropdown.","modal.fileManager":"File manager","modal.assetsTitle":"Assets","modal.replaceImage":"Replace image","library.searchPlaceholder":"Search files…","action.upload":"Upload","library.clickToPlace":"Click a file to place it · drag a file onto the canvas","library.clickToReplace":"Click a file to replace the selected image","library.storageLabel":"{count} files · {size}","library.folders":"Folders","library.dropHint":"Drop image files here to upload — or use the Upload button.","library.deleteFileHint":"Delete file","library.del":"DEL","toast.assetDeleted":"{name} deleted","library.allFiles":"All files","library.loadMore":"Load more","library.empty":"No files here yet.","storage.loading":"Loading files…","storage.uploading":"Uploading {count}…","storage.errLoadFailed":"The file library could not be loaded — {reason}","storage.errNoLimits":"Uploads are switched off: this app has not set any upload limits.","storage.errNoMaxBytes":"Uploads are switched off: no maximum file size has been set.","storage.errTooLarge":"{name} is {size} — the limit is {max}.","storage.errFormat":"{name} is a {type} file, which is not allowed here.","storage.errSvg":"{name} is an SVG, which this app does not accept.","storage.errDimensions":"{name} is {w}×{ht}px — the limit is {maxW}×{maxH}px.","storage.errTooMany":"Only {max} files can be uploaded at once.","storage.errUnreadable":"{name} is not a readable image.","storage.errUploadFailed":"{name} could not be uploaded — {reason}","storage.errDeleteFailed":"{name} could not be deleted — {reason}","modal.export":"Export","modal.exportTitle":"Your email is ready","export.copy":"Copy email","export.copied":"Copied","action.download":"Download","export.meta":"{kb} KB · ready to copy or download","modal.rawHtmlTitle":"Raw HTML, live preview","code.statusEdited":"Code view — edited — preview live, not yet applied","code.statusSynced":"Code view — in sync with the canvas","action.reload":"Reload","action.reloadHint":"Reload the source from the canvas","action.applyToCanvas":"Apply to canvas","action.applyToCanvasHint":"Parse the source back into editable rows","action.closeWithoutApplyingHint":"Close without applying","code.source":"Source","code.livePreview":"Live preview","code.liveHtmlPreviewTitle":"Live HTML preview","code.applyNote":"Apply parses each top-level table row back into a canvas row you can still select, reorder and delete — hand-written markup survives the round trip.","code.meta":"{kb} KB · {lines} lines","toast.sourceReloaded":"Source reloaded from canvas","toast.sourceAppliedOne":"Source applied — 1 row back on the canvas","toast.sourceAppliedMany":"Source applied — {rows} rows back on the canvas","toast.parseError":"Could not parse that HTML","modal.aiDraft":"AI writing assistant","modal.aiDraftTitle":"Draft your email with AI","ai.disclosure":"AI creates suggestions from your brief. Review and edit the result before sending.","ai.goal":"Goal","ai.tone":"Tone","ai.briefLabel":"What is this email about?","ai.briefPlaceholder":"e.g. Autumn outerwear drop, 15% for subscribers, free shipping over $150","ai.generate":"Generate draft with AI","ai.writing":"Writing…","ai.kindHeadline":"Headline","ai.kindBody":"Body copy","ai.kindButton":"Button label","ai.actionInsertHeading":"Insert as heading","ai.actionInsertText":"Insert as text block","ai.actionInsertButton":"Insert as button","toast.headingAdded":"Heading added","toast.textBlockAdded":"Text block added","toast.buttonAdded":"Button added","preview.kickerMobile":"Preview — mobile 375px","preview.kickerDesktop":"Preview — desktop {width}px","action.close":"Close","toast.duplicated":"Duplicated","toast.fileUploadedOne":"1 file uploaded","toast.fileUploadedMany":"{count} files uploaded","toast.imageReplaced":"Image replaced","toast.imageAdded":"Image added to canvas","toast.htmlCopied":"HTML copied to clipboard","toast.templateLoaded":"{name} loaded","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} inserted","toast.snippetCopied":"{name} copied — select a text block to insert it","rte.textStyle":"Text style","rte.mergeTags":"Merge Tags","rte.noMergeTags":"No merge tags available","rte.textColor":"Text color","rte.highlightColor":"Highlight color","rte.removeHighlight":"Remove highlight","rte.clearFormatting":"Clear formatting","action.downloadPng":"Download PNG","action.screenshot":"Screenshot","action.screenshotHint":"Preview the full template as an image, then download it","toast.pngSaved":"Screenshot downloaded","toast.pngFailed":"Screenshot failed — an external image could not be loaded","toast.pngCopied":"Screenshot copied to clipboard","toast.pngCopyFailed":"This browser would not accept an image on the clipboard","story.kicker":"Screenshot","story.rendering":"Rendering the screenshot","story.renderingHint":"Painting every block at 2× — this takes a moment on a long template.","story.failed":"Screenshot failed","story.failedHint":"An image in the template could not be loaded for capture.","story.retry":"Try again","story.play":"Play","story.pause":"Pause","story.replay":"Replay","story.copy":"Copy","story.meta":"{w}×{h} · screen {i} of {n}","footer.poweredBy":"Powered by SELISE Blocks © 2026"},q=Object.keys(W).sort();Object.assign(V,{EN:W,MESSAGE_KEYS:q})},re["core/i18n/es.js"]=function(ne,V,A){Object.assign(V,{ES:{"action.undoHint":"Deshacer — ⌘Z","action.redoHint":"Rehacer — ⌘⇧Z","action.chromeToDark":"Oscuro","action.chromeToLight":"Claro","action.chromeHint":"Tema del editor claro / oscuro","action.chromeHintToDark":"Modo oscuro","action.chromeHintToLight":"Modo claro","action.aiDraft":"Borrador","action.aiDraftHint":"Redactar el contenido del correo con IA","action.code":"Código","action.codeHint":"Editar el HTML sin procesar con vista previa en vivo","action.preview":"Vista previa","action.previewHint":"Previsualizar el correo","action.export":"Exportar","action.exportHint":"Exportar tu correo","device.desktop":"Escritorio","device.desktopHint":"Ancho de escritorio","device.mobile":"Móvil","device.mobileHint":"Ancho móvil","status.autosaveOn":"guardado automático activado","status.saved":"guardado {time}","status.saveFailed":"no guardado — almacenamiento lleno","canvas.meta":"{rows} filas · {blocks} bloques · {width}px","tab.design":"Estilo","tab.designHint":"Aplicar estilo a la selección","tab.blocks":"Bloques","tab.blocksHint":"Bloques de contenido y variables","tab.rows":"Secc.","tab.rowsHint":"Diseños de sección y modelo de lienzo","tab.files":"Archivos","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estruct.","tab.layersHint":"Estructura del documento","tab.settings":"Ajustes","tab.settingsHint":"Ajustes del correo","tab.data":"Var.","tab.dataHint":"Variables proporcionadas por tu código","inspector.blockProperties":"Propiedades del bloque","inspector.sectionProperties":"Propiedades de la sección","inspector.title":"Inspector","inspector.sectionLabel":"Sección","inspector.nothingSelected":"Nada seleccionado","action.duplicateHint":"Duplicar — ⌘D","action.deleteHint":"Eliminar — ⌫","inspector.emptyBody":'Selecciona una fila o un bloque en el lienzo para darle estilo aquí. Arrastra bloques desde la pestaña <strong style="color: var(--ed-text); font-weight: 600;">Bloques</strong>; haz doble clic en cualquier texto para editarlo directamente.',"inspector.shortcuts":"Atajos","shortcut.undoRedo":"⌘Z / ⌘⇧Z — deshacer, rehacer","shortcut.duplicate":"⌘D — duplicar selección","shortcut.delete":"⌫ — eliminar selección","shortcut.export":"⌘E — exportar HTML","shortcut.escape":"ESC — deseleccionar, cerrar","blocks.dragHint":"Arrastra al lienzo","blocks.count":"{count} bloques","rows.sectionLayouts":"Diseños de sección","rows.customMarkup":"Marcado personalizado","rows.htmlRowHint":"Arrastra para insertar, o haz clic para añadir — una fila a sangre completa que rellenas con HTML sin procesar","rows.rawHtmlSection":"Sección de HTML sin procesar","rows.rawHtmlDesc":"Sección a sangre completa, tu propio marcado, sigue siendo arrastrable","rows.canvasModel":"Modelo de lienzo","rows.modeRowBased":"Basado en filas","rows.modeFreeStack":"Pila libre","rows.hintRows":"Basado en secciones: primero suelta un diseño, luego suelta bloques en sus columnas — cada sección tiene su propio fondo, borde, ajustes flex o de cuadrícula.","rows.hintStack":"Pila libre: sin diseños — cada bloque que sueltas se convierte en su propia sección de ancho completo, apilada en orden.","files.libraryCount":"Biblioteca — {count} archivos","files.openManager":"Abrir gestor de archivos","files.dragToCanvas":"Arrastra cualquier archivo directamente al lienzo para colocarlo como bloque de imagen.","layers.structure":"Estructura","layers.sectionSingle":"Sección","layers.sectionMulti":"Sección · {count} col.","layers.column":"Columna {index}","layers.blockCount":"{count} bloq.","vars.title":"Variables","vars.fromCode":"{count} de tu código","vars.declaredNote":"Declaradas por tu aplicación — el lienzo siempre muestra el token, nunca un valor.","vars.filterPlaceholder":"Filtrar variables…","vars.insertHint":"Haz clic para insertar en el texto, título o botón seleccionado","vars.insert":"insertar","vars.noMatch":"Ninguna variable coincide con ese filtro.","vars.noneDeclared":"Tu aplicación aún no ha declarado ninguna variable.","vars.rteHint":"Al editar texto también puedes elegir una variable directamente desde el menú de la barra de herramientas en línea.","modal.fileManager":"Gestor de archivos","modal.assetsTitle":"Recursos","modal.replaceImage":"Reemplazar imagen","library.searchPlaceholder":"Buscar archivos…","action.upload":"Subir","library.clickToPlace":"Haz clic en un archivo para colocarlo · o arrastra un archivo al lienzo","library.clickToReplace":"Haz clic en un archivo para reemplazar la imagen seleccionada","library.storageLabel":"{count} archivos · {size}","library.folders":"Carpetas","library.dropHint":"Suelta archivos de imagen aquí para subirlos — o usa el botón Subir.","library.deleteFileHint":"Eliminar archivo","library.del":"BORR","toast.assetDeleted":"{name} eliminado","library.allFiles":"Todos los archivos","library.loadMore":"Cargar más","library.empty":"Aquí todavía no hay archivos.","storage.loading":"Cargando archivos…","storage.uploading":"Subiendo {count}…","storage.errLoadFailed":"No se pudo cargar la biblioteca de archivos — {reason}","storage.errNoLimits":"Las subidas están desactivadas: esta aplicación no ha definido ningún límite de subida.","storage.errNoMaxBytes":"Las subidas están desactivadas: no se ha definido un tamaño máximo de archivo.","storage.errTooLarge":"{name} pesa {size} — el límite es {max}.","storage.errFormat":"{name} es un archivo {type}, que no se permite aquí.","storage.errSvg":"{name} es un SVG, y esta aplicación no lo acepta.","storage.errDimensions":"{name} mide {w}×{ht}px — el límite es {maxW}×{maxH}px.","storage.errTooMany":"Solo se pueden subir {max} archivos a la vez.","storage.errUnreadable":"{name} no es una imagen legible.","storage.errUploadFailed":"No se pudo subir {name} — {reason}","storage.errDeleteFailed":"No se pudo eliminar {name} — {reason}","modal.export":"Exportar","modal.exportTitle":"HTML de correo basado en tablas","export.copy":"Copiar","export.copied":"Copiado","action.download":"Descargar","export.meta":"{kb} KB · tablas + estilos en línea · anchos seguros para Outlook","modal.rawHtmlTitle":"HTML sin procesar, vista previa en vivo","code.statusEdited":"Vista de código — editado — vista previa en vivo, aún no aplicado","code.statusSynced":"Vista de código — sincronizado con el lienzo","action.reload":"Recargar","action.reloadHint":"Recargar el origen desde el lienzo","action.applyToCanvas":"Aplicar al lienzo","action.applyToCanvasHint":"Analizar el origen de nuevo en filas editables","action.closeWithoutApplyingHint":"Cerrar sin aplicar","code.source":"Origen","code.livePreview":"Vista previa en vivo","code.liveHtmlPreviewTitle":"Vista previa de HTML en vivo","code.applyNote":"Aplicar analiza cada fila de tabla de nivel superior en una fila de lienzo que aún puedes seleccionar, reordenar y eliminar — el marcado escrito a mano sobrevive el proceso.","code.meta":"{kb} KB · {lines} líneas","toast.sourceReloaded":"Origen recargado desde el lienzo","toast.sourceAppliedOne":"Origen aplicado — 1 fila en el lienzo","toast.sourceAppliedMany":"Origen aplicado — {rows} filas en el lienzo","toast.parseError":"No se pudo analizar ese HTML","modal.aiDraft":"Asistente de redacción con IA","modal.aiDraftTitle":"Redacta tu correo con IA","ai.disclosure":"La IA crea sugerencias a partir de tu resumen. Revisa y edita el resultado antes de enviarlo.","ai.goal":"Objetivo","ai.tone":"Tono","ai.briefLabel":"¿De qué trata este correo?","ai.briefPlaceholder":"p. ej. Colección de otoño, 15% para suscriptores, envío gratis desde $150","ai.generate":"Generar texto","ai.writing":"Escribiendo…","ai.kindHeadline":"Titular","ai.kindBody":"Cuerpo del texto","ai.kindButton":"Texto del botón","ai.actionInsertHeading":"Insertar como encabezado","ai.actionInsertText":"Insertar como bloque de texto","ai.actionInsertButton":"Insertar como botón","toast.headingAdded":"Encabezado añadido","toast.textBlockAdded":"Bloque de texto añadido","toast.buttonAdded":"Botón añadido","preview.kickerMobile":"Vista previa — móvil 375px","preview.kickerDesktop":"Vista previa — escritorio {width}px","action.close":"Cerrar","toast.duplicated":"Duplicado","toast.fileUploadedOne":"1 archivo subido","toast.fileUploadedMany":"{count} archivos subidos","toast.imageReplaced":"Imagen reemplazada","toast.imageAdded":"Imagen añadida al lienzo","toast.htmlCopied":"HTML copiado al portapapeles","toast.templateLoaded":"{name} cargado","toast.snippetDefaultLabel":"Fragmento","toast.snippetInserted":"{name} insertado","toast.snippetCopied":"{name} copiado — selecciona un bloque de texto para insertarlo","rte.textStyle":"Estilo de texto","rte.mergeTags":"Campos de combinación","rte.noMergeTags":"No hay campos de combinación disponibles","rte.textColor":"Color del texto","rte.highlightColor":"Color de resaltado","rte.removeHighlight":"Quitar resaltado","rte.clearFormatting":"Borrar formato","action.downloadPng":"Descargar PNG","action.screenshot":"Captura","action.screenshotHint":"Ver toda la plantilla como imagen y descargarla","toast.pngSaved":"Captura descargada","toast.pngFailed":"La captura falló — no se pudo cargar una imagen externa","toast.pngCopied":"Captura copiada al portapapeles","toast.pngCopyFailed":"Este navegador no aceptó una imagen en el portapapeles","story.kicker":"Captura","story.rendering":"Generando la captura","story.renderingHint":"Se dibuja cada bloque a 2× — en una plantilla larga tarda un momento.","story.failed":"La captura falló","story.failedHint":"No se pudo cargar una imagen de la plantilla para capturarla.","story.retry":"Inténtalo de nuevo","story.play":"Reproducir","story.pause":"Pausar","story.replay":"Repetir","story.copy":"Copiar","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Con la tecnología de SELISE Blocks © 2026"}})},re["core/i18n/et.js"]=function(ne,V,A){Object.assign(V,{ET:{"action.undoHint":"Võta tagasi — ⌘Z","action.redoHint":"Tee uuesti — ⌘⇧Z","action.chromeToDark":"Tume","action.chromeToLight":"Hele","action.chromeHint":"Redaktori teema hele / tume","action.chromeHintToDark":"Tume režiim","action.chromeHintToLight":"Hele režiim","action.aiDraft":"Mustand","action.aiDraftHint":"Koosta e-kirja sisu tehisintellektiga","action.code":"Kood","action.codeHint":"Muuda töötlemata HTML-i otseeelvaatega","action.preview":"Eelvaade","action.previewHint":"Vaata e-kirja eelvaadet","action.export":"Ekspordi","action.exportHint":"Ekspordi oma e-kiri","device.desktop":"Arvuti","device.desktopHint":"Arvuti laius","device.mobile":"Mobiil","device.mobileHint":"Mobiili laius","status.autosaveOn":"automaatne salvestamine sees","status.saved":"salvestatud {time}","status.saveFailed":"ei salvestatud — talletusruum täis","canvas.meta":"{rows} rida · {blocks} plokki · {width}px","tab.design":"Stiil","tab.designHint":"Vali stiil valikule","tab.blocks":"Plokid","tab.blocksHint":"Sisuplokid ja muutujad","tab.rows":"Sektsioonid","tab.rowsHint":"Sektsioonide paigutused ja lõuendi mudel","tab.files":"Failid","tab.filesHint":"Ressursside teek","tab.layers":"Struktuur","tab.layersHint":"Dokumendi struktuur","tab.settings":"Seaded","tab.settingsHint":"E-kirja seaded","tab.data":"Muut.","tab.dataHint":"Sinu koodi pakutavad muutujad","inspector.blockProperties":"Ploki omadused","inspector.sectionProperties":"Sektsiooni omadused","inspector.title":"Inspektor","inspector.sectionLabel":"Sektsioon","inspector.nothingSelected":"Midagi pole valitud","action.duplicateHint":"Paljunda — ⌘D","action.deleteHint":"Kustuta — ⌫","inspector.emptyBody":'Vali lõuendil rida või plokk, et seda siin kujundada. Lohista plokke vahekaardilt <strong style="color: var(--ed-text); font-weight: 600;">Plokid</strong>; topeltklõpsa mistahes tekstil, et seda otse muuta.',"inspector.shortcuts":"Kiirklahvid","shortcut.undoRedo":"⌘Z / ⌘⇧Z — võta tagasi, tee uuesti","shortcut.duplicate":"⌘D — paljunda valik","shortcut.delete":"⌫ — kustuta valik","shortcut.export":"⌘E — ekspordi HTML","shortcut.escape":"ESC — tühista valik, sulge","blocks.dragHint":"Lohista lõuendile","blocks.count":"{count} plokki","rows.sectionLayouts":"Sektsioonide paigutused","rows.customMarkup":"Kohandatud kood","rows.htmlRowHint":"Lohista lisamiseks või klõpsa lisamiseks — täislaiuses rida, mille täidad töötlemata HTML-iga","rows.rawHtmlSection":"Töötlemata HTML-i sektsioon","rows.rawHtmlDesc":"Täislaiuses sektsioon, sinu enda kood, endiselt lohistatav","rows.canvasModel":"Lõuendi mudel","rows.modeRowBased":"Ridadel põhinev","rows.modeFreeStack":"Vaba virn","rows.hintRows":"Sektsioonidel põhinev: aseta esmalt paigutus, seejärel plokid selle veergudesse — igal sektsioonil on oma taust, äär, flex- või ruudustiku seaded.","rows.hintStack":"Vaba virn: ilma paigutusteta — iga asetatud plokk saab oma täislaiuses sektsiooniks, virnastatuna järjekorras.","files.libraryCount":"Teek — {count} faili","files.openManager":"Ava failihaldur","files.dragToCanvas":"Lohista mistahes fail otse lõuendile, et paigutada see pildiplokina.","layers.structure":"Struktuur","layers.sectionSingle":"Sektsioon","layers.sectionMulti":"Sektsioon · {count} veergu","layers.column":"Veerg {index}","layers.blockCount":"{count} plokki","vars.title":"Muutujad","vars.fromCode":"{count} sinu koodist","vars.declaredNote":"Sinu rakenduse deklareeritud — lõuend näitab alati tokenit, mitte kunagi väärtust.","vars.filterPlaceholder":"Filtreeri muutujaid…","vars.insertHint":"Klõpsa, et lisada valitud teksti, pealkirja või nupu sisse","vars.insert":"lisa","vars.noMatch":"Ükski muutuja ei vasta sellele filtrile.","vars.noneDeclared":"Sinu rakendus pole veel muutujaid deklareerinud.","vars.rteHint":"Teksti muutmisel saad valida muutuja ka otse sisseehitatud tööriistariba rippmenüüst.","modal.fileManager":"Failihaldur","modal.assetsTitle":"Ressursid","modal.replaceImage":"Asenda pilt","library.searchPlaceholder":"Otsi faile…","action.upload":"Laadi üles","library.clickToPlace":"Klõpsa failil, et see paigutada · või lohista fail lõuendile","library.clickToReplace":"Klõpsa failil, et asendada valitud pilt","library.storageLabel":"{count} faili · {size}","library.folders":"Kaustad","library.dropHint":"Lohista pildifailid siia üleslaadimiseks — või kasuta nuppu Laadi üles.","library.deleteFileHint":"Kustuta fail","library.del":"KUSTUTA","toast.assetDeleted":"{name} kustutatud","library.allFiles":"Kõik failid","library.loadMore":"Lae veel","library.empty":"Siin pole veel ühtegi faili.","storage.loading":"Failide laadimine…","storage.uploading":"Laadin üles {count}…","storage.errLoadFailed":"Failikogu laadimine ebaõnnestus — {reason}","storage.errNoLimits":"Üleslaadimine on välja lülitatud: see rakendus pole määranud üleslaadimispiiranguid.","storage.errNoMaxBytes":"Üleslaadimine on välja lülitatud: faili suurimat lubatud mahtu pole määratud.","storage.errTooLarge":"{name} on {size} — piir on {max}.","storage.errFormat":"{name} on {type}-fail, mis pole siin lubatud.","storage.errSvg":"{name} on SVG, mida see rakendus vastu ei võta.","storage.errDimensions":"{name} on {w}×{ht}px — piir on {maxW}×{maxH}px.","storage.errTooMany":"Korraga saab üles laadida ainult {max} faili.","storage.errUnreadable":"{name} pole loetav pilt.","storage.errUploadFailed":"{name} üleslaadimine ebaõnnestus — {reason}","storage.errDeleteFailed":"{name} kustutamine ebaõnnestus — {reason}","modal.export":"Ekspordi","modal.exportTitle":"Tabelipõhine e-kirja HTML","export.copy":"Kopeeri","export.copied":"Kopeeritud","action.download":"Laadi alla","export.meta":"{kb} KB · tabelid + sisestiilid · Outlooki jaoks turvalised laiused","modal.rawHtmlTitle":"Töötlemata HTML, otseeelvaade","code.statusEdited":"Koodivaade — muudetud — eelvaade otse, veel rakendamata","code.statusSynced":"Koodivaade — lõuendiga sünkroonis","action.reload":"Laadi uuesti","action.reloadHint":"Laadi allikas lõuendilt uuesti","action.applyToCanvas":"Rakenda lõuendile","action.applyToCanvasHint":"Analüüsi allikas tagasi muudetavateks ridadeks","action.closeWithoutApplyingHint":"Sulge ilma rakendamata","code.source":"Allikas","code.livePreview":"Otseeelvaade","code.liveHtmlPreviewTitle":"HTML-i otseeelvaade","code.applyNote":"Rakendamine analüüsib iga ülataseme tabelirea lõuendireaks, mida saad endiselt valida, ümber korraldada ja kustutada — käsitsi kirjutatud kood jääb protsessis muutumatuks.","code.meta":"{kb} KB · {lines} rida","toast.sourceReloaded":"Allikas laaditi lõuendilt uuesti","toast.sourceAppliedOne":"Allikas rakendatud — 1 rida lõuendil","toast.sourceAppliedMany":"Allikas rakendatud — {rows} rida lõuendil","toast.parseError":"Seda HTML-i ei õnnestunud analüüsida","modal.aiDraft":"Tehisintellekti kirjutamisabi","modal.aiDraftTitle":"Koosta oma e-kiri tehisintellektiga","ai.disclosure":"Tehisintellekt loob ettepanekud sinu lühikirjelduse põhjal. Vaata tulemus üle ja toimeta seda enne saatmist.","ai.goal":"Eesmärk","ai.tone":"Toon","ai.briefLabel":"Millest see e-kiri räägib?","ai.briefPlaceholder":"nt sügiskollektsioon, 15% tellijatele, tasuta tarne üle 150 €","ai.generate":"Genereeri tekst","ai.writing":"Kirjutamine…","ai.kindHeadline":"Pealkiri","ai.kindBody":"Põhitekst","ai.kindButton":"Nupu tekst","ai.actionInsertHeading":"Lisa pealkirjana","ai.actionInsertText":"Lisa tekstiplokina","ai.actionInsertButton":"Lisa nupuna","toast.headingAdded":"Pealkiri lisatud","toast.textBlockAdded":"Tekstiplokk lisatud","toast.buttonAdded":"Nupp lisatud","preview.kickerMobile":"Eelvaade — mobiil 375px","preview.kickerDesktop":"Eelvaade — arvuti {width}px","action.close":"Sulge","toast.duplicated":"Paljundatud","toast.fileUploadedOne":"1 fail üles laaditud","toast.fileUploadedMany":"{count} faili üles laaditud","toast.imageReplaced":"Pilt asendatud","toast.imageAdded":"Pilt lisatud lõuendile","toast.htmlCopied":"HTML kopeeritud lõikelauale","toast.templateLoaded":"{name} laaditud","toast.snippetDefaultLabel":"Katke","toast.snippetInserted":"{name} lisatud","toast.snippetCopied":"{name} kopeeritud — vali tekstiplokk selle lisamiseks","rte.textStyle":"Teksti stiil","rte.mergeTags":"Liitmisväljad","rte.noMergeTags":"Liitmisvälju pole saadaval","rte.textColor":"Teksti värv","rte.highlightColor":"Esiletõstu värv","rte.removeHighlight":"Eemalda esiletõst","rte.clearFormatting":"Eemalda vorming","action.downloadPng":"Laadi PNG alla","action.screenshot":"Kuvatõmmis","action.screenshotHint":"Vaata kogu malli pildina ja laadi see alla","toast.pngSaved":"Kuvatõmmis laaditi alla","toast.pngFailed":"Kuvatõmmis ebaõnnestus — välist pilti ei õnnestunud laadida","toast.pngCopied":"Kuvatõmmis kopeeriti lõikelauale","toast.pngCopyFailed":"See brauser ei võtnud pilti lõikelauale vastu","story.kicker":"Kuvatõmmis","story.rendering":"Kuvatõmmise koostamine","story.renderingHint":"Iga plokk joonistatakse 2× suuruses — pika malli puhul võtab see hetke.","story.failed":"Kuvatõmmis ebaõnnestus","story.failedHint":"Malli üht pilti ei õnnestunud jäädvustamiseks laadida.","story.retry":"Proovi uuesti","story.play":"Esita","story.pause":"Peata","story.replay":"Esita uuesti","story.copy":"Kopeeri","story.meta":"{w}×{h} · vaade {i}/{n}","footer.poweredBy":"Töötab SELISE Blocks © 2026 põhjal"}})},re["core/i18n/fi.js"]=function(ne,V,A){Object.assign(V,{FI:{"action.undoHint":"Kumoa — ⌘Z","action.redoHint":"Tee uudelleen — ⌘⇧Z","action.chromeToDark":"Tumma","action.chromeToLight":"Vaalea","action.chromeHint":"Editorin teema vaalea / tumma","action.chromeHintToDark":"Tumma tila","action.chromeHintToLight":"Vaalea tila","action.aiDraft":"Luonnos","action.aiDraftHint":"Kirjoita sähköpostin sisältö tekoälyllä","action.code":"Koodi","action.codeHint":"Muokkaa raakaa HTML:ää suoralla esikatselulla","action.preview":"Esikatselu","action.previewHint":"Esikatsele sähköpostia","action.export":"Vie","action.exportHint":"Vie sähköpostisi","device.desktop":"Työpöytä","device.desktopHint":"Työpöydän leveys","device.mobile":"Mobiili","device.mobileHint":"Mobiilin leveys","status.autosaveOn":"automaattitallennus päällä","status.saved":"tallennettu {time}","status.saveFailed":"ei tallennettu — tallennustila täynnä","canvas.meta":"{rows} riviä · {blocks} lohkoa · {width}px","tab.design":"Tyyli","tab.designHint":"Muotoile valinta","tab.blocks":"Lohkot","tab.blocksHint":"Sisältölohkot ja muuttujat","tab.rows":"Osiot","tab.rowsHint":"Osioiden asettelut ja kangasmalli","tab.files":"Tiedostot","tab.filesHint":"Resurssikirjasto","tab.layers":"Rakenne","tab.layersHint":"Asiakirjan rakenne","tab.settings":"Asetukset","tab.settingsHint":"Sähköpostin asetukset","tab.data":"Muutt.","tab.dataHint":"Koodisi tarjoamat muuttujat","inspector.blockProperties":"Lohkon ominaisuudet","inspector.sectionProperties":"Osion ominaisuudet","inspector.title":"Tarkastaja","inspector.sectionLabel":"Osio","inspector.nothingSelected":"Ei valintaa","action.duplicateHint":"Monista — ⌘D","action.deleteHint":"Poista — ⌫","inspector.emptyBody":'Valitse rivi tai lohko kankaalta muotoillaksesi sen tässä. Vedä lohkoja välilehdeltä <strong style="color: var(--ed-text); font-weight: 600;">Lohkot</strong>; kaksoisnapsauta tekstiä muokataksesi sitä suoraan.',"inspector.shortcuts":"Pikanäppäimet","shortcut.undoRedo":"⌘Z / ⌘⇧Z — kumoa, tee uudelleen","shortcut.duplicate":"⌘D — monista valinta","shortcut.delete":"⌫ — poista valinta","shortcut.export":"⌘E — vie HTML","shortcut.escape":"ESC — poista valinta, sulje","blocks.dragHint":"Vedä kankaalle","blocks.count":"{count} lohkoa","rows.sectionLayouts":"Osioiden asettelut","rows.customMarkup":"Mukautettu koodi","rows.htmlRowHint":"Vedä lisätäksesi, tai napsauta lisätäksesi — täysleveä rivi, jonka täytät raa’alla HTML:llä","rows.rawHtmlSection":"Raaka HTML-osio","rows.rawHtmlDesc":"Täysleveä osio, oma koodisi, edelleen vedettävissä","rows.canvasModel":"Kangasmalli","rows.modeRowBased":"Riveihin perustuva","rows.modeFreeStack":"Vapaa pino","rows.hintRows":"Osioihin perustuva: pudota ensin asettelu, sitten lohkoja sen sarakkeisiin — jokaisella osiolla on oma tausta, reunus, flex- tai ruudukkoasetukset.","rows.hintStack":"Vapaa pino: ilman asetteluja — jokaisesta pudottamastasi lohkosta tulee oma täysleveä osio, pinottuna järjestyksessä.","files.libraryCount":"Kirjasto — {count} tiedostoa","files.openManager":"Avaa tiedostonhallinta","files.dragToCanvas":"Vedä mikä tahansa tiedosto suoraan kankaalle asettaaksesi sen kuvalohkona.","layers.structure":"Rakenne","layers.sectionSingle":"Osio","layers.sectionMulti":"Osio · {count} saraketta","layers.column":"Sarake {index}","layers.blockCount":"{count} lohkoa","vars.title":"Muuttujat","vars.fromCode":"{count} koodistasi","vars.declaredNote":"Sovelluksesi määrittelemiä — kangas näyttää aina tokenin, ei koskaan arvoa.","vars.filterPlaceholder":"Suodata muuttujia…","vars.insertHint":"Napsauta lisätäksesi valittuun tekstiin, otsikkoon tai painikkeeseen","vars.insert":"lisää","vars.noMatch":"Yksikään muuttuja ei vastaa tätä suodatinta.","vars.noneDeclared":"Sovelluksesi ei ole vielä määritellyt muuttujia.","vars.rteHint":"Tekstiä muokatessasi voit myös valita muuttujan suoraan sisäisen työkalurivin pudotusvalikosta.","modal.fileManager":"Tiedostonhallinta","modal.assetsTitle":"Resurssit","modal.replaceImage":"Korvaa kuva","library.searchPlaceholder":"Etsi tiedostoja…","action.upload":"Lataa","library.clickToPlace":"Napsauta tiedostoa asettaaksesi sen · tai vedä tiedosto kankaalle","library.clickToReplace":"Napsauta tiedostoa korvataksesi valitun kuvan","library.storageLabel":"{count} tiedostoa · {size}","library.folders":"Kansiot","library.dropHint":"Pudota kuvatiedostoja tähän ladataksesi ne — tai käytä Lataa-painiketta.","library.deleteFileHint":"Poista tiedosto","library.del":"POISTA","toast.assetDeleted":"{name} poistettu","library.allFiles":"Kaikki tiedostot","library.loadMore":"Lataa lisää","library.empty":"Täällä ei ole vielä tiedostoja.","storage.loading":"Ladataan tiedostoja…","storage.uploading":"Ladataan {count}…","storage.errLoadFailed":"Tiedostokirjastoa ei voitu ladata — {reason}","storage.errNoLimits":"Lataukset on poistettu käytöstä: tämä sovellus ei ole asettanut latausrajoja.","storage.errNoMaxBytes":"Lataukset on poistettu käytöstä: tiedoston enimmäiskokoa ei ole asetettu.","storage.errTooLarge":"{name} on {size} — raja on {max}.","storage.errFormat":"{name} on {type}-tiedosto, jota ei sallita tässä.","storage.errSvg":"{name} on SVG, jota tämä sovellus ei hyväksy.","storage.errDimensions":"{name} on {w}×{ht}px — raja on {maxW}×{maxH}px.","storage.errTooMany":"Kerralla voi ladata vain {max} tiedostoa.","storage.errUnreadable":"{name} ei ole luettava kuva.","storage.errUploadFailed":"Tiedostoa {name} ei voitu ladata — {reason}","storage.errDeleteFailed":"Tiedostoa {name} ei voitu poistaa — {reason}","modal.export":"Vie","modal.exportTitle":"Taulukkopohjainen sähköposti-HTML","export.copy":"Kopioi","export.copied":"Kopioitu","action.download":"Lataa","export.meta":"{kb} kt · taulukot + inline-tyylit · Outlook-turvalliset leveydet","modal.rawHtmlTitle":"Raaka HTML, suora esikatselu","code.statusEdited":"Koodinäkymä — muokattu — esikatselu suorana, ei vielä käytössä","code.statusSynced":"Koodinäkymä — synkronoitu kankaan kanssa","action.reload":"Lataa uudelleen","action.reloadHint":"Lataa lähde uudelleen kankaalta","action.applyToCanvas":"Käytä kankaalla","action.applyToCanvasHint":"Jäsennä lähde takaisin muokattaviksi riveiksi","action.closeWithoutApplyingHint":"Sulje käyttämättä","code.source":"Lähde","code.livePreview":"Suora esikatselu","code.liveHtmlPreviewTitle":"Suora HTML-esikatselu","code.applyNote":"Käytä jäsentää jokaisen ylimmän tason taulukkorivin kangasriviksi, jonka voit yhä valita, järjestää uudelleen ja poistaa — käsin kirjoitettu koodi säilyy prosessin läpi muuttumattomana.","code.meta":"{kb} kt · {lines} riviä","toast.sourceReloaded":"Lähde ladattu uudelleen kankaalta","toast.sourceAppliedOne":"Lähde käytössä — 1 rivi kankaalla","toast.sourceAppliedMany":"Lähde käytössä — {rows} riviä kankaalla","toast.parseError":"Tätä HTML:ää ei voitu jäsentää","modal.aiDraft":"Tekoälyn kirjoitusapuri","modal.aiDraftTitle":"Kirjoita sähköpostisi tekoälyllä","ai.disclosure":"Tekoäly luo ehdotuksia briefisi pohjalta. Tarkista ja muokkaa tulos ennen lähettämistä.","ai.goal":"Tavoite","ai.tone":"Sävy","ai.briefLabel":"Mistä tämä sähköposti kertoo?","ai.briefPlaceholder":"esim. Syyskokoelma, 15 % tilaajille, ilmainen toimitus yli 150 €","ai.generate":"Luo teksti","ai.writing":"Kirjoitetaan…","ai.kindHeadline":"Otsikko","ai.kindBody":"Leipäteksti","ai.kindButton":"Painikkeen teksti","ai.actionInsertHeading":"Lisää otsikkona","ai.actionInsertText":"Lisää tekstilohkona","ai.actionInsertButton":"Lisää painikkeena","toast.headingAdded":"Otsikko lisätty","toast.textBlockAdded":"Tekstilohko lisätty","toast.buttonAdded":"Painike lisätty","preview.kickerMobile":"Esikatselu — mobiili 375px","preview.kickerDesktop":"Esikatselu — työpöytä {width}px","action.close":"Sulje","toast.duplicated":"Monistettu","toast.fileUploadedOne":"1 tiedosto ladattu","toast.fileUploadedMany":"{count} tiedostoa ladattu","toast.imageReplaced":"Kuva korvattu","toast.imageAdded":"Kuva lisätty kankaalle","toast.htmlCopied":"HTML kopioitu leikepöydälle","toast.templateLoaded":"{name} ladattu","toast.snippetDefaultLabel":"Katkelma","toast.snippetInserted":"{name} lisätty","toast.snippetCopied":"{name} kopioitu — valitse tekstilohko lisätäksesi sen","rte.textStyle":"Tekstityyli","rte.mergeTags":"Yhdistämiskentät","rte.noMergeTags":"Yhdistämiskenttiä ei ole saatavilla","rte.textColor":"Tekstin väri","rte.highlightColor":"Korostusväri","rte.removeHighlight":"Poista korostus","rte.clearFormatting":"Poista muotoilut","action.downloadPng":"Lataa PNG","action.screenshot":"Kuvakaappaus","action.screenshotHint":"Katso koko pohja kuvana ja lataa se","toast.pngSaved":"Kuvakaappaus ladattiin","toast.pngFailed":"Kuvakaappaus epäonnistui — ulkoista kuvaa ei voitu ladata","toast.pngCopied":"Kuvakaappaus kopioitiin leikepöydälle","toast.pngCopyFailed":"Tämä selain ei hyväksynyt kuvaa leikepöydälle","story.kicker":"Kuvakaappaus","story.rendering":"Kuvakaappausta luodaan","story.renderingHint":"Jokainen lohko piirretään 2× tarkkuudella — pitkässä pohjassa se vie hetken.","story.failed":"Kuvakaappaus epäonnistui","story.failedHint":"Pohjan yhtä kuvaa ei voitu ladata kaappausta varten.","story.retry":"Yritä uudelleen","story.play":"Toista","story.pause":"Keskeytä","story.replay":"Toista uudelleen","story.copy":"Kopioi","story.meta":"{w}×{h} · näkymä {i}/{n}","footer.poweredBy":"Taustalla SELISE Blocks © 2026"}})},re["core/i18n/fr.js"]=function(ne,V,A){Object.assign(V,{FR:{"action.undoHint":"Annuler — ⌘Z","action.redoHint":"Rétablir — ⌘⇧Z","action.chromeToDark":"Sombre","action.chromeToLight":"Clair","action.chromeHint":"Thème de l’éditeur clair / sombre","action.chromeHintToDark":"Mode sombre","action.chromeHintToLight":"Mode clair","action.aiDraft":"Brouillon","action.aiDraftHint":"Rédiger le contenu de l’e-mail avec l’IA","action.code":"Code","action.codeHint":"Modifier le HTML brut avec aperçu en direct","action.preview":"Aperçu","action.previewHint":"Prévisualiser l’e-mail","action.export":"Exporter","action.exportHint":"Exporter votre e-mail","device.desktop":"Bureau","device.desktopHint":"Largeur bureau","device.mobile":"Mobile","device.mobileHint":"Largeur mobile","status.autosaveOn":"sauvegarde automatique activée","status.saved":"enregistré {time}","status.saveFailed":"non enregistré — stockage plein","canvas.meta":"{rows} lignes · {blocks} blocs · {width}px","tab.design":"Style","tab.designHint":"Styliser la sélection","tab.blocks":"Blocs","tab.blocksHint":"Blocs de contenu et variables","tab.rows":"Sect.","tab.rowsHint":"Mises en page de section et modèle de canevas","tab.files":"Fichiers","tab.filesHint":"Bibliothèque de ressources","tab.layers":"Structure","tab.layersHint":"Structure du document","tab.settings":"Paramètres","tab.settingsHint":"Paramètres de l’e-mail","tab.data":"Var.","tab.dataHint":"Variables fournies par votre code","inspector.blockProperties":"Propriétés du bloc","inspector.sectionProperties":"Propriétés de la section","inspector.title":"Inspecteur","inspector.sectionLabel":"Section","inspector.nothingSelected":"Rien n’est sélectionné","action.duplicateHint":"Dupliquer — ⌘D","action.deleteHint":"Supprimer — ⌫","inspector.emptyBody":'Sélectionnez une ligne ou un bloc sur le canevas pour le styliser ici. Glissez des blocs depuis l’onglet <strong style="color: var(--ed-text); font-weight: 600;">Blocs</strong> ; double-cliquez sur un texte pour le modifier directement.',"inspector.shortcuts":"Raccourcis","shortcut.undoRedo":"⌘Z / ⌘⇧Z — annuler, rétablir","shortcut.duplicate":"⌘D — dupliquer la sélection","shortcut.delete":"⌫ — supprimer la sélection","shortcut.export":"⌘E — exporter le HTML","shortcut.escape":"ESC — désélectionner, fermer","blocks.dragHint":"Glisser sur le canevas","blocks.count":"{count} blocs","rows.sectionLayouts":"Mises en page de section","rows.customMarkup":"Balisage personnalisé","rows.htmlRowHint":"Glissez pour insérer, ou cliquez pour ajouter — une ligne pleine largeur que vous remplissez de HTML brut","rows.rawHtmlSection":"Section HTML brut","rows.rawHtmlDesc":"Section pleine largeur, votre propre balisage, toujours déplaçable","rows.canvasModel":"Modèle de canevas","rows.modeRowBased":"Basé sur les lignes","rows.modeFreeStack":"Pile libre","rows.hintRows":"Basé sur les sections : déposez d’abord une mise en page, puis des blocs dans ses colonnes — chaque section a son propre arrière-plan, sa bordure, ses réglages flex ou grille.","rows.hintStack":"Pile libre : sans mise en page — chaque bloc déposé devient sa propre section pleine largeur, empilée dans l’ordre.","files.libraryCount":"Bibliothèque — {count} fichiers","files.openManager":"Ouvrir le gestionnaire de fichiers","files.dragToCanvas":"Glissez un fichier directement sur le canevas pour le placer comme bloc image.","layers.structure":"Structure","layers.sectionSingle":"Section","layers.sectionMulti":"Section · {count} col.","layers.column":"Colonne {index}","layers.blockCount":"{count} blocs","vars.title":"Variables","vars.fromCode":"{count} provenant de votre code","vars.declaredNote":"Déclarées par votre application — le canevas affiche toujours le jeton, jamais une valeur.","vars.filterPlaceholder":"Filtrer les variables…","vars.insertHint":"Cliquer pour insérer dans le texte, le titre ou le bouton sélectionné","vars.insert":"insérer","vars.noMatch":"Aucune variable ne correspond à ce filtre.","vars.noneDeclared":"Votre application n’a encore déclaré aucune variable.","vars.rteHint":"En modifiant du texte, vous pouvez aussi choisir une variable directement dans le menu de la barre d’outils.","modal.fileManager":"Gestionnaire de fichiers","modal.assetsTitle":"Ressources","modal.replaceImage":"Remplacer l’image","library.searchPlaceholder":"Rechercher des fichiers…","action.upload":"Téléverser","library.clickToPlace":"Cliquez sur un fichier pour le placer · ou glissez un fichier sur le canevas","library.clickToReplace":"Cliquez sur un fichier pour remplacer l’image sélectionnée","library.storageLabel":"{count} fichiers · {size}","library.folders":"Dossiers","library.dropHint":"Déposez des fichiers image ici pour les téléverser — ou utilisez le bouton Téléverser.","library.deleteFileHint":"Supprimer le fichier","library.del":"SUPPR","toast.assetDeleted":"{name} supprimé","library.allFiles":"Tous les fichiers","library.loadMore":"Charger plus","library.empty":"Aucun fichier ici pour l’instant.","storage.loading":"Chargement des fichiers…","storage.uploading":"Envoi de {count}…","storage.errLoadFailed":"La bibliothèque de fichiers n’a pas pu être chargée — {reason}","storage.errNoLimits":"Les envois sont désactivés : cette application n’a défini aucune limite d’envoi.","storage.errNoMaxBytes":"Les envois sont désactivés : aucune taille maximale de fichier n’a été définie.","storage.errTooLarge":"{name} fait {size} — la limite est {max}.","storage.errFormat":"{name} est un fichier {type}, non autorisé ici.","storage.errSvg":"{name} est un SVG, que cette application n’accepte pas.","storage.errDimensions":"{name} fait {w}×{ht}px — la limite est {maxW}×{maxH}px.","storage.errTooMany":"Seuls {max} fichiers peuvent être envoyés à la fois.","storage.errUnreadable":"{name} n’est pas une image lisible.","storage.errUploadFailed":"{name} n’a pas pu être envoyé — {reason}","storage.errDeleteFailed":"{name} n’a pas pu être supprimé — {reason}","modal.export":"Exporter","modal.exportTitle":"HTML d’e-mail basé sur des tableaux","export.copy":"Copier","export.copied":"Copié","action.download":"Télécharger","export.meta":"{kb} Ko · tableaux + styles en ligne · largeurs sûres pour Outlook","modal.rawHtmlTitle":"HTML brut, aperçu en direct","code.statusEdited":"Vue du code — modifié — aperçu en direct, pas encore appliqué","code.statusSynced":"Vue du code — synchronisé avec le canevas","action.reload":"Recharger","action.reloadHint":"Recharger la source depuis le canevas","action.applyToCanvas":"Appliquer au canevas","action.applyToCanvasHint":"Analyser la source pour la reconvertir en lignes modifiables","action.closeWithoutApplyingHint":"Fermer sans appliquer","code.source":"Source","code.livePreview":"Aperçu en direct","code.liveHtmlPreviewTitle":"Aperçu HTML en direct","code.applyNote":"Appliquer analyse chaque ligne de tableau de premier niveau en une ligne de canevas que vous pouvez toujours sélectionner, réorganiser et supprimer — le balisage écrit à la main survit à l’aller-retour.","code.meta":"{kb} Ko · {lines} lignes","toast.sourceReloaded":"Source rechargée depuis le canevas","toast.sourceAppliedOne":"Source appliquée — 1 ligne sur le canevas","toast.sourceAppliedMany":"Source appliquée — {rows} lignes sur le canevas","toast.parseError":"Impossible d’analyser ce HTML","modal.aiDraft":"Assistant de rédaction IA","modal.aiDraftTitle":"Rédigez votre e-mail avec l’IA","ai.disclosure":"L’IA crée des suggestions à partir de votre brief. Relisez et modifiez le résultat avant l’envoi.","ai.goal":"Objectif","ai.tone":"Ton","ai.briefLabel":"De quoi parle cet e-mail ?","ai.briefPlaceholder":"ex. Collection automne, 15 % pour les abonnés, livraison gratuite dès 150 €","ai.generate":"Générer le texte","ai.writing":"Rédaction en cours…","ai.kindHeadline":"Titre","ai.kindBody":"Corps du texte","ai.kindButton":"Texte du bouton","ai.actionInsertHeading":"Insérer comme titre","ai.actionInsertText":"Insérer comme bloc de texte","ai.actionInsertButton":"Insérer comme bouton","toast.headingAdded":"Titre ajouté","toast.textBlockAdded":"Bloc de texte ajouté","toast.buttonAdded":"Bouton ajouté","preview.kickerMobile":"Aperçu — mobile 375px","preview.kickerDesktop":"Aperçu — bureau {width}px","action.close":"Fermer","toast.duplicated":"Dupliqué","toast.fileUploadedOne":"1 fichier téléversé","toast.fileUploadedMany":"{count} fichiers téléversés","toast.imageReplaced":"Image remplacée","toast.imageAdded":"Image ajoutée au canevas","toast.htmlCopied":"HTML copié dans le presse-papiers","toast.templateLoaded":"{name} chargé","toast.snippetDefaultLabel":"Extrait","toast.snippetInserted":"{name} inséré","toast.snippetCopied":"{name} copié — sélectionnez un bloc de texte pour l’insérer","rte.textStyle":"Style de texte","rte.mergeTags":"Champs de fusion","rte.noMergeTags":"Aucun champ de fusion disponible","rte.textColor":"Couleur du texte","rte.highlightColor":"Couleur de surlignage","rte.removeHighlight":"Supprimer le surlignage","rte.clearFormatting":"Effacer la mise en forme","action.downloadPng":"Télécharger le PNG","action.screenshot":"Capture","action.screenshotHint":"Voir tout le modèle sous forme d’image, puis le télécharger","toast.pngSaved":"Capture téléchargée","toast.pngFailed":"Échec de la capture — une image externe n’a pas pu être chargée","toast.pngCopied":"Capture copiée dans le presse-papiers","toast.pngCopyFailed":"Ce navigateur n’a pas accepté d’image dans le presse-papiers","story.kicker":"Capture","story.rendering":"Génération de la capture","story.renderingHint":"Chaque bloc est dessiné en 2× — sur un long modèle, cela prend un moment.","story.failed":"Échec de la capture","story.failedHint":"Une image du modèle n’a pas pu être chargée pour la capture.","story.retry":"Réessayer","story.play":"Lecture","story.pause":"Pause","story.replay":"Revoir","story.copy":"Copier","story.meta":"{w}×{h} · écran {i} sur {n}","footer.poweredBy":"Propulsé par SELISE Blocks © 2026"}})},re["core/i18n/hr.js"]=function(ne,V,A){Object.assign(V,{HR:{"action.undoHint":"Poništi — ⌘Z","action.redoHint":"Ponovi — ⌘⇧Z","action.chromeToDark":"Tamno","action.chromeToLight":"Svijetlo","action.chromeHint":"Tema uređivača svijetla / tamna","action.chromeHintToDark":"Tamni način","action.chromeHintToLight":"Svijetli način","action.aiDraft":"Nacrt","action.aiDraftHint":"Napiši sadržaj e-pošte pomoću umjetne inteligencije","action.code":"Kôd","action.codeHint":"Uredi izvorni HTML uz prikaz uživo","action.preview":"Pregled","action.previewHint":"Pregledaj e-poštu","action.export":"Izvezi","action.exportHint":"Izvezi svoju e-poštu","device.desktop":"Računalo","device.desktopHint":"Širina za računalo","device.mobile":"Mobitel","device.mobileHint":"Širina za mobitel","status.autosaveOn":"automatsko spremanje uključeno","status.saved":"spremljeno {time}","status.saveFailed":"nije spremljeno — spremište je puno","canvas.meta":"{rows} redaka · {blocks} blokova · {width}px","tab.design":"Stil","tab.designHint":"Oblikuj odabir","tab.blocks":"Blokovi","tab.blocksHint":"Blokovi sadržaja i varijable","tab.rows":"Odjeljci","tab.rowsHint":"Rasporedi odjeljaka i model platna","tab.files":"Datoteke","tab.filesHint":"Knjižnica resursa","tab.layers":"Struktura","tab.layersHint":"Struktura dokumenta","tab.settings":"Postavke","tab.settingsHint":"Postavke e-pošte","tab.data":"Var.","tab.dataHint":"Varijable koje pruža vaš kod","inspector.blockProperties":"Svojstva bloka","inspector.sectionProperties":"Svojstva odjeljka","inspector.title":"Inspektor","inspector.sectionLabel":"Odjeljak","inspector.nothingSelected":"Ništa nije odabrano","action.duplicateHint":"Dupliciraj — ⌘D","action.deleteHint":"Izbriši — ⌫","inspector.emptyBody":'Odaberite redak ili blok na platnu za oblikovanje ovdje. Povucite blokove s kartice <strong style="color: var(--ed-text); font-weight: 600;">Blokovi</strong>; dvaput kliknite tekst za izravno uređivanje.',"inspector.shortcuts":"Prečaci","shortcut.undoRedo":"⌘Z / ⌘⇧Z — poništi, ponovi","shortcut.duplicate":"⌘D — dupliciraj odabir","shortcut.delete":"⌫ — izbriši odabir","shortcut.export":"⌘E — izvezi HTML","shortcut.escape":"ESC — poništi odabir, zatvori","blocks.dragHint":"Povucite na platno","blocks.count":"{count} blokova","rows.sectionLayouts":"Rasporedi odjeljaka","rows.customMarkup":"Prilagođeni kôd","rows.htmlRowHint":"Povucite za umetanje ili kliknite za dodavanje — redak preko cijele širine koji ispunjavate izvornim HTML-om","rows.rawHtmlSection":"Odjeljak s izvornim HTML-om","rows.rawHtmlDesc":"Odjeljak preko cijele širine, vaš vlastiti kôd, i dalje se može povlačiti","rows.canvasModel":"Model platna","rows.modeRowBased":"Temeljeno na recima","rows.modeFreeStack":"Slobodni stog","rows.hintRows":"Temeljeno na odjeljcima: prvo ispustite raspored, zatim blokove u njegove stupce — svaki odjeljak ima vlastitu pozadinu, obrub, flex ili grid postavke.","rows.hintStack":"Slobodni stog: bez rasporeda — svaki ispušteni blok postaje vlastiti odjeljak preko cijele širine, poslagan redom.","files.libraryCount":"Knjižnica — {count} datoteka","files.openManager":"Otvori upravitelja datoteka","files.dragToCanvas":"Povucite bilo koju datoteku izravno na platno da je postavite kao slikovni blok.","layers.structure":"Struktura","layers.sectionSingle":"Odjeljak","layers.sectionMulti":"Odjeljak · {count} stupaca","layers.column":"Stupac {index}","layers.blockCount":"{count} bl.","vars.title":"Varijable","vars.fromCode":"{count} iz vašeg koda","vars.declaredNote":"Deklarirane od strane vaše aplikacije — platno uvijek prikazuje token, nikad vrijednost.","vars.filterPlaceholder":"Filtriraj varijable…","vars.insertHint":"Kliknite za umetanje u odabrani tekst, naslov ili gumb","vars.insert":"umetni","vars.noMatch":"Nijedna varijabla ne odgovara ovom filtru.","vars.noneDeclared":"Vaša aplikacija još nije deklarirala nijednu varijablu.","vars.rteHint":"Tijekom uređivanja teksta varijablu možete odabrati i izravno iz padajućeg izbornika ugrađene alatne trake.","modal.fileManager":"Upravitelj datoteka","modal.assetsTitle":"Resursi","modal.replaceImage":"Zamijeni sliku","library.searchPlaceholder":"Pretraži datoteke…","action.upload":"Prenesi","library.clickToPlace":"Kliknite datoteku za postavljanje · ili povucite datoteku na platno","library.clickToReplace":"Kliknite datoteku za zamjenu odabrane slike","library.storageLabel":"{count} datoteka · {size}","library.folders":"Mape","library.dropHint":"Ispustite slikovne datoteke ovdje za prijenos — ili upotrijebite gumb Prenesi.","library.deleteFileHint":"Izbriši datoteku","library.del":"IZBR","toast.assetDeleted":"{name} izbrisano","library.allFiles":"Sve datoteke","library.loadMore":"Učitaj još","library.empty":"Ovdje još nema datoteka.","storage.loading":"Učitavanje datoteka…","storage.uploading":"Prijenos {count}…","storage.errLoadFailed":"Knjižnicu datoteka nije moguće učitati — {reason}","storage.errNoLimits":"Prijenos je isključen: ova aplikacija nije postavila nikakva ograničenja prijenosa.","storage.errNoMaxBytes":"Prijenos je isključen: nije postavljena najveća veličina datoteke.","storage.errTooLarge":"{name} je {size} — ograničenje je {max}.","storage.errFormat":"{name} je datoteka vrste {type}, koja ovdje nije dopuštena.","storage.errSvg":"{name} je SVG, koji ova aplikacija ne prihvaća.","storage.errDimensions":"{name} je {w}×{ht}px — ograničenje je {maxW}×{maxH}px.","storage.errTooMany":"Odjednom je moguće prenijeti samo {max} datoteka.","storage.errUnreadable":"{name} nije čitljiva slika.","storage.errUploadFailed":"{name} nije moguće prenijeti — {reason}","storage.errDeleteFailed":"{name} nije moguće izbrisati — {reason}","modal.export":"Izvezi","modal.exportTitle":"HTML e-pošte temeljen na tablicama","export.copy":"Kopiraj","export.copied":"Kopirano","action.download":"Preuzmi","export.meta":"{kb} KB · tablice + ugrađeni stilovi · širine sigurne za Outlook","modal.rawHtmlTitle":"Izvorni HTML, prikaz uživo","code.statusEdited":"Prikaz koda — uređeno — prikaz uživo, još nije primijenjeno","code.statusSynced":"Prikaz koda — usklađeno s platnom","action.reload":"Ponovno učitaj","action.reloadHint":"Ponovno učitaj izvor s platna","action.applyToCanvas":"Primijeni na platno","action.applyToCanvasHint":"Ponovno raščlani izvor u uredive retke","action.closeWithoutApplyingHint":"Zatvori bez primjene","code.source":"Izvor","code.livePreview":"Prikaz uživo","code.liveHtmlPreviewTitle":"Prikaz HTML-a uživo","code.applyNote":"Primjena raščlanjuje svaki redak tablice najviše razine u redak platna koji i dalje možete odabrati, preurediti i izbrisati — ručno napisani kôd preživi postupak nepromijenjen.","code.meta":"{kb} KB · {lines} redaka","toast.sourceReloaded":"Izvor ponovno učitan s platna","toast.sourceAppliedOne":"Izvor primijenjen — 1 redak na platnu","toast.sourceAppliedMany":"Izvor primijenjen — {rows} redaka na platnu","toast.parseError":"Taj HTML nije bilo moguće raščlaniti","modal.aiDraft":"AI pomoćnik za pisanje","modal.aiDraftTitle":"Napišite svoju e-poštu uz AI","ai.disclosure":"Umjetna inteligencija stvara prijedloge na temelju vašeg sažetka. Pregledajte i uredite rezultat prije slanja.","ai.goal":"Cilj","ai.tone":"Ton","ai.briefLabel":"O čemu je ova e-pošta?","ai.briefPlaceholder":"npr. jesenska kolekcija, 15% za pretplatnike, besplatna dostava iznad 150 €","ai.generate":"Generiraj tekst","ai.writing":"Pisanje…","ai.kindHeadline":"Naslov","ai.kindBody":"Glavni tekst","ai.kindButton":"Tekst gumba","ai.actionInsertHeading":"Umetni kao naslov","ai.actionInsertText":"Umetni kao tekstualni blok","ai.actionInsertButton":"Umetni kao gumb","toast.headingAdded":"Naslov dodan","toast.textBlockAdded":"Tekstualni blok dodan","toast.buttonAdded":"Gumb dodan","preview.kickerMobile":"Pregled — mobitel 375px","preview.kickerDesktop":"Pregled — računalo {width}px","action.close":"Zatvori","toast.duplicated":"Duplicirano","toast.fileUploadedOne":"Prenesena 1 datoteka","toast.fileUploadedMany":"Preneseno {count} datoteka","toast.imageReplaced":"Slika zamijenjena","toast.imageAdded":"Slika dodana na platno","toast.htmlCopied":"HTML kopiran u međuspremnik","toast.templateLoaded":"{name} učitano","toast.snippetDefaultLabel":"Isječak","toast.snippetInserted":"{name} umetnuto","toast.snippetCopied":"{name} kopirano — odaberite tekstualni blok za umetanje","rte.textStyle":"Stil teksta","rte.mergeTags":"Polja za spajanje","rte.noMergeTags":"Nema dostupnih polja za spajanje","rte.textColor":"Boja teksta","rte.highlightColor":"Boja isticanja","rte.removeHighlight":"Ukloni isticanje","rte.clearFormatting":"Ukloni oblikovanje","action.downloadPng":"Preuzmi PNG","action.screenshot":"Snimka zaslona","action.screenshotHint":"Pogledaj cijeli predložak kao sliku i preuzmi ga","toast.pngSaved":"Snimka zaslona preuzeta","toast.pngFailed":"Snimka zaslona nije uspjela — vanjsku sliku nije bilo moguće učitati","toast.pngCopied":"Snimka zaslona kopirana u međuspremnik","toast.pngCopyFailed":"Ovaj preglednik nije prihvatio sliku u međuspremnik","story.kicker":"Snimka zaslona","story.rendering":"Izrada snimke zaslona","story.renderingHint":"Svaki se blok crta u 2× — kod dugog predloška to potraje trenutak.","story.failed":"Snimka zaslona nije uspjela","story.failedHint":"Sliku u predlošku nije bilo moguće učitati za snimanje.","story.retry":"Pokušaj ponovno","story.play":"Pokreni","story.pause":"Pauza","story.replay":"Ponovno pokreni","story.copy":"Kopiraj","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Pokreće SELISE Blocks © 2026"}})},re["core/i18n/hu.js"]=function(ne,V,A){Object.assign(V,{HU:{"action.undoHint":"Visszavonás — ⌘Z","action.redoHint":"Ismétlés — ⌘⇧Z","action.chromeToDark":"Sötét","action.chromeToLight":"Világos","action.chromeHint":"Szerkesztő téma világos / sötét","action.chromeHintToDark":"Sötét mód","action.chromeHintToLight":"Világos mód","action.aiDraft":"Vázlat","action.aiDraftHint":"E-mail tartalmának megírása MI-vel","action.code":"Kód","action.codeHint":"Nyers HTML szerkesztése élő előnézettel","action.preview":"Előnézet","action.previewHint":"E-mail előnézete","action.export":"Exportálás","action.exportHint":"E-mail exportálása","device.desktop":"Asztali","device.desktopHint":"Asztali szélesség","device.mobile":"Mobil","device.mobileHint":"Mobil szélesség","status.autosaveOn":"automatikus mentés bekapcsolva","status.saved":"mentve {time}","status.saveFailed":"nem mentve — a tárhely megtelt","canvas.meta":"{rows} sor · {blocks} blokk · {width}px","tab.design":"Stílus","tab.designHint":"Kijelölés stílusa","tab.blocks":"Blokkok","tab.blocksHint":"Tartalomblokkok és változók","tab.rows":"Szakaszok","tab.rowsHint":"Szakaszelrendezések és a rajzvászon modellje","tab.files":"Fájlok","tab.filesHint":"Erőforrás-könyvtár","tab.layers":"Struktúra","tab.layersHint":"A dokumentum szerkezete","tab.settings":"Beállítások","tab.settingsHint":"E-mail beállításai","tab.data":"Vált.","tab.dataHint":"A kódod által biztosított változók","inspector.blockProperties":"A blokk tulajdonságai","inspector.sectionProperties":"A szakasz tulajdonságai","inspector.title":"Vizsgáló","inspector.sectionLabel":"Szakasz","inspector.nothingSelected":"Nincs kijelölés","action.duplicateHint":"Kettőzés — ⌘D","action.deleteHint":"Törlés — ⌫","inspector.emptyBody":'Válassz ki egy sort vagy blokkot a rajzvásznon, hogy itt formázhasd. Húzz blokkokat a <strong style="color: var(--ed-text); font-weight: 600;">Blokkok</strong> fülről; kattints duplán bármely szövegre a helyben szerkesztéshez.',"inspector.shortcuts":"Billentyűparancsok","shortcut.undoRedo":"⌘Z / ⌘⇧Z — visszavonás, ismétlés","shortcut.duplicate":"⌘D — kijelölés kettőzése","shortcut.delete":"⌫ — kijelölés törlése","shortcut.export":"⌘E — HTML exportálása","shortcut.escape":"ESC — kijelölés megszüntetése, bezárás","blocks.dragHint":"Húzd a rajzvászonra","blocks.count":"{count} blokk","rows.sectionLayouts":"Szakaszelrendezések","rows.customMarkup":"Egyéni kód","rows.htmlRowHint":"Húzd be, vagy kattints a hozzáadáshoz — egy teljes szélességű sor, amelyet nyers HTML-lel töltesz meg","rows.rawHtmlSection":"Nyers HTML szakasz","rows.rawHtmlDesc":"Teljes szélességű szakasz, saját kódod, továbbra is húzható","rows.canvasModel":"Rajzvászon modellje","rows.modeRowBased":"Soralapú","rows.modeFreeStack":"Szabad halmozás","rows.hintRows":"Szakaszalapú: először helyezz el egy elrendezést, majd blokkokat az oszlopaiba — minden szakasznak saját háttere, kerete, flex vagy rács beállításai vannak.","rows.hintStack":"Szabad halmozás: elrendezések nélkül — minden elhelyezett blokk saját teljes szélességű szakasszá válik, sorrendben egymásra halmozva.","files.libraryCount":"Könyvtár — {count} fájl","files.openManager":"Fájlkezelő megnyitása","files.dragToCanvas":"Húzz bármely fájlt közvetlenül a rajzvászonra, hogy képblokként helyezd el.","layers.structure":"Struktúra","layers.sectionSingle":"Szakasz","layers.sectionMulti":"Szakasz · {count} oszlop","layers.column":"{index}. oszlop","layers.blockCount":"{count} blokk","vars.title":"Változók","vars.fromCode":"{count} a kódodból","vars.declaredNote":"Az alkalmazásod deklarálta — a rajzvászon mindig a tokent mutatja, sosem az értéket.","vars.filterPlaceholder":"Változók szűrése…","vars.insertHint":"Kattints a kijelölt szövegbe, címsorba vagy gombba való beszúráshoz","vars.insert":"beszúrás","vars.noMatch":"Egyetlen változó sem felel meg ennek a szűrőnek.","vars.noneDeclared":"Az alkalmazásod még nem deklarált változókat.","vars.rteHint":"Szöveg szerkesztése közben egy változót közvetlenül a beágyazott eszköztár legördülő menüjéből is kiválaszthatsz.","modal.fileManager":"Fájlkezelő","modal.assetsTitle":"Erőforrások","modal.replaceImage":"Kép cseréje","library.searchPlaceholder":"Fájlok keresése…","action.upload":"Feltöltés","library.clickToPlace":"Kattints egy fájlra az elhelyezéshez · vagy húzz egy fájlt a rajzvászonra","library.clickToReplace":"Kattints egy fájlra a kijelölt kép cseréjéhez","library.storageLabel":"{count} fájl · {size}","library.folders":"Mappák","library.dropHint":"Húzz ide képfájlokat a feltöltéshez — vagy használd a Feltöltés gombot.","library.deleteFileHint":"Fájl törlése","library.del":"TÖRL","toast.assetDeleted":"{name} törölve","library.allFiles":"Összes fájl","library.loadMore":"Továbbiak betöltése","library.empty":"Itt még nincsenek fájlok.","storage.loading":"Fájlok betöltése…","storage.uploading":"{count} feltöltése…","storage.errLoadFailed":"A fájlkönyvtár nem tölthető be — {reason}","storage.errNoLimits":"A feltöltés ki van kapcsolva: ez az alkalmazás nem állított be feltöltési korlátokat.","storage.errNoMaxBytes":"A feltöltés ki van kapcsolva: nincs beállítva maximális fájlméret.","storage.errTooLarge":"A(z) {name} mérete {size} — a korlát {max}.","storage.errFormat":"A(z) {name} egy {type} fájl, ami itt nem engedélyezett.","storage.errSvg":"A(z) {name} egy SVG, amit ez az alkalmazás nem fogad el.","storage.errDimensions":"A(z) {name} mérete {w}×{ht}px — a korlát {maxW}×{maxH}px.","storage.errTooMany":"Egyszerre csak {max} fájl tölthető fel.","storage.errUnreadable":"A(z) {name} nem olvasható kép.","storage.errUploadFailed":"A(z) {name} nem tölthető fel — {reason}","storage.errDeleteFailed":"A(z) {name} nem törölhető — {reason}","modal.export":"Exportálás","modal.exportTitle":"Táblázat alapú e-mail HTML","export.copy":"Másolás","export.copied":"Másolva","action.download":"Letöltés","export.meta":"{kb} KB · táblázatok + soron belüli stílusok · Outlook-biztos szélességek","modal.rawHtmlTitle":"Nyers HTML, élő előnézet","code.statusEdited":"Kódnézet — szerkesztve — élő előnézet, még nincs alkalmazva","code.statusSynced":"Kódnézet — szinkronban a rajzvászonnal","action.reload":"Újratöltés","action.reloadHint":"Forrás újratöltése a rajzvászonról","action.applyToCanvas":"Alkalmazás a rajzvászonra","action.applyToCanvasHint":"A forrás visszaalakítása szerkeszthető sorokká","action.closeWithoutApplyingHint":"Bezárás alkalmazás nélkül","code.source":"Forrás","code.livePreview":"Élő előnézet","code.liveHtmlPreviewTitle":"Élő HTML előnézet","code.applyNote":"Az alkalmazás minden legfelső szintű táblázatsort egy rajzvászon-sorrá alakít, amelyet továbbra is kijelölhetsz, átrendezhetsz és törölhetsz — a kézzel írt kód sértetlenül éli túl a folyamatot.","code.meta":"{kb} KB · {lines} sor","toast.sourceReloaded":"A forrás újratöltve a rajzvászonról","toast.sourceAppliedOne":"Forrás alkalmazva — 1 sor a rajzvásznon","toast.sourceAppliedMany":"Forrás alkalmazva — {rows} sor a rajzvásznon","toast.parseError":"Nem sikerült elemezni ezt a HTML-t","modal.aiDraft":"MI írássegéd","modal.aiDraftTitle":"Írd meg az e-mailed MI-vel","ai.disclosure":"Az MI a rövid leírásod alapján készít javaslatokat. Küldés előtt nézd át és szerkeszd az eredményt.","ai.goal":"Cél","ai.tone":"Hangnem","ai.briefLabel":"Miről szól ez az e-mail?","ai.briefPlaceholder":"pl. Őszi kollekció, 15% kedvezmény feliratkozóknak, ingyenes szállítás 150 000 Ft felett","ai.generate":"Szöveg generálása","ai.writing":"Írás…","ai.kindHeadline":"Címsor","ai.kindBody":"Törzsszöveg","ai.kindButton":"Gomb szövege","ai.actionInsertHeading":"Beszúrás címsorként","ai.actionInsertText":"Beszúrás szövegblokként","ai.actionInsertButton":"Beszúrás gombként","toast.headingAdded":"Címsor hozzáadva","toast.textBlockAdded":"Szövegblokk hozzáadva","toast.buttonAdded":"Gomb hozzáadva","preview.kickerMobile":"Előnézet — mobil 375px","preview.kickerDesktop":"Előnézet — asztali {width}px","action.close":"Bezárás","toast.duplicated":"Kettőzve","toast.fileUploadedOne":"1 fájl feltöltve","toast.fileUploadedMany":"{count} fájl feltöltve","toast.imageReplaced":"Kép kicserélve","toast.imageAdded":"Kép hozzáadva a rajzvászonhoz","toast.htmlCopied":"HTML a vágólapra másolva","toast.templateLoaded":"{name} betöltve","toast.snippetDefaultLabel":"Részlet","toast.snippetInserted":"{name} beszúrva","toast.snippetCopied":"{name} másolva — jelölj ki egy szövegblokkot a beszúráshoz","rte.textStyle":"Szövegstílus","rte.mergeTags":"Egyesítési mezők","rte.noMergeTags":"Nincs elérhető egyesítési mező","rte.textColor":"Szöveg színe","rte.highlightColor":"Kiemelés színe","rte.removeHighlight":"Kiemelés eltávolítása","rte.clearFormatting":"Formázás törlése","action.downloadPng":"PNG letöltése","action.screenshot":"Képernyőkép","action.screenshotHint":"A teljes sablon megtekintése képként, majd letöltése","toast.pngSaved":"Képernyőkép letöltve","toast.pngFailed":"A képernyőkép nem sikerült — egy külső képet nem sikerült betölteni","toast.pngCopied":"Képernyőkép a vágólapra másolva","toast.pngCopyFailed":"Ez a böngésző nem fogadott el képet a vágólapon","story.kicker":"Képernyőkép","story.rendering":"A képernyőkép készül","story.renderingHint":"Minden blokk 2×-es méretben rajzolódik — hosszú sablonnál ez eltart egy pillanatig.","story.failed":"A képernyőkép nem sikerült","story.failedHint":"A sablon egyik képét nem sikerült betölteni a rögzítéshez.","story.retry":"Próbáld újra","story.play":"Lejátszás","story.pause":"Szünet","story.replay":"Újrajátszás","story.copy":"Másolás","story.meta":"{w}×{h} · {i}/{n} képernyő","footer.poweredBy":"Működteti a SELISE Blocks © 2026"}})},re["core/i18n/index.js"]=function(ne,V,A){const{EN:W}=A("core/i18n/en.js");function q(z){const d=z||{};return function(a,g){const v=d[a]??W[a]??a;return g?v.replace(/\{(\w+)\}/g,(H,S)=>S in g?String(g[S]):H):v}}function ie(z,d){return Object.assign({},z,d)}function K(z,d){return Object.keys(d||W).filter(a=>z[a]===void 0).sort()}const k=[{tag:"en",name:"English"},{tag:"ar",name:"Arabic",rtl:!0},{tag:"bn",name:"Bangla"},{tag:"dz",name:"Dzongkha"},{tag:"bg",name:"Bulgarian"},{tag:"ca",name:"Catalan"},{tag:"cs",name:"Czech"},{tag:"da",name:"Danish"},{tag:"de",name:"German"},{tag:"de-CH",name:"Swiss German"},{tag:"el",name:"Greek"},{tag:"es",name:"Spanish"},{tag:"et",name:"Estonian"},{tag:"fi",name:"Finnish"},{tag:"fr",name:"French"},{tag:"hr",name:"Croatian"},{tag:"hu",name:"Hungarian"},{tag:"it",name:"Italian"},{tag:"lt",name:"Lithuanian"},{tag:"lv",name:"Latvian"},{tag:"nb",name:"Norwegian Bokmål"},{tag:"nl",name:"Dutch"},{tag:"pl",name:"Polish"},{tag:"pt",name:"Portuguese"},{tag:"ro",name:"Romanian"},{tag:"ru",name:"Russian"},{tag:"sk",name:"Slovak"},{tag:"sl",name:"Slovenian"},{tag:"sv",name:"Swedish"},{tag:"tr",name:"Turkish"},{tag:"uk",name:"Ukrainian"}];function O(z){const d=k.find(p=>p.tag===z);return d?d.rtl===!0:!1}const{EN:b,MESSAGE_KEYS:N}=A("core/i18n/en.js");Object.assign(V,{EN:b,MESSAGE_KEYS:N,createTranslator:q,defineMessages:ie,missingKeys:K,LOCALES:k,isRtl:O})},re["core/i18n/it.js"]=function(ne,V,A){Object.assign(V,{IT:{"action.undoHint":"Annulla — ⌘Z","action.redoHint":"Ripeti — ⌘⇧Z","action.chromeToDark":"Scuro","action.chromeToLight":"Chiaro","action.chromeHint":"Tema dell’editor chiaro / scuro","action.chromeHintToDark":"Modalità scura","action.chromeHintToLight":"Modalità chiara","action.aiDraft":"Bozza","action.aiDraftHint":"Scrivere il contenuto dell’email con l’IA","action.code":"Codice","action.codeHint":"Modifica l’HTML grezzo con anteprima dal vivo","action.preview":"Anteprima","action.previewHint":"Anteprima dell’email","action.export":"Esporta","action.exportHint":"Esporta la tua email","device.desktop":"Desktop","device.desktopHint":"Larghezza desktop","device.mobile":"Mobile","device.mobileHint":"Larghezza mobile","status.autosaveOn":"salvataggio automatico attivo","status.saved":"salvato {time}","status.saveFailed":"non salvato — spazio esaurito","canvas.meta":"{rows} righe · {blocks} blocchi · {width}px","tab.design":"Stile","tab.designHint":"Applica stile alla selezione","tab.blocks":"Blocchi","tab.blocksHint":"Blocchi di contenuto e variabili","tab.rows":"Sez.","tab.rowsHint":"Layout delle sezioni e modello del canvas","tab.files":"File","tab.filesHint":"Libreria risorse","tab.layers":"Struttura","tab.layersHint":"Struttura del documento","tab.settings":"Impostazioni","tab.settingsHint":"Impostazioni dell’email","tab.data":"Var.","tab.dataHint":"Variabili fornite dal tuo codice","inspector.blockProperties":"Proprietà del blocco","inspector.sectionProperties":"Proprietà della sezione","inspector.title":"Ispettore","inspector.sectionLabel":"Sezione","inspector.nothingSelected":"Nessuna selezione","action.duplicateHint":"Duplica — ⌘D","action.deleteHint":"Elimina — ⌫","inspector.emptyBody":'Seleziona una riga o un blocco sul canvas per applicarne lo stile qui. Trascina i blocchi dalla scheda <strong style="color: var(--ed-text); font-weight: 600;">Blocchi</strong>; fai doppio clic su un testo per modificarlo direttamente.',"inspector.shortcuts":"Scorciatoie","shortcut.undoRedo":"⌘Z / ⌘⇧Z — annulla, ripeti","shortcut.duplicate":"⌘D — duplica selezione","shortcut.delete":"⌫ — elimina selezione","shortcut.export":"⌘E — esporta HTML","shortcut.escape":"ESC — deseleziona, chiudi","blocks.dragHint":"Trascina sul canvas","blocks.count":"{count} blocchi","rows.sectionLayouts":"Layout delle sezioni","rows.customMarkup":"Markup personalizzato","rows.htmlRowHint":"Trascina per inserire, o clicca per aggiungere — una riga a piena larghezza da riempire con HTML grezzo","rows.rawHtmlSection":"Sezione HTML grezzo","rows.rawHtmlDesc":"Sezione a piena larghezza, il tuo markup, ancora trascinabile","rows.canvasModel":"Modello del canvas","rows.modeRowBased":"Basato su righe","rows.modeFreeStack":"Pila libera","rows.hintRows":"Basato su sezioni: rilascia prima un layout, poi i blocchi nelle sue colonne — ogni sezione ha proprio sfondo, bordo, impostazioni flex o griglia.","rows.hintStack":"Pila libera: senza layout — ogni blocco rilasciato diventa una propria sezione a piena larghezza, impilata in ordine.","files.libraryCount":"Libreria — {count} file","files.openManager":"Apri gestione file","files.dragToCanvas":"Trascina un qualsiasi file direttamente sul canvas per inserirlo come blocco immagine.","layers.structure":"Struttura","layers.sectionSingle":"Sezione","layers.sectionMulti":"Sezione · {count} col.","layers.column":"Colonna {index}","layers.blockCount":"{count} bl.","vars.title":"Variabili","vars.fromCode":"{count} dal tuo codice","vars.declaredNote":"Dichiarate dalla tua applicazione — il canvas mostra sempre il token, mai un valore.","vars.filterPlaceholder":"Filtra variabili…","vars.insertHint":"Clicca per inserire nel testo, titolo o pulsante selezionato","vars.insert":"inserisci","vars.noMatch":"Nessuna variabile corrisponde a questo filtro.","vars.noneDeclared":"La tua applicazione non ha ancora dichiarato variabili.","vars.rteHint":"Durante la modifica del testo puoi anche scegliere una variabile direttamente dal menu della barra degli strumenti in linea.","modal.fileManager":"Gestione file","modal.assetsTitle":"Risorse","modal.replaceImage":"Sostituisci immagine","library.searchPlaceholder":"Cerca file…","action.upload":"Carica","library.clickToPlace":"Clicca su un file per posizionarlo · o trascina un file sul canvas","library.clickToReplace":"Clicca su un file per sostituire l’immagine selezionata","library.storageLabel":"{count} file · {size}","library.folders":"Cartelle","library.dropHint":"Rilascia qui i file immagine per caricarli — oppure usa il pulsante Carica.","library.deleteFileHint":"Elimina file","library.del":"ELIM","toast.assetDeleted":"{name} eliminato","library.allFiles":"Tutti i file","library.loadMore":"Carica altri","library.empty":"Qui non ci sono ancora file.","storage.loading":"Caricamento dei file…","storage.uploading":"Caricamento di {count}…","storage.errLoadFailed":"Impossibile caricare la libreria file — {reason}","storage.errNoLimits":"I caricamenti sono disattivati: questa applicazione non ha impostato limiti di caricamento.","storage.errNoMaxBytes":"I caricamenti sono disattivati: non è stata impostata una dimensione massima del file.","storage.errTooLarge":"{name} è {size} — il limite è {max}.","storage.errFormat":"{name} è un file {type}, non consentito qui.","storage.errSvg":"{name} è un SVG, che questa applicazione non accetta.","storage.errDimensions":"{name} è {w}×{ht}px — il limite è {maxW}×{maxH}px.","storage.errTooMany":"Si possono caricare solo {max} file alla volta.","storage.errUnreadable":"{name} non è un’immagine leggibile.","storage.errUploadFailed":"Impossibile caricare {name} — {reason}","storage.errDeleteFailed":"Impossibile eliminare {name} — {reason}","modal.export":"Esporta","modal.exportTitle":"HTML email basato su tabelle","export.copy":"Copia","export.copied":"Copiato","action.download":"Scarica","export.meta":"{kb} KB · tabelle + stili inline · larghezze sicure per Outlook","modal.rawHtmlTitle":"HTML grezzo, anteprima dal vivo","code.statusEdited":"Vista codice — modificato — anteprima dal vivo, non ancora applicato","code.statusSynced":"Vista codice — sincronizzato con il canvas","action.reload":"Ricarica","action.reloadHint":"Ricarica il sorgente dal canvas","action.applyToCanvas":"Applica al canvas","action.applyToCanvasHint":"Analizza il sorgente riconvertendolo in righe modificabili","action.closeWithoutApplyingHint":"Chiudi senza applicare","code.source":"Sorgente","code.livePreview":"Anteprima dal vivo","code.liveHtmlPreviewTitle":"Anteprima HTML dal vivo","code.applyNote":"Applica converte ogni riga di tabella di primo livello in una riga del canvas ancora selezionabile, riordinabile ed eliminabile — il markup scritto a mano resta intatto.","code.meta":"{kb} KB · {lines} righe","toast.sourceReloaded":"Sorgente ricaricato dal canvas","toast.sourceAppliedOne":"Sorgente applicato — 1 riga sul canvas","toast.sourceAppliedMany":"Sorgente applicato — {rows} righe sul canvas","toast.parseError":"Impossibile analizzare questo HTML","modal.aiDraft":"Assistente di scrittura IA","modal.aiDraftTitle":"Scrivi la tua email con l’IA","ai.disclosure":"L’IA crea suggerimenti a partire dal tuo brief. Rivedi e modifica il risultato prima di inviarlo.","ai.goal":"Obiettivo","ai.tone":"Tono","ai.briefLabel":"Di cosa parla questa email?","ai.briefPlaceholder":"es. Collezione autunno, 15% per gli iscritti, spedizione gratuita oltre 150€","ai.generate":"Genera testo","ai.writing":"Scrittura in corso…","ai.kindHeadline":"Titolo","ai.kindBody":"Corpo del testo","ai.kindButton":"Testo del pulsante","ai.actionInsertHeading":"Inserisci come titolo","ai.actionInsertText":"Inserisci come blocco di testo","ai.actionInsertButton":"Inserisci come pulsante","toast.headingAdded":"Titolo aggiunto","toast.textBlockAdded":"Blocco di testo aggiunto","toast.buttonAdded":"Pulsante aggiunto","preview.kickerMobile":"Anteprima — mobile 375px","preview.kickerDesktop":"Anteprima — desktop {width}px","action.close":"Chiudi","toast.duplicated":"Duplicato","toast.fileUploadedOne":"1 file caricato","toast.fileUploadedMany":"{count} file caricati","toast.imageReplaced":"Immagine sostituita","toast.imageAdded":"Immagine aggiunta al canvas","toast.htmlCopied":"HTML copiato negli appunti","toast.templateLoaded":"{name} caricato","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} inserito","toast.snippetCopied":"{name} copiato — seleziona un blocco di testo per inserirlo","rte.textStyle":"Stile del testo","rte.mergeTags":"Campi di unione","rte.noMergeTags":"Nessun campo di unione disponibile","rte.textColor":"Colore del testo","rte.highlightColor":"Colore evidenziazione","rte.removeHighlight":"Rimuovi evidenziazione","rte.clearFormatting":"Cancella formattazione","action.downloadPng":"Scarica PNG","action.screenshot":"Screenshot","action.screenshotHint":"Vedi l’intero modello come immagine e scaricalo","toast.pngSaved":"Screenshot scaricato","toast.pngFailed":"Screenshot non riuscito — un’immagine esterna non è stata caricata","toast.pngCopied":"Screenshot copiato negli appunti","toast.pngCopyFailed":"Questo browser non ha accettato un’immagine negli appunti","story.kicker":"Screenshot","story.rendering":"Creazione dello screenshot","story.renderingHint":"Ogni blocco viene disegnato a 2× — con un modello lungo richiede un momento.","story.failed":"Screenshot non riuscito","story.failedHint":"Un’immagine del modello non è stata caricata per l’acquisizione.","story.retry":"Riprova","story.play":"Riproduci","story.pause":"Pausa","story.replay":"Riproduci di nuovo","story.copy":"Copia","story.meta":"{w}×{h} · schermata {i} di {n}","footer.poweredBy":"Con tecnologia SELISE Blocks © 2026"}})},re["core/i18n/lt.js"]=function(ne,V,A){Object.assign(V,{LT:{"action.undoHint":"Anuliuoti — ⌘Z","action.redoHint":"Grąžinti — ⌘⇧Z","action.chromeToDark":"Tamsi","action.chromeToLight":"Šviesi","action.chromeHint":"Redaktoriaus tema šviesi / tamsi","action.chromeHintToDark":"Tamsi tema","action.chromeHintToLight":"Šviesi tema","action.aiDraft":"Juodraštis","action.aiDraftHint":"Parašyti el. laiško turinį su DI","action.code":"Kodas","action.codeHint":"Redaguoti neapdorotą HTML su tiesioginiu peržiūra","action.preview":"Peržiūra","action.previewHint":"Peržiūrėti el. laišką","action.export":"Eksportuoti","action.exportHint":"Eksportuoti savo el. laišką","device.desktop":"Kompiuteris","device.desktopHint":"Kompiuterio plotis","device.mobile":"Mobilusis","device.mobileHint":"Mobiliojo plotis","status.autosaveOn":"automatinis išsaugojimas įjungtas","status.saved":"išsaugota {time}","status.saveFailed":"neišsaugota — saugykla pilna","canvas.meta":"{rows} eilučių · {blocks} blokų · {width}px","tab.design":"Stilius","tab.designHint":"Stilizuoti pasirinkimą","tab.blocks":"Blokai","tab.blocksHint":"Turinio blokai ir kintamieji","tab.rows":"Sekcijos","tab.rowsHint":"Sekcijų išdėstymai ir drobės modelis","tab.files":"Failai","tab.filesHint":"Išteklių biblioteka","tab.layers":"Struktūra","tab.layersHint":"Dokumento struktūra","tab.settings":"Nustatymai","tab.settingsHint":"El. laiško nustatymai","tab.data":"Kint.","tab.dataHint":"Jūsų kodo pateikti kintamieji","inspector.blockProperties":"Bloko savybės","inspector.sectionProperties":"Sekcijos savybės","inspector.title":"Inspektorius","inspector.sectionLabel":"Sekcija","inspector.nothingSelected":"Nieko nepasirinkta","action.duplicateHint":"Dubliuoti — ⌘D","action.deleteHint":"Ištrinti — ⌫","inspector.emptyBody":'Pasirinkite eilutę arba bloką drobėje, kad čia jį stilizuotumėte. Vilkite blokus iš skirtuko <strong style="color: var(--ed-text); font-weight: 600;">Blokai</strong>; dukart spustelėkite bet kurį tekstą, kad redaguotumėte jį tiesiogiai.',"inspector.shortcuts":"Sparčieji klavišai","shortcut.undoRedo":"⌘Z / ⌘⇧Z — anuliuoti, grąžinti","shortcut.duplicate":"⌘D — dubliuoti pasirinkimą","shortcut.delete":"⌫ — ištrinti pasirinkimą","shortcut.export":"⌘E — eksportuoti HTML","shortcut.escape":"ESC — panaikinti pasirinkimą, uždaryti","blocks.dragHint":"Vilkite į drobę","blocks.count":"{count} blokų","rows.sectionLayouts":"Sekcijų išdėstymai","rows.customMarkup":"Pasirinktinis kodas","rows.htmlRowHint":"Vilkite, kad įterptumėte, arba spustelėkite, kad pridėtumėte — pilno pločio eilutę, kurią užpildote neapdorotu HTML","rows.rawHtmlSection":"Neapdoroto HTML sekcija","rows.rawHtmlDesc":"Pilno pločio sekcija, jūsų pačių kodas, vis dar vilkiama","rows.canvasModel":"Drobės modelis","rows.modeRowBased":"Pagrįsta eilutėmis","rows.modeFreeStack":"Laisvas krūvinys","rows.hintRows":"Pagrįsta sekcijomis: pirmiausia numeskite išdėstymą, tada blokus į jo stulpelius — kiekviena sekcija turi savo foną, kraštinę, flex arba tinklelio nustatymus.","rows.hintStack":"Laisvas krūvinys: be išdėstymų — kiekvienas numestas blokas tampa savo pilno pločio sekcija, sudėta iš eilės.","files.libraryCount":"Biblioteka — {count} failų","files.openManager":"Atidaryti failų tvarkyklę","files.dragToCanvas":"Vilkite bet kurį failą tiesiai į drobę, kad jį padėtumėte kaip vaizdo bloką.","layers.structure":"Struktūra","layers.sectionSingle":"Sekcija","layers.sectionMulti":"Sekcija · {count} stulpelių","layers.column":"{index} stulpelis","layers.blockCount":"{count} bl.","vars.title":"Kintamieji","vars.fromCode":"{count} iš jūsų kodo","vars.declaredNote":"Deklaruoti jūsų programos — drobė visada rodo žymą, o ne reikšmę.","vars.filterPlaceholder":"Filtruoti kintamuosius…","vars.insertHint":"Spustelėkite, kad įterptumėte į pasirinktą tekstą, antraštę ar mygtuką","vars.insert":"įterpti","vars.noMatch":"Nė vienas kintamasis neatitinka šio filtro.","vars.noneDeclared":"Jūsų programa dar nedeklaravo jokių kintamųjų.","vars.rteHint":"Redaguodami tekstą taip pat galite pasirinkti kintamąjį tiesiai iš įterptos įrankių juostos išskleidžiamojo meniu.","modal.fileManager":"Failų tvarkyklė","modal.assetsTitle":"Ištekliai","modal.replaceImage":"Pakeisti vaizdą","library.searchPlaceholder":"Ieškoti failų…","action.upload":"Įkelti","library.clickToPlace":"Spustelėkite failą, kad jį padėtumėte · arba vilkite failą į drobę","library.clickToReplace":"Spustelėkite failą, kad pakeistumėte pasirinktą vaizdą","library.storageLabel":"{count} failų · {size}","library.folders":"Aplankai","library.dropHint":"Numeskite vaizdo failus čia, kad juos įkeltumėte — arba naudokite mygtuką Įkelti.","library.deleteFileHint":"Ištrinti failą","library.del":"TRINT","toast.assetDeleted":"{name} ištrintas","library.allFiles":"Visi failai","library.loadMore":"Įkelti daugiau","library.empty":"Čia dar nėra failų.","storage.loading":"Įkeliami failai…","storage.uploading":"Įkeliama {count}…","storage.errLoadFailed":"Nepavyko įkelti failų bibliotekos — {reason}","storage.errNoLimits":"Įkėlimai išjungti: ši programa nenustatė jokių įkėlimo ribų.","storage.errNoMaxBytes":"Įkėlimai išjungti: nenustatytas didžiausias failo dydis.","storage.errTooLarge":"{name} yra {size} — riba yra {max}.","storage.errFormat":"{name} yra {type} failas, kuris čia neleidžiamas.","storage.errSvg":"{name} yra SVG, kurio ši programa nepriima.","storage.errDimensions":"{name} yra {w}×{ht}px — riba yra {maxW}×{maxH}px.","storage.errTooMany":"Vienu metu galima įkelti tik {max} failų.","storage.errUnreadable":"{name} nėra nuskaitomas paveikslėlis.","storage.errUploadFailed":"Nepavyko įkelti {name} — {reason}","storage.errDeleteFailed":"Nepavyko ištrinti {name} — {reason}","modal.export":"Eksportuoti","modal.exportTitle":"Lentelėmis pagrįstas el. laiško HTML","export.copy":"Kopijuoti","export.copied":"Nukopijuota","action.download":"Atsisiųsti","export.meta":"{kb} KB · lentelės + įterpti stiliai · Outlook saugūs pločiai","modal.rawHtmlTitle":"Neapdorotas HTML, tiesioginė peržiūra","code.statusEdited":"Kodo rodinys — redaguota — peržiūra tiesiogiai, dar netaikyta","code.statusSynced":"Kodo rodinys — sinchronizuota su drobe","action.reload":"Įkelti iš naujo","action.reloadHint":"Įkelti šaltinį iš naujo iš drobės","action.applyToCanvas":"Taikyti drobei","action.applyToCanvasHint":"Analizuoti šaltinį atgal į redaguojamas eilutes","action.closeWithoutApplyingHint":"Uždaryti netaikant","code.source":"Šaltinis","code.livePreview":"Tiesioginė peržiūra","code.liveHtmlPreviewTitle":"Tiesioginė HTML peržiūra","code.applyNote":"Taikymas analizuoja kiekvieną aukščiausio lygio lentelės eilutę į drobės eilutę, kurią vis dar galite pasirinkti, pertvarkyti ir ištrinti — ranka parašytas kodas išlieka nepakitęs.","code.meta":"{kb} KB · {lines} eilučių","toast.sourceReloaded":"Šaltinis įkeltas iš naujo iš drobės","toast.sourceAppliedOne":"Šaltinis pritaikytas — 1 eilutė drobėje","toast.sourceAppliedMany":"Šaltinis pritaikytas — {rows} eilučių drobėje","toast.parseError":"Nepavyko išanalizuoti šio HTML","modal.aiDraft":"DI rašymo asistentas","modal.aiDraftTitle":"Parašykite el. laišką su DI","ai.disclosure":"DI kuria pasiūlymus pagal jūsų aprašą. Prieš siųsdami peržiūrėkite ir suredaguokite rezultatą.","ai.goal":"Tikslas","ai.tone":"Tonas","ai.briefLabel":"Apie ką šis el. laiškas?","ai.briefPlaceholder":"pvz., Rudens kolekcija, 15 % prenumeratoriams, nemokamas pristatymas nuo 150 €","ai.generate":"Generuoti tekstą","ai.writing":"Rašoma…","ai.kindHeadline":"Antraštė","ai.kindBody":"Pagrindinis tekstas","ai.kindButton":"Mygtuko tekstas","ai.actionInsertHeading":"Įterpti kaip antraštę","ai.actionInsertText":"Įterpti kaip teksto bloką","ai.actionInsertButton":"Įterpti kaip mygtuką","toast.headingAdded":"Antraštė pridėta","toast.textBlockAdded":"Teksto blokas pridėtas","toast.buttonAdded":"Mygtukas pridėtas","preview.kickerMobile":"Peržiūra — mobilusis 375px","preview.kickerDesktop":"Peržiūra — kompiuteris {width}px","action.close":"Uždaryti","toast.duplicated":"Sudubliuota","toast.fileUploadedOne":"Įkeltas 1 failas","toast.fileUploadedMany":"Įkelta failų: {count}","toast.imageReplaced":"Vaizdas pakeistas","toast.imageAdded":"Vaizdas pridėtas į drobę","toast.htmlCopied":"HTML nukopijuotas į iškarpinę","toast.templateLoaded":"{name} įkeltas","toast.snippetDefaultLabel":"Iškarpa","toast.snippetInserted":"{name} įterptas","toast.snippetCopied":"{name} nukopijuotas — pasirinkite teksto bloką, kad jį įterptumėte","rte.textStyle":"Teksto stilius","rte.mergeTags":"Sujungimo laukai","rte.noMergeTags":"Sujungimo laukų nėra","rte.textColor":"Teksto spalva","rte.highlightColor":"Paryškinimo spalva","rte.removeHighlight":"Pašalinti paryškinimą","rte.clearFormatting":"Išvalyti formatavimą","action.downloadPng":"Atsisiųsti PNG","action.screenshot":"Ekrano kopija","action.screenshotHint":"Peržiūrėti visą šabloną kaip paveikslėlį ir jį atsisiųsti","toast.pngSaved":"Ekrano kopija atsisiųsta","toast.pngFailed":"Ekrano kopija nepavyko — nepavyko įkelti išorinio paveikslėlio","toast.pngCopied":"Ekrano kopija nukopijuota į iškarpinę","toast.pngCopyFailed":"Ši naršyklė nepriėmė paveikslėlio į iškarpinę","story.kicker":"Ekrano kopija","story.rendering":"Kuriama ekrano kopija","story.renderingHint":"Kiekvienas blokas piešiamas 2× — ilgame šablone tai užtrunka akimirką.","story.failed":"Ekrano kopija nepavyko","story.failedHint":"Nepavyko įkelti šablono paveikslėlio fiksavimui.","story.retry":"Bandyti dar kartą","story.play":"Paleisti","story.pause":"Pristabdyti","story.replay":"Paleisti iš naujo","story.copy":"Kopijuoti","story.meta":"{w}×{h} · ekranas {i} iš {n}","footer.poweredBy":"Veikia su SELISE Blocks © 2026"}})},re["core/i18n/lv.js"]=function(ne,V,A){Object.assign(V,{LV:{"action.undoHint":"Atsaukt — ⌘Z","action.redoHint":"Atkārtot — ⌘⇧Z","action.chromeToDark":"Tumšs","action.chromeToLight":"Gaišs","action.chromeHint":"Redaktora tēma gaiša / tumša","action.chromeHintToDark":"Tumšais režīms","action.chromeHintToLight":"Gaišais režīms","action.aiDraft":"Melnraksts","action.aiDraftHint":"Uzrakstīt e-pasta saturu ar MI","action.code":"Kods","action.codeHint":"Rediģēt neapstrādātu HTML ar tiešraides priekšskatījumu","action.preview":"Priekšskatījums","action.previewHint":"Priekšskatīt e-pastu","action.export":"Eksportēt","action.exportHint":"Eksportēt savu e-pastu","device.desktop":"Dators","device.desktopHint":"Datora platums","device.mobile":"Mobilā ierīce","device.mobileHint":"Mobilās ierīces platums","status.autosaveOn":"automātiskā saglabāšana ieslēgta","status.saved":"saglabāts {time}","status.saveFailed":"nav saglabāts — krātuve pilna","canvas.meta":"{rows} rindas · {blocks} bloki · {width}px","tab.design":"Stils","tab.designHint":"Noformēt atlasi","tab.blocks":"Bloki","tab.blocksHint":"Satura bloki un mainīgie","tab.rows":"Sadaļas","tab.rowsHint":"Sadaļu izkārtojumi un audekla modelis","tab.files":"Faili","tab.filesHint":"Resursu bibliotēka","tab.layers":"Struktūra","tab.layersHint":"Dokumenta struktūra","tab.settings":"Iestatījumi","tab.settingsHint":"E-pasta iestatījumi","tab.data":"Main.","tab.dataHint":"Jūsu koda nodrošinātie mainīgie","inspector.blockProperties":"Bloka īpašības","inspector.sectionProperties":"Sadaļas īpašības","inspector.title":"Inspektors","inspector.sectionLabel":"Sadaļa","inspector.nothingSelected":"Nekas nav atlasīts","action.duplicateHint":"Dublēt — ⌘D","action.deleteHint":"Dzēst — ⌫","inspector.emptyBody":'Atlasiet rindu vai bloku uz audekla, lai to šeit noformētu. Velciet blokus no cilnes <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; veiciet dubultklikšķi uz jebkura teksta, lai to rediģētu tieši uz vietas.',"inspector.shortcuts":"Īsinājumtaustiņi","shortcut.undoRedo":"⌘Z / ⌘⇧Z — atsaukt, atkārtot","shortcut.duplicate":"⌘D — dublēt atlasi","shortcut.delete":"⌫ — dzēst atlasi","shortcut.export":"⌘E — eksportēt HTML","shortcut.escape":"ESC — atcelt atlasi, aizvērt","blocks.dragHint":"Velciet uz audeklu","blocks.count":"{count} bloki","rows.sectionLayouts":"Sadaļu izkārtojumi","rows.customMarkup":"Pielāgots kods","rows.htmlRowHint":"Velciet, lai ievietotu, vai noklikšķiniet, lai pievienotu — pilna platuma rindu, ko aizpildāt ar neapstrādātu HTML","rows.rawHtmlSection":"Neapstrādāta HTML sadaļa","rows.rawHtmlDesc":"Pilna platuma sadaļa, jūsu pašu kods, joprojām velkama","rows.canvasModel":"Audekla modelis","rows.modeRowBased":"Balstīts uz rindām","rows.modeFreeStack":"Brīva kaudze","rows.hintRows":"Balstīts uz sadaļām: vispirms nometiet izkārtojumu, tad blokus tā kolonnās — katrai sadaļai ir sava fona, apmales, flex vai režģa iestatījumi.","rows.hintStack":"Brīva kaudze: bez izkārtojumiem — katrs nomestais bloks kļūst par savu pilna platuma sadaļu, sakrautu secībā.","files.libraryCount":"Bibliotēka — {count} faili","files.openManager":"Atvērt failu pārvaldnieku","files.dragToCanvas":"Velciet jebkuru failu tieši uz audekla, lai novietotu to kā attēla bloku.","layers.structure":"Struktūra","layers.sectionSingle":"Sadaļa","layers.sectionMulti":"Sadaļa · {count} kolonnas","layers.column":"{index}. kolonna","layers.blockCount":"{count} bl.","vars.title":"Mainīgie","vars.fromCode":"{count} no jūsu koda","vars.declaredNote":"Jūsu lietotnes deklarēti — audekls vienmēr rāda marķieri, nekad vērtību.","vars.filterPlaceholder":"Filtrēt mainīgos…","vars.insertHint":"Noklikšķiniet, lai ievietotu atlasītajā tekstā, virsrakstā vai pogā","vars.insert":"ievietot","vars.noMatch":"Neviens mainīgais neatbilst šim filtram.","vars.noneDeclared":"Jūsu lietotne vēl nav deklarējusi nevienu mainīgo.","vars.rteHint":"Rediģējot tekstu, jūs varat arī izvēlēties mainīgo tieši no iegultās rīkjoslas nolaižamās izvēlnes.","modal.fileManager":"Failu pārvaldnieks","modal.assetsTitle":"Resursi","modal.replaceImage":"Aizstāt attēlu","library.searchPlaceholder":"Meklēt failus…","action.upload":"Augšupielādēt","library.clickToPlace":"Noklikšķiniet uz faila, lai to novietotu · vai velciet failu uz audeklu","library.clickToReplace":"Noklikšķiniet uz faila, lai aizstātu atlasīto attēlu","library.storageLabel":"{count} faili · {size}","library.folders":"Mapes","library.dropHint":"Nometiet attēlu failus šeit, lai tos augšupielādētu — vai izmantojiet pogu Augšupielādēt.","library.deleteFileHint":"Dzēst failu","library.del":"DZĒST","toast.assetDeleted":"{name} dzēsts","library.allFiles":"Visi faili","library.loadMore":"Ielādēt vairāk","library.empty":"Šeit vēl nav failu.","storage.loading":"Notiek failu ielāde…","storage.uploading":"Notiek {count} augšupielāde…","storage.errLoadFailed":"Neizdevās ielādēt failu bibliotēku — {reason}","storage.errNoLimits":"Augšupielāde ir izslēgta: šī lietotne nav noteikusi augšupielādes ierobežojumus.","storage.errNoMaxBytes":"Augšupielāde ir izslēgta: nav noteikts maksimālais faila izmērs.","storage.errTooLarge":"{name} ir {size} — ierobežojums ir {max}.","storage.errFormat":"{name} ir {type} fails, kas šeit nav atļauts.","storage.errSvg":"{name} ir SVG, ko šī lietotne nepieņem.","storage.errDimensions":"{name} ir {w}×{ht}px — ierobežojums ir {maxW}×{maxH}px.","storage.errTooMany":"Vienlaikus var augšupielādēt tikai {max} failus.","storage.errUnreadable":"{name} nav nolasāms attēls.","storage.errUploadFailed":"Neizdevās augšupielādēt {name} — {reason}","storage.errDeleteFailed":"Neizdevās izdzēst {name} — {reason}","modal.export":"Eksportēt","modal.exportTitle":"Uz tabulām balstīts e-pasta HTML","export.copy":"Kopēt","export.copied":"Nokopēts","action.download":"Lejupielādēt","export.meta":"{kb} KB · tabulas + iegultie stili · Outlook drošie platumi","modal.rawHtmlTitle":"Neapstrādāts HTML, tiešraides priekšskatījums","code.statusEdited":"Koda skats — rediģēts — priekšskatījums tiešraidē, vēl nav lietots","code.statusSynced":"Koda skats — sinhronizēts ar audeklu","action.reload":"Ielādēt no jauna","action.reloadHint":"Ielādēt avotu no jauna no audekla","action.applyToCanvas":"Lietot audeklam","action.applyToCanvasHint":"Analizēt avotu atpakaļ rediģējamās rindās","action.closeWithoutApplyingHint":"Aizvērt bez lietošanas","code.source":"Avots","code.livePreview":"Tiešraides priekšskatījums","code.liveHtmlPreviewTitle":"HTML tiešraides priekšskatījums","code.applyNote":"Lietošana analizē katru augšējā līmeņa tabulas rindu audekla rindā, ko joprojām varat atlasīt, pārkārtot un dzēst — ar roku rakstīts kods pāri notikumam paliek nemainīgs.","code.meta":"{kb} KB · {lines} rindas","toast.sourceReloaded":"Avots ielādēts no jauna no audekla","toast.sourceAppliedOne":"Avots lietots — 1 rinda uz audekla","toast.sourceAppliedMany":"Avots lietots — {rows} rindas uz audekla","toast.parseError":"Šo HTML neizdevās analizēt","modal.aiDraft":"MI rakstīšanas asistents","modal.aiDraftTitle":"Uzrakstiet savu e-pastu ar MI","ai.disclosure":"MI veido ieteikumus pēc jūsu apraksta. Pirms nosūtīšanas pārskatiet un rediģējiet rezultātu.","ai.goal":"Mērķis","ai.tone":"Tonis","ai.briefLabel":"Par ko ir šis e-pasts?","ai.briefPlaceholder":"piem., rudens kolekcija, 15% abonentiem, bezmaksas piegāde virs 150 €","ai.generate":"Ģenerēt tekstu","ai.writing":"Notiek rakstīšana…","ai.kindHeadline":"Virsraksts","ai.kindBody":"Pamatteksts","ai.kindButton":"Pogas teksts","ai.actionInsertHeading":"Ievietot kā virsrakstu","ai.actionInsertText":"Ievietot kā teksta bloku","ai.actionInsertButton":"Ievietot kā pogu","toast.headingAdded":"Virsraksts pievienots","toast.textBlockAdded":"Teksta bloks pievienots","toast.buttonAdded":"Poga pievienota","preview.kickerMobile":"Priekšskatījums — mobilā ierīce 375px","preview.kickerDesktop":"Priekšskatījums — dators {width}px","action.close":"Aizvērt","toast.duplicated":"Dublēts","toast.fileUploadedOne":"Augšupielādēts 1 fails","toast.fileUploadedMany":"Augšupielādēti {count} faili","toast.imageReplaced":"Attēls aizstāts","toast.imageAdded":"Attēls pievienots audeklam","toast.htmlCopied":"HTML nokopēts starpliktuvē","toast.templateLoaded":"{name} ielādēts","toast.snippetDefaultLabel":"Fragments","toast.snippetInserted":"{name} ievietots","toast.snippetCopied":"{name} nokopēts — atlasiet teksta bloku, lai to ievietotu","rte.textStyle":"Teksta stils","rte.mergeTags":"Sapludināšanas lauki","rte.noMergeTags":"Nav pieejamu sapludināšanas lauku","rte.textColor":"Teksta krāsa","rte.highlightColor":"Izcēluma krāsa","rte.removeHighlight":"Noņemt izcēlumu","rte.clearFormatting":"Notīrīt formatējumu","action.downloadPng":"Lejupielādēt PNG","action.screenshot":"Ekrānuzņēmums","action.screenshotHint":"Apskatīt visu veidni kā attēlu un lejupielādēt to","toast.pngSaved":"Ekrānuzņēmums lejupielādēts","toast.pngFailed":"Ekrānuzņēmums neizdevās — neizdevās ielādēt ārēju attēlu","toast.pngCopied":"Ekrānuzņēmums nokopēts starpliktuvē","toast.pngCopyFailed":"Šī pārlūkprogramma nepieņēma attēlu starpliktuvē","story.kicker":"Ekrānuzņēmums","story.rendering":"Tiek veidots ekrānuzņēmums","story.renderingHint":"Katrs bloks tiek zīmēts 2× — garā veidnē tas aizņem mirkli.","story.failed":"Ekrānuzņēmums neizdevās","story.failedHint":"Veidnes attēlu neizdevās ielādēt uzņemšanai.","story.retry":"Mēģināt vēlreiz","story.play":"Atskaņot","story.pause":"Pauzēt","story.replay":"Atskaņot vēlreiz","story.copy":"Kopēt","story.meta":"{w}×{h} · ekrāns {i} no {n}","footer.poweredBy":"Darbina SELISE Blocks © 2026"}})},re["core/i18n/nb.js"]=function(ne,V,A){Object.assign(V,{NB:{"action.undoHint":"Angre — ⌘Z","action.redoHint":"Gjør om — ⌘⇧Z","action.chromeToDark":"Mørk","action.chromeToLight":"Lys","action.chromeHint":"Redigeringstema lys / mørk","action.chromeHintToDark":"Mørk modus","action.chromeHintToLight":"Lys modus","action.aiDraft":"Utkast","action.aiDraftHint":"Skriv innholdet i e-posten med KI","action.code":"Kode","action.codeHint":"Rediger rå HTML med direkte forhåndsvisning","action.preview":"Forhåndsvisning","action.previewHint":"Forhåndsvis e-posten","action.export":"Eksporter","action.exportHint":"Eksporter e-posten din","device.desktop":"Datamaskin","device.desktopHint":"Bredde for datamaskin","device.mobile":"Mobil","device.mobileHint":"Bredde for mobil","status.autosaveOn":"automatisk lagring på","status.saved":"lagret {time}","status.saveFailed":"ikke lagret — lagringsplassen er full","canvas.meta":"{rows} rader · {blocks} blokker · {width}px","tab.design":"Stil","tab.designHint":"Formater utvalget","tab.blocks":"Blokker","tab.blocksHint":"Innholdsblokker og variabler","tab.rows":"Seksjoner","tab.rowsHint":"Seksjonslayouter og lerretsmodell","tab.files":"Filer","tab.filesHint":"Ressursbibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Innstillinger","tab.settingsHint":"E-postinnstillinger","tab.data":"Var.","tab.dataHint":"Variabler levert av koden din","inspector.blockProperties":"Blokkegenskaper","inspector.sectionProperties":"Seksjonsegenskaper","inspector.title":"Inspektør","inspector.sectionLabel":"Seksjon","inspector.nothingSelected":"Ingenting valgt","action.duplicateHint":"Dupliser — ⌘D","action.deleteHint":"Slett — ⌫","inspector.emptyBody":'Velg en rad eller en blokk på lerretet for å formatere den her. Dra blokker fra fanen <strong style="color: var(--ed-text); font-weight: 600;">Blokker</strong>; dobbeltklikk på tekst for å redigere direkte.',"inspector.shortcuts":"Snarveier","shortcut.undoRedo":"⌘Z / ⌘⇧Z — angre, gjør om","shortcut.duplicate":"⌘D — dupliser utvalg","shortcut.delete":"⌫ — slett utvalg","shortcut.export":"⌘E — eksporter HTML","shortcut.escape":"ESC — fjern utvalg, lukk","blocks.dragHint":"Dra til lerretet","blocks.count":"{count} blokker","rows.sectionLayouts":"Seksjonslayouter","rows.customMarkup":"Egendefinert kode","rows.htmlRowHint":"Dra for å sette inn, eller klikk for å legge til — en fullbredde-rad du fyller med rå HTML","rows.rawHtmlSection":"Rå HTML-seksjon","rows.rawHtmlDesc":"Fullbredde-seksjon, din egen kode, fortsatt drabar","rows.canvasModel":"Lerretsmodell","rows.modeRowBased":"Radbasert","rows.modeFreeStack":"Fri stabel","rows.hintRows":"Seksjonsbasert: slipp en layout først, deretter blokker i kolonnene — hver seksjon har egen bakgrunn, kant, flex- eller rutenettinnstillinger.","rows.hintStack":"Fri stabel: uten layouter — hver blokk du slipper blir sin egen fullbredde-seksjon, stablet i rekkefølge.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Åpne filbehandling","files.dragToCanvas":"Dra en hvilken som helst fil direkte til lerretet for å plassere den som en bildeblokk.","layers.structure":"Struktur","layers.sectionSingle":"Seksjon","layers.sectionMulti":"Seksjon · {count} kol.","layers.column":"Kolonne {index}","layers.blockCount":"{count} bl.","vars.title":"Variabler","vars.fromCode":"{count} fra koden din","vars.declaredNote":"Erklært av applikasjonen din — lerretet viser alltid tokenet, aldri en verdi.","vars.filterPlaceholder":"Filtrer variabler…","vars.insertHint":"Klikk for å sette inn i valgt tekst, overskrift eller knapp","vars.insert":"sett inn","vars.noMatch":"Ingen variabel samsvarer med dette filteret.","vars.noneDeclared":"Applikasjonen din har ennå ikke erklært noen variabler.","vars.rteHint":"Når du redigerer tekst kan du også velge en variabel direkte fra rullegardinmenyen i den innebygde verktøylinjen.","modal.fileManager":"Filbehandling","modal.assetsTitle":"Ressurser","modal.replaceImage":"Erstatt bilde","library.searchPlaceholder":"Søk i filer…","action.upload":"Last opp","library.clickToPlace":"Klikk på en fil for å plassere den · eller dra en fil til lerretet","library.clickToReplace":"Klikk på en fil for å erstatte det valgte bildet","library.storageLabel":"{count} filer · {size}","library.folders":"Mapper","library.dropHint":"Slipp bildefiler her for å laste opp — eller bruk Last opp-knappen.","library.deleteFileHint":"Slett fil","library.del":"SLETT","toast.assetDeleted":"{name} slettet","library.allFiles":"Alle filer","library.loadMore":"Last inn flere","library.empty":"Ingen filer her ennå.","storage.loading":"Laster filer…","storage.uploading":"Laster opp {count}…","storage.errLoadFailed":"Filbiblioteket kunne ikke lastes — {reason}","storage.errNoLimits":"Opplasting er slått av: denne appen har ikke satt noen opplastingsgrenser.","storage.errNoMaxBytes":"Opplasting er slått av: ingen maksimal filstørrelse er satt.","storage.errTooLarge":"{name} er {size} — grensen er {max}.","storage.errFormat":"{name} er en {type}-fil, som ikke er tillatt her.","storage.errSvg":"{name} er en SVG, som denne appen ikke godtar.","storage.errDimensions":"{name} er {w}×{ht}px — grensen er {maxW}×{maxH}px.","storage.errTooMany":"Bare {max} filer kan lastes opp om gangen.","storage.errUnreadable":"{name} er ikke et lesbart bilde.","storage.errUploadFailed":"{name} kunne ikke lastes opp — {reason}","storage.errDeleteFailed":"{name} kunne ikke slettes — {reason}","modal.export":"Eksporter","modal.exportTitle":"Tabellbasert e-post-HTML","export.copy":"Kopier","export.copied":"Kopiert","action.download":"Last ned","export.meta":"{kb} KB · tabeller + inline-stiler · Outlook-sikre bredder","modal.rawHtmlTitle":"Rå HTML, direkte forhåndsvisning","code.statusEdited":"Kodevisning — redigert — forhåndsvisning live, ikke brukt ennå","code.statusSynced":"Kodevisning — synkronisert med lerretet","action.reload":"Last inn på nytt","action.reloadHint":"Last inn kilden på nytt fra lerretet","action.applyToCanvas":"Bruk på lerretet","action.applyToCanvasHint":"Tolk kilden på nytt til redigerbare rader","action.closeWithoutApplyingHint":"Lukk uten å bruke","code.source":"Kilde","code.livePreview":"Direkte forhåndsvisning","code.liveHtmlPreviewTitle":"Direkte HTML-forhåndsvisning","code.applyNote":"Bruk tolker hver tabellrad på øverste nivå til en lerretsrad du fortsatt kan velge, omorganisere og slette — håndskrevet kode overlever prosessen uendret.","code.meta":"{kb} KB · {lines} linjer","toast.sourceReloaded":"Kilden lastet inn på nytt fra lerretet","toast.sourceAppliedOne":"Kilde brukt — 1 rad på lerretet","toast.sourceAppliedMany":"Kilde brukt — {rows} rader på lerretet","toast.parseError":"Kunne ikke tolke den HTML-en","modal.aiDraft":"KI-skriveassistent","modal.aiDraftTitle":"Skriv e-posten din med KI","ai.disclosure":"KI lager forslag ut fra briefen din. Se gjennom og rediger resultatet før du sender.","ai.goal":"Mål","ai.tone":"Tone","ai.briefLabel":"Hva handler denne e-posten om?","ai.briefPlaceholder":"f.eks. Høstkolleksjon, 15% for abonnenter, fri frakt over 1500 kr","ai.generate":"Generer tekst","ai.writing":"Skriver…","ai.kindHeadline":"Overskrift","ai.kindBody":"Brødtekst","ai.kindButton":"Knappetekst","ai.actionInsertHeading":"Sett inn som overskrift","ai.actionInsertText":"Sett inn som tekstblokk","ai.actionInsertButton":"Sett inn som knapp","toast.headingAdded":"Overskrift lagt til","toast.textBlockAdded":"Tekstblokk lagt til","toast.buttonAdded":"Knapp lagt til","preview.kickerMobile":"Forhåndsvisning — mobil 375px","preview.kickerDesktop":"Forhåndsvisning — datamaskin {width}px","action.close":"Lukk","toast.duplicated":"Duplisert","toast.fileUploadedOne":"1 fil lastet opp","toast.fileUploadedMany":"{count} filer lastet opp","toast.imageReplaced":"Bilde erstattet","toast.imageAdded":"Bilde lagt til på lerretet","toast.htmlCopied":"HTML kopiert til utklippstavlen","toast.templateLoaded":"{name} lastet inn","toast.snippetDefaultLabel":"Utdrag","toast.snippetInserted":"{name} satt inn","toast.snippetCopied":"{name} kopiert — velg en tekstblokk for å sette den inn","rte.textStyle":"Tekststil","rte.mergeTags":"Flettefelt","rte.noMergeTags":"Ingen flettefelt tilgjengelig","rte.textColor":"Tekstfarge","rte.highlightColor":"Uthevingsfarge","rte.removeHighlight":"Fjern utheving","rte.clearFormatting":"Fjern formatering","action.downloadPng":"Last ned PNG","action.screenshot":"Skjermbilde","action.screenshotHint":"Se hele malen som et bilde, og last det ned","toast.pngSaved":"Skjermbilde lastet ned","toast.pngFailed":"Skjermbildet mislyktes — et eksternt bilde kunne ikke lastes","toast.pngCopied":"Skjermbilde kopiert til utklippstavlen","toast.pngCopyFailed":"Denne nettleseren godtok ikke et bilde på utklippstavlen","story.kicker":"Skjermbilde","story.rendering":"Lager skjermbildet","story.renderingHint":"Hver blokk tegnes i 2× — på en lang mal tar det et øyeblikk.","story.failed":"Skjermbildet mislyktes","story.failedHint":"Et bilde i malen kunne ikke lastes for opptaket.","story.retry":"Prøv igjen","story.play":"Spill av","story.pause":"Pause","story.replay":"Spill av igjen","story.copy":"Kopier","story.meta":"{w}×{h} · skjerm {i} av {n}","footer.poweredBy":"Drevet av SELISE Blocks © 2026"}})},re["core/i18n/nl.js"]=function(ne,V,A){Object.assign(V,{NL:{"action.undoHint":"Ongedaan maken — ⌘Z","action.redoHint":"Opnieuw — ⌘⇧Z","action.chromeToDark":"Donker","action.chromeToLight":"Licht","action.chromeHint":"Editorthema licht / donker","action.chromeHintToDark":"Donkere modus","action.chromeHintToLight":"Lichte modus","action.aiDraft":"Concept","action.aiDraftHint":"E-mailinhoud schrijven met AI","action.code":"Code","action.codeHint":"Ruwe HTML bewerken met live voorbeeld","action.preview":"Voorbeeld","action.previewHint":"De e-mail bekijken","action.export":"Exporteren","action.exportHint":"Je e-mail exporteren","device.desktop":"Desktop","device.desktopHint":"Desktopbreedte","device.mobile":"Mobiel","device.mobileHint":"Mobiele breedte","status.autosaveOn":"automatisch opslaan aan","status.saved":"opgeslagen {time}","status.saveFailed":"niet opgeslagen — opslag vol","canvas.meta":"{rows} rijen · {blocks} blokken · {width}px","tab.design":"Stijl","tab.designHint":"Selectie stylen","tab.blocks":"Blokken","tab.blocksHint":"Inhoudsblokken en variabelen","tab.rows":"Secties","tab.rowsHint":"Sectielay-outs en canvasmodel","tab.files":"Bestanden","tab.filesHint":"Bibliotheek met bestanden","tab.layers":"Structuur","tab.layersHint":"Documentstructuur","tab.settings":"Instellingen","tab.settingsHint":"E-mailinstellingen","tab.data":"Var.","tab.dataHint":"Variabelen aangeleverd door jouw code","inspector.blockProperties":"Blokeigenschappen","inspector.sectionProperties":"Sectie-eigenschappen","inspector.title":"Inspecteur","inspector.sectionLabel":"Sectie","inspector.nothingSelected":"Niets geselecteerd","action.duplicateHint":"Dupliceren — ⌘D","action.deleteHint":"Verwijderen — ⌫","inspector.emptyBody":'Kies een rij of blok op het canvas om het hier te stylen. Sleep blokken vanuit het tabblad <strong style="color: var(--ed-text); font-weight: 600;">Blokken</strong>; dubbelklik op tekst om deze direct te bewerken.',"inspector.shortcuts":"Sneltoetsen","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ongedaan maken, opnieuw","shortcut.duplicate":"⌘D — selectie dupliceren","shortcut.delete":"⌫ — selectie verwijderen","shortcut.export":"⌘E — HTML exporteren","shortcut.escape":"ESC — selectie opheffen, sluiten","blocks.dragHint":"Sleep naar het canvas","blocks.count":"{count} blokken","rows.sectionLayouts":"Sectielay-outs","rows.customMarkup":"Aangepaste opmaak","rows.htmlRowHint":"Sleep om in te voegen, of klik om toe te voegen — een volledige rij die je vult met ruwe HTML","rows.rawHtmlSection":"Ruwe HTML-sectie","rows.rawHtmlDesc":"Volledige sectie, jouw eigen opmaak, nog steeds versleepbaar","rows.canvasModel":"Canvasmodel","rows.modeRowBased":"Op rijen gebaseerd","rows.modeFreeStack":"Vrije stapel","rows.hintRows":"Op secties gebaseerd: plaats eerst een lay-out, sleep dan blokken in de kolommen — elke sectie heeft zijn eigen achtergrond, rand, flex- of gridinstellingen.","rows.hintStack":"Vrije stapel: zonder lay-outs — elk blok dat je plaatst wordt een eigen sectie over de volle breedte, op volgorde gestapeld.","files.libraryCount":"Bibliotheek — {count} bestanden","files.openManager":"Bestandsbeheer openen","files.dragToCanvas":"Sleep elk bestand direct naar het canvas om het als afbeeldingsblok te plaatsen.","layers.structure":"Structuur","layers.sectionSingle":"Sectie","layers.sectionMulti":"Sectie · {count} kol.","layers.column":"Kolom {index}","layers.blockCount":"{count} bl.","vars.title":"Variabelen","vars.fromCode":"{count} uit jouw code","vars.declaredNote":"Gedeclareerd door jouw applicatie — het canvas toont altijd het token, nooit een waarde.","vars.filterPlaceholder":"Variabelen filteren…","vars.insertHint":"Klik om in te voegen in geselecteerde tekst, kop of knop","vars.insert":"invoegen","vars.noMatch":"Geen variabele komt overeen met dit filter.","vars.noneDeclared":"Jouw applicatie heeft nog geen variabelen gedeclareerd.","vars.rteHint":"Tijdens het bewerken van tekst kun je ook een variabele kiezen via het dropdownmenu van de inline werkbalk.","modal.fileManager":"Bestandsbeheer","modal.assetsTitle":"Bestanden","modal.replaceImage":"Afbeelding vervangen","library.searchPlaceholder":"Bestanden zoeken…","action.upload":"Uploaden","library.clickToPlace":"Klik op een bestand om te plaatsen · of sleep een bestand naar het canvas","library.clickToReplace":"Klik op een bestand om de geselecteerde afbeelding te vervangen","library.storageLabel":"{count} bestanden · {size}","library.folders":"Mappen","library.dropHint":"Zet afbeeldingsbestanden hier neer om te uploaden — of gebruik de knop Uploaden.","library.deleteFileHint":"Bestand verwijderen","library.del":"VERW","toast.assetDeleted":"{name} verwijderd","library.allFiles":"Alle bestanden","library.loadMore":"Meer laden","library.empty":"Hier staan nog geen bestanden.","storage.loading":"Bestanden laden…","storage.uploading":"{count} uploaden…","storage.errLoadFailed":"De bestandsbibliotheek kon niet worden geladen — {reason}","storage.errNoLimits":"Uploaden staat uit: deze app heeft geen uploadlimieten ingesteld.","storage.errNoMaxBytes":"Uploaden staat uit: er is geen maximale bestandsgrootte ingesteld.","storage.errTooLarge":"{name} is {size} — de limiet is {max}.","storage.errFormat":"{name} is een {type}-bestand, dat hier niet is toegestaan.","storage.errSvg":"{name} is een SVG, en die accepteert deze app niet.","storage.errDimensions":"{name} is {w}×{ht}px — de limiet is {maxW}×{maxH}px.","storage.errTooMany":"Er kunnen maar {max} bestanden tegelijk worden geüpload.","storage.errUnreadable":"{name} is geen leesbare afbeelding.","storage.errUploadFailed":"{name} kon niet worden geüpload — {reason}","storage.errDeleteFailed":"{name} kon niet worden verwijderd — {reason}","modal.export":"Exporteren","modal.exportTitle":"Op tabellen gebaseerde e-mail-HTML","export.copy":"Kopiëren","export.copied":"Gekopieerd","action.download":"Downloaden","export.meta":"{kb} KB · tabellen + inline stijlen · Outlook-veilige breedtes","modal.rawHtmlTitle":"Ruwe HTML, live voorbeeld","code.statusEdited":"Codeweergave — bewerkt — voorbeeld live, nog niet toegepast","code.statusSynced":"Codeweergave — gesynchroniseerd met het canvas","action.reload":"Herladen","action.reloadHint":"Bron herladen vanuit het canvas","action.applyToCanvas":"Toepassen op canvas","action.applyToCanvasHint":"Bron opnieuw ontleden tot bewerkbare rijen","action.closeWithoutApplyingHint":"Sluiten zonder toe te passen","code.source":"Bron","code.livePreview":"Live voorbeeld","code.liveHtmlPreviewTitle":"Live HTML-voorbeeld","code.applyNote":"Toepassen ontleedt elke tabelrij op het hoogste niveau tot een canvasrij die je nog kunt selecteren, herschikken en verwijderen — handgeschreven opmaak overleeft de omzetting.","code.meta":"{kb} KB · {lines} regels","toast.sourceReloaded":"Bron herladen vanuit het canvas","toast.sourceAppliedOne":"Bron toegepast — 1 rij op het canvas","toast.sourceAppliedMany":"Bron toegepast — {rows} rijen op het canvas","toast.parseError":"Kan die HTML niet ontleden","modal.aiDraft":"AI-schrijfassistent","modal.aiDraftTitle":"Schrijf je e-mail met AI","ai.disclosure":"AI maakt suggesties op basis van je briefing. Controleer en bewerk het resultaat voordat je verzendt.","ai.goal":"Doel","ai.tone":"Toon","ai.briefLabel":"Waar gaat deze e-mail over?","ai.briefPlaceholder":"bijv. Herfstcollectie, 15% voor abonnees, gratis verzending vanaf €150","ai.generate":"Tekst genereren","ai.writing":"Bezig met schrijven…","ai.kindHeadline":"Kop","ai.kindBody":"Hoofdtekst","ai.kindButton":"Knoptekst","ai.actionInsertHeading":"Invoegen als kop","ai.actionInsertText":"Invoegen als tekstblok","ai.actionInsertButton":"Invoegen als knop","toast.headingAdded":"Kop toegevoegd","toast.textBlockAdded":"Tekstblok toegevoegd","toast.buttonAdded":"Knop toegevoegd","preview.kickerMobile":"Voorbeeld — mobiel 375px","preview.kickerDesktop":"Voorbeeld — desktop {width}px","action.close":"Sluiten","toast.duplicated":"Gedupliceerd","toast.fileUploadedOne":"1 bestand geüpload","toast.fileUploadedMany":"{count} bestanden geüpload","toast.imageReplaced":"Afbeelding vervangen","toast.imageAdded":"Afbeelding toegevoegd aan canvas","toast.htmlCopied":"HTML gekopieerd naar klembord","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} ingevoegd","toast.snippetCopied":"{name} gekopieerd — selecteer een tekstblok om in te voegen","rte.textStyle":"Tekststijl","rte.mergeTags":"Samenvoegvelden","rte.noMergeTags":"Geen samenvoegvelden beschikbaar","rte.textColor":"Tekstkleur","rte.highlightColor":"Markeerkleur","rte.removeHighlight":"Markering verwijderen","rte.clearFormatting":"Opmaak wissen","action.downloadPng":"PNG downloaden","action.screenshot":"Schermafbeelding","action.screenshotHint":"Bekijk de hele template als afbeelding en download die","toast.pngSaved":"Schermafbeelding gedownload","toast.pngFailed":"Schermafbeelding mislukt — een externe afbeelding kon niet worden geladen","toast.pngCopied":"Schermafbeelding gekopieerd naar het klembord","toast.pngCopyFailed":"Deze browser accepteerde geen afbeelding op het klembord","story.kicker":"Schermafbeelding","story.rendering":"Schermafbeelding wordt gemaakt","story.renderingHint":"Elk blok wordt op 2× getekend — bij een lange template duurt dat even.","story.failed":"Schermafbeelding mislukt","story.failedHint":"Een afbeelding in de template kon niet worden geladen voor de opname.","story.retry":"Probeer het opnieuw","story.play":"Afspelen","story.pause":"Pauzeren","story.replay":"Opnieuw afspelen","story.copy":"Kopiëren","story.meta":"{w}×{h} · scherm {i} van {n}","footer.poweredBy":"Mogelijk gemaakt door SELISE Blocks © 2026"}})},re["core/i18n/pl.js"]=function(ne,V,A){Object.assign(V,{PL:{"action.undoHint":"Cofnij — ⌘Z","action.redoHint":"Ponów — ⌘⇧Z","action.chromeToDark":"Ciemny","action.chromeToLight":"Jasny","action.chromeHint":"Motyw edytora jasny / ciemny","action.chromeHintToDark":"Tryb ciemny","action.chromeHintToLight":"Tryb jasny","action.aiDraft":"Szkic","action.aiDraftHint":"Napisz treść e-maila z pomocą AI","action.code":"Kod","action.codeHint":"Edytuj surowy HTML z podglądem na żywo","action.preview":"Podgląd","action.previewHint":"Podejrzyj e-mail","action.export":"Eksportuj","action.exportHint":"Wyeksportuj swój e-mail","device.desktop":"Komputer","device.desktopHint":"Szerokość na komputerze","device.mobile":"Telefon","device.mobileHint":"Szerokość na telefonie","status.autosaveOn":"automatyczny zapis włączony","status.saved":"zapisano {time}","status.saveFailed":"nie zapisano — brak miejsca","canvas.meta":"{rows} wierszy · {blocks} bloków · {width}px","tab.design":"Styl","tab.designHint":"Stylizuj zaznaczenie","tab.blocks":"Bloki","tab.blocksHint":"Bloki treści i zmienne","tab.rows":"Sekcje","tab.rowsHint":"Układy sekcji i model płótna","tab.files":"Pliki","tab.filesHint":"Biblioteka zasobów","tab.layers":"Struktura","tab.layersHint":"Struktura dokumentu","tab.settings":"Ustawienia","tab.settingsHint":"Ustawienia e-maila","tab.data":"Zmien.","tab.dataHint":"Zmienne dostarczone przez Twój kod","inspector.blockProperties":"Właściwości bloku","inspector.sectionProperties":"Właściwości sekcji","inspector.title":"Inspektor","inspector.sectionLabel":"Sekcja","inspector.nothingSelected":"Nic nie zaznaczono","action.duplicateHint":"Duplikuj — ⌘D","action.deleteHint":"Usuń — ⌫","inspector.emptyBody":'Wybierz wiersz lub blok na płótnie, aby go tutaj stylizować. Przeciągnij bloki z zakładki <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; kliknij dwukrotnie dowolny tekst, aby edytować go w miejscu.',"inspector.shortcuts":"Skróty","shortcut.undoRedo":"⌘Z / ⌘⇧Z — cofnij, ponów","shortcut.duplicate":"⌘D — duplikuj zaznaczenie","shortcut.delete":"⌫ — usuń zaznaczenie","shortcut.export":"⌘E — eksportuj HTML","shortcut.escape":"ESC — odznacz, zamknij","blocks.dragHint":"Przeciągnij na płótno","blocks.count":"{count} bloków","rows.sectionLayouts":"Układy sekcji","rows.customMarkup":"Własny znacznik","rows.htmlRowHint":"Przeciągnij, aby wstawić, lub kliknij, aby dodać — pełnowymiarowy wiersz, który wypełniasz surowym HTML","rows.rawHtmlSection":"Sekcja surowego HTML","rows.rawHtmlDesc":"Pełnowymiarowa sekcja, Twój własny kod, wciąż przeciągalna","rows.canvasModel":"Model płótna","rows.modeRowBased":"Oparty na wierszach","rows.modeFreeStack":"Wolny stos","rows.hintRows":"Oparty na sekcjach: najpierw upuść układ, potem bloki w jego kolumnach — każda sekcja ma własne tło, obramowanie, ustawienia flex lub siatki.","rows.hintStack":"Wolny stos: bez układów — każdy upuszczony blok staje się osobną, pełnowymiarową sekcją, ułożoną w kolejności.","files.libraryCount":"Biblioteka — {count} plików","files.openManager":"Otwórz menedżera plików","files.dragToCanvas":"Przeciągnij dowolny plik bezpośrednio na płótno, aby umieścić go jako blok obrazu.","layers.structure":"Struktura","layers.sectionSingle":"Sekcja","layers.sectionMulti":"Sekcja · {count} kol.","layers.column":"Kolumna {index}","layers.blockCount":"{count} bl.","vars.title":"Zmienne","vars.fromCode":"{count} z Twojego kodu","vars.declaredNote":"Zadeklarowane przez Twoją aplikację — płótno zawsze pokazuje token, nigdy wartość.","vars.filterPlaceholder":"Filtruj zmienne…","vars.insertHint":"Kliknij, aby wstawić do zaznaczonego tekstu, nagłówka lub przycisku","vars.insert":"wstaw","vars.noMatch":"Żadna zmienna nie pasuje do tego filtra.","vars.noneDeclared":"Twoja aplikacja nie zadeklarowała jeszcze żadnych zmiennych.","vars.rteHint":"Podczas edycji tekstu możesz też wybrać zmienną bezpośrednio z rozwijanego menu paska narzędzi.","modal.fileManager":"Menedżer plików","modal.assetsTitle":"Zasoby","modal.replaceImage":"Zastąp obraz","library.searchPlaceholder":"Szukaj plików…","action.upload":"Prześlij","library.clickToPlace":"Kliknij plik, aby go umieścić · lub przeciągnij plik na płótno","library.clickToReplace":"Kliknij plik, aby zastąpić zaznaczony obraz","library.storageLabel":"{count} plików · {size}","library.folders":"Foldery","library.dropHint":"Upuść tutaj pliki obrazów, aby je przesłać — lub użyj przycisku Prześlij.","library.deleteFileHint":"Usuń plik","library.del":"USUŃ","toast.assetDeleted":"Usunięto {name}","library.allFiles":"Wszystkie pliki","library.loadMore":"Wczytaj więcej","library.empty":"Nie ma tu jeszcze plików.","storage.loading":"Wczytywanie plików…","storage.uploading":"Przesyłanie {count}…","storage.errLoadFailed":"Nie udało się wczytać biblioteki plików — {reason}","storage.errNoLimits":"Przesyłanie jest wyłączone: ta aplikacja nie ustawiła żadnych limitów przesyłania.","storage.errNoMaxBytes":"Przesyłanie jest wyłączone: nie ustawiono maksymalnego rozmiaru pliku.","storage.errTooLarge":"{name} ma {size} — limit to {max}.","storage.errFormat":"{name} to plik {type}, który nie jest tu dozwolony.","storage.errSvg":"{name} to SVG, którego ta aplikacja nie przyjmuje.","storage.errDimensions":"{name} ma {w}×{ht}px — limit to {maxW}×{maxH}px.","storage.errTooMany":"Naraz można przesłać tylko {max} plików.","storage.errUnreadable":"{name} nie jest czytelnym obrazem.","storage.errUploadFailed":"Nie udało się przesłać {name} — {reason}","storage.errDeleteFailed":"Nie udało się usunąć {name} — {reason}","modal.export":"Eksportuj","modal.exportTitle":"HTML e-maila oparty na tabelach","export.copy":"Kopiuj","export.copied":"Skopiowano","action.download":"Pobierz","export.meta":"{kb} KB · tabele + style inline · szerokości bezpieczne dla Outlooka","modal.rawHtmlTitle":"Surowy HTML, podgląd na żywo","code.statusEdited":"Widok kodu — edytowany — podgląd na żywo, jeszcze nie zastosowano","code.statusSynced":"Widok kodu — zsynchronizowany z płótnem","action.reload":"Odśwież","action.reloadHint":"Odśwież źródło z płótna","action.applyToCanvas":"Zastosuj do płótna","action.applyToCanvasHint":"Przeanalizuj źródło z powrotem na edytowalne wiersze","action.closeWithoutApplyingHint":"Zamknij bez zastosowania","code.source":"Źródło","code.livePreview":"Podgląd na żywo","code.liveHtmlPreviewTitle":"Podgląd HTML na żywo","code.applyNote":"Zastosowanie analizuje każdy wiersz tabeli najwyższego poziomu na wiersz płótna, który nadal można zaznaczać, zmieniać kolejność i usuwać — ręcznie napisany kod przetrwa ten proces.","code.meta":"{kb} KB · {lines} wierszy","toast.sourceReloaded":"Odświeżono źródło z płótna","toast.sourceAppliedOne":"Zastosowano źródło — 1 wiersz na płótnie","toast.sourceAppliedMany":"Zastosowano źródło — {rows} wierszy na płótnie","toast.parseError":"Nie udało się przeanalizować tego HTML","modal.aiDraft":"Asystent pisania AI","modal.aiDraftTitle":"Napisz swój e-mail z pomocą AI","ai.disclosure":"AI tworzy propozycje na podstawie Twojego briefu. Sprawdź i popraw wynik przed wysyłką.","ai.goal":"Cel","ai.tone":"Ton","ai.briefLabel":"Czego dotyczy ten e-mail?","ai.briefPlaceholder":"np. Kolekcja jesienna, 15% dla subskrybentów, darmowa dostawa od 150 zł","ai.generate":"Generuj tekst","ai.writing":"Piszę…","ai.kindHeadline":"Nagłówek","ai.kindBody":"Treść główna","ai.kindButton":"Tekst przycisku","ai.actionInsertHeading":"Wstaw jako nagłówek","ai.actionInsertText":"Wstaw jako blok tekstu","ai.actionInsertButton":"Wstaw jako przycisk","toast.headingAdded":"Dodano nagłówek","toast.textBlockAdded":"Dodano blok tekstu","toast.buttonAdded":"Dodano przycisk","preview.kickerMobile":"Podgląd — telefon 375px","preview.kickerDesktop":"Podgląd — komputer {width}px","action.close":"Zamknij","toast.duplicated":"Zduplikowano","toast.fileUploadedOne":"Przesłano 1 plik","toast.fileUploadedMany":"Przesłano {count} plików","toast.imageReplaced":"Zastąpiono obraz","toast.imageAdded":"Dodano obraz do płótna","toast.htmlCopied":"Skopiowano HTML do schowka","toast.templateLoaded":"Wczytano {name}","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"Wstawiono {name}","toast.snippetCopied":"Skopiowano {name} — zaznacz blok tekstu, aby go wstawić","rte.textStyle":"Styl tekstu","rte.mergeTags":"Pola scalania","rte.noMergeTags":"Brak dostępnych pól scalania","rte.textColor":"Kolor tekstu","rte.highlightColor":"Kolor wyróżnienia","rte.removeHighlight":"Usuń wyróżnienie","rte.clearFormatting":"Wyczyść formatowanie","action.downloadPng":"Pobierz PNG","action.screenshot":"Zrzut ekranu","action.screenshotHint":"Zobacz cały szablon jako obraz i pobierz go","toast.pngSaved":"Zrzut ekranu pobrany","toast.pngFailed":"Zrzut ekranu nie powiódł się — nie udało się wczytać zewnętrznego obrazu","toast.pngCopied":"Zrzut ekranu skopiowany do schowka","toast.pngCopyFailed":"Ta przeglądarka nie przyjęła obrazu do schowka","story.kicker":"Zrzut ekranu","story.rendering":"Tworzenie zrzutu ekranu","story.renderingHint":"Każdy blok jest rysowany w 2× — przy długim szablonie chwilę to trwa.","story.failed":"Zrzut ekranu nie powiódł się","story.failedHint":"Nie udało się wczytać obrazu z szablonu do przechwycenia.","story.retry":"Spróbuj ponownie","story.play":"Odtwórz","story.pause":"Wstrzymaj","story.replay":"Odtwórz ponownie","story.copy":"Kopiuj","story.meta":"{w}×{h} · ekran {i} z {n}","footer.poweredBy":"Napędzane przez SELISE Blocks © 2026"}})},re["core/i18n/pt.js"]=function(ne,V,A){Object.assign(V,{PT:{"action.undoHint":"Desfazer — ⌘Z","action.redoHint":"Refazer — ⌘⇧Z","action.chromeToDark":"Escuro","action.chromeToLight":"Claro","action.chromeHint":"Tema do editor claro / escuro","action.chromeHintToDark":"Modo escuro","action.chromeHintToLight":"Modo claro","action.aiDraft":"Rascunho","action.aiDraftHint":"Escrever o conteúdo do e-mail com IA","action.code":"Código","action.codeHint":"Editar o HTML bruto com pré-visualização ao vivo","action.preview":"Pré-visualizar","action.previewHint":"Pré-visualizar o e-mail","action.export":"Exportar","action.exportHint":"Exportar o seu e-mail","device.desktop":"Desktop","device.desktopHint":"Largura desktop","device.mobile":"Móvel","device.mobileHint":"Largura móvel","status.autosaveOn":"salvamento automático ativado","status.saved":"salvo {time}","status.saveFailed":"não salvo — armazenamento cheio","canvas.meta":"{rows} linhas · {blocks} blocos · {width}px","tab.design":"Estilo","tab.designHint":"Estilizar a seleção","tab.blocks":"Blocos","tab.blocksHint":"Blocos de conteúdo e variáveis","tab.rows":"Seções","tab.rowsHint":"Layouts de seção e modelo de tela","tab.files":"Arquivos","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estrutura","tab.layersHint":"Estrutura do documento","tab.settings":"Definições","tab.settingsHint":"Definições do e-mail","tab.data":"Var.","tab.dataHint":"Variáveis fornecidas pelo seu código","inspector.blockProperties":"Propriedades do bloco","inspector.sectionProperties":"Propriedades da seção","inspector.title":"Inspetor","inspector.sectionLabel":"Seção","inspector.nothingSelected":"Nada selecionado","action.duplicateHint":"Duplicar — ⌘D","action.deleteHint":"Excluir — ⌫","inspector.emptyBody":'Selecione uma linha ou um bloco na tela para estilizá-lo aqui. Arraste blocos da aba <strong style="color: var(--ed-text); font-weight: 600;">Blocos</strong>; clique duas vezes em qualquer texto para editá-lo diretamente.',"inspector.shortcuts":"Atalhos","shortcut.undoRedo":"⌘Z / ⌘⇧Z — desfazer, refazer","shortcut.duplicate":"⌘D — duplicar seleção","shortcut.delete":"⌫ — excluir seleção","shortcut.export":"⌘E — exportar HTML","shortcut.escape":"ESC — desmarcar, fechar","blocks.dragHint":"Arraste para a tela","blocks.count":"{count} blocos","rows.sectionLayouts":"Layouts de seção","rows.customMarkup":"Marcação personalizada","rows.htmlRowHint":"Arraste para inserir, ou clique para adicionar — uma linha de sangria total que você preenche com HTML bruto","rows.rawHtmlSection":"Seção de HTML bruto","rows.rawHtmlDesc":"Seção de sangria total, sua própria marcação, ainda arrastável","rows.canvasModel":"Modelo de tela","rows.modeRowBased":"Baseado em linhas","rows.modeFreeStack":"Pilha livre","rows.hintRows":"Baseado em seções: solte um layout primeiro, depois blocos em suas colunas — cada seção tem seu próprio fundo, borda, configurações flex ou grade.","rows.hintStack":"Pilha livre: sem layouts — cada bloco que você solta se torna sua própria seção de largura total, empilhada em ordem.","files.libraryCount":"Biblioteca — {count} arquivos","files.openManager":"Abrir gerenciador de arquivos","files.dragToCanvas":"Arraste qualquer arquivo diretamente para a tela para colocá-lo como bloco de imagem.","layers.structure":"Estrutura","layers.sectionSingle":"Seção","layers.sectionMulti":"Seção · {count} col.","layers.column":"Coluna {index}","layers.blockCount":"{count} bl.","vars.title":"Variáveis","vars.fromCode":"{count} do seu código","vars.declaredNote":"Declaradas pela sua aplicação — a tela sempre mostra o token, nunca um valor.","vars.filterPlaceholder":"Filtrar variáveis…","vars.insertHint":"Clique para inserir no texto, título ou botão selecionado","vars.insert":"inserir","vars.noMatch":"Nenhuma variável corresponde a esse filtro.","vars.noneDeclared":"Sua aplicação ainda não declarou nenhuma variável.","vars.rteHint":"Ao editar texto, você também pode escolher uma variável diretamente no menu da barra de ferramentas em linha.","modal.fileManager":"Gerenciador de arquivos","modal.assetsTitle":"Recursos","modal.replaceImage":"Substituir imagem","library.searchPlaceholder":"Pesquisar arquivos…","action.upload":"Enviar","library.clickToPlace":"Clique em um arquivo para posicioná-lo · ou arraste um arquivo para a tela","library.clickToReplace":"Clique em um arquivo para substituir a imagem selecionada","library.storageLabel":"{count} arquivos · {size}","library.folders":"Pastas","library.dropHint":"Solte arquivos de imagem aqui para enviá-los — ou use o botão Enviar.","library.deleteFileHint":"Excluir arquivo","library.del":"EXCL","toast.assetDeleted":"{name} excluído","library.allFiles":"Todos os ficheiros","library.loadMore":"Carregar mais","library.empty":"Ainda não há ficheiros aqui.","storage.loading":"A carregar ficheiros…","storage.uploading":"A carregar {count}…","storage.errLoadFailed":"Não foi possível carregar a biblioteca de ficheiros — {reason}","storage.errNoLimits":"Os carregamentos estão desativados: esta aplicação não definiu limites de carregamento.","storage.errNoMaxBytes":"Os carregamentos estão desativados: não foi definido um tamanho máximo de ficheiro.","storage.errTooLarge":"{name} tem {size} — o limite é {max}.","storage.errFormat":"{name} é um ficheiro {type}, que não é permitido aqui.","storage.errSvg":"{name} é um SVG, que esta aplicação não aceita.","storage.errDimensions":"{name} tem {w}×{ht}px — o limite é {maxW}×{maxH}px.","storage.errTooMany":"Só é possível carregar {max} ficheiros de cada vez.","storage.errUnreadable":"{name} não é uma imagem legível.","storage.errUploadFailed":"Não foi possível carregar {name} — {reason}","storage.errDeleteFailed":"Não foi possível eliminar {name} — {reason}","modal.export":"Exportar","modal.exportTitle":"HTML de e-mail baseado em tabelas","export.copy":"Copiar","export.copied":"Copiado","action.download":"Baixar","export.meta":"{kb} KB · tabelas + estilos inline · larguras seguras para o Outlook","modal.rawHtmlTitle":"HTML bruto, pré-visualização ao vivo","code.statusEdited":"Visualização de código — editado — pré-visualização ao vivo, ainda não aplicado","code.statusSynced":"Visualização de código — sincronizado com a tela","action.reload":"Recarregar","action.reloadHint":"Recarregar a origem a partir da tela","action.applyToCanvas":"Aplicar à tela","action.applyToCanvasHint":"Analisar a origem novamente em linhas editáveis","action.closeWithoutApplyingHint":"Fechar sem aplicar","code.source":"Origem","code.livePreview":"Pré-visualização ao vivo","code.liveHtmlPreviewTitle":"Pré-visualização de HTML ao vivo","code.applyNote":"Aplicar analisa cada linha de tabela de nível superior em uma linha de tela que você ainda pode selecionar, reordenar e excluir — a marcação escrita à mão sobrevive ao processo.","code.meta":"{kb} KB · {lines} linhas","toast.sourceReloaded":"Origem recarregada a partir da tela","toast.sourceAppliedOne":"Origem aplicada — 1 linha na tela","toast.sourceAppliedMany":"Origem aplicada — {rows} linhas na tela","toast.parseError":"Não foi possível analisar esse HTML","modal.aiDraft":"Assistente de escrita com IA","modal.aiDraftTitle":"Escreva o seu e-mail com IA","ai.disclosure":"A IA cria sugestões a partir do seu resumo. Reveja e edite o resultado antes de enviar.","ai.goal":"Objetivo","ai.tone":"Tom","ai.briefLabel":"Sobre o que é este e-mail?","ai.briefPlaceholder":"ex. Coleção de outono, 15% para assinantes, frete grátis acima de R$150","ai.generate":"Gerar texto","ai.writing":"Escrevendo…","ai.kindHeadline":"Título","ai.kindBody":"Corpo do texto","ai.kindButton":"Texto do botão","ai.actionInsertHeading":"Inserir como título","ai.actionInsertText":"Inserir como bloco de texto","ai.actionInsertButton":"Inserir como botão","toast.headingAdded":"Título adicionado","toast.textBlockAdded":"Bloco de texto adicionado","toast.buttonAdded":"Botão adicionado","preview.kickerMobile":"Pré-visualização — móvel 375px","preview.kickerDesktop":"Pré-visualização — desktop {width}px","action.close":"Fechar","toast.duplicated":"Duplicado","toast.fileUploadedOne":"1 arquivo enviado","toast.fileUploadedMany":"{count} arquivos enviados","toast.imageReplaced":"Imagem substituída","toast.imageAdded":"Imagem adicionada à tela","toast.htmlCopied":"HTML copiado para a área de transferência","toast.templateLoaded":"{name} carregado","toast.snippetDefaultLabel":"Trecho","toast.snippetInserted":"{name} inserido","toast.snippetCopied":"{name} copiado — selecione um bloco de texto para inseri-lo","rte.textStyle":"Estilo do texto","rte.mergeTags":"Campos de intercalação","rte.noMergeTags":"Não há campos de intercalação disponíveis","rte.textColor":"Cor do texto","rte.highlightColor":"Cor de destaque","rte.removeHighlight":"Remover destaque","rte.clearFormatting":"Limpar formatação","action.downloadPng":"Transferir PNG","action.screenshot":"Captura de ecrã","action.screenshotHint":"Ver todo o modelo como imagem e transferi-lo","toast.pngSaved":"Captura transferida","toast.pngFailed":"A captura falhou — não foi possível carregar uma imagem externa","toast.pngCopied":"Captura copiada para a área de transferência","toast.pngCopyFailed":"Este navegador não aceitou uma imagem na área de transferência","story.kicker":"Captura de ecrã","story.rendering":"A gerar a captura","story.renderingHint":"Cada bloco é desenhado a 2× — num modelo longo demora um momento.","story.failed":"A captura falhou","story.failedHint":"Não foi possível carregar uma imagem do modelo para a captura.","story.retry":"Tentar novamente","story.play":"Reproduzir","story.pause":"Pausa","story.replay":"Reproduzir de novo","story.copy":"Copiar","story.meta":"{w}×{h} · ecrã {i} de {n}","footer.poweredBy":"Com tecnologia SELISE Blocks © 2026"}})},re["core/i18n/ro.js"]=function(ne,V,A){Object.assign(V,{RO:{"action.undoHint":"Anulează — ⌘Z","action.redoHint":"Refă — ⌘⇧Z","action.chromeToDark":"Întunecat","action.chromeToLight":"Luminos","action.chromeHint":"Temă editor luminoasă / întunecată","action.chromeHintToDark":"Mod întunecat","action.chromeHintToLight":"Mod luminos","action.aiDraft":"Ciornă","action.aiDraftHint":"Scrie conținutul e-mailului cu AI","action.code":"Cod","action.codeHint":"Editează HTML brut cu previzualizare live","action.preview":"Previzualizare","action.previewHint":"Previzualizează e-mailul","action.export":"Exportă","action.exportHint":"Exportă e-mailul tău","device.desktop":"Desktop","device.desktopHint":"Lățime desktop","device.mobile":"Mobil","device.mobileHint":"Lățime mobil","status.autosaveOn":"salvare automată activă","status.saved":"salvat {time}","status.saveFailed":"nu s-a salvat — stocare plină","canvas.meta":"{rows} rânduri · {blocks} blocuri · {width}px","tab.design":"Stil","tab.designHint":"Stilizează selecția","tab.blocks":"Blocuri","tab.blocksHint":"Blocuri de conținut și variabile","tab.rows":"Secțiuni","tab.rowsHint":"Aspecte de secțiuni și model de canvas","tab.files":"Fișiere","tab.filesHint":"Bibliotecă de resurse","tab.layers":"Structură","tab.layersHint":"Structura documentului","tab.settings":"Setări","tab.settingsHint":"Setările e-mailului","tab.data":"Var.","tab.dataHint":"Variabile furnizate de codul dvs.","inspector.blockProperties":"Proprietățile blocului","inspector.sectionProperties":"Proprietățile secțiunii","inspector.title":"Inspector","inspector.sectionLabel":"Secțiune","inspector.nothingSelected":"Nimic selectat","action.duplicateHint":"Duplică — ⌘D","action.deleteHint":"Șterge — ⌫","inspector.emptyBody":'Selectați un rând sau un bloc pe canvas pentru a-l stiliza aici. Trageți blocuri din fila <strong style="color: var(--ed-text); font-weight: 600;">Blocuri</strong>; dați dublu clic pe orice text pentru a-l edita direct.',"inspector.shortcuts":"Comenzi rapide","shortcut.undoRedo":"⌘Z / ⌘⇧Z — anulează, refă","shortcut.duplicate":"⌘D — duplică selecția","shortcut.delete":"⌫ — șterge selecția","shortcut.export":"⌘E — exportă HTML","shortcut.escape":"ESC — deselectează, închide","blocks.dragHint":"Trageți pe canvas","blocks.count":"{count} blocuri","rows.sectionLayouts":"Aspecte de secțiuni","rows.customMarkup":"Cod personalizat","rows.htmlRowHint":"Trageți pentru a insera, sau dați clic pentru a adăuga — un rând pe toată lățimea pe care îl completați cu HTML brut","rows.rawHtmlSection":"Secțiune HTML brut","rows.rawHtmlDesc":"Secțiune pe toată lățimea, codul dvs. propriu, în continuare se poate trage","rows.canvasModel":"Model canvas","rows.modeRowBased":"Bazat pe rânduri","rows.modeFreeStack":"Stivă liberă","rows.hintRows":"Bazat pe secțiuni: plasați mai întâi un aspect, apoi blocuri în coloanele sale — fiecare secțiune are propriul fundal, bordură, setări flex sau grilă.","rows.hintStack":"Stivă liberă: fără aspecte — fiecare bloc plasat devine propria secțiune pe toată lățimea, stivuită în ordine.","files.libraryCount":"Bibliotecă — {count} fișiere","files.openManager":"Deschide managerul de fișiere","files.dragToCanvas":"Trageți orice fișier direct pe canvas pentru a-l plasa ca bloc de imagine.","layers.structure":"Structură","layers.sectionSingle":"Secțiune","layers.sectionMulti":"Secțiune · {count} coloane","layers.column":"Coloana {index}","layers.blockCount":"{count} bl.","vars.title":"Variabile","vars.fromCode":"{count} din codul dvs.","vars.declaredNote":"Declarate de aplicația dvs. — canvasul afișează întotdeauna tokenul, niciodată o valoare.","vars.filterPlaceholder":"Filtrează variabilele…","vars.insertHint":"Dați clic pentru a insera în textul, titlul sau butonul selectat","vars.insert":"inserează","vars.noMatch":"Nicio variabilă nu corespunde acestui filtru.","vars.noneDeclared":"Aplicația dvs. nu a declarat încă nicio variabilă.","vars.rteHint":"În timp ce editați text, puteți alege o variabilă și direct din meniul derulant al barei de instrumente în linie.","modal.fileManager":"Manager de fișiere","modal.assetsTitle":"Resurse","modal.replaceImage":"Înlocuiește imaginea","library.searchPlaceholder":"Căutare fișiere…","action.upload":"Încarcă","library.clickToPlace":"Dați clic pe un fișier pentru a-l plasa · sau trageți un fișier pe canvas","library.clickToReplace":"Dați clic pe un fișier pentru a înlocui imaginea selectată","library.storageLabel":"{count} fișiere · {size}","library.folders":"Foldere","library.dropHint":"Plasați fișiere imagine aici pentru încărcare — sau folosiți butonul Încarcă.","library.deleteFileHint":"Șterge fișierul","library.del":"ȘTERG","toast.assetDeleted":"{name} șters","library.allFiles":"Toate fișierele","library.loadMore":"Încarcă mai multe","library.empty":"Încă nu există fișiere aici.","storage.loading":"Se încarcă fișierele…","storage.uploading":"Se încarcă {count}…","storage.errLoadFailed":"Biblioteca de fișiere nu a putut fi încărcată — {reason}","storage.errNoLimits":"Încărcările sunt oprite: această aplicație nu a stabilit nicio limită de încărcare.","storage.errNoMaxBytes":"Încărcările sunt oprite: nu a fost stabilită o dimensiune maximă a fișierului.","storage.errTooLarge":"{name} are {size} — limita este {max}.","storage.errFormat":"{name} este un fișier {type}, care nu este permis aici.","storage.errSvg":"{name} este un SVG, pe care această aplicație nu îl acceptă.","storage.errDimensions":"{name} are {w}×{ht}px — limita este {maxW}×{maxH}px.","storage.errTooMany":"Se pot încărca doar {max} fișiere odată.","storage.errUnreadable":"{name} nu este o imagine lizibilă.","storage.errUploadFailed":"{name} nu a putut fi încărcat — {reason}","storage.errDeleteFailed":"{name} nu a putut fi șters — {reason}","modal.export":"Exportă","modal.exportTitle":"HTML de e-mail bazat pe tabele","export.copy":"Copiază","export.copied":"Copiat","action.download":"Descarcă","export.meta":"{kb} KB · tabele + stiluri inline · lățimi sigure pentru Outlook","modal.rawHtmlTitle":"HTML brut, previzualizare live","code.statusEdited":"Vizualizare cod — editat — previzualizare live, încă neaplicat","code.statusSynced":"Vizualizare cod — sincronizat cu canvasul","action.reload":"Reîncarcă","action.reloadHint":"Reîncarcă sursa din canvas","action.applyToCanvas":"Aplică pe canvas","action.applyToCanvasHint":"Reanalizează sursa în rânduri editabile","action.closeWithoutApplyingHint":"Închide fără a aplica","code.source":"Sursă","code.livePreview":"Previzualizare live","code.liveHtmlPreviewTitle":"Previzualizare HTML live","code.applyNote":"Aplicarea analizează fiecare rând de tabel de nivel superior într-un rând de canvas pe care îl puteți încă selecta, reordona și șterge — codul scris manual supraviețuiește procesului nemodificat.","code.meta":"{kb} KB · {lines} rânduri","toast.sourceReloaded":"Sursă reîncărcată din canvas","toast.sourceAppliedOne":"Sursă aplicată — 1 rând pe canvas","toast.sourceAppliedMany":"Sursă aplicată — {rows} rânduri pe canvas","toast.parseError":"Acest HTML nu a putut fi analizat","modal.aiDraft":"Asistent de scriere AI","modal.aiDraftTitle":"Scrie-ți e-mailul cu AI","ai.disclosure":"AI creează sugestii pornind de la brieful tău. Verifică și editează rezultatul înainte de trimitere.","ai.goal":"Obiectiv","ai.tone":"Ton","ai.briefLabel":"Despre ce este acest e-mail?","ai.briefPlaceholder":"de ex. Colecție de toamnă, 15% pentru abonați, livrare gratuită peste 150 lei","ai.generate":"Generează text","ai.writing":"Se scrie…","ai.kindHeadline":"Titlu","ai.kindBody":"Text principal","ai.kindButton":"Text buton","ai.actionInsertHeading":"Inserează ca titlu","ai.actionInsertText":"Inserează ca bloc de text","ai.actionInsertButton":"Inserează ca buton","toast.headingAdded":"Titlu adăugat","toast.textBlockAdded":"Bloc de text adăugat","toast.buttonAdded":"Buton adăugat","preview.kickerMobile":"Previzualizare — mobil 375px","preview.kickerDesktop":"Previzualizare — desktop {width}px","action.close":"Închide","toast.duplicated":"Duplicat","toast.fileUploadedOne":"1 fișier încărcat","toast.fileUploadedMany":"{count} fișiere încărcate","toast.imageReplaced":"Imagine înlocuită","toast.imageAdded":"Imagine adăugată pe canvas","toast.htmlCopied":"HTML copiat în clipboard","toast.templateLoaded":"{name} încărcat","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} inserat","toast.snippetCopied":"{name} copiat — selectați un bloc de text pentru a-l insera","rte.textStyle":"Stilul textului","rte.mergeTags":"Câmpuri de îmbinare","rte.noMergeTags":"Nu există câmpuri de îmbinare disponibile","rte.textColor":"Culoarea textului","rte.highlightColor":"Culoarea evidențierii","rte.removeHighlight":"Elimină evidențierea","rte.clearFormatting":"Șterge formatarea","action.downloadPng":"Descarcă PNG","action.screenshot":"Captură de ecran","action.screenshotHint":"Vezi tot șablonul ca imagine, apoi descarc-o","toast.pngSaved":"Captura a fost descărcată","toast.pngFailed":"Captura a eșuat — o imagine externă nu a putut fi încărcată","toast.pngCopied":"Captura a fost copiată în clipboard","toast.pngCopyFailed":"Acest browser nu a acceptat o imagine în clipboard","story.kicker":"Captură de ecran","story.rendering":"Se generează captura","story.renderingHint":"Fiecare bloc este desenat la 2× — la un șablon lung durează un moment.","story.failed":"Captura a eșuat","story.failedHint":"O imagine din șablon nu a putut fi încărcată pentru captură.","story.retry":"Încearcă din nou","story.play":"Redă","story.pause":"Pauză","story.replay":"Redă din nou","story.copy":"Copiază","story.meta":"{w}×{h} · ecranul {i} din {n}","footer.poweredBy":"Susținut de SELISE Blocks © 2026"}})},re["core/i18n/ru.js"]=function(ne,V,A){Object.assign(V,{RU:{"action.undoHint":"Отменить — ⌘Z","action.redoHint":"Повторить — ⌘⇧Z","action.chromeToDark":"Тёмная","action.chromeToLight":"Светлая","action.chromeHint":"Тема редактора светлая / тёмная","action.chromeHintToDark":"Тёмная тема","action.chromeHintToLight":"Светлая тема","action.aiDraft":"Черновик","action.aiDraftHint":"Написать содержание письма с помощью ИИ","action.code":"Код","action.codeHint":"Редактировать исходный HTML с живым просмотром","action.preview":"Просмотр","action.previewHint":"Предпросмотр письма","action.export":"Экспорт","action.exportHint":"Экспортировать письмо","device.desktop":"Компьютер","device.desktopHint":"Ширина для компьютера","device.mobile":"Телефон","device.mobileHint":"Ширина для телефона","status.autosaveOn":"автосохранение включено","status.saved":"сохранено {time}","status.saveFailed":"не сохранено — хранилище заполнено","canvas.meta":"{rows} строк · {blocks} блоков · {width}px","tab.design":"Стиль","tab.designHint":"Оформить выделенное","tab.blocks":"Блоки","tab.blocksHint":"Блоки контента и переменные","tab.rows":"Секции","tab.rowsHint":"Макеты секций и модель холста","tab.files":"Файлы","tab.filesHint":"Библиотека файлов","tab.layers":"Структура","tab.layersHint":"Структура документа","tab.settings":"Настройки","tab.settingsHint":"Настройки письма","tab.data":"Перем.","tab.dataHint":"Переменные, предоставленные вашим кодом","inspector.blockProperties":"Свойства блока","inspector.sectionProperties":"Свойства секции","inspector.title":"Инспектор","inspector.sectionLabel":"Секция","inspector.nothingSelected":"Ничего не выбрано","action.duplicateHint":"Дублировать — ⌘D","action.deleteHint":"Удалить — ⌫","inspector.emptyBody":'Выберите строку или блок на холсте, чтобы оформить его здесь. Перетащите блоки со вкладки <strong style="color: var(--ed-text); font-weight: 600;">Блоки</strong>; дважды щёлкните по тексту, чтобы редактировать его на месте.',"inspector.shortcuts":"Горячие клавиши","shortcut.undoRedo":"⌘Z / ⌘⇧Z — отменить, повторить","shortcut.duplicate":"⌘D — дублировать выделение","shortcut.delete":"⌫ — удалить выделение","shortcut.export":"⌘E — экспортировать HTML","shortcut.escape":"ESC — снять выделение, закрыть","blocks.dragHint":"Перетащите на холст","blocks.count":"{count} блоков","rows.sectionLayouts":"Макеты секций","rows.customMarkup":"Свой код","rows.htmlRowHint":"Перетащите, чтобы вставить, или щёлкните, чтобы добавить — строка на всю ширину, которую вы заполняете исходным HTML","rows.rawHtmlSection":"Секция с исходным HTML","rows.rawHtmlDesc":"Секция на всю ширину, ваш собственный код, всё ещё перетаскивается","rows.canvasModel":"Модель холста","rows.modeRowBased":"На основе строк","rows.modeFreeStack":"Свободный стек","rows.hintRows":"На основе секций: сначала поместите макет, затем блоки в его колонки — у каждой секции свой фон, граница, настройки flex или сетки.","rows.hintStack":"Свободный стек: без макетов — каждый добавленный блок становится собственной секцией на всю ширину, уложенной по порядку.","files.libraryCount":"Библиотека — {count} файлов","files.openManager":"Открыть файловый менеджер","files.dragToCanvas":"Перетащите любой файл прямо на холст, чтобы разместить его как блок изображения.","layers.structure":"Структура","layers.sectionSingle":"Секция","layers.sectionMulti":"Секция · {count} кол.","layers.column":"Колонка {index}","layers.blockCount":"{count} бл.","vars.title":"Переменные","vars.fromCode":"{count} из вашего кода","vars.declaredNote":"Объявлены вашим приложением — холст всегда показывает токен, никогда значение.","vars.filterPlaceholder":"Фильтр переменных…","vars.insertHint":"Нажмите, чтобы вставить в выбранный текст, заголовок или кнопку","vars.insert":"вставить","vars.noMatch":"Нет переменных, соответствующих этому фильтру.","vars.noneDeclared":"Ваше приложение ещё не объявило переменные.","vars.rteHint":"При редактировании текста вы также можете выбрать переменную прямо из выпадающего списка встроенной панели инструментов.","modal.fileManager":"Файловый менеджер","modal.assetsTitle":"Файлы","modal.replaceImage":"Заменить изображение","library.searchPlaceholder":"Поиск файлов…","action.upload":"Загрузить","library.clickToPlace":"Нажмите на файл, чтобы разместить · или перетащите файл на холст","library.clickToReplace":"Нажмите на файл, чтобы заменить выбранное изображение","library.storageLabel":"{count} файлов · {size}","library.folders":"Папки","library.dropHint":"Перетащите файлы изображений сюда для загрузки — или используйте кнопку «Загрузить».","library.deleteFileHint":"Удалить файл","library.del":"УДАЛ","toast.assetDeleted":"{name} удалён","library.allFiles":"Все файлы","library.loadMore":"Показать ещё","library.empty":"Здесь пока нет файлов.","storage.loading":"Загрузка файлов…","storage.uploading":"Загрузка {count}…","storage.errLoadFailed":"Не удалось загрузить библиотеку файлов — {reason}","storage.errNoLimits":"Загрузка выключена: это приложение не задало ограничения на загрузку.","storage.errNoMaxBytes":"Загрузка выключена: не задан максимальный размер файла.","storage.errTooLarge":"{name} весит {size} — предел {max}.","storage.errFormat":"{name} — файл {type}, который здесь не разрешён.","storage.errSvg":"{name} — SVG, который это приложение не принимает.","storage.errDimensions":"{name} — {w}×{ht}px, а предел {maxW}×{maxH}px.","storage.errTooMany":"За один раз можно загрузить только {max} файлов.","storage.errUnreadable":"{name} не является читаемым изображением.","storage.errUploadFailed":"Не удалось загрузить {name} — {reason}","storage.errDeleteFailed":"Не удалось удалить {name} — {reason}","modal.export":"Экспорт","modal.exportTitle":"HTML письма на основе таблиц","export.copy":"Копировать","export.copied":"Скопировано","action.download":"Скачать","export.meta":"{kb} КБ · таблицы + встроенные стили · ширины, безопасные для Outlook","modal.rawHtmlTitle":"Исходный HTML, живой просмотр","code.statusEdited":"Просмотр кода — изменён — просмотр в реальном времени, ещё не применено","code.statusSynced":"Просмотр кода — синхронизирован с холстом","action.reload":"Обновить","action.reloadHint":"Обновить исходник из холста","action.applyToCanvas":"Применить к холсту","action.applyToCanvasHint":"Разобрать исходник обратно в редактируемые строки","action.closeWithoutApplyingHint":"Закрыть без применения","code.source":"Исходник","code.livePreview":"Живой просмотр","code.liveHtmlPreviewTitle":"Живой просмотр HTML","code.applyNote":"Применение разбирает каждую строку таблицы верхнего уровня в строку холста, которую вы всё ещё можете выбирать, переупорядочивать и удалять — написанный вручную код переживает этот процесс.","code.meta":"{kb} КБ · {lines} строк","toast.sourceReloaded":"Исходник обновлён из холста","toast.sourceAppliedOne":"Исходник применён — 1 строка на холсте","toast.sourceAppliedMany":"Исходник применён — {rows} строк на холсте","toast.parseError":"Не удалось разобрать этот HTML","modal.aiDraft":"ИИ-помощник по тексту","modal.aiDraftTitle":"Напишите письмо с помощью ИИ","ai.disclosure":"ИИ создаёт предложения на основе вашего брифа. Проверьте и отредактируйте результат перед отправкой.","ai.goal":"Цель","ai.tone":"Тон","ai.briefLabel":"О чём это письмо?","ai.briefPlaceholder":"напр. Осенняя коллекция, 15% для подписчиков, бесплатная доставка от 150$","ai.generate":"Сгенерировать текст","ai.writing":"Пишем…","ai.kindHeadline":"Заголовок","ai.kindBody":"Основной текст","ai.kindButton":"Текст кнопки","ai.actionInsertHeading":"Вставить как заголовок","ai.actionInsertText":"Вставить как текстовый блок","ai.actionInsertButton":"Вставить как кнопку","toast.headingAdded":"Заголовок добавлен","toast.textBlockAdded":"Текстовый блок добавлен","toast.buttonAdded":"Кнопка добавлена","preview.kickerMobile":"Просмотр — телефон 375px","preview.kickerDesktop":"Просмотр — компьютер {width}px","action.close":"Закрыть","toast.duplicated":"Продублировано","toast.fileUploadedOne":"Загружен 1 файл","toast.fileUploadedMany":"Загружено файлов: {count}","toast.imageReplaced":"Изображение заменено","toast.imageAdded":"Изображение добавлено на холст","toast.htmlCopied":"HTML скопирован в буфер обмена","toast.templateLoaded":"{name} загружен","toast.snippetDefaultLabel":"Фрагмент","toast.snippetInserted":"{name} вставлен","toast.snippetCopied":"{name} скопирован — выберите текстовый блок, чтобы вставить","rte.textStyle":"Стиль текста","rte.mergeTags":"Поля слияния","rte.noMergeTags":"Полей слияния нет","rte.textColor":"Цвет текста","rte.highlightColor":"Цвет выделения","rte.removeHighlight":"Убрать выделение","rte.clearFormatting":"Очистить форматирование","action.downloadPng":"Скачать PNG","action.screenshot":"Снимок","action.screenshotHint":"Посмотреть весь шаблон как изображение и скачать его","toast.pngSaved":"Снимок скачан","toast.pngFailed":"Снимок не удался — не удалось загрузить внешнее изображение","toast.pngCopied":"Снимок скопирован в буфер обмена","toast.pngCopyFailed":"Этот браузер не принял изображение в буфер обмена","story.kicker":"Снимок","story.rendering":"Создание снимка","story.renderingHint":"Каждый блок рисуется в 2× — на длинном шаблоне это занимает время.","story.failed":"Снимок не удался","story.failedHint":"Изображение в шаблоне не удалось загрузить для съёмки.","story.retry":"Попробовать снова","story.play":"Воспроизвести","story.pause":"Пауза","story.replay":"Ещё раз","story.copy":"Копировать","story.meta":"{w}×{h} · экран {i} из {n}","footer.poweredBy":"Работает на SELISE Blocks © 2026"}})},re["core/i18n/sk.js"]=function(ne,V,A){Object.assign(V,{SK:{"action.undoHint":"Späť — ⌘Z","action.redoHint":"Znova — ⌘⇧Z","action.chromeToDark":"Tmavý","action.chromeToLight":"Svetlý","action.chromeHint":"Motív editora svetlý / tmavý","action.chromeHintToDark":"Tmavý režim","action.chromeHintToLight":"Svetlý režim","action.aiDraft":"Návrh","action.aiDraftHint":"Napísať obsah e-mailu pomocou AI","action.code":"Kód","action.codeHint":"Upraviť surové HTML so živým náhľadom","action.preview":"Náhľad","action.previewHint":"Náhľad e-mailu","action.export":"Exportovať","action.exportHint":"Exportovať váš e-mail","device.desktop":"Počítač","device.desktopHint":"Šírka pre počítač","device.mobile":"Mobil","device.mobileHint":"Šírka pre mobil","status.autosaveOn":"automatické ukladanie zapnuté","status.saved":"uložené {time}","status.saveFailed":"neuložené — úložisko je plné","canvas.meta":"{rows} riadkov · {blocks} blokov · {width}px","tab.design":"Štýl","tab.designHint":"Štylizovať výber","tab.blocks":"Bloky","tab.blocksHint":"Bloky obsahu a premenné","tab.rows":"Sekcie","tab.rowsHint":"Rozloženia sekcií a model plátna","tab.files":"Súbory","tab.filesHint":"Knižnica súborov","tab.layers":"Štruktúra","tab.layersHint":"Štruktúra dokumentu","tab.settings":"Nastavenia","tab.settingsHint":"Nastavenia e-mailu","tab.data":"Prem.","tab.dataHint":"Premenné poskytnuté vaším kódom","inspector.blockProperties":"Vlastnosti bloku","inspector.sectionProperties":"Vlastnosti sekcie","inspector.title":"Inšpektor","inspector.sectionLabel":"Sekcia","inspector.nothingSelected":"Nič nie je vybraté","action.duplicateHint":"Duplikovať — ⌘D","action.deleteHint":"Odstrániť — ⌫","inspector.emptyBody":'Vyberte riadok alebo blok na plátne a štylizujte ho tu. Presuňte bloky z karty <strong style="color: var(--ed-text); font-weight: 600;">Bloky</strong>; dvojklikom na text ho upravíte priamo na mieste.',"inspector.shortcuts":"Skratky","shortcut.undoRedo":"⌘Z / ⌘⇧Z — späť, znova","shortcut.duplicate":"⌘D — duplikovať výber","shortcut.delete":"⌫ — odstrániť výber","shortcut.export":"⌘E — exportovať HTML","shortcut.escape":"ESC — zrušiť výber, zavrieť","blocks.dragHint":"Presuňte na plátno","blocks.count":"{count} blokov","rows.sectionLayouts":"Rozloženia sekcií","rows.customMarkup":"Vlastný kód","rows.htmlRowHint":"Presuňte pre vloženie alebo kliknite pre pridanie — riadok na celú šírku, ktorý vyplníte surovým HTML","rows.rawHtmlSection":"Sekcia so surovým HTML","rows.rawHtmlDesc":"Sekcia na celú šírku, váš vlastný kód, stále presúvateľná","rows.canvasModel":"Model plátna","rows.modeRowBased":"Založené na riadkoch","rows.modeFreeStack":"Voľný zásobník","rows.hintRows":"Založené na sekciách: najprv umiestnite rozloženie, potom bloky do jeho stĺpcov — každá sekcia má vlastné pozadie, ohraničenie, nastavenia flex alebo mriežky.","rows.hintStack":"Voľný zásobník: bez rozložení — každý umiestnený blok sa stane vlastnou sekciou na celú šírku, zoradenou postupne.","files.libraryCount":"Knižnica — {count} súborov","files.openManager":"Otvoriť správcu súborov","files.dragToCanvas":"Presuňte ľubovoľný súbor priamo na plátno a umiestnite ho ako obrazový blok.","layers.structure":"Štruktúra","layers.sectionSingle":"Sekcia","layers.sectionMulti":"Sekcia · {count} stĺpcov","layers.column":"Stĺpec {index}","layers.blockCount":"{count} bl.","vars.title":"Premenné","vars.fromCode":"{count} z vášho kódu","vars.declaredNote":"Deklarované vašou aplikáciou — plátno vždy zobrazuje token, nikdy hodnotu.","vars.filterPlaceholder":"Filtrovať premenné…","vars.insertHint":"Kliknite pre vloženie do vybraného textu, nadpisu alebo tlačidla","vars.insert":"vložiť","vars.noMatch":"Žiadna premenná nezodpovedá tomuto filtru.","vars.noneDeclared":"Vaša aplikácia zatiaľ nedeklarovala žiadne premenné.","vars.rteHint":"Pri úprave textu môžete premennú vybrať aj priamo z rozbaľovacej ponuky vloženého panela nástrojov.","modal.fileManager":"Správca súborov","modal.assetsTitle":"Zdroje","modal.replaceImage":"Nahradiť obrázok","library.searchPlaceholder":"Hľadať súbory…","action.upload":"Nahrať","library.clickToPlace":"Kliknite na súbor pre umiestnenie · alebo presuňte súbor na plátno","library.clickToReplace":"Kliknite na súbor pre nahradenie vybraného obrázka","library.storageLabel":"{count} súborov · {size}","library.folders":"Priečinky","library.dropHint":"Sem presuňte obrázkové súbory na nahranie — alebo použite tlačidlo Nahrať.","library.deleteFileHint":"Odstrániť súbor","library.del":"ZMAZ","toast.assetDeleted":"{name} odstránený","library.allFiles":"Všetky súbory","library.loadMore":"Načítať ďalšie","library.empty":"Zatiaľ tu nie sú žiadne súbory.","storage.loading":"Načítavanie súborov…","storage.uploading":"Nahrávanie {count}…","storage.errLoadFailed":"Knižnicu súborov sa nepodarilo načítať — {reason}","storage.errNoLimits":"Nahrávanie je vypnuté: táto aplikácia nenastavila žiadne limity nahrávania.","storage.errNoMaxBytes":"Nahrávanie je vypnuté: nie je nastavená maximálna veľkosť súboru.","storage.errTooLarge":"{name} má {size} — limit je {max}.","storage.errFormat":"{name} je súbor typu {type}, ktorý tu nie je povolený.","storage.errSvg":"{name} je SVG, ktoré táto aplikácia neprijíma.","storage.errDimensions":"{name} má {w}×{ht}px — limit je {maxW}×{maxH}px.","storage.errTooMany":"Naraz možno nahrať len {max} súborov.","storage.errUnreadable":"{name} nie je čitateľný obrázok.","storage.errUploadFailed":"{name} sa nepodarilo nahrať — {reason}","storage.errDeleteFailed":"{name} sa nepodarilo odstrániť — {reason}","modal.export":"Exportovať","modal.exportTitle":"HTML e-mailu založené na tabuľkách","export.copy":"Kopírovať","export.copied":"Skopírované","action.download":"Stiahnuť","export.meta":"{kb} KB · tabuľky + vložené štýly · šírky bezpečné pre Outlook","modal.rawHtmlTitle":"Surové HTML, živý náhľad","code.statusEdited":"Zobrazenie kódu — upravené — náhľad naživo, zatiaľ neaplikované","code.statusSynced":"Zobrazenie kódu — synchronizované s plátnom","action.reload":"Znova načítať","action.reloadHint":"Znova načítať zdroj z plátna","action.applyToCanvas":"Použiť na plátno","action.applyToCanvasHint":"Znova rozobrať zdroj na upraviteľné riadky","action.closeWithoutApplyingHint":"Zavrieť bez použitia","code.source":"Zdroj","code.livePreview":"Živý náhľad","code.liveHtmlPreviewTitle":"Živý náhľad HTML","code.applyNote":"Použitie rozoberie každý riadok tabuľky najvyššej úrovne na riadok plátna, ktorý možno stále vybrať, preusporiadať a odstrániť — ručne písaný kód proces prežije bez zmeny.","code.meta":"{kb} KB · {lines} riadkov","toast.sourceReloaded":"Zdroj znova načítaný z plátna","toast.sourceAppliedOne":"Zdroj použitý — 1 riadok na plátne","toast.sourceAppliedMany":"Zdroj použitý — {rows} riadkov na plátne","toast.parseError":"Toto HTML sa nepodarilo spracovať","modal.aiDraft":"Asistent písania s AI","modal.aiDraftTitle":"Napíšte svoj e-mail pomocou AI","ai.disclosure":"AI vytvára návrhy podľa vášho zadania. Pred odoslaním výsledok skontrolujte a upravte.","ai.goal":"Cieľ","ai.tone":"Tón","ai.briefLabel":"O čom je tento e-mail?","ai.briefPlaceholder":"napr. Jesenná kolekcia, 15 % pre odberateľov, doprava zdarma nad 150 €","ai.generate":"Vygenerovať text","ai.writing":"Píše sa…","ai.kindHeadline":"Nadpis","ai.kindBody":"Hlavný text","ai.kindButton":"Text tlačidla","ai.actionInsertHeading":"Vložiť ako nadpis","ai.actionInsertText":"Vložiť ako textový blok","ai.actionInsertButton":"Vložiť ako tlačidlo","toast.headingAdded":"Nadpis pridaný","toast.textBlockAdded":"Textový blok pridaný","toast.buttonAdded":"Tlačidlo pridané","preview.kickerMobile":"Náhľad — mobil 375px","preview.kickerDesktop":"Náhľad — počítač {width}px","action.close":"Zavrieť","toast.duplicated":"Duplikované","toast.fileUploadedOne":"Nahraný 1 súbor","toast.fileUploadedMany":"Nahratých súborov: {count}","toast.imageReplaced":"Obrázok nahradený","toast.imageAdded":"Obrázok pridaný na plátno","toast.htmlCopied":"HTML skopírované do schránky","toast.templateLoaded":"{name} načítané","toast.snippetDefaultLabel":"Úryvok","toast.snippetInserted":"{name} vložené","toast.snippetCopied":"{name} skopírované — vyberte textový blok na vloženie","rte.textStyle":"Štýl textu","rte.mergeTags":"Zlučovacie polia","rte.noMergeTags":"Nie sú dostupné žiadne zlučovacie polia","rte.textColor":"Farba textu","rte.highlightColor":"Farba zvýraznenia","rte.removeHighlight":"Odstrániť zvýraznenie","rte.clearFormatting":"Zrušiť formátovanie","action.downloadPng":"Stiahnuť PNG","action.screenshot":"Snímka","action.screenshotHint":"Zobraziť celú šablónu ako obrázok a stiahnuť ju","toast.pngSaved":"Snímka stiahnutá","toast.pngFailed":"Snímka zlyhala — externý obrázok sa nepodarilo načítať","toast.pngCopied":"Snímka skopírovaná do schránky","toast.pngCopyFailed":"Tento prehliadač neprijal obrázok do schránky","story.kicker":"Snímka","story.rendering":"Vytvára sa snímka","story.renderingHint":"Každý blok sa kreslí v 2× — pri dlhej šablóne to chvíľu trvá.","story.failed":"Snímka zlyhala","story.failedHint":"Obrázok v šablóne sa nepodarilo načítať na zachytenie.","story.retry":"Skúsiť znova","story.play":"Prehrať","story.pause":"Pozastaviť","story.replay":"Prehrať znova","story.copy":"Kopírovať","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Beží na SELISE Blocks © 2026"}})},re["core/i18n/sl.js"]=function(ne,V,A){Object.assign(V,{SL:{"action.undoHint":"Razveljavi — ⌘Z","action.redoHint":"Ponovi — ⌘⇧Z","action.chromeToDark":"Temno","action.chromeToLight":"Svetlo","action.chromeHint":"Tema urejevalnika svetla / temna","action.chromeHintToDark":"Temni način","action.chromeHintToLight":"Svetli način","action.aiDraft":"Osnutek","action.aiDraftHint":"Napiši vsebino e-pošte z UI","action.code":"Koda","action.codeHint":"Uredi surovi HTML z ogledom v živo","action.preview":"Predogled","action.previewHint":"Predogled e-pošte","action.export":"Izvozi","action.exportHint":"Izvozi svojo e-pošto","device.desktop":"Namizje","device.desktopHint":"Širina za namizje","device.mobile":"Mobilna naprava","device.mobileHint":"Širina za mobilno napravo","status.autosaveOn":"samodejno shranjevanje vklopljeno","status.saved":"shranjeno {time}","status.saveFailed":"ni shranjeno — pomnilnik je poln","canvas.meta":"{rows} vrstic · {blocks} blokov · {width}px","tab.design":"Slog","tab.designHint":"Oblikuj izbor","tab.blocks":"Bloki","tab.blocksHint":"Vsebinski bloki in spremenljivke","tab.rows":"Odseki","tab.rowsHint":"Postavitve odsekov in model platna","tab.files":"Datoteke","tab.filesHint":"Knjižnica virov","tab.layers":"Struktura","tab.layersHint":"Struktura dokumenta","tab.settings":"Nastavitve","tab.settingsHint":"Nastavitve e-pošte","tab.data":"Spr.","tab.dataHint":"Spremenljivke, ki jih zagotavlja vaša koda","inspector.blockProperties":"Lastnosti bloka","inspector.sectionProperties":"Lastnosti odseka","inspector.title":"Inšpektor","inspector.sectionLabel":"Odsek","inspector.nothingSelected":"Nič ni izbrano","action.duplicateHint":"Podvoji — ⌘D","action.deleteHint":"Izbriši — ⌫","inspector.emptyBody":'Izberite vrstico ali blok na platnu, da ga oblikujete tukaj. Povlecite bloke iz zavihka <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; dvokliknite besedilo za urejanje na mestu.',"inspector.shortcuts":"Bližnjice","shortcut.undoRedo":"⌘Z / ⌘⇧Z — razveljavi, ponovi","shortcut.duplicate":"⌘D — podvoji izbor","shortcut.delete":"⌫ — izbriši izbor","shortcut.export":"⌘E — izvozi HTML","shortcut.escape":"ESC — prekliči izbor, zapri","blocks.dragHint":"Povlecite na platno","blocks.count":"{count} blokov","rows.sectionLayouts":"Postavitve odsekov","rows.customMarkup":"Lastna koda","rows.htmlRowHint":"Povlecite za vstavitev ali kliknite za dodajanje — vrstica čez celo širino, ki jo zapolnite s surovim HTML-jem","rows.rawHtmlSection":"Odsek s surovim HTML-jem","rows.rawHtmlDesc":"Odsek čez celo širino, vaša lastna koda, še vedno vlečljiv","rows.canvasModel":"Model platna","rows.modeRowBased":"Temelji na vrsticah","rows.modeFreeStack":"Prosti sklad","rows.hintRows":"Temelji na odsekih: najprej spustite postavitev, nato bloke v njene stolpce — vsak odsek ima lastno ozadje, rob, nastavitve flex ali mreže.","rows.hintStack":"Prosti sklad: brez postavitev — vsak spuščen blok postane lasten odsek čez celo širino, zložen po vrsti.","files.libraryCount":"Knjižnica — {count} datotek","files.openManager":"Odpri upravitelja datotek","files.dragToCanvas":"Povlecite katero koli datoteko neposredno na platno, da jo postavite kot slikovni blok.","layers.structure":"Struktura","layers.sectionSingle":"Odsek","layers.sectionMulti":"Odsek · {count} stolpcev","layers.column":"Stolpec {index}","layers.blockCount":"{count} bl.","vars.title":"Spremenljivke","vars.fromCode":"{count} iz vaše kode","vars.declaredNote":"Deklarirane s strani vaše aplikacije — platno vedno prikaže žeton, nikoli vrednosti.","vars.filterPlaceholder":"Filtriraj spremenljivke…","vars.insertHint":"Kliknite za vstavitev v izbrano besedilo, naslov ali gumb","vars.insert":"vstavi","vars.noMatch":"Nobena spremenljivka ne ustreza temu filtru.","vars.noneDeclared":"Vaša aplikacija še ni deklarirala nobenih spremenljivk.","vars.rteHint":"Med urejanjem besedila lahko spremenljivko izberete tudi neposredno iz spustnega menija vgrajene orodne vrstice.","modal.fileManager":"Upravitelj datotek","modal.assetsTitle":"Viri","modal.replaceImage":"Zamenjaj sliko","library.searchPlaceholder":"Iskanje datotek…","action.upload":"Naloži","library.clickToPlace":"Kliknite datoteko za postavitev · ali povlecite datoteko na platno","library.clickToReplace":"Kliknite datoteko za zamenjavo izbrane slike","library.storageLabel":"{count} datotek · {size}","library.folders":"Mape","library.dropHint":"Sem spustite slikovne datoteke za nalaganje — ali uporabite gumb Naloži.","library.deleteFileHint":"Izbriši datoteko","library.del":"IZBR","toast.assetDeleted":"{name} izbrisano","library.allFiles":"Vse datoteke","library.loadMore":"Naloži več","library.empty":"Tu še ni datotek.","storage.loading":"Nalaganje datotek…","storage.uploading":"Nalaganje {count}…","storage.errLoadFailed":"Knjižnice datotek ni bilo mogoče naložiti — {reason}","storage.errNoLimits":"Nalaganje je izklopljeno: ta aplikacija ni določila omejitev nalaganja.","storage.errNoMaxBytes":"Nalaganje je izklopljeno: največja velikost datoteke ni določena.","storage.errTooLarge":"{name} je {size} — omejitev je {max}.","storage.errFormat":"{name} je datoteka vrste {type}, ki tu ni dovoljena.","storage.errSvg":"{name} je SVG, ki ga ta aplikacija ne sprejema.","storage.errDimensions":"{name} je {w}×{ht}px — omejitev je {maxW}×{maxH}px.","storage.errTooMany":"Naenkrat je mogoče naložiti le {max} datotek.","storage.errUnreadable":"{name} ni berljiva slika.","storage.errUploadFailed":"{name} ni bilo mogoče naložiti — {reason}","storage.errDeleteFailed":"{name} ni bilo mogoče izbrisati — {reason}","modal.export":"Izvozi","modal.exportTitle":"HTML e-pošte na osnovi tabel","export.copy":"Kopiraj","export.copied":"Kopirano","action.download":"Prenesi","export.meta":"{kb} KB · tabele + vgrajeni slogi · širine, varne za Outlook","modal.rawHtmlTitle":"Surovi HTML, ogled v živo","code.statusEdited":"Pogled kode — urejeno — ogled v živo, še ni uporabljeno","code.statusSynced":"Pogled kode — usklajeno s platnom","action.reload":"Znova naloži","action.reloadHint":"Znova naloži vir s platna","action.applyToCanvas":"Uporabi na platnu","action.applyToCanvasHint":"Znova razčleni vir v uredljive vrstice","action.closeWithoutApplyingHint":"Zapri brez uporabe","code.source":"Vir","code.livePreview":"Ogled v živo","code.liveHtmlPreviewTitle":"Ogled HTML v živo","code.applyNote":"Uporabi razčleni vsako vrstico tabele najvišje ravni v vrstico platna, ki jo lahko še vedno izberete, prerazporedite in izbrišete — ročno napisana koda postopek preživi nespremenjena.","code.meta":"{kb} KB · {lines} vrstic","toast.sourceReloaded":"Vir znova naložen s platna","toast.sourceAppliedOne":"Vir uporabljen — 1 vrstica na platnu","toast.sourceAppliedMany":"Vir uporabljen — {rows} vrstic na platnu","toast.parseError":"Tega HTML-ja ni bilo mogoče razčleniti","modal.aiDraft":"Pomočnik za pisanje z UI","modal.aiDraftTitle":"Napišite svojo e-pošto z UI","ai.disclosure":"UI ustvari predloge na podlagi vašega povzetka. Pred pošiljanjem rezultat preglejte in uredite.","ai.goal":"Cilj","ai.tone":"Ton","ai.briefLabel":"O čem govori ta e-pošta?","ai.briefPlaceholder":"npr. jesenska kolekcija, 15 % za naročnike, brezplačna dostava nad 150 €","ai.generate":"Ustvari besedilo","ai.writing":"Pisanje…","ai.kindHeadline":"Naslov","ai.kindBody":"Glavno besedilo","ai.kindButton":"Besedilo gumba","ai.actionInsertHeading":"Vstavi kot naslov","ai.actionInsertText":"Vstavi kot besedilni blok","ai.actionInsertButton":"Vstavi kot gumb","toast.headingAdded":"Naslov dodan","toast.textBlockAdded":"Besedilni blok dodan","toast.buttonAdded":"Gumb dodan","preview.kickerMobile":"Predogled — mobilna naprava 375px","preview.kickerDesktop":"Predogled — namizje {width}px","action.close":"Zapri","toast.duplicated":"Podvojeno","toast.fileUploadedOne":"Naložena 1 datoteka","toast.fileUploadedMany":"Naloženih {count} datotek","toast.imageReplaced":"Slika zamenjana","toast.imageAdded":"Slika dodana na platno","toast.htmlCopied":"HTML kopiran v odložišče","toast.templateLoaded":"{name} naloženo","toast.snippetDefaultLabel":"Odlomek","toast.snippetInserted":"{name} vstavljeno","toast.snippetCopied":"{name} kopirano — izberite besedilni blok za vstavitev","rte.textStyle":"Slog besedila","rte.mergeTags":"Spojna polja","rte.noMergeTags":"Na voljo ni nobenega spojnega polja","rte.textColor":"Barva besedila","rte.highlightColor":"Barva poudarka","rte.removeHighlight":"Odstrani poudarek","rte.clearFormatting":"Počisti oblikovanje","action.downloadPng":"Prenesi PNG","action.screenshot":"Posnetek zaslona","action.screenshotHint":"Poglej celotno predlogo kot sliko in jo prenesi","toast.pngSaved":"Posnetek zaslona prenesen","toast.pngFailed":"Posnetek zaslona ni uspel — zunanje slike ni bilo mogoče naložiti","toast.pngCopied":"Posnetek zaslona kopiran v odložišče","toast.pngCopyFailed":"Ta brskalnik ni sprejel slike v odložišče","story.kicker":"Posnetek zaslona","story.rendering":"Posnetek zaslona se izdeluje","story.renderingHint":"Vsak blok se riše v 2× — pri dolgi predlogi to traja trenutek.","story.failed":"Posnetek zaslona ni uspel","story.failedHint":"Slike v predlogi ni bilo mogoče naložiti za zajem.","story.retry":"Poskusi znova","story.play":"Predvajaj","story.pause":"Premor","story.replay":"Predvajaj znova","story.copy":"Kopiraj","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Poganja SELISE Blocks © 2026"}})},re["core/i18n/sv.js"]=function(ne,V,A){Object.assign(V,{SV:{"action.undoHint":"Ångra — ⌘Z","action.redoHint":"Gör om — ⌘⇧Z","action.chromeToDark":"Mörkt","action.chromeToLight":"Ljust","action.chromeHint":"Redigerartema ljust / mörkt","action.chromeHintToDark":"Mörkt läge","action.chromeHintToLight":"Ljust läge","action.aiDraft":"Utkast","action.aiDraftHint":"Skriv e-postens innehåll med AI","action.code":"Kod","action.codeHint":"Redigera rå HTML med direktförhandsgranskning","action.preview":"Förhandsgranskning","action.previewHint":"Förhandsgranska e-posten","action.export":"Exportera","action.exportHint":"Exportera din e-post","device.desktop":"Dator","device.desktopHint":"Datorbredd","device.mobile":"Mobil","device.mobileHint":"Mobilbredd","status.autosaveOn":"automatisk sparning på","status.saved":"sparat {time}","status.saveFailed":"sparades inte — lagringen är full","canvas.meta":"{rows} rader · {blocks} block · {width}px","tab.design":"Stil","tab.designHint":"Stila markeringen","tab.blocks":"Block","tab.blocksHint":"Innehållsblock och variabler","tab.rows":"Sektioner","tab.rowsHint":"Sektionslayouter och canvasmodell","tab.files":"Filer","tab.filesHint":"Resursbibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Inställningar","tab.settingsHint":"E-postinställningar","tab.data":"Var.","tab.dataHint":"Variabler som tillhandahålls av din kod","inspector.blockProperties":"Blockegenskaper","inspector.sectionProperties":"Sektionsegenskaper","inspector.title":"Inspektör","inspector.sectionLabel":"Sektion","inspector.nothingSelected":"Inget markerat","action.duplicateHint":"Duplicera — ⌘D","action.deleteHint":"Ta bort — ⌫","inspector.emptyBody":'Välj en rad eller ett block på canvasen för att stila det här. Dra block från fliken <strong style="color: var(--ed-text); font-weight: 600;">Block</strong>; dubbelklicka på valfri text för att redigera direkt.',"inspector.shortcuts":"Genvägar","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ångra, gör om","shortcut.duplicate":"⌘D — duplicera markering","shortcut.delete":"⌫ — ta bort markering","shortcut.export":"⌘E — exportera HTML","shortcut.escape":"ESC — avmarkera, stäng","blocks.dragHint":"Dra till canvasen","blocks.count":"{count} block","rows.sectionLayouts":"Sektionslayouter","rows.customMarkup":"Anpassad kod","rows.htmlRowHint":"Dra för att infoga, eller klicka för att lägga till — en rad i full bredd som du fyller med rå HTML","rows.rawHtmlSection":"Rå HTML-sektion","rows.rawHtmlDesc":"Sektion i full bredd, din egen kod, fortfarande dragbar","rows.canvasModel":"Canvasmodell","rows.modeRowBased":"Radbaserad","rows.modeFreeStack":"Fri stapel","rows.hintRows":"Sektionsbaserad: släpp en layout först, sedan block i dess kolumner — varje sektion har egen bakgrund, kant, flex- eller rutnätsinställningar.","rows.hintStack":"Fri stapel: utan layouter — varje block du släpper blir sin egen sektion i full bredd, staplad i ordning.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Öppna filhanteraren","files.dragToCanvas":"Dra valfri fil direkt till canvasen för att placera den som ett bildblock.","layers.structure":"Struktur","layers.sectionSingle":"Sektion","layers.sectionMulti":"Sektion · {count} kol.","layers.column":"Kolumn {index}","layers.blockCount":"{count} block","vars.title":"Variabler","vars.fromCode":"{count} från din kod","vars.declaredNote":"Deklarerade av din applikation — canvasen visar alltid token, aldrig ett värde.","vars.filterPlaceholder":"Filtrera variabler…","vars.insertHint":"Klicka för att infoga i markerad text, rubrik eller knapp","vars.insert":"infoga","vars.noMatch":"Ingen variabel matchar det filtret.","vars.noneDeclared":"Din applikation har ännu inte deklarerat några variabler.","vars.rteHint":"När du redigerar text kan du också välja en variabel direkt från rullgardinsmenyn i den inbäddade verktygsfältet.","modal.fileManager":"Filhanterare","modal.assetsTitle":"Resurser","modal.replaceImage":"Ersätt bild","library.searchPlaceholder":"Sök filer…","action.upload":"Ladda upp","library.clickToPlace":"Klicka på en fil för att placera den · eller dra en fil till canvasen","library.clickToReplace":"Klicka på en fil för att ersätta den markerade bilden","library.storageLabel":"{count} filer · {size}","library.folders":"Mappar","library.dropHint":"Släpp bildfiler här för att ladda upp — eller använd knappen Ladda upp.","library.deleteFileHint":"Ta bort fil","library.del":"RADERA","toast.assetDeleted":"{name} borttagen","library.allFiles":"Alla filer","library.loadMore":"Ladda fler","library.empty":"Det finns inga filer här ännu.","storage.loading":"Laddar filer…","storage.uploading":"Laddar upp {count}…","storage.errLoadFailed":"Filbiblioteket kunde inte laddas — {reason}","storage.errNoLimits":"Uppladdning är avstängd: den här appen har inte satt några uppladdningsgränser.","storage.errNoMaxBytes":"Uppladdning är avstängd: ingen maximal filstorlek har angetts.","storage.errTooLarge":"{name} är {size} — gränsen är {max}.","storage.errFormat":"{name} är en {type}-fil, som inte tillåts här.","storage.errSvg":"{name} är en SVG, som den här appen inte accepterar.","storage.errDimensions":"{name} är {w}×{ht}px — gränsen är {maxW}×{maxH}px.","storage.errTooMany":"Bara {max} filer kan laddas upp åt gången.","storage.errUnreadable":"{name} är inte en läsbar bild.","storage.errUploadFailed":"{name} kunde inte laddas upp — {reason}","storage.errDeleteFailed":"{name} kunde inte tas bort — {reason}","modal.export":"Exportera","modal.exportTitle":"Tabellbaserad e-post-HTML","export.copy":"Kopiera","export.copied":"Kopierat","action.download":"Ladda ner","export.meta":"{kb} KB · tabeller + inline-stilar · Outlook-säkra bredder","modal.rawHtmlTitle":"Rå HTML, direktförhandsgranskning","code.statusEdited":"Kodvy — redigerad — förhandsgranskning live, inte tillämpad ännu","code.statusSynced":"Kodvy — synkroniserad med canvasen","action.reload":"Läs om","action.reloadHint":"Läs om källan från canvasen","action.applyToCanvas":"Tillämpa på canvas","action.applyToCanvasHint":"Tolka källan tillbaka till redigerbara rader","action.closeWithoutApplyingHint":"Stäng utan att tillämpa","code.source":"Källa","code.livePreview":"Direktförhandsgranskning","code.liveHtmlPreviewTitle":"Direkt HTML-förhandsgranskning","code.applyNote":"Tillämpa tolkar varje tabellrad på toppnivå till en canvasrad som du fortfarande kan markera, ordna om och ta bort — handskriven kod överlever processen oförändrad.","code.meta":"{kb} KB · {lines} rader","toast.sourceReloaded":"Källan omladdad från canvasen","toast.sourceAppliedOne":"Källa tillämpad — 1 rad på canvasen","toast.sourceAppliedMany":"Källa tillämpad — {rows} rader på canvasen","toast.parseError":"Kunde inte tolka den HTML-koden","modal.aiDraft":"AI-skrivassistent","modal.aiDraftTitle":"Skriv din e-post med AI","ai.disclosure":"AI skapar förslag utifrån din brief. Granska och redigera resultatet innan du skickar.","ai.goal":"Mål","ai.tone":"Ton","ai.briefLabel":"Vad handlar det här mejlet om?","ai.briefPlaceholder":"t.ex. Höstkollektion, 15% för prenumeranter, fri frakt över 1500 kr","ai.generate":"Generera text","ai.writing":"Skriver…","ai.kindHeadline":"Rubrik","ai.kindBody":"Brödtext","ai.kindButton":"Knapptext","ai.actionInsertHeading":"Infoga som rubrik","ai.actionInsertText":"Infoga som textblock","ai.actionInsertButton":"Infoga som knapp","toast.headingAdded":"Rubrik tillagd","toast.textBlockAdded":"Textblock tillagt","toast.buttonAdded":"Knapp tillagd","preview.kickerMobile":"Förhandsgranskning — mobil 375px","preview.kickerDesktop":"Förhandsgranskning — dator {width}px","action.close":"Stäng","toast.duplicated":"Duplicerad","toast.fileUploadedOne":"1 fil uppladdad","toast.fileUploadedMany":"{count} filer uppladdade","toast.imageReplaced":"Bild ersatt","toast.imageAdded":"Bild tillagd på canvasen","toast.htmlCopied":"HTML kopierad till urklipp","toast.templateLoaded":"{name} inläst","toast.snippetDefaultLabel":"Snutt","toast.snippetInserted":"{name} infogad","toast.snippetCopied":"{name} kopierad — markera ett textblock för att infoga den","rte.textStyle":"Textstil","rte.mergeTags":"Kopplingsfält","rte.noMergeTags":"Inga kopplingsfält tillgängliga","rte.textColor":"Textfärg","rte.highlightColor":"Överstrykningsfärg","rte.removeHighlight":"Ta bort överstrykning","rte.clearFormatting":"Rensa formatering","action.downloadPng":"Ladda ner PNG","action.screenshot":"Skärmbild","action.screenshotHint":"Se hela mallen som en bild och ladda ner den","toast.pngSaved":"Skärmbild nedladdad","toast.pngFailed":"Skärmbilden misslyckades — en extern bild kunde inte laddas","toast.pngCopied":"Skärmbild kopierad till urklipp","toast.pngCopyFailed":"Den här webbläsaren accepterade inte en bild i urklipp","story.kicker":"Skärmbild","story.rendering":"Skärmbilden skapas","story.renderingHint":"Varje block ritas i 2× — i en lång mall tar det ett ögonblick.","story.failed":"Skärmbilden misslyckades","story.failedHint":"En bild i mallen kunde inte laddas för fångsten.","story.retry":"Försök igen","story.play":"Spela upp","story.pause":"Pausa","story.replay":"Spela upp igen","story.copy":"Kopiera","story.meta":"{w}×{h} · skärm {i} av {n}","footer.poweredBy":"Drivs av SELISE Blocks © 2026"}})},re["core/i18n/tables.js"]=function(ne,V,A){const{EN:W}=A("core/i18n/en.js"),{AR:q}=A("core/i18n/ar.js"),{BG:ie}=A("core/i18n/bg.js"),{BN:K}=A("core/i18n/bn.js"),{CA:k}=A("core/i18n/ca.js"),{CS:O}=A("core/i18n/cs.js"),{DA:b}=A("core/i18n/da.js"),{DE:N}=A("core/i18n/de.js"),{DE_CH:z}=A("core/i18n/de-CH.js"),{DZ:d}=A("core/i18n/dz.js"),{EL:p}=A("core/i18n/el.js"),{ES:a}=A("core/i18n/es.js"),{ET:g}=A("core/i18n/et.js"),{FI:v}=A("core/i18n/fi.js"),{FR:H}=A("core/i18n/fr.js"),{HR:S}=A("core/i18n/hr.js"),{HU:C}=A("core/i18n/hu.js"),{IT:$}=A("core/i18n/it.js"),{LT:E}=A("core/i18n/lt.js"),{LV:D}=A("core/i18n/lv.js"),{NB:e}=A("core/i18n/nb.js"),{NL:m}=A("core/i18n/nl.js"),{PL:y}=A("core/i18n/pl.js"),{PT:f}=A("core/i18n/pt.js"),{RO:w}=A("core/i18n/ro.js"),{RU:L}=A("core/i18n/ru.js"),{SK:F}=A("core/i18n/sk.js"),{SL:Y}=A("core/i18n/sl.js"),{SV:Q}=A("core/i18n/sv.js"),{TR:R}=A("core/i18n/tr.js"),{UK:_}=A("core/i18n/uk.js");Object.assign(V,{LOCALE_TABLES:{en:W,ar:q,bg:ie,bn:K,ca:k,cs:O,da:b,de:N,"de-CH":z,dz:d,el:p,es:a,et:g,fi:v,fr:H,hr:S,hu:C,it:$,lt:E,lv:D,nb:e,nl:m,pl:y,pt:f,ro:w,ru:L,sk:F,sl:Y,sv:Q,tr:R,uk:_}})},re["core/i18n/tr.js"]=function(ne,V,A){Object.assign(V,{TR:{"action.undoHint":"Geri al — ⌘Z","action.redoHint":"Yinele — ⌘⇧Z","action.chromeToDark":"Koyu","action.chromeToLight":"Açık","action.chromeHint":"Düzenleyici teması açık / koyu","action.chromeHintToDark":"Koyu mod","action.chromeHintToLight":"Açık mod","action.aiDraft":"Taslak","action.aiDraftHint":"E-posta içeriğini yapay zekâ ile yaz","action.code":"Kod","action.codeHint":"Ham HTML’yi canlı önizlemeyle düzenle","action.preview":"Önizleme","action.previewHint":"E-postayı önizleyin","action.export":"Dışa aktar","action.exportHint":"E-postanızı dışa aktarın","device.desktop":"Masaüstü","device.desktopHint":"Masaüstü genişliği","device.mobile":"Mobil","device.mobileHint":"Mobil genişliği","status.autosaveOn":"otomatik kayıt açık","status.saved":"kaydedildi {time}","status.saveFailed":"kaydedilmedi — depolama alanı dolu","canvas.meta":"{rows} satır · {blocks} blok · {width}px","tab.design":"Stil","tab.designHint":"Seçimi biçimlendir","tab.blocks":"Bloklar","tab.blocksHint":"İçerik blokları ve değişkenler","tab.rows":"Bölümler","tab.rowsHint":"Bölüm düzenleri ve tuval modeli","tab.files":"Dosyalar","tab.filesHint":"Varlık kitaplığı","tab.layers":"Yapı","tab.layersHint":"Belge yapısı","tab.settings":"Ayarlar","tab.settingsHint":"E-posta ayarları","tab.data":"Değ.","tab.dataHint":"Kodunuz tarafından sağlanan değişkenler","inspector.blockProperties":"Blok özellikleri","inspector.sectionProperties":"Bölüm özellikleri","inspector.title":"Denetçi","inspector.sectionLabel":"Bölüm","inspector.nothingSelected":"Hiçbir şey seçilmedi","action.duplicateHint":"Çoğalt — ⌘D","action.deleteHint":"Sil — ⌫","inspector.emptyBody":'Burada biçimlendirmek için tuval üzerinde bir satır veya blok seçin. Blokları <strong style="color: var(--ed-text); font-weight: 600;">Bloklar</strong> sekmesinden sürükleyin; herhangi bir metni doğrudan düzenlemek için üzerine çift tıklayın.',"inspector.shortcuts":"Kısayollar","shortcut.undoRedo":"⌘Z / ⌘⇧Z — geri al, yinele","shortcut.duplicate":"⌘D — seçimi çoğalt","shortcut.delete":"⌫ — seçimi sil","shortcut.export":"⌘E — HTML dışa aktar","shortcut.escape":"ESC — seçimi kaldır, kapat","blocks.dragHint":"Tuvale sürükleyin","blocks.count":"{count} blok","rows.sectionLayouts":"Bölüm düzenleri","rows.customMarkup":"Özel işaretleme","rows.htmlRowHint":"Eklemek için sürükleyin veya eklemek için tıklayın — ham HTML ile doldurduğunuz tam genişlikte bir satır","rows.rawHtmlSection":"Ham HTML bölümü","rows.rawHtmlDesc":"Tam genişlikte bölüm, kendi işaretlemeniz, hâlâ sürüklenebilir","rows.canvasModel":"Tuval modeli","rows.modeRowBased":"Satır tabanlı","rows.modeFreeStack":"Serbest yığın","rows.hintRows":"Bölüm tabanlı: önce bir düzen bırakın, ardından sütunlarına bloklar bırakın — her bölümün kendi arka planı, kenarlığı, flex veya ızgara ayarları vardır.","rows.hintStack":"Serbest yığın: düzen olmadan — bıraktığınız her blok, sırayla istiflenen kendi tam genişlikteki bölümü haline gelir.","files.libraryCount":"Kitaplık — {count} dosya","files.openManager":"Dosya yöneticisini aç","files.dragToCanvas":"Görsel blok olarak yerleştirmek için herhangi bir dosyayı doğrudan tuvale sürükleyin.","layers.structure":"Yapı","layers.sectionSingle":"Bölüm","layers.sectionMulti":"Bölüm · {count} sütun","layers.column":"Sütun {index}","layers.blockCount":"{count} blok","vars.title":"Değişkenler","vars.fromCode":"Kodunuzdan {count}","vars.declaredNote":"Uygulamanız tarafından tanımlandı — tuval her zaman değeri değil, jetonu gösterir.","vars.filterPlaceholder":"Değişkenleri filtrele…","vars.insertHint":"Seçili metne, başlığa veya düğmeye eklemek için tıklayın","vars.insert":"ekle","vars.noMatch":"Bu filtreyle eşleşen değişken yok.","vars.noneDeclared":"Uygulamanız henüz herhangi bir değişken tanımlamadı.","vars.rteHint":"Metni düzenlerken, satır içi araç çubuğunun açılır menüsünden doğrudan bir değişken de seçebilirsiniz.","modal.fileManager":"Dosya yöneticisi","modal.assetsTitle":"Varlıklar","modal.replaceImage":"Görseli değiştir","library.searchPlaceholder":"Dosyaları ara…","action.upload":"Yükle","library.clickToPlace":"Yerleştirmek için bir dosyaya tıklayın · veya bir dosyayı tuvale sürükleyin","library.clickToReplace":"Seçili görseli değiştirmek için bir dosyaya tıklayın","library.storageLabel":"{count} dosya · {size}","library.folders":"Klasörler","library.dropHint":"Yüklemek için görsel dosyalarını buraya bırakın — veya Yükle düğmesini kullanın.","library.deleteFileHint":"Dosyayı sil","library.del":"SİL","toast.assetDeleted":"{name} silindi","library.allFiles":"Tüm dosyalar","library.loadMore":"Daha fazla yükle","library.empty":"Burada henüz dosya yok.","storage.loading":"Dosyalar yükleniyor…","storage.uploading":"{count} yükleniyor…","storage.errLoadFailed":"Dosya kitaplığı yüklenemedi — {reason}","storage.errNoLimits":"Yüklemeler kapalı: bu uygulama hiçbir yükleme sınırı belirlemedi.","storage.errNoMaxBytes":"Yüklemeler kapalı: en büyük dosya boyutu belirlenmedi.","storage.errTooLarge":"{name} {size} — sınır {max}.","storage.errFormat":"{name} bir {type} dosyası ve burada izin verilmiyor.","storage.errSvg":"{name} bir SVG ve bu uygulama SVG kabul etmiyor.","storage.errDimensions":"{name} {w}×{ht}px — sınır {maxW}×{maxH}px.","storage.errTooMany":"Bir seferde yalnızca {max} dosya yüklenebilir.","storage.errUnreadable":"{name} okunabilir bir görsel değil.","storage.errUploadFailed":"{name} yüklenemedi — {reason}","storage.errDeleteFailed":"{name} silinemedi — {reason}","modal.export":"Dışa aktar","modal.exportTitle":"Tabloya dayalı e-posta HTML’si","export.copy":"Kopyala","export.copied":"Kopyalandı","action.download":"İndir","export.meta":"{kb} KB · tablolar + satır içi stiller · Outlook için güvenli genişlikler","modal.rawHtmlTitle":"Ham HTML, canlı önizleme","code.statusEdited":"Kod görünümü — düzenlendi — önizleme canlı, henüz uygulanmadı","code.statusSynced":"Kod görünümü — tuvalle senkronize","action.reload":"Yeniden yükle","action.reloadHint":"Kaynağı tuvalden yeniden yükle","action.applyToCanvas":"Tuvale uygula","action.applyToCanvasHint":"Kaynağı tekrar düzenlenebilir satırlara ayrıştır","action.closeWithoutApplyingHint":"Uygulamadan kapat","code.source":"Kaynak","code.livePreview":"Canlı önizleme","code.liveHtmlPreviewTitle":"Canlı HTML önizlemesi","code.applyNote":"Uygulama, en üst düzey her tablo satırını, hâlâ seçebileceğiniz, yeniden sıralayabileceğiniz ve silebileceğiniz bir tuval satırına ayrıştırır — elle yazılmış kod bu süreçten değişmeden çıkar.","code.meta":"{kb} KB · {lines} satır","toast.sourceReloaded":"Kaynak tuvalden yeniden yüklendi","toast.sourceAppliedOne":"Kaynak uygulandı — tuvalde 1 satır","toast.sourceAppliedMany":"Kaynak uygulandı — tuvalde {rows} satır","toast.parseError":"Bu HTML ayrıştırılamadı","modal.aiDraft":"Yapay zekâ yazma asistanı","modal.aiDraftTitle":"E-postanızı yapay zekâ ile yazın","ai.disclosure":"Yapay zekâ, özetinizden öneriler üretir. Göndermeden önce sonucu gözden geçirin ve düzenleyin.","ai.goal":"Hedef","ai.tone":"Ton","ai.briefLabel":"Bu e-posta ne hakkında?","ai.briefPlaceholder":"örn. Sonbahar koleksiyonu, aboneler için %15, 150₺ üzeri ücretsiz kargo","ai.generate":"Metin oluştur","ai.writing":"Yazılıyor…","ai.kindHeadline":"Başlık","ai.kindBody":"Gövde metni","ai.kindButton":"Düğme metni","ai.actionInsertHeading":"Başlık olarak ekle","ai.actionInsertText":"Metin bloğu olarak ekle","ai.actionInsertButton":"Düğme olarak ekle","toast.headingAdded":"Başlık eklendi","toast.textBlockAdded":"Metin bloğu eklendi","toast.buttonAdded":"Düğme eklendi","preview.kickerMobile":"Önizleme — mobil 375px","preview.kickerDesktop":"Önizleme — masaüstü {width}px","action.close":"Kapat","toast.duplicated":"Çoğaltıldı","toast.fileUploadedOne":"1 dosya yüklendi","toast.fileUploadedMany":"{count} dosya yüklendi","toast.imageReplaced":"Görsel değiştirildi","toast.imageAdded":"Görsel tuvale eklendi","toast.htmlCopied":"HTML panoya kopyalandı","toast.templateLoaded":"{name} yüklendi","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eklendi","toast.snippetCopied":"{name} kopyalandı — eklemek için bir metin bloğu seçin","rte.textStyle":"Metin stili","rte.mergeTags":"Birleştirme alanları","rte.noMergeTags":"Kullanılabilir birleştirme alanı yok","rte.textColor":"Metin rengi","rte.highlightColor":"Vurgu rengi","rte.removeHighlight":"Vurguyu kaldır","rte.clearFormatting":"Biçimlendirmeyi temizle","action.downloadPng":"PNG indir","action.screenshot":"Ekran görüntüsü","action.screenshotHint":"Şablonun tamamını görsel olarak görün, sonra indirin","toast.pngSaved":"Ekran görüntüsü indirildi","toast.pngFailed":"Ekran görüntüsü alınamadı — dış bir görsel yüklenemedi","toast.pngCopied":"Ekran görüntüsü panoya kopyalandı","toast.pngCopyFailed":"Bu tarayıcı panoya görsel almayı kabul etmedi","story.kicker":"Ekran görüntüsü","story.rendering":"Ekran görüntüsü oluşturuluyor","story.renderingHint":"Her blok 2× çiziliyor — uzun bir şablonda bu biraz sürer.","story.failed":"Ekran görüntüsü alınamadı","story.failedHint":"Şablondaki bir görsel, yakalama için yüklenemedi.","story.retry":"Yeniden deneyin","story.play":"Oynat","story.pause":"Duraklat","story.replay":"Yeniden oynat","story.copy":"Kopyala","story.meta":"{w}×{h} · ekran {i}/{n}","footer.poweredBy":"SELISE Blocks tarafından desteklenir © 2026"}})},re["core/i18n/uk.js"]=function(ne,V,A){Object.assign(V,{UK:{"action.undoHint":"Скасувати — ⌘Z","action.redoHint":"Повторити — ⌘⇧Z","action.chromeToDark":"Темна","action.chromeToLight":"Світла","action.chromeHint":"Тема редактора світла / темна","action.chromeHintToDark":"Темний режим","action.chromeHintToLight":"Світлий режим","action.aiDraft":"Чернетка","action.aiDraftHint":"Написати вміст листа за допомогою ШІ","action.code":"Код","action.codeHint":"Редагувати вихідний HTML із живим переглядом","action.preview":"Перегляд","action.previewHint":"Переглянути лист","action.export":"Експорт","action.exportHint":"Експортувати ваш лист","device.desktop":"Комп’ютер","device.desktopHint":"Ширина для комп’ютера","device.mobile":"Телефон","device.mobileHint":"Ширина для телефона","status.autosaveOn":"автозбереження увімкнено","status.saved":"збережено {time}","status.saveFailed":"не збережено — сховище заповнено","canvas.meta":"{rows} рядків · {blocks} блоків · {width}px","tab.design":"Стиль","tab.designHint":"Оформити виділене","tab.blocks":"Блоки","tab.blocksHint":"Блоки вмісту та змінні","tab.rows":"Секції","tab.rowsHint":"Макети секцій і модель полотна","tab.files":"Файли","tab.filesHint":"Бібліотека файлів","tab.layers":"Структура","tab.layersHint":"Структура документа","tab.settings":"Налаштування","tab.settingsHint":"Налаштування листа","tab.data":"Змін.","tab.dataHint":"Змінні, надані вашим кодом","inspector.blockProperties":"Властивості блока","inspector.sectionProperties":"Властивості секції","inspector.title":"Інспектор","inspector.sectionLabel":"Секція","inspector.nothingSelected":"Нічого не вибрано","action.duplicateHint":"Дублювати — ⌘D","action.deleteHint":"Видалити — ⌫","inspector.emptyBody":'Виберіть рядок або блок на полотні, щоб оформити його тут. Перетягніть блоки з вкладки <strong style="color: var(--ed-text); font-weight: 600;">Блоки</strong>; двічі клацніть текст, щоб редагувати його на місці.',"inspector.shortcuts":"Гарячі клавіші","shortcut.undoRedo":"⌘Z / ⌘⇧Z — скасувати, повторити","shortcut.duplicate":"⌘D — дублювати виділене","shortcut.delete":"⌫ — видалити виділене","shortcut.export":"⌘E — експортувати HTML","shortcut.escape":"ESC — зняти виділення, закрити","blocks.dragHint":"Перетягніть на полотно","blocks.count":"{count} блоків","rows.sectionLayouts":"Макети секцій","rows.customMarkup":"Власна розмітка","rows.htmlRowHint":"Перетягніть, щоб вставити, або клацніть, щоб додати — рядок на всю ширину, який ви заповнюєте вихідним HTML","rows.rawHtmlSection":"Секція з вихідним HTML","rows.rawHtmlDesc":"Секція на всю ширину, ваша власна розмітка, все ще перетягується","rows.canvasModel":"Модель полотна","rows.modeRowBased":"На основі рядків","rows.modeFreeStack":"Вільний стек","rows.hintRows":"На основі секцій: спочатку розмістіть макет, потім блоки в його колонках — кожна секція має власний фон, межу, налаштування flex або сітки.","rows.hintStack":"Вільний стек: без макетів — кожен доданий блок стає власною секцією на всю ширину, укладеною по порядку.","files.libraryCount":"Бібліотека — {count} файлів","files.openManager":"Відкрити файловий менеджер","files.dragToCanvas":"Перетягніть будь-який файл прямо на полотно, щоб розмістити його як блок зображення.","layers.structure":"Структура","layers.sectionSingle":"Секція","layers.sectionMulti":"Секція · {count} кол.","layers.column":"Колонка {index}","layers.blockCount":"{count} бл.","vars.title":"Змінні","vars.fromCode":"{count} з вашого коду","vars.declaredNote":"Оголошені вашим застосунком — полотно завжди показує токен, ніколи значення.","vars.filterPlaceholder":"Фільтр змінних…","vars.insertHint":"Натисніть, щоб вставити у вибраний текст, заголовок або кнопку","vars.insert":"вставити","vars.noMatch":"Немає змінних, що відповідають цьому фільтру.","vars.noneDeclared":"Ваш застосунок ще не оголосив жодних змінних.","vars.rteHint":"Під час редагування тексту ви також можете вибрати змінну прямо з випадного списку вбудованої панелі інструментів.","modal.fileManager":"Файловий менеджер","modal.assetsTitle":"Файли","modal.replaceImage":"Замінити зображення","library.searchPlaceholder":"Пошук файлів…","action.upload":"Завантажити","library.clickToPlace":"Натисніть на файл, щоб розмістити · або перетягніть файл на полотно","library.clickToReplace":"Натисніть на файл, щоб замінити вибране зображення","library.storageLabel":"{count} файлів · {size}","library.folders":"Папки","library.dropHint":"Перетягніть файли зображень сюди для завантаження — або скористайтеся кнопкою «Завантажити».","library.deleteFileHint":"Видалити файл","library.del":"ВИДАЛ","toast.assetDeleted":"{name} видалено","library.allFiles":"Усі файли","library.loadMore":"Завантажити ще","library.empty":"Тут ще немає файлів.","storage.loading":"Завантаження файлів…","storage.uploading":"Завантаження {count}…","storage.errLoadFailed":"Не вдалося завантажити бібліотеку файлів — {reason}","storage.errNoLimits":"Завантаження вимкнено: цей застосунок не задав обмежень на завантаження.","storage.errNoMaxBytes":"Завантаження вимкнено: не задано максимальний розмір файлу.","storage.errTooLarge":"{name} важить {size} — обмеження {max}.","storage.errFormat":"{name} — файл {type}, який тут не дозволено.","storage.errSvg":"{name} — SVG, який цей застосунок не приймає.","storage.errDimensions":"{name} має {w}×{ht}px — обмеження {maxW}×{maxH}px.","storage.errTooMany":"За один раз можна завантажити лише {max} файлів.","storage.errUnreadable":"{name} не є придатним для читання зображенням.","storage.errUploadFailed":"Не вдалося завантажити {name} — {reason}","storage.errDeleteFailed":"Не вдалося видалити {name} — {reason}","modal.export":"Експорт","modal.exportTitle":"HTML листа на основі таблиць","export.copy":"Копіювати","export.copied":"Скопійовано","action.download":"Завантажити","export.meta":"{kb} КБ · таблиці + вбудовані стилі · ширини, безпечні для Outlook","modal.rawHtmlTitle":"Вихідний HTML, живий перегляд","code.statusEdited":"Перегляд коду — змінено — перегляд наживо, ще не застосовано","code.statusSynced":"Перегляд коду — синхронізовано з полотном","action.reload":"Оновити","action.reloadHint":"Оновити джерело з полотна","action.applyToCanvas":"Застосувати до полотна","action.applyToCanvasHint":"Розібрати джерело назад у редаговані рядки","action.closeWithoutApplyingHint":"Закрити без застосування","code.source":"Джерело","code.livePreview":"Живий перегляд","code.liveHtmlPreviewTitle":"Живий перегляд HTML","code.applyNote":"Застосування розбирає кожен рядок таблиці верхнього рівня в рядок полотна, який ви все ще можете вибирати, переупорядковувати та видаляти — розмітка, написана вручну, переживає цей процес.","code.meta":"{kb} КБ · {lines} рядків","toast.sourceReloaded":"Джерело оновлено з полотна","toast.sourceAppliedOne":"Джерело застосовано — 1 рядок на полотні","toast.sourceAppliedMany":"Джерело застосовано — {rows} рядків на полотні","toast.parseError":"Не вдалося розібрати цей HTML","modal.aiDraft":"ШІ-помічник із написання","modal.aiDraftTitle":"Напишіть свій лист за допомогою ШІ","ai.disclosure":"ШІ створює пропозиції за вашим брифом. Перегляньте та відредагуйте результат перед надсиланням.","ai.goal":"Мета","ai.tone":"Тон","ai.briefLabel":"Про що цей лист?","ai.briefPlaceholder":"напр. Осіння колекція, 15% для підписників, безкоштовна доставка від 150$","ai.generate":"Згенерувати текст","ai.writing":"Пишемо…","ai.kindHeadline":"Заголовок","ai.kindBody":"Основний текст","ai.kindButton":"Текст кнопки","ai.actionInsertHeading":"Вставити як заголовок","ai.actionInsertText":"Вставити як текстовий блок","ai.actionInsertButton":"Вставити як кнопку","toast.headingAdded":"Заголовок додано","toast.textBlockAdded":"Текстовий блок додано","toast.buttonAdded":"Кнопку додано","preview.kickerMobile":"Перегляд — телефон 375px","preview.kickerDesktop":"Перегляд — комп’ютер {width}px","action.close":"Закрити","toast.duplicated":"Продубльовано","toast.fileUploadedOne":"Завантажено 1 файл","toast.fileUploadedMany":"Завантажено файлів: {count}","toast.imageReplaced":"Зображення замінено","toast.imageAdded":"Зображення додано на полотно","toast.htmlCopied":"HTML скопійовано в буфер обміну","toast.templateLoaded":"{name} завантажено","toast.snippetDefaultLabel":"Фрагмент","toast.snippetInserted":"{name} вставлено","toast.snippetCopied":"{name} скопійовано — виберіть текстовий блок, щоб вставити","rte.textStyle":"Стиль тексту","rte.mergeTags":"Поля злиття","rte.noMergeTags":"Полів злиття немає","rte.textColor":"Колір тексту","rte.highlightColor":"Колір виділення","rte.removeHighlight":"Прибрати виділення","rte.clearFormatting":"Очистити форматування","action.downloadPng":"Завантажити PNG","action.screenshot":"Знімок екрана","action.screenshotHint":"Переглянути весь шаблон як зображення та завантажити його","toast.pngSaved":"Знімок завантажено","toast.pngFailed":"Знімок не вдався — не вдалося завантажити зовнішнє зображення","toast.pngCopied":"Знімок скопійовано в буфер обміну","toast.pngCopyFailed":"Цей браузер не прийняв зображення в буфер обміну","story.kicker":"Знімок екрана","story.rendering":"Створення знімка","story.renderingHint":"Кожен блок малюється в 2× — на довгому шаблоні це триває мить.","story.failed":"Знімок не вдався","story.failedHint":"Зображення в шаблоні не вдалося завантажити для знімка.","story.retry":"Спробувати ще раз","story.play":"Відтворити","story.pause":"Пауза","story.replay":"Відтворити ще раз","story.copy":"Копіювати","story.meta":"{w}×{h} · екран {i} з {n}","footer.poweredBy":"Працює на SELISE Blocks © 2026"}})},re["core/icons.js"]=function(ne,V,A){const W={text:["M4 6h16","M4 12h12","M4 18h9"],image:[["rect",3,4,18,16],["circle",8.5,9.5,1.5],"M3 17l5-5 4 4 3-3 6 6"],folder:["M3 7h7l2 2h9v10H3z","M3 7V5h7l2 2"],button:[["rect",3,8,18,8],"M8 12h8"],divider:["M3 12h18","M6 7h12","M6 17h12"],spacer:["M3 5h18","M3 19h18","M12 9v6","M9.5 11.5L12 9l2.5 2.5","M9.5 12.5L12 15l2.5-2.5"],social:[["rect",3,9,5,6],["rect",9.5,9,5,6],["rect",16,9,5,6]],video:[["rect",3,5,18,14],"M10 9.5l5 2.5-5 2.5z"],html:["M9 8l-4 4 4 4","M15 8l4 4-4 4"],product:[["rect",3,6,18,14],"M3 11h18","M9 6v5"],countdown:[["circle",12,13,8],"M12 9.5V13l2.5 1.5","M9 3h6"],menu:[["rect",3,4,18,5],"M6 14h5","M13 14h5","M6 18h12"],grip:[["circle",9,7,1],["circle",15,7,1],["circle",9,12,1],["circle",15,12,1],["circle",9,17,1],["circle",15,17,1]],move:["M12 3v18","M3 12h18","M9.5 5.5L12 3l2.5 2.5","M9.5 18.5L12 21l2.5-2.5","M5.5 9.5L3 12l2.5 2.5","M18.5 9.5L21 12l-2.5 2.5"],sliders:["M4 7h9","M19 7h1",["circle",16,7,2.2],"M4 17h3","M13 17h7",["circle",10,17,2.2]],footer:[["rect",3,4,18,16],"M3 15h18","M7 19h6"],up:["M12 19V5","M6 11l6-6 6 6"],down:["M12 5v14","M6 13l6 6 6-6"],copy:[["rect",9,9,12,12],"M15 5H5a2 2 0 0 0-2 2v10"],trash:["M4 7h16","M9 7V5h6v2","M6 7l1 12h10l1-12"],undo:["M3 8h11a5 5 0 0 1 0 10H8","M7 4L3 8l4 4"],redo:["M21 8H10a5 5 0 0 0 0 10h6","M17 4l4 4-4 4"],eye:["M2 12s3.6-6 10-6 10 6 10 6-3.6 6-10 6-10-6-10-6z",["circle",12,12,3]],monitor:[["rect",3,4,18,13],"M8 21h8","M12 17v4"],phone:[["rect",7,2,10,20],"M10.5 5h3","M11.5 19h1"],download:["M12 4v11","M7.5 11L12 15.5 16.5 11","M4 20h16"],upload:["M12 20V9","M7.5 13.5L12 9l4.5 4.5","M4 4h16"],moon:["M20 14.5A8.5 8.5 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z"],sun:[["circle",12,12,4.2],"M12 3v2","M12 19v2","M3 12h2","M19 12h2","M5.6 5.6l1.4 1.4","M17 17l1.4 1.4","M18.4 5.6L17 7","M7 17l-1.4 1.4"],spark:["M12 4l1.7 4.8L18.5 10.5l-4.8 1.7L12 17l-1.7-4.8L5.5 10.5l4.8-1.7z","M18 17l.8 2.2L21 20l-2.2.8L18 23l-.8-2.2L15 20l2.2-.8z"],code:["M8 7l-5 5 5 5","M16 7l5 5-5 5","M13 5l-2 14"],bold:["M7 5h6a3.5 3.5 0 0 1 0 7H7z","M7 12h7a3.5 3.5 0 0 1 0 7H7z"],italic:["M15 5h-4","M13 19H9","M14 5l-3 14"],underline:["M7 4v7a5 5 0 0 0 10 0V4","M6 20h12"],strike:["M4 12h16","M8 7a4 3 0 0 1 8 0","M8 16a4 3 0 0 0 8 0"],link:["M10 13a4 4 0 0 0 6 .5l2-2a4 4 0 0 0-5.5-5.5l-1 1","M14 11a4 4 0 0 0-6-.5l-2 2A4 4 0 0 0 11.5 18l1-1"],list:["M9 6h11","M9 12h11","M9 18h11","M4.5 6h.6","M4.5 12h.6","M4.5 18h.6"],clear:["M6 6l12 12","M18 6L6 18"],tag:["M4 8h4","M4 16h4","M20 8h-4","M20 16h-4","M10 5l4 14"],play:["M8 5.5l10 6.5-10 6.5z"],pause:["M9.5 5v14","M14.5 5v14"],refresh:["M20 11a8 8 0 1 0-2.3 6.3","M20 5v6h-6"],check:["M4 12.5l5 5L20 7"],plus:["M12 5v14","M5 12h14"],minus:["M5 12h14"],superscript:["M4 18 9 6l5 12","M6 14h6","M16 5h4l-4 5h4"],subscript:["M4 16 9 4l5 12","M6 12h6","M16 15h4l-4 5h4"],typeColor:["M5 18 11 5h2l6 13","M7.5 13h9","M4 21h16"],highlighter:["M7 15 16 6l3 3-9 9z","M5 17l2 2","M4 21h16"],eraser:["M4 16 13 7l5 5-8 8H6z","M12 20h8"],formatClear:["M5 18 11 5h2l4 9","M7.5 13h7","M16 17l5 5","M21 17l-5 5"],chevronDown:["M7 9l5 5 5-5"],x:["M4 4l16 16","M20 4L4 20"],instagram:[["rect",3,3,18,18],["circle",12,12,4],["circle",17,7,.9]],linkedin:[["rect",3,3,18,18],"M8 10v7",["circle",8,7.2,.9],"M12 17v-4a2.5 2.5 0 0 1 5 0v4"],facebook:[["rect",3,3,18,18],"M15 8h-1.5A2.5 2.5 0 0 0 11 10.5V21","M8.5 13h5"],youtube:[["rect",2.5,6,19,12],"M11 10l4 2-4 2z"],mail:[["rect",3,5,18,14],"M3 7l9 6 9-6"],mailSpark:[["rect",3,6,16,12],"M4 8l7 5 7-5","M21 3v4","M19 5h4"],globe:[["circle",12,12,9],"M3 12h18","M12 3a15 15 0 0 1 0 18","M12 3a15 15 0 0 0 0 18"],heading:["M6 5v14","M18 5v14","M6 12h12"],quote:[["rect",4,6,5,5],["rect",15,6,5,5],"M9 11c0 4-1.7 5.7-5 6.4","M20 11c0 4-1.7 5.7-5 6.4"],table:[["rect",3,4,18,16],"M3 9h18","M3 14.5h18","M9 9v11","M15 9v11"],card:[["rect",3,4,18,16],"M3 12h18","M7 16h8"],hero:[["rect",3,4,18,16],"M6 11h12","M6 15h6",["rect",14.5,13.5,4,3]],stats:["M5 19v-7","M12 19V5","M19 19v-4","M3 19h18"],gallery:[["rect",3,4,7.5,7.5],["rect",13.5,4,7.5,7.5],["rect",3,12.5,7.5,7.5],["rect",13.5,12.5,7.5,7.5]],embed:[["rect",2.5,5,19,14],"M2.5 9h19","M10.5 11.5l3.5 2-3.5 2z"],css:["M5 4h14l-1.5 15L12 21l-5.5-2z","M8.5 9h7","M9 13h5"],codeblock:[["rect",3,4,18,16],"M9.5 10l-2 2 2 2","M14.5 10l2 2-2 2"],data:["M4 6c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z","M4 6v12c0 1.7 3.6 3 8 3s8-1.3 8-3V6","M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"],condition:["M12 4v5","M12 9c0 4-5.5 3-5.5 9","M12 9c0 4 5.5 3 5.5 9","M4.5 15.5L6.5 18l2-2.5","M15.5 15.5l2 2.5 2-2.5"],loop:["M17 3l4 4-4 4","M3 11V9a2 2 0 0 1 2-2h16","M7 21l-4-4 4-4","M21 13v2a2 2 0 0 1-2 2H3"],box:[["rect",3,4,18,16],["rect",7,8,10,8]],grid:[["rect",3,5,8,14],["rect",13,5,8,14]],svg:["M4 19L10 5l4 9 2-3 4 8z",["circle",7.5,7.5,2]],form:[["rect",3,5,18,5],["rect",3,13,11,5],"M17 15.5h4"],script:["M9 5H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h3","M15 5h3a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-3","M13 8l-2 8"],anchor:[["circle",12,6,2.5],"M12 8.5V20","M5 14a7 7 0 0 0 14 0"],paint:["M5 11V6a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5H5z","M5 11h13","M11 11v4","M9 15h4v5H9z"],alignLeft:["M4 6h16","M4 12h10","M4 18h13"],alignCenter:["M4 6h16","M7 12h10","M6 18h12"],alignRight:["M4 6h16","M10 12h10","M7 18h13"],alignJustify:["M4 6h16","M4 12h16","M4 18h16"],listOrdered:["M9 6h11","M9 12h11","M9 18h11","M4 5.5h1.5V9","M4 15h2v3H4"],indent:["M11 6h9","M11 12h9","M11 18h9","M4 9l3 3-3 3"],outdent:["M11 6h9","M11 12h9","M11 18h9","M7 9l-3 3 3 3"],unlink:["M10 13a4 4 0 0 0 4.6 1.4","M14 11a4 4 0 0 0-4.6-1.4","M4 4l16 16"],inlineCode:["M8.5 9l-3 3 3 3","M15.5 9l3 3-3 3"],tiktok:[["circle",9,16,3],"M12 16V4","M12 6c1.5 1.5 3 2 5 2v2"],pinterest:[["circle",12,12,9],"M9 16c1-2 1.5-4 2-7a2.2 2.2 0 1 1 4.4 0.3c-0.2 2-1.4 3.7-3.4 3.7"],snapchat:["M12 4c3 0 5 2.2 5 5.2 0 1 0.2 2 0.8 2.6 0.6 0.6 1.2 0.8 1.2 1.4 0 0.8-1 1-1.8 1.2-0.2 1 0.4 1.6 1.4 1.8-0.2 0.8-1.4 1-2.2 1-0.6 1.6-2 2.6-4.4 2.6s-3.8-1-4.4-2.6c-0.8 0-2-0.2-2.2-1 1-0.2 1.6-0.8 1.4-1.8-0.8-0.2-1.8-0.4-1.8-1.2 0-0.6 0.6-0.8 1.2-1.4 0.6-0.6 0.8-1.6 0.8-2.6C7 6.2 9 4 12 4z"],whatsapp:[["circle",12,12,9],"M8.5 15.5l0.8-2.8a5 5 0 1 1 2.9 2.6z"],threads:["M8 8c-2 1-3 3-3 5.5 0 3.5 2.5 5.5 6 5.5 3 0 5-1.5 5-4 0-1.8-1.2-3-3-3.3 1.3-0.3 2.2-1.2 2.2-2.5 0-1.8-1.7-3-4-3-2 0-3.3 0.8-4 2"],discord:["M7 8c3-1.3 7-1.3 10 0","M6 9c-1.5 3-2 6-1.5 8.5 1.8 1.3 3.5 2 3.5 2l1-1.7c-0.6-0.2-1.2-0.5-1.7-0.8","M18 9c1.5 3 2 6 1.5 8.5-1.8 1.3-3.5 2-3.5 2l-1-1.7c0.6-0.2 1.2-0.5 1.7-0.8",["circle",9,13,1.1],["circle",15,13,1.1]],telegram:[["circle",12,12,9],"M7.5 12.3l9-4.3-3 9-2.3-3.2-2 1.7-0.2-2.7z"],reddit:[["circle",12,14,6],"M12 8V5",["circle",12,4.3,.9],["circle",9.5,14,1],["circle",14.5,14,1],"M9 17c1 1 5 1 6 0"],spotify:[["circle",12,12,9],"M7.5 10c3-1 6-1 9 0","M7.8 13c2.5-0.8 5-0.8 7.5 0","M8.2 16c2-0.6 4-0.6 6 0"],behance:["M4 7h6a2.5 2.5 0 0 1 0 5H4z","M4 12h6.5a2.7 2.7 0 0 1 0 5.4H4z","M14 12a4 4 0 0 1 8 0","M14 14h8","M15.5 9h5"],dribbble:[["circle",12,12,9],"M4 10c4 1.2 12 1.2 16.5 0","M8.5 4.5c2.5 3 5 8.5 5 14.5","M9 20c2-4 7-6 11.5-5"]},q={behance:"M16.969 16.927a2.561 2.561 0 0 0 1.901.677 2.501 2.501 0 0 0 1.531-.475c.362-.235.636-.584.779-.99h2.585a5.091 5.091 0 0 1-1.9 2.896 5.292 5.292 0 0 1-3.091.88 5.839 5.839 0 0 1-2.284-.433 4.871 4.871 0 0 1-1.723-1.211 5.657 5.657 0 0 1-1.08-1.874 7.057 7.057 0 0 1-.383-2.393c-.005-.8.129-1.595.396-2.349a5.313 5.313 0 0 1 5.088-3.604 4.87 4.87 0 0 1 2.376.563c.661.362 1.231.87 1.668 1.485a6.2 6.2 0 0 1 .943 2.133c.194.821.263 1.666.205 2.508h-7.699c-.063.79.184 1.574.688 2.187ZM6.947 4.084a8.065 8.065 0 0 1 1.928.198 4.29 4.29 0 0 1 1.49.638c.418.303.748.711.958 1.182.241.579.357 1.203.341 1.83a3.506 3.506 0 0 1-.506 1.961 3.726 3.726 0 0 1-1.503 1.287 3.588 3.588 0 0 1 2.027 1.437c.464.747.697 1.615.67 2.494a4.593 4.593 0 0 1-.423 2.032 3.945 3.945 0 0 1-1.163 1.413 5.114 5.114 0 0 1-1.683.807 7.135 7.135 0 0 1-1.928.259H0V4.084h6.947Zm-.235 12.9c.308.004.616-.029.916-.099a2.18 2.18 0 0 0 .766-.332c.228-.158.411-.371.534-.619.142-.317.208-.663.191-1.009a2.08 2.08 0 0 0-.642-1.715 2.618 2.618 0 0 0-1.696-.505h-3.54v4.279h3.471Zm13.635-5.967a2.13 2.13 0 0 0-1.654-.619 2.336 2.336 0 0 0-1.163.259 2.474 2.474 0 0 0-.738.62 2.359 2.359 0 0 0-.396.792c-.074.239-.12.485-.137.734h4.769a3.239 3.239 0 0 0-.679-1.785l-.002-.001Zm-13.813-.648a2.254 2.254 0 0 0 1.423-.433c.399-.355.607-.88.56-1.413a1.916 1.916 0 0 0-.178-.891 1.298 1.298 0 0 0-.495-.533 1.851 1.851 0 0 0-.711-.274 3.966 3.966 0 0 0-.835-.073H3.241v3.631h3.293v-.014ZM21.62 5.122h-5.976v1.527h5.976V5.122Z",discord:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z",dribbble:"M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12-5.385 12-12 12zm10.12-10.358c-.35-.11-3.17-.953-6.384-.438 1.34 3.684 1.887 6.684 1.992 7.308 2.3-1.555 3.936-4.02 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4 1.73 1.358 3.92 2.166 6.29 2.166 1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765.135-.045.27-.084.405-.12-.26-.585-.54-1.167-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248-1.698-3.018-3.53-5.558-3.8-5.928-2.868 1.35-5.01 3.99-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6 3.645-1.365 5.19-3.44 5.373-3.702-1.81-1.61-4.19-2.586-6.795-2.586-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04.24.49.47.985.68 1.486.08.18.15.36.22.53 3.41-.43 6.8.26 7.14.33-.02-2.42-.88-4.64-2.31-6.38z",facebook:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",instagram:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",linkedin:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z",pinterest:"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z",reddit:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",snapchat:"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z",spotify:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",telegram:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",threads:"M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.783 3.631 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z",tiktok:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",whatsapp:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",x:"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z",youtube:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"},ie={instagram:"#E1306C",facebook:"#1877F2",linkedin:"#0A66C2",youtube:"#FF0000",x:"#0F1419",mail:"#6B6F73",globe:"#6B6F73",tiktok:"#111111",pinterest:"#E60023",snapchat:"#FFFC00",whatsapp:"#25D366",threads:"#101010",discord:"#5865F2",telegram:"#26A5E4",reddit:"#FF4500",spotify:"#1DB954",behance:"#1769FF",dribbble:"#EA4C89"};function K(d){const p=String(d||"").replace("#",""),a=p.length===3?p.split("").map(C=>C+C).join(""):p.padEnd(6,"0"),g=parseInt(a.slice(0,2),16)||0,v=parseInt(a.slice(2,4),16)||0,H=parseInt(a.slice(4,6),16)||0;return(.299*g+.587*v+.114*H)/255>.6?"#14171a":"#ffffff"}const k="http://www.w3.org/2000/svg";function O(d,p){const a=W[d]||W.globe,g=document.createElementNS(k,"svg");return g.setAttribute("width",String(p||18)),g.setAttribute("height",String(p||18)),g.setAttribute("viewBox","0 0 24 24"),g.setAttribute("fill","none"),g.setAttribute("stroke","currentColor"),g.setAttribute("stroke-width","1.5"),g.setAttribute("stroke-linecap","round"),g.setAttribute("stroke-linejoin","round"),g.style.display="block",g.style.flex="none",a.forEach(v=>g.appendChild(N(v))),g}function b(d,p){const a=q[d];if(!a)return O(d,p);const g=document.createElementNS(k,"svg");g.setAttribute("width",String(p||18)),g.setAttribute("height",String(p||18)),g.setAttribute("viewBox","0 0 24 24"),g.setAttribute("fill","currentColor"),g.style.display="block",g.style.flex="none";const v=document.createElementNS(k,"path");return v.setAttribute("d",a),g.appendChild(v),g}function N(d){if(typeof d=="string"){const C=document.createElementNS(k,"path");return C.setAttribute("d",d),C}const[p,...a]=d;if(p==="rect"){const[C,$,E,D]=a,e=document.createElementNS(k,"rect");return e.setAttribute("x",String(C)),e.setAttribute("y",String($)),e.setAttribute("width",String(E)),e.setAttribute("height",String(D)),e}const[g,v,H]=a,S=document.createElementNS(k,"circle");return S.setAttribute("cx",String(g)),S.setAttribute("cy",String(v)),S.setAttribute("r",String(H)),S}function z(d){const p=String(d||"").toLowerCase();return p.includes("insta")?"instagram":p.includes("linked")?"linkedin":p.includes("face")?"facebook":p.includes("you")||p.includes("tube")?"youtube":p==="x"||p.includes("twitter")?"x":p.includes("tiktok")||p.includes("tik tok")?"tiktok":p.includes("pinterest")?"pinterest":p.includes("snap")?"snapchat":p.includes("whatsapp")?"whatsapp":p.includes("thread")?"threads":p.includes("discord")?"discord":p.includes("telegram")?"telegram":p.includes("reddit")?"reddit":p.includes("spotify")?"spotify":p.includes("behance")?"behance":p.includes("dribbble")||p.includes("dribble")?"dribbble":p.includes("mail")||p.includes("email")?"mail":"globe"}Object.assign(V,{SOCIAL_BRAND:ie,contrastInk:K,icon:O,brandIcon:b,socialKey:z})},re["core/ids.js"]=function(ne,V,A){Object.assign(V,{uid:()=>Math.random().toString(36).slice(2,9)})},re["core/import-html.js"]=function(ne,V,A){const{mkRow:W,blk:q}=A("core/blocks.js"),{cleanImportHtml:ie}=A("core/sanitize.js"),{inlineStylesheets:K}=A("core/css-cascade.js");function k(u){const n=parseFloat(u);return Number.isFinite(n)?n:0}function O(u){const n=String(u||"").trim();return!n||n.endsWith("%")||n.endsWith("em")?0:n.endsWith("pt")?Math.round(k(n)*4/3):k(n)}function b(u,n){return u.children.length===1&&u.firstElementChild.tagName===n?u.firstElementChild:null}function N(u){let n=u;for(;n&&n.nodeType===1;){const B=n.style&&n.style.textAlign||(n.tagName==="TABLE"?"":n.getAttribute("align"));if(B)return B;n=n.parentElement}return"left"}function z(u,n){let B=u;for(;B&&B.nodeType===1;){const U=B.style&&B.style[n];if(U)return U;B=B.parentElement}return""}function d(u){let n=u.parentElement,B=1;for(;n;){if(n.tagName==="TABLE"||n.tagName==="TD"){const U=n.getAttribute("width")||n.style&&n.style.width||"";if(U&&String(U).endsWith("%")){const Z=k(U);n.tagName==="TD"&&Z>0&&Z<100&&(B*=Z/100)}else if(U){const Z=k(U);if(Z>=100)return Math.round(Z*B)}}n=n.parentElement}return 0}function p(u){const n=u&&u.getAttribute?k(u.getAttribute("cellpadding")):0;return n?{t:n,b:n,l:n,r:n,py:n,px:n}:null}function a(u){const n=u.style;if(!n)return!1;if(n.display==="none"||n.visibility==="hidden"||n.opacity==="0")return!0;const B=n.maxHeight==="0"||n.maxHeight==="0px",U=n.overflow==="hidden"||n.fontSize==="0"||n.fontSize==="0px";return B&&U}function g(u){if(!u)return"";const n=u.style;if(n){const B=((n.backgroundImage||"")+" "+(n.background||"")).match(/url\(["']?([^"')]+)["']?\)/);if(B)return B[1]}return u.getAttribute&&u.getAttribute("background")||""}function v(u,n){const B=g(n);if(!B)return u;const U=n.style||{};return u.forEach(Z=>{Z.props.bgImage||(Z.props.bgImage=B,U.backgroundSize&&(Z.props.bgSize=U.backgroundSize),U.backgroundPosition&&(Z.props.bgPos=U.backgroundPosition),U.backgroundRepeat&&(Z.props.bgRepeat=U.backgroundRepeat))}),u}function H(u){if(!u)return null;const n=k(u.paddingTop),B=k(u.paddingBottom),U=k(u.paddingLeft),Z=k(u.paddingRight);return!n&&!B&&!U&&!Z?null:{t:n,b:B,l:U,r:Z,py:Math.round((n+B)/2),px:Math.round((U+Z)/2)}}function S(u,n){u.props.py=n.py,u.props.px=n.px,(n.t!==n.b||n.l!==n.r)&&(u.props.pt=n.t,u.props.pb=n.b,u.props.pl=n.l,u.props.pr=n.r,u.props.padSplit=!0)}function C(u,n){if(!u)return null;const B=n||16;let U;return u.endsWith("%")?U=k(u)/100:u.endsWith("em")?U=k(u):u.endsWith("pt")?U=k(u)*4/3/B:u.endsWith("px")?U=k(u)/B:U=parseFloat(u),Number.isFinite(U)&&U>0&&U<=4?U:null}function $(u){const n=document.createElement("div");return n.textContent=u,n.innerHTML}function E(u){let n=null,B="";if(u.tagName==="IMG")n=u;else if(u.tagName==="A")n=b(u,"IMG"),n&&(B=u.getAttribute("href")||"");else if((u.tagName==="DIV"||u.tagName==="TD")&&(n=b(u,"IMG"),!n)){const te=b(u,"A");te&&(n=b(te,"IMG"),n&&(B=te.getAttribute("href")||""))}if(!n)return null;const U=te=>String(te||"").endsWith("%"),J=[n.style.width,n.getAttribute("width"),n.style.maxWidth,u!==n&&u.style?u.style.width:"",u!==n&&u.style?u.style.maxWidth:""].find(te=>te&&!U(te)&&k(te));let X=100;if(J){const te=d(n)||600;X=Math.max(2,Math.min(100,Math.round(k(J)/te*100)))}else U(n.style.width)&&k(n.style.width)&&(X=k(n.style.width));return q("image",{src:n.getAttribute("src")||"",alt:n.getAttribute("alt")||"",href:B,width:X,align:N(u),radius:k(n.style.borderRadius)||0})}function D(u){let n=null,B="";if(u.tagName==="A"?n=u:(u.tagName==="DIV"||u.tagName==="TD")&&(n=b(u,"A"),n&&(B=u.style.textAlign||u.getAttribute("align")||"")),!n||n.querySelector("img,table,div"))return null;const U=le=>!!(le.style&&(le.style.backgroundColor||le.style.background)),Z=U(n)?n:Array.from(n.querySelectorAll("span")).find(U);if(!Z)return null;const J=Z.style;let X=H(n.style)||H(J);if(!X){const le=Array.from(Z.querySelectorAll("span")).find(ue=>H(ue.style));le&&(X=H(le.style))}const te=J.display||n.style.display||"";if(!X&&te.indexOf("inline-block")<0&&te!=="block")return null;const ge={label:(n.textContent||"").trim()||"Button",href:n.getAttribute("href")||"#",bg:J.backgroundColor||J.background,color:J.color||n.style.color||"#ffffff",radius:r(J),py:X&&X.py||13,px:X&&X.px||26,align:B||N(n.parentElement||n),full:n.style.display==="block"},ve=O(J.fontSize)||O(n.style.fontSize);ve&&(ge.size=ve);const xe=s(J).width;return xe&&(ge.borderW=xe,ge.borderStyle=o(J),ge.borderColor=P(J)||ge.color),q("button",ge)}const e=/facebook|twitter|x\.com|instagram|linkedin|youtube|tiktok|pinterest|threads|whatsapp|telegram|github|discord|snapchat|medium|dribbble|behance|mastodon|bluesky|bsky/i;function m(u){if(!/^(DIV|TD|TABLE)$/.test(u.tagName)||(u.textContent||"").trim())return null;const n=Array.from(u.querySelectorAll("a"));if(n.length<2)return null;const B=n.map(we=>we.querySelector("img,svg"));if(B.some(we=>!we))return null;const U=B.map(we=>k(we.getAttribute("width")||we.style&&we.style.width)||32);if(U.some(we=>we>64))return null;const Z=n.map((we,Le)=>{const Ae=(B[Le].getAttribute("alt")||we.getAttribute("title")||we.getAttribute("aria-label")||"").trim();return Ae||(((we.getAttribute("href")||"").match(/\/\/(?:www\.)?([^/?#]+)/)||[])[1]||"").split(".")[0]||"link"});if(n.filter((we,Le)=>e.test((we.getAttribute("href")||"")+" "+Z[Le])).length<Math.ceil(n.length/2))return null;const X=n[0],te={items:n.map((we,Le)=>Z[Le]+"|"+(we.getAttribute("href")||"#")).join(`
|
|
55
|
-
`),align:
|
|
56
|
-
`),align:
|
|
57
|
-
`),ordered:
|
|
58
|
-
`),
|
|
59
|
-
`).map(U=>U.trim()).filter(Boolean);if(!n.length)return null;const B=[];for(const U of n){let Z=U.match(/^\{\{#(if|each)\s+([^{}]+?)\s*\}\}$/);if(Z){B.push(q(Z[1]==="if"?"condition":"loop",{expr:Z[2],end:!1}));continue}if(Z=U.match(/^\{\{\/(if|each)\}\}$/),Z){B.push(q(Z[1]==="if"?"condition":"loop",{expr:"",end:!0}));continue}return null}return B}function ee(u){const n=[];let B=[],U=null;const Z=()=>{const J=ie(B.join(""));if(J){const X={html:J};if(U){let te=l.test(U.tagName)&&U.parentElement||U;for(;te.children.length===1&&!l.test(te.firstElementChild.tagName)&&(te.textContent||"")===(te.firstElementChild.textContent||"");)te=te.firstElementChild;const ge=O(z(te,"fontSize"));ge&&(X.size=ge);const ve=z(te,"color");ve&&(X.color=ve),X.align=N(te);const xe=z(te,"fontWeight");xe&&(X.weight=xe);const le=C(z(te,"lineHeight"),ge);le&&(X.lh=le)}n.push(q("text",X))}B=[],U=null};return u.forEach(J=>{if(J.nodeType===3){const ge=ce(J.textContent);if(ge){Z(),ge.forEach(ve=>n.push(ve));return}J.textContent&&J.textContent.trim()&&B.push($(J.textContent));return}if(J.nodeType!==1||a(J))return;const X=ae(J),te=R(X);if(te){Z(),n.push(te);return}if(X.tagName==="TABLE"&&de(X)){Z();const ge=X.querySelector(":scope > tbody > tr, :scope > tr"),ve=Array.from(ge.children).find(ue=>ue.tagName==="TD"||ue.tagName==="TH"),xe=H(ve.style)||p(X),le=ee(Array.from(ve.childNodes));xe&&le.forEach(ue=>{ue.type!=="button"&&("py"in ue.props&&(ue.props.py=xe.py),"px"in ue.props&&(ue.props.px=xe.px))}),n.push(...le);return}if(_(X)){Z(),n.push(q("html",{code:J.outerHTML}));return}U||(U=X),B.push(J.outerHTML)}),Z(),n}function me(u){const n=u.reduce((U,Z)=>U+Z,0)||1,B=u.map(U=>Math.round(U/n*100));return B[B.length-1]+=100-B.reduce((U,Z)=>U+Z,0),B}function pe(u,n){const B=u.map(J=>{const X=J.style.width||"";if(X.endsWith("%"))return{pct:k(X)};const te=J.getAttribute("width")||"";if(te.endsWith("%"))return{pct:k(te)};const ge=k(X)||k(te);return ge?{px:ge}:null});if(B.every(J=>J&&J.pct!=null)){const J=B.reduce((X,te)=>X+te.pct,0);if(J>=90&&J<=110)return me(B.map(X=>X.pct))}if(n&&B.every(J=>J&&J.px))return me(B.map(J=>Math.round(J.px/n*100)));const U=Math.floor(100/u.length),Z=u.map(()=>U);return Z[Z.length-1]+=100-U*u.length,Z}function he(u){const n=b(u,"TABLE");if(!n)return null;const B=n.querySelectorAll(":scope > tbody > tr, :scope > tr");if(B.length!==1||n.querySelector("th"))return null;const U=Array.from(B[0].children).filter(Z=>Z.tagName==="TD"||Z.tagName==="TH");return U.length?U:null}function de(u){const n=u.querySelectorAll(":scope > tbody > tr, :scope > tr");return n.length!==1||n[0].getAttribute("data-mc-logic")?!1:Array.from(n[0].children).filter(U=>U.tagName==="TD"||U.tagName==="TH").length===1}function t(u){const n=u.style;if(n&&n.backgroundColor)return n.backgroundColor;const B=n&&n.background||"";return B&&B.indexOf("url(")<0&&B.indexOf("gradient(")<0?B:u.getAttribute&&u.getAttribute("bgcolor")||""}function h(u){return u.style?H(u.style):null}function x(u){return Array.from(u.children).some(n=>n.tagName==="TABLE"||n.tagName==="DIV"||n.tagName==="CENTER")}function M(u,n){return n&&u.forEach(B=>{B.props.bg||(B.props.bg=n)}),u}function j(u,n){return n&&u.forEach(B=>{!B.props.py&&!B.props.px&&B.props.pt===void 0&&S(B,n)}),u}function P(u){const n=B=>B&&B!=="currentcolor"?B:"";return n(u.borderTopColor)||n(u.borderLeftColor)||n(u.borderRightColor)||n(u.borderBottomColor)||""}function o(u){const n=new Set(["solid","dashed","dotted","double"]);return[u.borderTopStyle,u.borderRightStyle,u.borderBottomStyle,u.borderLeftStyle,u.borderStyle].find(U=>n.has(U))||"solid"}function r(u){const n=String(u.borderRadius||"").split(/\s+/).map(k);return n.length?Math.max(0,...n):0}function s(u){const n={top:k(u.borderTopWidth),right:k(u.borderRightWidth),bottom:k(u.borderBottomWidth),left:k(u.borderLeftWidth)};return{width:Math.max(n.top,n.right,n.bottom,n.left)||k(u.borderWidth),sides:n}}function c(u,n,B,U,Z){u.props.border=n,u.props.borderStyle=Z||"solid",u.props.lineColor=U||"#e2e2e5",u.props.bTop=B.top>0,u.props.bRight=B.right>0,u.props.bBottom=B.bottom>0,u.props.bLeft=B.left>0}function i(u,n){if(!u.length||!n||!n.style)return u;const B=n.style,{width:U,sides:Z}=s(B);if(U){const J=P(B);u.forEach((X,te)=>{X.props.border||c(X,U,{top:te===0?Z.top:0,bottom:te===u.length-1?Z.bottom:0,left:Z.left,right:Z.right},J,o(B))})}if(u.length===1){const J=r(B);J&&!u[0].props.radius&&(u[0].props.radius=J),B.boxShadow&&B.boxShadow!=="none"&&!u[0].props.shadow&&(u[0].props.shadow=B.boxShadow)}return u}function T(u){const n=k(u.getAttribute("width")||u.style.width||"0")||null;return Array.from(u.querySelectorAll(":scope > tbody > tr, :scope > tr")).map(U=>{const Z=U.getAttribute("data-mc-logic");if(Z){const ye=Z.match(/^#(if|each)\s+(.+)$/),be=W([100]);return be.props.py=4,be.props.px=0,be.props.gap=0,be.cols[0].blocks=[ye?q(ye[1]==="if"?"condition":"loop",{expr:ye[2].trim(),end:!1}):q(/\/if$/.test(Z)?"condition":"loop",{expr:"",end:!0})],be}const J=Array.from(U.children).filter(ye=>ye.tagName==="TD"||ye.tagName==="TH");if(!J.length)return null;const X=J[0];let te=J;if(J.length===1){const ye=he(J[0]);ye&&(te=ye)}let ge=0;if(te.length>2){const ye=fe=>{if((fe.textContent||"").trim()||fe.querySelector("img,a,input,p,h1,h2,h3,h4,h5,h6,ul,ol"))return!1;const He=k(fe.getAttribute("width")||fe.style&&fe.style.width||"");return!He||He<=30},be=te.filter(fe=>!ye(fe));be.length>=2&&be.length<te.length&&(te.filter(ye).forEach(fe=>{const He=fe.querySelector("table"),ze=k(He&&(He.getAttribute("width")||He.style.width)||fe.getAttribute("width")||"");ge=Math.max(ge,ze||10)}),te=be)}let ve=!1;if(!ge&&te.length>1){const ye=te.map(fe=>H(fe.style)),be=ye[0];ve=!!(be&&!be.t&&!be.b&&be.l>0&&be.l===be.r&&be.l<=60&&ye.every(fe=>fe&&!fe.t&&!fe.b&&fe.l===be.l&&fe.r===be.r)),ve&&(ge=be.l*2)}const xe=te.length===1?[100]:pe(te,n),le=W(xe);le.props.py=0,le.props.px=0,le.props.gap=ge;const ue=t(te[0]),Se=te.every(ye=>t(ye)===ue),je=te.indexOf(X)>-1?"":t(X),we=Se&&ue||je||t(u);we&&(le.props.bg=we),Se||te.forEach((ye,be)=>{const fe=le.cols[be];if(!fe)return;const He=t(ye);He&&(fe.bg=He);const ze=r(ye.style);ze&&(fe.radius=ze);const Be=s(ye.style);Be.width&&(fe.border=Be.width,fe.borderStyle=o(ye.style),fe.lineColor=P(ye.style)||"#e2e2e5");const Ee=H(ye.style);Ee&&(fe.padY=Ee.py,fe.padX=Ee.px)});const Le=s(X.style),Ae=Le.width?X.style:u.style,De=Le.width?Le:s(u.style);De.width&&c(le,De.width,De.sides,P(Ae),o(Ae));const Re=(Se?r(X.style):0)||r(u.style);Re&&(le.props.radius=Re);const Pe=(Se?X.style.boxShadow:"")||u.style.boxShadow||"";Pe&&Pe!=="none"&&(le.props.shadow=Pe);const Ie=Se&&g(X)?X:g(u)?u:null;Ie&&v([le],Ie);const Ne=H(u.style),Ke=ve&&te.indexOf(X)>-1,Oe=Se&&!Ke?H(X.style):null;if(Ne||Oe){const ye={t:0,b:0,l:0,r:0},be=["t","b","l","r"].reduce((fe,He)=>(fe[He]=((Ne||ye)[He]||0)+((Oe||ye)[He]||0),fe),{});be.py=Math.round((be.t+be.b)/2),be.px=Math.round((be.l+be.r)/2),S(le,be)}return te.forEach((ye,be)=>{let fe=ye;const He=b(ye,"DIV");if(He&&(t(He)||r(He.style))&&!R(He)){const ze=le.cols[be];if(ze){const Be=t(He);Be&&!ze.bg&&(ze.bg=Be);const Ee=r(He.style);Ee&&!ze.radius&&(ze.radius=Ee);const Fe=H(He.style);Fe&&ze.padY===void 0&&(ze.padY=Fe.py,ze.padX=Fe.px)}fe=He}le.cols[be].blocks=ee(Array.from(fe.childNodes))}),le}).filter(U=>U&&U.cols.some(Z=>Z.blocks.length))}function G(u){const n=[];let B=[];const U=()=>{const Z=ee(B);if(Z.length){const J=W([100]);J.props.py=0,J.props.px=0,J.props.gap=0,J.cols[0].blocks=Z,n.push(J)}B=[]};return u.forEach(Z=>{if(Z.nodeType!==8&&!(Z.nodeType===1&&/^(SCRIPT|STYLE)$/.test(Z.tagName))&&!(Z.nodeType===1&&a(Z))){if(Z.nodeType===1&&(Z.tagName==="DIV"||Z.tagName==="CENTER")&&x(Z)&&!R(ae(Z))){U();const J=G(Array.from(Z.childNodes));n.push(...v(i(j(M(J,t(Z)),h(Z)),Z),Z));return}if(Z.nodeType===1&&Z.tagName==="TABLE"){if(Z.closest("form,svg")){B.push(Z);return}const J=m(Z);if(J){U();const X=W([100]);X.props.py=0,X.props.px=0,X.props.gap=0;const te=Z.querySelector("a"),ge=te&&te.closest?te.closest("td"):null,ve=ge?H(ge.style):null;ve&&S(X,ve),X.cols[0].blocks=[J],n.push(X);return}if(de(Z)){const X=Z.querySelector(":scope > tbody > tr, :scope > tr"),te=Array.from(X.children).find(xe=>xe.tagName==="TD"||xe.tagName==="TH");U();const ge=k(te.style.height);if(ge&&!te.children.length&&!(te.textContent||"").replace(/ /g,"").trim()){const xe=W([100]);xe.props.py=0,xe.props.px=0,xe.props.gap=0,xe.cols[0].blocks=[q("spacer",{height:ge})],n.push(xe);return}const ve=G(Array.from(te.childNodes));n.push(...v(v(i(i(j(M(ve,t(Z)||t(te)),h(te)||h(Z)||p(Z)),te),Z),te),Z));return}U(),n.push(...T(Z));return}B.push(Z)}}),U(),n}function I(u){const n={},B=u.body;let U=B.style&&(B.style.backgroundColor||B.style.background)||B.getAttribute("bgcolor")||"";if(!U){const le=B.querySelector("table");le&&(U=t(le)||(le.querySelector("td")?t(le.querySelector("td")):""))}U&&(n.bg=U);const Z={};B.querySelectorAll("table").forEach(le=>{const ue=le.getAttribute("width")||le.style&&le.style.width||"";if(!ue||String(ue).endsWith("%"))return;const Se=k(ue);Se>=320&&Se<=900&&(Z[Se]=(Z[Se]||0)+1)});const J=Object.keys(Z).sort((le,ue)=>Z[ue]-Z[le])[0];if(J&&(n.width=Number(J)),J){const le=Array.from(B.querySelectorAll("table")).find(ue=>{const Se=ue.getAttribute("width")||ue.style&&ue.style.width||"";return Se&&!String(Se).endsWith("%")&&k(Se)===Number(J)});if(le){const ue=k(le.style&&le.style.borderRadius);ue>0&&(n.radius=ue);const Se=le.closest?le.closest("td"):null;if(Se&&Se.style){const je=k(Se.style.paddingTop),we=k(Se.style.paddingLeft);je>0&&(n.padY=je),we>0&&(n.padX=we)}}}const X=Array.from(B.querySelectorAll('[style*="font-family"]')).filter(le=>(le.textContent||"").trim()).map(le=>le.style.fontFamily).filter(Boolean),te=X.find(le=>/[,"']/.test(le))||X[0];te&&(n.font=te);const ge=le=>!!(le.style&&(le.style.backgroundColor||le.style.background)||Array.from(le.querySelectorAll("span")).some(ue=>ue.style&&(ue.style.backgroundColor||ue.style.background))),ve={};B.querySelectorAll('a[style*="color"]').forEach(le=>{const ue=le.style.color;!ue||ue==="inherit"||!(le.textContent||"").trim()||ge(le)||(ve[ue]=(ve[ue]||0)+1)});const xe=Object.keys(ve).sort((le,ue)=>ve[ue]-ve[le])[0];return xe&&(n.link=xe),B.style&&B.style.color&&(n.text=B.style.color),n}function oe(u){let n=String(u);const B=U=>'<tr data-mc-logic="'+U.replace(/"/g,""")+'"><td></td></tr>';for(let U=0;U<6;U++){const Z=n;if(n=n.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(J,X)=>B(X)),n=n.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(J,X,te)=>X+B(te)),n===Z)break}return n}function se(u){let n;try{n=new DOMParser().parseFromString(oe(u||""),"text/html")}catch{return{rows:[],theme:{}}}try{K(n)}catch{}return{rows:G(Array.from(n.body.childNodes)),theme:I(n)}}function ke(u){return se(u).rows}Object.assign(V,{htmlToDoc:se,htmlToRows:ke})},re["core/layout-style.js"]=function(ne,V,A){const{cssUrl:W}=A("core/sanitize.js");function q(a){return(a.py||0)+"px "+(a.px||0)+"px"}function ie(a){const g=H=>a[H]!==!1,v=H=>a.bBorder&&g(H)?a.bBorder+"px "+(a.bStyle||"solid")+" "+(a.bLine||"#e2e2e5"):"0";return{background:a.bBg||"transparent",borderTop:v("bTop"),borderRight:v("bRight"),borderBottom:v("bBottom"),borderLeft:v("bLeft"),borderRadius:(a.bRadius||0)+"px",padding:(a.bPad||0)+"px"}}function K(a){const g=[];if(a.bBg&&g.push("background:"+a.bBg),a.bBorder){const v=a.bBorder+"px "+(a.bStyle||"solid")+" "+(a.bLine||"#e2e2e5"),H={top:a.bTop!==!1,right:a.bRight!==!1,bottom:a.bBottom!==!1,left:a.bLeft!==!1};H.top&&H.right&&H.bottom&&H.left?g.push("border:"+v):Object.keys(H).filter(S=>H[S]).forEach(S=>g.push("border-"+S+":"+v))}return a.bRadius&&g.push("border-radius:"+a.bRadius+"px"),a.bPad&&g.push("padding:"+a.bPad+"px"),g.length?g.join(";")+";":"margin:0"}function k(a){const g=a.pt??a.py??0,v=a.pb??a.py??0,H=a.pl??a.px??0,S=a.pr??a.px??0;return g+"px "+S+"px "+v+"px "+H+"px"}function O(a,g){const v=a.mt??a.my??0,H=a.mr??0,S=a.mb??a.my??0,C=a.ml??0,$=g&&!H&&!C;return v+"px "+($?"auto":H+"px")+" "+S+"px "+($?"auto":C+"px")}function b(a){return{top:a.bTop!==!1,right:a.bRight!==!1,bottom:a.bBottom!==!1,left:a.bLeft!==!1}}function N(a){if(!a.border)return"";const g=b(a),v=a.border+"px "+(a.borderStyle||"solid")+" "+(a.lineColor||"#e2e2e5");return g.top&&g.right&&g.bottom&&g.left?"border:"+v+";":["top","right","bottom","left"].filter(H=>g[H]).map(H=>"border-"+H+":"+v+";").join("")}function z(a){const g=(a.overlay||0)/100,v=[];a.bgImage&&g&&v.push("linear-gradient(rgba(20,22,24,"+g+"),rgba(20,22,24,"+g+"))"),a.bgImage&&v.push('url("'+W(a.bgImage)+'")');const H=b(a),S=C=>a.border&&C?a.border+"px "+(a.borderStyle||"solid")+" "+(a.lineColor||"#e2e2e5"):"0";return{backgroundColor:a.bg||"transparent",backgroundImage:v.length?v.join(","):"none",backgroundSize:a.bgSize||"cover",backgroundPosition:a.bgPos||"center",backgroundRepeat:a.bgRepeat||"no-repeat",borderTop:S(H.top),borderRight:S(H.right),borderBottom:S(H.bottom),borderLeft:S(H.left),borderRadius:(a.radius||0)+"px",boxShadow:a.shadow||"none",maxWidth:(a.maxW||100)+"%",margin:O(a,!0)}}function d(a){const g=a.gap||0;return a.layout==="grid"?{display:"grid",gridTemplateColumns:"repeat("+(a.gridCols||2)+", minmax(0, 1fr))",gap:g+"px"}:a.layout==="flex"?{display:"flex",flexDirection:a.flexDir||"row",justifyContent:a.justify||"flex-start",alignItems:a.alignItems||"stretch",flexWrap:a.wrap?"wrap":"nowrap",gap:g+"px"}:{display:"flex",alignItems:"stretch",margin:"0 "+-g/2+"px"}}function p(a,g){return a.layout==="grid"?{minWidth:0}:a.layout==="flex"?{flex:(a.flexDir||"row").indexOf("column")===0?"0 0 auto":g.span+" 1 auto",minWidth:0}:{flex:g.span+" 1 0%",minWidth:0,padding:"0 "+(a.gap||0)/2+"px",alignSelf:a.valign==="middle"?"center":a.valign==="bottom"?"flex-end":"flex-start"}}Object.assign(V,{pad:q,boxStyle:ie,boxCss:K,rowPad:k,rowMargin:O,rowBorderSides:b,rowBorderCss:N,rowBg:z,colsWrap:d,colStyle:p})},re["core/parse.js"]=function(ne,V,A){function W(ie){return String(ie||"").split(`
|
|
60
|
-
`).map(
|
|
61
|
-
`).filter(
|
|
54
|
+
</html>`}Object.assign(K,{decorateLogicTags:I,buildHtml:T})},re["core/footer.js"]=function(se,K,z){const V=["none","hidden","off","false"];function Z(N){const k=String(N??"").trim();if(!k)return"";const O=k.match(/^([a-z][a-z0-9+.-]*):/i);return O&&!/^(https?|mailto)$/i.test(O[1])?"":k}function ae(N){if(N===!1)return null;if(N==null)return{text:null,href:"",target:""};if(typeof N=="string"){const k=N.trim();return V.indexOf(k.toLowerCase())>=0?null:{text:k||null,href:"",target:""}}return typeof N=="object"?N.show===!1?null:{text:N.text==null?null:String(N.text),href:Z(N.href),target:N.target?String(N.target):""}:{text:null,href:"",target:""}}Object.assign(K,{resolveFooter:ae})},re["core/i18n/ar.js"]=function(se,K,z){Object.assign(K,{AR:{"action.undoHint":"تراجع — ⌘Z","action.redoHint":"إعادة — ⌘⇧Z","action.chromeToDark":"داكن","action.chromeToLight":"فاتح","action.chromeHint":"وضع المحرر فاتح / داكن","action.chromeHintToDark":"الوضع الداكن","action.chromeHintToLight":"الوضع الفاتح","action.aiDraft":"مسودة","action.aiDraftHint":"صياغة محتوى البريد بالذكاء الاصطناعي","action.code":"الكود","action.codeHint":"تحرير HTML الخام مع معاينة مباشرة","action.preview":"معاينة","action.previewHint":"معاينة البريد","action.export":"تصدير","action.exportHint":"تصدير بريدك","device.desktop":"سطح المكتب","device.desktopHint":"عرض سطح المكتب","device.mobile":"الجوال","device.mobileHint":"عرض الجوال","status.autosaveOn":"الحفظ التلقائي مفعّل","status.saved":"تم الحفظ {time}","status.saveFailed":"لم يتم الحفظ — التخزين ممتلئ","canvas.meta":"{rows} صفوف · {blocks} كتل · {width}px","tab.design":"النمط","tab.designHint":"تنسيق العنصر المحدد","tab.blocks":"الكتل","tab.blocksHint":"كتل المحتوى والمتغيرات","tab.rows":"الأقسام","tab.rowsHint":"تخطيطات الأقسام ونموذج اللوحة","tab.files":"الملفات","tab.filesHint":"مكتبة الأصول","tab.layers":"البنية","tab.layersHint":"بنية المستند","tab.settings":"الإعدادات","tab.settingsHint":"إعدادات البريد","tab.data":"المتغيرات","tab.dataHint":"المتغيرات المقدَّمة من برنامجك","inspector.blockProperties":"خصائص الكتلة","inspector.sectionProperties":"خصائص القسم","inspector.title":"المفتش","inspector.sectionLabel":"قسم","inspector.nothingSelected":"لا يوجد تحديد","action.duplicateHint":"مضاعفة — ⌘D","action.deleteHint":"حذف — ⌫","inspector.emptyBody":'اختر صفًا أو كتلة على اللوحة لتنسيقه هنا. اسحب الكتل من تبويب <strong style="color: var(--ed-text); font-weight: 600;">الكتل</strong>؛ انقر نقرًا مزدوجًا على أي نص لتحريره في مكانه.',"inspector.shortcuts":"الاختصارات","shortcut.undoRedo":"⌘Z / ⌘⇧Z — تراجع، إعادة","shortcut.duplicate":"⌘D — مضاعفة التحديد","shortcut.delete":"⌫ — حذف التحديد","shortcut.export":"⌘E — تصدير HTML","shortcut.escape":"ESC — إلغاء التحديد، إغلاق","blocks.dragHint":"اسحب إلى اللوحة","blocks.count":"{count} كتلة","rows.sectionLayouts":"تخطيطات الأقسام","rows.customMarkup":"ترميز مخصص","rows.htmlRowHint":"اسحب لإدراجه، أو انقر للإضافة — صف بعرض كامل تملأه بـ HTML خام","rows.rawHtmlSection":"قسم HTML خام","rows.rawHtmlDesc":"قسم بعرض كامل، ترميزك الخاص، وقابل للسحب أيضًا","rows.canvasModel":"نموذج اللوحة","rows.modeRowBased":"قائم على الصفوف","rows.modeFreeStack":"تكديس حر","rows.hintRows":"قائم على الأقسام: أسقط تخطيطًا أولًا، ثم أسقط الكتل داخل أعمدته — كل قسم يحمل خلفيته وحدوده وإعدادات flex أو grid الخاصة به.","rows.hintStack":"تكديس حر: بدون تخطيطات — كل كتلة تسحبها تصبح قسمًا مستقلًا بعرض كامل، مرتبة بالتسلسل.","files.libraryCount":"المكتبة — {count} ملفات","files.openManager":"فتح مدير الملفات","files.dragToCanvas":"اسحب أي ملف مباشرة إلى اللوحة لوضعه كصورة.","layers.structure":"البنية","layers.sectionSingle":"قسم","layers.sectionMulti":"قسم · {count} أعمدة","layers.column":"العمود {index}","layers.blockCount":"{count} كتلة","vars.title":"المتغيرات","vars.fromCode":"{count} من برنامجك","vars.declaredNote":"مُعرَّفة من قِبل تطبيقك — تعرض اللوحة دائمًا الرمز، وليس القيمة أبدًا.","vars.filterPlaceholder":"تصفية المتغيرات…","vars.insertHint":"انقر للإدراج في النص أو العنوان أو الزر المحدد","vars.insert":"إدراج","vars.noMatch":"لا يوجد متغير يطابق هذا الفلتر.","vars.noneDeclared":"لم يُعرِّف تطبيقك أي متغيرات بعد.","vars.rteHint":"أثناء تحرير النص يمكنك أيضًا اختيار متغير من القائمة المنسدلة في شريط الأدوات المضمّن.","modal.fileManager":"مدير الملفات","modal.assetsTitle":"الأصول","modal.replaceImage":"استبدال الصورة","library.searchPlaceholder":"بحث في الملفات…","action.upload":"رفع","library.clickToPlace":"انقر على ملف لوضعه · أو اسحب ملفًا إلى اللوحة","library.clickToReplace":"انقر على ملف لاستبدال الصورة المحددة","library.storageLabel":"{count} ملفات · {size}","library.folders":"المجلدات","library.dropHint":"أسقط ملفات الصور هنا للرفع — أو استخدم زر الرفع.","library.deleteFileHint":"حذف الملف","library.del":"حذف","toast.assetDeleted":"تم حذف {name}","library.allFiles":"كل الملفات","library.loadMore":"تحميل المزيد","library.empty":"لا توجد ملفات هنا بعد.","storage.loading":"جارٍ تحميل الملفات…","storage.uploading":"جارٍ رفع {count}…","storage.errLoadFailed":"تعذّر تحميل مكتبة الملفات — {reason}","storage.errNoLimits":"الرفع معطّل: لم يحدّد هذا التطبيق أي حدود للرفع.","storage.errNoMaxBytes":"الرفع معطّل: لم يُحدَّد حد أقصى لحجم الملف.","storage.errTooLarge":"حجم {name} هو {size} — والحد هو {max}.","storage.errFormat":"{name} ملف من نوع {type}، وهو غير مسموح به هنا.","storage.errSvg":"{name} ملف SVG، وهذا التطبيق لا يقبله.","storage.errDimensions":"أبعاد {name} هي {w}×{ht}px — والحد هو {maxW}×{maxH}px.","storage.errTooMany":"يمكن رفع {max} ملفات فقط في المرة الواحدة.","storage.errUnreadable":"{name} ليس صورة قابلة للقراءة.","storage.errUploadFailed":"تعذّر رفع {name} — {reason}","storage.errDeleteFailed":"تعذّر حذف {name} — {reason}","modal.export":"تصدير","modal.exportTitle":"HTML بريد إلكتروني قائم على الجداول","export.copy":"نسخ","export.copied":"تم النسخ","action.download":"تنزيل","export.meta":"{kb} كيلوبايت · جداول + أنماط مضمّنة · عروض آمنة لـ Outlook","modal.rawHtmlTitle":"HTML خام، معاينة مباشرة","code.statusEdited":"عرض الكود — مُعدَّل — المعاينة مباشرة، لم يُطبَّق بعد","code.statusSynced":"عرض الكود — متزامن مع اللوحة","action.reload":"إعادة تحميل","action.reloadHint":"إعادة تحميل المصدر من اللوحة","action.applyToCanvas":"تطبيق على اللوحة","action.applyToCanvasHint":"تحليل المصدر مرة أخرى إلى صفوف قابلة للتحرير","action.closeWithoutApplyingHint":"إغلاق دون تطبيق","code.source":"المصدر","code.livePreview":"معاينة مباشرة","code.liveHtmlPreviewTitle":"معاينة HTML مباشرة","code.applyNote":"يحلّل زر التطبيق كل صف جدول من المستوى الأعلى إلى صف لوحة يمكنك تحديده وإعادة ترتيبه وحذفه — الترميز المكتوب يدويًا يبقى سليمًا.","code.meta":"{kb} كيلوبايت · {lines} أسطر","toast.sourceReloaded":"تمت إعادة تحميل المصدر من اللوحة","toast.sourceAppliedOne":"تم تطبيق المصدر — صف واحد على اللوحة","toast.sourceAppliedMany":"تم تطبيق المصدر — {rows} صفوف على اللوحة","toast.parseError":"تعذّر تحليل ذلك الـ HTML","modal.aiDraft":"مساعد الكتابة بالذكاء الاصطناعي","modal.aiDraftTitle":"اكتب مسودة بريدك بالذكاء الاصطناعي","ai.disclosure":"ينشئ الذكاء الاصطناعي اقتراحات من موجزك. راجع النتيجة وحرّرها قبل الإرسال.","ai.goal":"الهدف","ai.tone":"الأسلوب","ai.briefLabel":"ما موضوع هذا البريد الإلكتروني؟","ai.briefPlaceholder":"مثال: إطلاق ملابس الخريف، خصم 15% للمشتركين، شحن مجاني فوق 150$","ai.generate":"إنشاء النص","ai.writing":"جارٍ الكتابة…","ai.kindHeadline":"عنوان رئيسي","ai.kindBody":"نص أساسي","ai.kindButton":"نص الزر","ai.actionInsertHeading":"إدراج كعنوان","ai.actionInsertText":"إدراج ككتلة نصية","ai.actionInsertButton":"إدراج كزر","toast.headingAdded":"تمت إضافة العنوان","toast.textBlockAdded":"تمت إضافة الكتلة النصية","toast.buttonAdded":"تمت إضافة الزر","preview.kickerMobile":"معاينة — جوال 375px","preview.kickerDesktop":"معاينة — سطح مكتب {width}px","action.close":"إغلاق","toast.duplicated":"تمت المضاعفة","toast.fileUploadedOne":"تم رفع ملف واحد","toast.fileUploadedMany":"تم رفع {count} ملفات","toast.imageReplaced":"تم استبدال الصورة","toast.imageAdded":"تمت إضافة الصورة إلى اللوحة","toast.htmlCopied":"تم نسخ HTML إلى الحافظة","toast.templateLoaded":"تم تحميل {name}","toast.snippetDefaultLabel":"مقتطف","toast.snippetInserted":"تم إدراج {name}","toast.snippetCopied":"تم نسخ {name} — حدد كتلة نصية لإدراجه","rte.textStyle":"نمط النص","rte.mergeTags":"حقول الدمج","rte.noMergeTags":"لا توجد حقول دمج متاحة","rte.textColor":"لون النص","rte.highlightColor":"لون التمييز","rte.removeHighlight":"إزالة التمييز","rte.clearFormatting":"مسح التنسيق","action.downloadPng":"تنزيل PNG","action.screenshot":"لقطة شاشة","action.screenshotHint":"معاينة القالب كاملاً كصورة، ثم تنزيله","toast.pngSaved":"تم تنزيل لقطة الشاشة","toast.pngFailed":"فشلت لقطة الشاشة — تعذّر تحميل صورة خارجية","toast.pngCopied":"تم نسخ لقطة الشاشة إلى الحافظة","toast.pngCopyFailed":"لم يقبل هذا المتصفح نسخ صورة إلى الحافظة","story.kicker":"لقطة شاشة","story.rendering":"جارٍ إنشاء لقطة الشاشة","story.renderingHint":"يجري رسم كل كتلة بدقة 2× — يستغرق ذلك لحظة في القوالب الطويلة.","story.failed":"فشلت لقطة الشاشة","story.failedHint":"تعذّر تحميل إحدى صور القالب لالتقاطها.","story.retry":"أعد المحاولة","story.play":"تشغيل","story.pause":"إيقاف مؤقت","story.replay":"إعادة التشغيل","story.copy":"نسخ","story.meta":"{w}×{h} · شاشة {i} من {n}","footer.poweredBy":"مدعوم من SELISE Blocks © 2026"}})},re["core/i18n/bg.js"]=function(se,K,z){Object.assign(K,{BG:{"action.undoHint":"Отмяна — ⌘Z","action.redoHint":"Повторение — ⌘⇧Z","action.chromeToDark":"Тъмна","action.chromeToLight":"Светла","action.chromeHint":"Тема на редактора светла / тъмна","action.chromeHintToDark":"Тъмен режим","action.chromeHintToLight":"Светъл режим","action.aiDraft":"Чернова","action.aiDraftHint":"Създаване на съдържание с изкуствен интелект","action.code":"Код","action.codeHint":"Редактиране на суров HTML с преглед на живо","action.preview":"Преглед","action.previewHint":"Преглед на имейла","action.export":"Изнасяне","action.exportHint":"Изнасяне на имейла","device.desktop":"Компютър","device.desktopHint":"Ширина за компютър","device.mobile":"Телефон","device.mobileHint":"Ширина за телефон","status.autosaveOn":"автоматичното запазване е включено","status.saved":"запазено {time}","status.saveFailed":"не е запазено — хранилището е пълно","canvas.meta":"{rows} реда · {blocks} блока · {width}px","tab.design":"Стил","tab.designHint":"Стилизиране на избраното","tab.blocks":"Блокове","tab.blocksHint":"Блокове съдържание и променливи","tab.rows":"Секции","tab.rowsHint":"Оформления на секции и модел на платното","tab.files":"Файлове","tab.filesHint":"Библиотека с ресурси","tab.layers":"Структура","tab.layersHint":"Структура на документа","tab.settings":"Настройки","tab.settingsHint":"Настройки на имейла","tab.data":"Промен.","tab.dataHint":"Променливи, предоставени от вашия код","inspector.blockProperties":"Свойства на блока","inspector.sectionProperties":"Свойства на секцията","inspector.title":"Инспектор","inspector.sectionLabel":"Секция","inspector.nothingSelected":"Нищо не е избрано","action.duplicateHint":"Дублиране — ⌘D","action.deleteHint":"Изтриване — ⌫","inspector.emptyBody":'Изберете ред или блок на платното, за да го стилизирате тук. Плъзнете блокове от раздела <strong style="color: var(--ed-text); font-weight: 600;">Блокове</strong>; кликнете два пъти върху текст, за да го редактирате на място.',"inspector.shortcuts":"Клавишни комбинации","shortcut.undoRedo":"⌘Z / ⌘⇧Z — отмяна, повторение","shortcut.duplicate":"⌘D — дублиране на избора","shortcut.delete":"⌫ — изтриване на избора","shortcut.export":"⌘E — изнасяне на HTML","shortcut.escape":"ESC — премахване на избора, затваряне","blocks.dragHint":"Плъзнете върху платното","blocks.count":"{count} блока","rows.sectionLayouts":"Оформления на секции","rows.customMarkup":"Персонализирана маркировка","rows.htmlRowHint":"Плъзнете, за да вмъкнете, или кликнете, за да добавите — ред на цялата ширина, който запълвате със суров HTML","rows.rawHtmlSection":"Секция със суров HTML","rows.rawHtmlDesc":"Секция на цялата ширина, ваша собствена маркировка, все още може да се плъзга","rows.canvasModel":"Модел на платното","rows.modeRowBased":"Базирано на редове","rows.modeFreeStack":"Свободно подреждане","rows.hintRows":"Базирано на секции: първо пуснете оформление, после блокове в неговите колони — всяка секция има собствен фон, рамка, flex или grid настройки.","rows.hintStack":"Свободно подреждане: без оформления — всеки пуснат блок става собствена секция на цялата ширина, подредена по ред.","files.libraryCount":"Библиотека — {count} файла","files.openManager":"Отваряне на файловия мениджър","files.dragToCanvas":"Плъзнете произволен файл директно върху платното, за да го поставите като блок с изображение.","layers.structure":"Структура","layers.sectionSingle":"Секция","layers.sectionMulti":"Секция · {count} колони","layers.column":"Колона {index}","layers.blockCount":"{count} бл.","vars.title":"Променливи","vars.fromCode":"{count} от вашия код","vars.declaredNote":"Декларирани от вашето приложение — платното винаги показва токена, никога стойност.","vars.filterPlaceholder":"Филтриране на променливи…","vars.insertHint":"Кликнете, за да вмъкнете в избрания текст, заглавие или бутон","vars.insert":"вмъкване","vars.noMatch":"Няма променлива, отговаряща на този филтър.","vars.noneDeclared":"Вашето приложение все още не е декларирало променливи.","vars.rteHint":"При редактиране на текст можете да изберете променлива и директно от падащото меню на вградената лента с инструменти.","modal.fileManager":"Файлов мениджър","modal.assetsTitle":"Ресурси","modal.replaceImage":"Замяна на изображение","library.searchPlaceholder":"Търсене на файлове…","action.upload":"Качване","library.clickToPlace":"Кликнете върху файл, за да го поставите · или плъзнете файл върху платното","library.clickToReplace":"Кликнете върху файл, за да замените избраното изображение","library.storageLabel":"{count} файла · {size}","library.folders":"Папки","library.dropHint":"Пуснете файлове с изображения тук за качване — или използвайте бутона Качване.","library.deleteFileHint":"Изтриване на файл","library.del":"ИЗТР","toast.assetDeleted":"{name} изтрит","library.allFiles":"Всички файлове","library.loadMore":"Зареждане на още","library.empty":"Тук още няма файлове.","storage.loading":"Файловете се зареждат…","storage.uploading":"Качване на {count}…","storage.errLoadFailed":"Библиотеката с файлове не можа да се зареди — {reason}","storage.errNoLimits":"Качването е изключено: това приложение не е задало ограничения за качване.","storage.errNoMaxBytes":"Качването е изключено: не е зададен максимален размер на файл.","storage.errTooLarge":"{name} е {size} — ограничението е {max}.","storage.errFormat":"{name} е файл от тип {type}, който не е разрешен тук.","storage.errSvg":"{name} е SVG, който това приложение не приема.","storage.errDimensions":"{name} е {w}×{ht}px — ограничението е {maxW}×{maxH}px.","storage.errTooMany":"Наведнъж могат да се качат само {max} файла.","storage.errUnreadable":"{name} не е четимо изображение.","storage.errUploadFailed":"{name} не можа да бъде качен — {reason}","storage.errDeleteFailed":"{name} не можа да бъде изтрит — {reason}","modal.export":"Изнасяне","modal.exportTitle":"HTML на имейл, базиран на таблици","export.copy":"Копиране","export.copied":"Копирано","action.download":"Изтегляне","export.meta":"{kb} KB · таблици + вградени стилове · ширини, безопасни за Outlook","modal.rawHtmlTitle":"Суров HTML, преглед на живо","code.statusEdited":"Изглед на кода — редактиран — преглед на живо, все още не е приложен","code.statusSynced":"Изглед на кода — синхронизиран с платното","action.reload":"Презареждане","action.reloadHint":"Презареждане на изходния код от платното","action.applyToCanvas":"Приложи върху платното","action.applyToCanvasHint":"Анализиране на изходния код обратно в редактируеми редове","action.closeWithoutApplyingHint":"Затваряне без прилагане","code.source":"Изходен код","code.livePreview":"Преглед на живо","code.liveHtmlPreviewTitle":"Преглед на HTML на живо","code.applyNote":"Прилагането анализира всеки ред на таблица от най-високо ниво в ред на платното, който все още можете да избирате, преподреждате и изтривате — ръчно написаната маркировка преминава непроменена.","code.meta":"{kb} KB · {lines} реда","toast.sourceReloaded":"Изходният код е презареден от платното","toast.sourceAppliedOne":"Изходният код е приложен — 1 ред на платното","toast.sourceAppliedMany":"Изходният код е приложен — {rows} реда на платното","toast.parseError":"Този HTML не можа да бъде анализиран","modal.aiDraft":"Асистент за писане с ИИ","modal.aiDraftTitle":"Напишете имейла си с изкуствен интелект","ai.disclosure":"Изкуственият интелект създава предложения по вашето задание. Прегледайте и редактирайте резултата преди изпращане.","ai.goal":"Цел","ai.tone":"Тон","ai.briefLabel":"За какво е този имейл?","ai.briefPlaceholder":"напр. Есенна колекция, 15% за абонати, безплатна доставка над 150 лв","ai.generate":"Генериране на текст","ai.writing":"Пишем…","ai.kindHeadline":"Заглавие","ai.kindBody":"Основен текст","ai.kindButton":"Текст на бутона","ai.actionInsertHeading":"Вмъкни като заглавие","ai.actionInsertText":"Вмъкни като текстов блок","ai.actionInsertButton":"Вмъкни като бутон","toast.headingAdded":"Заглавието е добавено","toast.textBlockAdded":"Текстовият блок е добавен","toast.buttonAdded":"Бутонът е добавен","preview.kickerMobile":"Преглед — телефон 375px","preview.kickerDesktop":"Преглед — компютър {width}px","action.close":"Затваряне","toast.duplicated":"Дублирано","toast.fileUploadedOne":"Качен е 1 файл","toast.fileUploadedMany":"Качени са {count} файла","toast.imageReplaced":"Изображението е заменено","toast.imageAdded":"Изображението е добавено към платното","toast.htmlCopied":"HTML е копиран в клипборда","toast.templateLoaded":"{name} е зареден","toast.snippetDefaultLabel":"Откъс","toast.snippetInserted":"{name} е вмъкнат","toast.snippetCopied":"{name} е копиран — изберете текстов блок, за да го вмъкнете","rte.textStyle":"Стил на текста","rte.mergeTags":"Полета за сливане","rte.noMergeTags":"Няма налични полета за сливане","rte.textColor":"Цвят на текста","rte.highlightColor":"Цвят на маркиране","rte.removeHighlight":"Премахване на маркирането","rte.clearFormatting":"Изчистване на форматирането","action.downloadPng":"Изтегляне на PNG","action.screenshot":"Екранна снимка","action.screenshotHint":"Прегледайте целия шаблон като изображение и го изтеглете","toast.pngSaved":"Екранната снимка е изтеглена","toast.pngFailed":"Екранната снимка се провали — външно изображение не можа да се зареди","toast.pngCopied":"Екранната снимка е копирана в клипборда","toast.pngCopyFailed":"Този браузър не прие изображение в клипборда","story.kicker":"Екранна снимка","story.rendering":"Екранната снимка се изготвя","story.renderingHint":"Всеки блок се рисува при 2× — при дълъг шаблон отнема момент.","story.failed":"Екранната снимка се провали","story.failedHint":"Изображение в шаблона не можа да се зареди за заснемане.","story.retry":"Опитайте отново","story.play":"Пускане","story.pause":"Пауза","story.replay":"Отначало","story.copy":"Копиране","story.meta":"{w}×{h} · екран {i} от {n}","footer.poweredBy":"С технологията на SELISE Blocks © 2026"}})},re["core/i18n/bn.js"]=function(se,K,z){Object.assign(K,{BN:{"action.undoHint":"পূর্বাবস্থায় ফেরান — ⌘Z","action.redoHint":"পুনরায় করুন — ⌘⇧Z","action.chromeToDark":"ডার্ক","action.chromeToLight":"লাইট","action.chromeHint":"সম্পাদক থিম লাইট/ডার্ক","action.chromeHintToDark":"ডার্ক মোড","action.chromeHintToLight":"লাইট মোড","action.aiDraft":"ড্রাফট","action.aiDraftHint":"AI দিয়ে ইমেইলের কনটেন্ট লিখুন","action.code":"কোড","action.codeHint":"লাইভ প্রিভিউসহ HTML সম্পাদনা করুন","action.preview":"প্রিভিউ","action.previewHint":"ইমেইলের প্রিভিউ দেখুন","action.export":"রপ্তানি","action.exportHint":"আপনার ইমেইল রপ্তানি করুন","device.desktop":"ডেস্কটপ","device.desktopHint":"ডেস্কটপ প্রস্থ","device.mobile":"মোবাইল","device.mobileHint":"মোবাইল প্রস্থ","status.autosaveOn":"অটোসেভ চালু","status.saved":"সংরক্ষিত হয়েছে {time}","status.saveFailed":"সংরক্ষণ হয়নি — স্টোরেজ পূর্ণ","canvas.meta":"{rows}টি সারি · {blocks}টি ব্লক · {width}px","tab.design":"স্টাইল","tab.designHint":"নির্বাচিত অংশ স্টাইল করুন","tab.blocks":"ব্লক","tab.blocksHint":"কন্টেন্ট ব্লক ও ভেরিয়েবল","tab.rows":"সেকশন","tab.rowsHint":"সেকশন লেআউট ও ক্যানভাস মডেল","tab.files":"ফাইল","tab.filesHint":"অ্যাসেট লাইব্রেরি","tab.layers":"কাঠামো","tab.layersHint":"ডকুমেন্ট কাঠামো","tab.settings":"সেটিংস","tab.settingsHint":"ইমেইল সেটিংস","tab.data":"ভেরিয়েবল","tab.dataHint":"আপনার কোড থেকে দেওয়া ভেরিয়েবল","inspector.blockProperties":"ব্লকের বৈশিষ্ট্য","inspector.sectionProperties":"সেকশনের বৈশিষ্ট্য","inspector.title":"ইন্সপেক্টর","inspector.sectionLabel":"সেকশন","inspector.nothingSelected":"কিছু নির্বাচিত নয়","action.duplicateHint":"নকল করুন — ⌘D","action.deleteHint":"মুছুন — ⌫","inspector.emptyBody":'ক্যানভাসে একটি সারি বা ব্লক নির্বাচন করে এখানে স্টাইল করুন। <strong style="color: var(--ed-text); font-weight: 600;">ব্লক</strong> ট্যাব থেকে ব্লক টেনে আনুন; সরাসরি সম্পাদনার জন্য যেকোনো লেখায় ডাবল-ক্লিক করুন।',"inspector.shortcuts":"শর্টকাট","shortcut.undoRedo":"⌘Z / ⌘⇧Z — পূর্বাবস্থা, পুনরায়","shortcut.duplicate":"⌘D — নির্বাচন নকল করুন","shortcut.delete":"⌫ — নির্বাচন মুছুন","shortcut.export":"⌘E — HTML রপ্তানি করুন","shortcut.escape":"ESC — নির্বাচন বাতিল, বন্ধ করুন","blocks.dragHint":"ক্যানভাসে টেনে আনুন","blocks.count":"{count}টি ব্লক","rows.sectionLayouts":"সেকশন লেআউট","rows.customMarkup":"কাস্টম মার্কআপ","rows.htmlRowHint":"টেনে আনুন, বা যোগ করতে ক্লিক করুন — একটি ফুল-ব্লিড সারি যা আপনি raw HTML দিয়ে পূরণ করেন","rows.rawHtmlSection":"Raw HTML সেকশন","rows.rawHtmlDesc":"ফুল-ব্লিড সেকশন, আপনার নিজস্ব মার্কআপ, তবুও টানা যায়","rows.canvasModel":"ক্যানভাস মডেল","rows.modeRowBased":"সারি-ভিত্তিক","rows.modeFreeStack":"ফ্রি স্ট্যাক","rows.hintRows":"সেকশন-ভিত্তিক: প্রথমে একটি লেআউট রাখুন, তারপর এর কলামে ব্লক রাখুন — প্রতিটি সেকশনের নিজস্ব ব্যাকগ্রাউন্ড, বর্ডার, ফ্লেক্স বা গ্রিড সেটিংস থাকে।","rows.hintStack":"ফ্রি স্ট্যাক: লেআউট ছাড়াই — আপনি যে ব্লকই রাখুন না কেন তা নিজেই একটি পূর্ণ-প্রস্থ সেকশন হয়ে ক্রমানুসারে সাজে।","files.libraryCount":"লাইব্রেরি — {count}টি ফাইল","files.openManager":"ফাইল ম্যানেজার খুলুন","files.dragToCanvas":"একটি ইমেজ ব্লক হিসেবে বসাতে যেকোনো ফাইল সরাসরি ক্যানভাসে টেনে আনুন।","layers.structure":"কাঠামো","layers.sectionSingle":"সেকশন","layers.sectionMulti":"সেকশন · {count}টি কলাম","layers.column":"কলাম {index}","layers.blockCount":"{count}টি ব্লক","vars.title":"ভেরিয়েবল","vars.fromCode":"আপনার কোড থেকে {count}টি","vars.declaredNote":"আপনার অ্যাপ্লিকেশন দ্বারা ঘোষিত — ক্যানভাস সবসময় টোকেন দেখায়, কখনো মান নয়।","vars.filterPlaceholder":"ভেরিয়েবল ফিল্টার করুন…","vars.insertHint":"নির্বাচিত টেক্সট, হেডিং বা বাটনে বসাতে ক্লিক করুন","vars.insert":"বসান","vars.noMatch":"সেই ফিল্টারের সাথে কোনো ভেরিয়েবল মেলেনি।","vars.noneDeclared":"আপনার অ্যাপ্লিকেশন এখনো কোনো ভেরিয়েবল ঘোষণা করেনি।","vars.rteHint":"টেক্সট সম্পাদনার সময় আপনি ইনলাইন টুলবারের ড্রপডাউন থেকেও ভেরিয়েবল বেছে নিতে পারেন।","modal.fileManager":"ফাইল ম্যানেজার","modal.assetsTitle":"অ্যাসেট","modal.replaceImage":"ইমেজ প্রতিস্থাপন করুন","library.searchPlaceholder":"ফাইল খুঁজুন…","action.upload":"আপলোড","library.clickToPlace":"বসাতে একটি ফাইলে ক্লিক করুন · অথবা ক্যানভাসে ফাইল টেনে আনুন","library.clickToReplace":"নির্বাচিত ইমেজ প্রতিস্থাপন করতে একটি ফাইলে ক্লিক করুন","library.storageLabel":"{count}টি ফাইল · {size}","library.folders":"ফোল্ডার","library.dropHint":"আপলোড করতে এখানে ইমেজ ফাইল ড্রপ করুন — অথবা আপলোড বোতাম ব্যবহার করুন।","library.deleteFileHint":"ফাইল মুছুন","library.del":"মুছুন","toast.assetDeleted":"{name} মুছে ফেলা হয়েছে","library.allFiles":"সব ফাইল","library.loadMore":"আরও দেখুন","library.empty":"এখানে এখনও কোনো ফাইল নেই।","storage.loading":"ফাইল লোড হচ্ছে…","storage.uploading":"{count}টি আপলোড হচ্ছে…","storage.errLoadFailed":"ফাইল লাইব্রেরি লোড করা যায়নি — {reason}","storage.errNoLimits":"আপলোড বন্ধ: এই অ্যাপ কোনো আপলোড সীমা নির্ধারণ করেনি।","storage.errNoMaxBytes":"আপলোড বন্ধ: সর্বোচ্চ ফাইল আকার নির্ধারণ করা হয়নি।","storage.errTooLarge":"{name} এর আকার {size} — সীমা {max}।","storage.errFormat":"{name} একটি {type} ফাইল, যা এখানে অনুমোদিত নয়।","storage.errSvg":"{name} একটি SVG, যা এই অ্যাপ গ্রহণ করে না।","storage.errDimensions":"{name} এর মাপ {w}×{ht}px — সীমা {maxW}×{maxH}px।","storage.errTooMany":"একসাথে সর্বোচ্চ {max}টি ফাইল আপলোড করা যায়।","storage.errUnreadable":"{name} পাঠযোগ্য কোনো ছবি নয়।","storage.errUploadFailed":"{name} আপলোড করা যায়নি — {reason}","storage.errDeleteFailed":"{name} মুছে ফেলা যায়নি — {reason}","modal.export":"রপ্তানি","modal.exportTitle":"টেবিল-ভিত্তিক ইমেইল HTML","export.copy":"কপি","export.copied":"কপি হয়েছে","action.download":"ডাউনলোড","export.meta":"{kb} KB · টেবিল + ইনলাইন স্টাইল · Outlook-নিরাপদ প্রস্থ","modal.rawHtmlTitle":"Raw HTML, লাইভ প্রিভিউ","code.statusEdited":"কোড ভিউ — সম্পাদিত — প্রিভিউ লাইভ, এখনো প্রয়োগ হয়নি","code.statusSynced":"কোড ভিউ — ক্যানভাসের সাথে সিঙ্ক করা আছে","action.reload":"রিলোড","action.reloadHint":"ক্যানভাস থেকে সোর্স পুনরায় লোড করুন","action.applyToCanvas":"ক্যানভাসে প্রয়োগ করুন","action.applyToCanvasHint":"সোর্সটি সম্পাদনাযোগ্য সারিতে পার্স করুন","action.closeWithoutApplyingHint":"প্রয়োগ না করে বন্ধ করুন","code.source":"সোর্স","code.livePreview":"লাইভ প্রিভিউ","code.liveHtmlPreviewTitle":"লাইভ HTML প্রিভিউ","code.applyNote":"প্রয়োগ করলে প্রতিটি টেবিল সারি একটি ক্যানভাস সারিতে পার্স হয় যা আপনি এখনও নির্বাচন, পুনর্বিন্যাস ও মুছতে পারবেন — হাতে-লেখা মার্কআপ অক্ষত থাকে।","code.meta":"{kb} KB · {lines}টি লাইন","toast.sourceReloaded":"ক্যানভাস থেকে সোর্স পুনরায় লোড হয়েছে","toast.sourceAppliedOne":"সোর্স প্রয়োগ হয়েছে — ক্যানভাসে ১টি সারি","toast.sourceAppliedMany":"সোর্স প্রয়োগ হয়েছে — ক্যানভাসে {rows}টি সারি","toast.parseError":"সেই HTML পার্স করা যায়নি","modal.aiDraft":"AI লেখার সহায়ক","modal.aiDraftTitle":"AI দিয়ে আপনার ইমেইল লিখুন","ai.disclosure":"আপনার সংক্ষিপ্ত বিবরণ থেকে AI পরামর্শ তৈরি করে। পাঠানোর আগে ফলাফল দেখে নিন ও সম্পাদনা করুন।","ai.goal":"লক্ষ্য","ai.tone":"সুর","ai.briefLabel":"এই ইমেইলটি কী সম্পর্কে?","ai.briefPlaceholder":"যেমন: শরৎকালীন আউটারওয়্যার, সাবস্ক্রাইবারদের জন্য ১৫% ছাড়, $১৫০-এর উপরে ফ্রি শিপিং","ai.generate":"কপি তৈরি করুন","ai.writing":"লেখা হচ্ছে…","ai.kindHeadline":"হেডলাইন","ai.kindBody":"মূল লেখা","ai.kindButton":"বাটন লেবেল","ai.actionInsertHeading":"হেডিং হিসেবে বসান","ai.actionInsertText":"টেক্সট ব্লক হিসেবে বসান","ai.actionInsertButton":"বাটন হিসেবে বসান","toast.headingAdded":"হেডিং যোগ হয়েছে","toast.textBlockAdded":"টেক্সট ব্লক যোগ হয়েছে","toast.buttonAdded":"বাটন যোগ হয়েছে","preview.kickerMobile":"প্রিভিউ — মোবাইল ৩৭৫px","preview.kickerDesktop":"প্রিভিউ — ডেস্কটপ {width}px","action.close":"বন্ধ করুন","toast.duplicated":"নকল করা হয়েছে","toast.fileUploadedOne":"১টি ফাইল আপলোড হয়েছে","toast.fileUploadedMany":"{count}টি ফাইল আপলোড হয়েছে","toast.imageReplaced":"ইমেজ প্রতিস্থাপিত হয়েছে","toast.imageAdded":"ক্যানভাসে ইমেজ যোগ হয়েছে","toast.htmlCopied":"HTML ক্লিপবোর্ডে কপি হয়েছে","toast.templateLoaded":"{name} লোড হয়েছে","toast.snippetDefaultLabel":"স্নিপেট","toast.snippetInserted":"{name} বসানো হয়েছে","toast.snippetCopied":"{name} কপি হয়েছে — বসাতে একটি টেক্সট ব্লক নির্বাচন করুন","rte.textStyle":"লেখার স্টাইল","rte.mergeTags":"মার্জ ট্যাগ","rte.noMergeTags":"কোনো মার্জ ট্যাগ নেই","rte.textColor":"লেখার রং","rte.highlightColor":"হাইলাইট রং","rte.removeHighlight":"হাইলাইট সরান","rte.clearFormatting":"ফরম্যাটিং মুছুন","action.downloadPng":"PNG ডাউনলোড","action.screenshot":"স্ক্রিনশট","action.screenshotHint":"পুরো টেমপ্লেট ছবি হিসেবে দেখুন, তারপর ডাউনলোড করুন","toast.pngSaved":"স্ক্রিনশট ডাউনলোড হয়েছে","toast.pngFailed":"স্ক্রিনশট ব্যর্থ — একটি বাহ্যিক ছবি লোড করা যায়নি","toast.pngCopied":"স্ক্রিনশট ক্লিপবোর্ডে কপি হয়েছে","toast.pngCopyFailed":"এই ব্রাউজার ক্লিপবোর্ডে ছবি নিতে পারেনি","story.kicker":"স্ক্রিনশট","story.rendering":"স্ক্রিনশট তৈরি হচ্ছে","story.renderingHint":"প্রতিটি ব্লক 2× এ আঁকা হচ্ছে — লম্বা টেমপ্লেটে একটু সময় লাগে।","story.failed":"স্ক্রিনশট ব্যর্থ","story.failedHint":"টেমপ্লেটের একটি ছবি ক্যাপচারের জন্য লোড করা যায়নি।","story.retry":"আবার চেষ্টা করুন","story.play":"চালান","story.pause":"থামান","story.replay":"আবার চালান","story.copy":"কপি","story.meta":"{w}×{h} · স্ক্রিন {i} / {n}","footer.poweredBy":"SELISE Blocks দ্বারা পরিচালিত © 2026"}})},re["core/i18n/ca.js"]=function(se,K,z){Object.assign(K,{CA:{"action.undoHint":"Desfés — ⌘Z","action.redoHint":"Refés — ⌘⇧Z","action.chromeToDark":"Fosc","action.chromeToLight":"Clar","action.chromeHint":"Tema de l’editor clar / fosc","action.chromeHintToDark":"Mode fosc","action.chromeHintToLight":"Mode clar","action.aiDraft":"Esborrany","action.aiDraftHint":"Redactar el contingut del correu amb IA","action.code":"Codi","action.codeHint":"Editar l’HTML en brut amb previsualització en directe","action.preview":"Previsualització","action.previewHint":"Previsualitza el correu","action.export":"Exporta","action.exportHint":"Exporta el teu correu","device.desktop":"Escriptori","device.desktopHint":"Amplada d’escriptori","device.mobile":"Mòbil","device.mobileHint":"Amplada mòbil","status.autosaveOn":"desament automàtic activat","status.saved":"desat {time}","status.saveFailed":"no desat — emmagatzematge ple","canvas.meta":"{rows} files · {blocks} blocs · {width}px","tab.design":"Estil","tab.designHint":"Aplica estil a la selecció","tab.blocks":"Blocs","tab.blocksHint":"Blocs de contingut i variables","tab.rows":"Seccions","tab.rowsHint":"Dissenys de secció i model de llenç","tab.files":"Fitxers","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estruct.","tab.layersHint":"Estructura del document","tab.settings":"Configuració","tab.settingsHint":"Configuració del correu","tab.data":"Var.","tab.dataHint":"Variables proporcionades pel vostre codi","inspector.blockProperties":"Propietats del bloc","inspector.sectionProperties":"Propietats de la secció","inspector.title":"Inspector","inspector.sectionLabel":"Secció","inspector.nothingSelected":"Res seleccionat","action.duplicateHint":"Duplica — ⌘D","action.deleteHint":"Elimina — ⌫","inspector.emptyBody":'Seleccioneu una fila o un bloc al llenç per donar-li estil aquí. Arrossegueu blocs des de la pestanya <strong style="color: var(--ed-text); font-weight: 600;">Blocs</strong>; feu doble clic a qualsevol text per editar-lo directament.',"inspector.shortcuts":"Dreceres","shortcut.undoRedo":"⌘Z / ⌘⇧Z — desfés, refés","shortcut.duplicate":"⌘D — duplica la selecció","shortcut.delete":"⌫ — elimina la selecció","shortcut.export":"⌘E — exporta HTML","shortcut.escape":"ESC — desselecciona, tanca","blocks.dragHint":"Arrossegueu al llenç","blocks.count":"{count} blocs","rows.sectionLayouts":"Dissenys de secció","rows.customMarkup":"Marcat personalitzat","rows.htmlRowHint":"Arrossegueu per inserir, o feu clic per afegir — una fila d’amplada completa que ompliu amb HTML en brut","rows.rawHtmlSection":"Secció d’HTML en brut","rows.rawHtmlDesc":"Secció d’amplada completa, el vostre propi marcat, encara es pot arrossegar","rows.canvasModel":"Model de llenç","rows.modeRowBased":"Basat en files","rows.modeFreeStack":"Pila lliure","rows.hintRows":"Basat en seccions: primer deixeu anar un disseny, després blocs a les seves columnes — cada secció té el seu propi fons, vora, configuració flex o de graella.","rows.hintStack":"Pila lliure: sense dissenys — cada bloc que deixeu anar esdevé la seva pròpia secció d’amplada completa, apilada en ordre.","files.libraryCount":"Biblioteca — {count} fitxers","files.openManager":"Obre el gestor de fitxers","files.dragToCanvas":"Arrossegueu qualsevol fitxer directament al llenç per col·locar-lo com a bloc d’imatge.","layers.structure":"Estructura","layers.sectionSingle":"Secció","layers.sectionMulti":"Secció · {count} col.","layers.column":"Columna {index}","layers.blockCount":"{count} bl.","vars.title":"Variables","vars.fromCode":"{count} del vostre codi","vars.declaredNote":"Declarades per la vostra aplicació — el llenç sempre mostra el testimoni, mai un valor.","vars.filterPlaceholder":"Filtra variables…","vars.insertHint":"Feu clic per inserir al text, títol o botó seleccionat","vars.insert":"insereix","vars.noMatch":"Cap variable coincideix amb aquest filtre.","vars.noneDeclared":"La vostra aplicació encara no ha declarat cap variable.","vars.rteHint":"Mentre editeu text, també podeu triar una variable directament des del menú desplegable de la barra d’eines en línia.","modal.fileManager":"Gestor de fitxers","modal.assetsTitle":"Recursos","modal.replaceImage":"Substitueix la imatge","library.searchPlaceholder":"Cerca fitxers…","action.upload":"Puja","library.clickToPlace":"Feu clic a un fitxer per col·locar-lo · o arrossegueu un fitxer al llenç","library.clickToReplace":"Feu clic a un fitxer per substituir la imatge seleccionada","library.storageLabel":"{count} fitxers · {size}","library.folders":"Carpetes","library.dropHint":"Deixeu anar fitxers d’imatge aquí per pujar-los — o utilitzeu el botó Puja.","library.deleteFileHint":"Elimina el fitxer","library.del":"ELIM","toast.assetDeleted":"{name} eliminat","library.allFiles":"Tots els fitxers","library.loadMore":"Carrega’n més","library.empty":"Encara no hi ha cap fitxer.","storage.loading":"S’estan carregant els fitxers…","storage.uploading":"S’estan pujant {count}…","storage.errLoadFailed":"No s’ha pogut carregar la biblioteca de fitxers — {reason}","storage.errNoLimits":"Les pujades estan desactivades: aquesta aplicació no ha definit cap límit de pujada.","storage.errNoMaxBytes":"Les pujades estan desactivades: no s’ha definit cap mida màxima de fitxer.","storage.errTooLarge":"{name} fa {size} — el límit és {max}.","storage.errFormat":"{name} és un fitxer {type}, que no s’admet aquí.","storage.errSvg":"{name} és un SVG, i aquesta aplicació no l’accepta.","storage.errDimensions":"{name} fa {w}×{ht}px — el límit és {maxW}×{maxH}px.","storage.errTooMany":"Només es poden pujar {max} fitxers alhora.","storage.errUnreadable":"{name} no és una imatge llegible.","storage.errUploadFailed":"No s’ha pogut pujar {name} — {reason}","storage.errDeleteFailed":"No s’ha pogut eliminar {name} — {reason}","modal.export":"Exporta","modal.exportTitle":"HTML de correu basat en taules","export.copy":"Copia","export.copied":"Copiat","action.download":"Descarrega","export.meta":"{kb} KB · taules + estils en línia · amplades segures per a Outlook","modal.rawHtmlTitle":"HTML en brut, previsualització en directe","code.statusEdited":"Vista de codi — editat — previsualització en directe, encara no aplicat","code.statusSynced":"Vista de codi — sincronitzat amb el llenç","action.reload":"Recarrega","action.reloadHint":"Recarrega la font des del llenç","action.applyToCanvas":"Aplica al llenç","action.applyToCanvasHint":"Torna a analitzar la font en files editables","action.closeWithoutApplyingHint":"Tanca sense aplicar","code.source":"Font","code.livePreview":"Previsualització en directe","code.liveHtmlPreviewTitle":"Previsualització d’HTML en directe","code.applyNote":"Aplicar analitza cada fila de taula de nivell superior en una fila de llenç que encara podeu seleccionar, reordenar i eliminar — el marcatge escrit a mà sobreviu al procés.","code.meta":"{kb} KB · {lines} línies","toast.sourceReloaded":"Font recarregada des del llenç","toast.sourceAppliedOne":"Font aplicada — 1 fila al llenç","toast.sourceAppliedMany":"Font aplicada — {rows} files al llenç","toast.parseError":"No s’ha pogut analitzar aquest HTML","modal.aiDraft":"Assistent de redacció amb IA","modal.aiDraftTitle":"Redacta el teu correu amb IA","ai.disclosure":"La IA crea suggeriments a partir del teu resum. Revisa i edita el resultat abans d’enviar-lo.","ai.goal":"Objectiu","ai.tone":"To","ai.briefLabel":"De què tracta aquest correu?","ai.briefPlaceholder":"p. ex. Col·lecció de tardor, 15% per a subscriptors, enviament gratuït a partir de 150 €","ai.generate":"Genera text","ai.writing":"S’està escrivint…","ai.kindHeadline":"Titular","ai.kindBody":"Cos del text","ai.kindButton":"Text del botó","ai.actionInsertHeading":"Insereix com a capçalera","ai.actionInsertText":"Insereix com a bloc de text","ai.actionInsertButton":"Insereix com a botó","toast.headingAdded":"Capçalera afegida","toast.textBlockAdded":"Bloc de text afegit","toast.buttonAdded":"Botó afegit","preview.kickerMobile":"Previsualització — mòbil 375px","preview.kickerDesktop":"Previsualització — escriptori {width}px","action.close":"Tanca","toast.duplicated":"Duplicat","toast.fileUploadedOne":"1 fitxer pujat","toast.fileUploadedMany":"{count} fitxers pujats","toast.imageReplaced":"Imatge substituïda","toast.imageAdded":"Imatge afegida al llenç","toast.htmlCopied":"HTML copiat al porta-retalls","toast.templateLoaded":"{name} carregat","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} inserit","toast.snippetCopied":"{name} copiat — seleccioneu un bloc de text per inserir-lo","rte.textStyle":"Estil del text","rte.mergeTags":"Camps de combinació","rte.noMergeTags":"No hi ha camps de combinació disponibles","rte.textColor":"Color del text","rte.highlightColor":"Color de ressaltat","rte.removeHighlight":"Treu el ressaltat","rte.clearFormatting":"Neteja el format","action.downloadPng":"Baixa el PNG","action.screenshot":"Captura","action.screenshotHint":"Previsualitza tota la plantilla com a imatge i baixa-la","toast.pngSaved":"Captura baixada","toast.pngFailed":"La captura ha fallat — no s’ha pogut carregar una imatge externa","toast.pngCopied":"Captura copiada al porta-retalls","toast.pngCopyFailed":"Aquest navegador no ha acceptat una imatge al porta-retalls","story.kicker":"Captura","story.rendering":"S’està generant la captura","story.renderingHint":"S’està dibuixant cada bloc a 2× — en una plantilla llarga triga un moment.","story.failed":"La captura ha fallat","story.failedHint":"No s’ha pogut carregar una imatge de la plantilla per capturar-la.","story.retry":"Torna-ho a provar","story.play":"Reprodueix","story.pause":"Pausa","story.replay":"Torna a reproduir","story.copy":"Copia","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Amb la tecnologia de SELISE Blocks © 2026"}})},re["core/i18n/cs.js"]=function(se,K,z){Object.assign(K,{CS:{"action.undoHint":"Zpět — ⌘Z","action.redoHint":"Znovu — ⌘⇧Z","action.chromeToDark":"Tmavý","action.chromeToLight":"Světlý","action.chromeHint":"Motiv editoru světlý / tmavý","action.chromeHintToDark":"Tmavý režim","action.chromeHintToLight":"Světlý režim","action.aiDraft":"Návrh","action.aiDraftHint":"Napsat obsah e-mailu pomocí AI","action.code":"Kód","action.codeHint":"Upravit surové HTML s živým náhledem","action.preview":"Náhled","action.previewHint":"Náhled e-mailu","action.export":"Exportovat","action.exportHint":"Exportovat váš e-mail","device.desktop":"Počítač","device.desktopHint":"Šířka pro počítač","device.mobile":"Mobil","device.mobileHint":"Šířka pro mobil","status.autosaveOn":"automatické ukládání zapnuto","status.saved":"uloženo {time}","status.saveFailed":"neuloženo — úložiště je plné","canvas.meta":"{rows} řádků · {blocks} bloků · {width}px","tab.design":"Styl","tab.designHint":"Stylovat výběr","tab.blocks":"Bloky","tab.blocksHint":"Bloky obsahu a proměnné","tab.rows":"Sekce","tab.rowsHint":"Rozvržení sekcí a model plátna","tab.files":"Soubory","tab.filesHint":"Knihovna souborů","tab.layers":"Struktura","tab.layersHint":"Struktura dokumentu","tab.settings":"Nastavení","tab.settingsHint":"Nastavení e-mailu","tab.data":"Prom.","tab.dataHint":"Proměnné poskytnuté vaším kódem","inspector.blockProperties":"Vlastnosti bloku","inspector.sectionProperties":"Vlastnosti sekce","inspector.title":"Inspektor","inspector.sectionLabel":"Sekce","inspector.nothingSelected":"Nic není vybráno","action.duplicateHint":"Duplikovat — ⌘D","action.deleteHint":"Smazat — ⌫","inspector.emptyBody":'Vyberte řádek nebo blok na plátně a stylujte jej zde. Přetáhněte bloky z karty <strong style="color: var(--ed-text); font-weight: 600;">Bloky</strong>; dvojklikem na text jej upravíte přímo na místě.',"inspector.shortcuts":"Zkratky","shortcut.undoRedo":"⌘Z / ⌘⇧Z — zpět, znovu","shortcut.duplicate":"⌘D — duplikovat výběr","shortcut.delete":"⌫ — smazat výběr","shortcut.export":"⌘E — exportovat HTML","shortcut.escape":"ESC — zrušit výběr, zavřít","blocks.dragHint":"Přetáhněte na plátno","blocks.count":"{count} bloků","rows.sectionLayouts":"Rozvržení sekcí","rows.customMarkup":"Vlastní kód","rows.htmlRowHint":"Přetáhněte pro vložení nebo klikněte pro přidání — řádek na celou šířku, který vyplníte surovým HTML","rows.rawHtmlSection":"Sekce se surovým HTML","rows.rawHtmlDesc":"Sekce na celou šířku, váš vlastní kód, stále přetažitelná","rows.canvasModel":"Model plátna","rows.modeRowBased":"Založeno na řádcích","rows.modeFreeStack":"Volný zásobník","rows.hintRows":"Založeno na sekcích: nejprve umístěte rozvržení, poté bloky do jeho sloupců — každá sekce má vlastní pozadí, ohraničení, nastavení flex nebo mřížky.","rows.hintStack":"Volný zásobník: bez rozvržení — každý umístěný blok se stane vlastní sekcí na celou šířku, seřazenou postupně.","files.libraryCount":"Knihovna — {count} souborů","files.openManager":"Otevřít správce souborů","files.dragToCanvas":"Přetáhněte libovolný soubor přímo na plátno a umístěte jej jako obrazový blok.","layers.structure":"Struktura","layers.sectionSingle":"Sekce","layers.sectionMulti":"Sekce · {count} sloupců","layers.column":"Sloupec {index}","layers.blockCount":"{count} bl.","vars.title":"Proměnné","vars.fromCode":"{count} z vašeho kódu","vars.declaredNote":"Deklarované vaší aplikací — plátno vždy zobrazuje token, nikdy hodnotu.","vars.filterPlaceholder":"Filtrovat proměnné…","vars.insertHint":"Klikněte pro vložení do vybraného textu, nadpisu nebo tlačítka","vars.insert":"vložit","vars.noMatch":"Žádná proměnná neodpovídá tomuto filtru.","vars.noneDeclared":"Vaše aplikace zatím nedeklarovala žádné proměnné.","vars.rteHint":"Při úpravě textu můžete proměnnou vybrat i přímo z rozbalovací nabídky vloženého panelu nástrojů.","modal.fileManager":"Správce souborů","modal.assetsTitle":"Zdroje","modal.replaceImage":"Nahradit obrázek","library.searchPlaceholder":"Hledat soubory…","action.upload":"Nahrát","library.clickToPlace":"Klikněte na soubor pro umístění · nebo přetáhněte soubor na plátno","library.clickToReplace":"Klikněte na soubor pro nahrazení vybraného obrázku","library.storageLabel":"{count} souborů · {size}","library.folders":"Složky","library.dropHint":"Sem přetáhněte obrázkové soubory pro nahrání — nebo použijte tlačítko Nahrát.","library.deleteFileHint":"Smazat soubor","library.del":"SMAZ","toast.assetDeleted":"{name} smazán","library.allFiles":"Všechny soubory","library.loadMore":"Načíst další","library.empty":"Zatím tu nejsou žádné soubory.","storage.loading":"Načítání souborů…","storage.uploading":"Nahrávání {count}…","storage.errLoadFailed":"Knihovnu souborů se nepodařilo načíst — {reason}","storage.errNoLimits":"Nahrávání je vypnuté: tato aplikace nenastavila žádné limity nahrávání.","storage.errNoMaxBytes":"Nahrávání je vypnuté: není nastavena maximální velikost souboru.","storage.errTooLarge":"{name} má {size} — limit je {max}.","storage.errFormat":"{name} je soubor typu {type}, který tu není povolen.","storage.errSvg":"{name} je SVG, které tato aplikace nepřijímá.","storage.errDimensions":"{name} má {w}×{ht}px — limit je {maxW}×{maxH}px.","storage.errTooMany":"Najednou lze nahrát jen {max} souborů.","storage.errUnreadable":"{name} není čitelný obrázek.","storage.errUploadFailed":"{name} se nepodařilo nahrát — {reason}","storage.errDeleteFailed":"{name} se nepodařilo smazat — {reason}","modal.export":"Exportovat","modal.exportTitle":"HTML e-mailu založené na tabulkách","export.copy":"Kopírovat","export.copied":"Zkopírováno","action.download":"Stáhnout","export.meta":"{kb} KB · tabulky + vložené styly · šířky bezpečné pro Outlook","modal.rawHtmlTitle":"Surové HTML, živý náhled","code.statusEdited":"Zobrazení kódu — upraveno — náhled živě, zatím neaplikováno","code.statusSynced":"Zobrazení kódu — synchronizováno s plátnem","action.reload":"Znovu načíst","action.reloadHint":"Znovu načíst zdroj z plátna","action.applyToCanvas":"Použít na plátno","action.applyToCanvasHint":"Znovu rozebrat zdroj na editovatelné řádky","action.closeWithoutApplyingHint":"Zavřít bez použití","code.source":"Zdroj","code.livePreview":"Živý náhled","code.liveHtmlPreviewTitle":"Živý náhled HTML","code.applyNote":"Použití rozebere každý řádek tabulky nejvyšší úrovně do řádku plátna, který lze stále vybírat, přeuspořádávat a mazat — ručně psaný kód proces přežije beze změny.","code.meta":"{kb} KB · {lines} řádků","toast.sourceReloaded":"Zdroj znovu načten z plátna","toast.sourceAppliedOne":"Zdroj použit — 1 řádek na plátně","toast.sourceAppliedMany":"Zdroj použit — {rows} řádků na plátně","toast.parseError":"Toto HTML se nepodařilo rozebrat","modal.aiDraft":"Asistent psaní s AI","modal.aiDraftTitle":"Napište svůj e-mail pomocí AI","ai.disclosure":"AI vytváří návrhy podle vašeho zadání. Před odesláním výsledek zkontrolujte a upravte.","ai.goal":"Cíl","ai.tone":"Tón","ai.briefLabel":"O čem tento e-mail je?","ai.briefPlaceholder":"např. Podzimní kolekce, 15 % pro odběratele, doprava zdarma nad 150 €","ai.generate":"Vygenerovat text","ai.writing":"Píše se…","ai.kindHeadline":"Nadpis","ai.kindBody":"Hlavní text","ai.kindButton":"Text tlačítka","ai.actionInsertHeading":"Vložit jako nadpis","ai.actionInsertText":"Vložit jako textový blok","ai.actionInsertButton":"Vložit jako tlačítko","toast.headingAdded":"Nadpis přidán","toast.textBlockAdded":"Textový blok přidán","toast.buttonAdded":"Tlačítko přidáno","preview.kickerMobile":"Náhled — mobil 375px","preview.kickerDesktop":"Náhled — počítač {width}px","action.close":"Zavřít","toast.duplicated":"Duplikováno","toast.fileUploadedOne":"Nahrán 1 soubor","toast.fileUploadedMany":"Nahráno souborů: {count}","toast.imageReplaced":"Obrázek nahrazen","toast.imageAdded":"Obrázek přidán na plátno","toast.htmlCopied":"HTML zkopírováno do schránky","toast.templateLoaded":"{name} načteno","toast.snippetDefaultLabel":"Úryvek","toast.snippetInserted":"{name} vloženo","toast.snippetCopied":"{name} zkopírováno — vyberte textový blok pro vložení","rte.textStyle":"Styl textu","rte.mergeTags":"Slučovací pole","rte.noMergeTags":"Nejsou k dispozici žádná slučovací pole","rte.textColor":"Barva textu","rte.highlightColor":"Barva zvýraznění","rte.removeHighlight":"Odebrat zvýraznění","rte.clearFormatting":"Zrušit formátování","action.downloadPng":"Stáhnout PNG","action.screenshot":"Snímek","action.screenshotHint":"Zobrazit celou šablonu jako obrázek a stáhnout ji","toast.pngSaved":"Snímek stažen","toast.pngFailed":"Snímek se nezdařil — externí obrázek se nepodařilo načíst","toast.pngCopied":"Snímek zkopírován do schránky","toast.pngCopyFailed":"Tento prohlížeč nepřijal obrázek do schránky","story.kicker":"Snímek","story.rendering":"Vykreslování snímku","story.renderingHint":"Každý blok se kreslí ve 2× — u dlouhé šablony to chvíli trvá.","story.failed":"Snímek se nezdařil","story.failedHint":"Obrázek v šabloně se nepodařilo načíst pro zachycení.","story.retry":"Zkusit znovu","story.play":"Přehrát","story.pause":"Pozastavit","story.replay":"Přehrát znovu","story.copy":"Kopírovat","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Běží na SELISE Blocks © 2026"}})},re["core/i18n/da.js"]=function(se,K,z){Object.assign(K,{DA:{"action.undoHint":"Fortryd — ⌘Z","action.redoHint":"Gentag — ⌘⇧Z","action.chromeToDark":"Mørk","action.chromeToLight":"Lys","action.chromeHint":"Redigeringstema lys / mørk","action.chromeHintToDark":"Mørk tilstand","action.chromeHintToLight":"Lys tilstand","action.aiDraft":"Udkast","action.aiDraftHint":"Skriv e-mailens indhold med AI","action.code":"Kode","action.codeHint":"Rediger rå HTML med direkte forhåndsvisning","action.preview":"Forhåndsvisning","action.previewHint":"Se e-mailen","action.export":"Eksportér","action.exportHint":"Eksportér din e-mail","device.desktop":"Computer","device.desktopHint":"Bredde til computer","device.mobile":"Mobil","device.mobileHint":"Bredde til mobil","status.autosaveOn":"automatisk gemning slået til","status.saved":"gemt {time}","status.saveFailed":"ikke gemt — lagerplads fuld","canvas.meta":"{rows} rækker · {blocks} blokke · {width}px","tab.design":"Stil","tab.designHint":"Formatér markeringen","tab.blocks":"Blokke","tab.blocksHint":"Indholdsblokke og variabler","tab.rows":"Sektioner","tab.rowsHint":"Sektionslayouts og lærredsmodel","tab.files":"Filer","tab.filesHint":"Ressourcebibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Indstillinger","tab.settingsHint":"E-mailindstillinger","tab.data":"Var.","tab.dataHint":"Variabler leveret af din kode","inspector.blockProperties":"Blokegenskaber","inspector.sectionProperties":"Sektionsegenskaber","inspector.title":"Inspektør","inspector.sectionLabel":"Sektion","inspector.nothingSelected":"Intet valgt","action.duplicateHint":"Dupliker — ⌘D","action.deleteHint":"Slet — ⌫","inspector.emptyBody":'Vælg en række eller en blok på lærredet for at formatere den her. Træk blokke fra fanen <strong style="color: var(--ed-text); font-weight: 600;">Blokke</strong>; dobbeltklik på tekst for at redigere direkte.',"inspector.shortcuts":"Genveje","shortcut.undoRedo":"⌘Z / ⌘⇧Z — fortryd, gentag","shortcut.duplicate":"⌘D — dupliker markering","shortcut.delete":"⌫ — slet markering","shortcut.export":"⌘E — eksportér HTML","shortcut.escape":"ESC — fjern markering, luk","blocks.dragHint":"Træk til lærredet","blocks.count":"{count} blokke","rows.sectionLayouts":"Sektionslayouts","rows.customMarkup":"Tilpasset kode","rows.htmlRowHint":"Træk for at indsætte, eller klik for at tilføje — en fuldbredde-række, du fylder med rå HTML","rows.rawHtmlSection":"Rå HTML-sektion","rows.rawHtmlDesc":"Fuldbredde-sektion, din egen kode, stadig trækbar","rows.canvasModel":"Lærredsmodel","rows.modeRowBased":"Rækkebaseret","rows.modeFreeStack":"Fri stak","rows.hintRows":"Sektionsbaseret: slip et layout først, derefter blokke i dets kolonner — hver sektion har sin egen baggrund, kant, flex- eller gitterindstillinger.","rows.hintStack":"Fri stak: uden layouts — hver blok, du slipper, bliver sin egen fuldbredde-sektion, stablet i rækkefølge.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Åbn filhåndtering","files.dragToCanvas":"Træk en vilkårlig fil direkte til lærredet for at placere den som en billedblok.","layers.structure":"Struktur","layers.sectionSingle":"Sektion","layers.sectionMulti":"Sektion · {count} kol.","layers.column":"Kolonne {index}","layers.blockCount":"{count} bl.","vars.title":"Variabler","vars.fromCode":"{count} fra din kode","vars.declaredNote":"Erklæret af din applikation — lærredet viser altid tokenet, aldrig en værdi.","vars.filterPlaceholder":"Filtrér variabler…","vars.insertHint":"Klik for at indsætte i markeret tekst, overskrift eller knap","vars.insert":"indsæt","vars.noMatch":"Ingen variabel matcher det filter.","vars.noneDeclared":"Din applikation har endnu ikke erklæret nogen variabler.","vars.rteHint":"Når du redigerer tekst, kan du også vælge en variabel direkte fra rullemenuen i den indlejrede værktøjslinje.","modal.fileManager":"Filhåndtering","modal.assetsTitle":"Ressourcer","modal.replaceImage":"Erstat billede","library.searchPlaceholder":"Søg i filer…","action.upload":"Upload","library.clickToPlace":"Klik på en fil for at placere den · eller træk en fil til lærredet","library.clickToReplace":"Klik på en fil for at erstatte det markerede billede","library.storageLabel":"{count} filer · {size}","library.folders":"Mapper","library.dropHint":"Slip billedfiler her for at uploade — eller brug knappen Upload.","library.deleteFileHint":"Slet fil","library.del":"SLET","toast.assetDeleted":"{name} slettet","library.allFiles":"Alle filer","library.loadMore":"Indlæs flere","library.empty":"Der er ingen filer her endnu.","storage.loading":"Indlæser filer…","storage.uploading":"Uploader {count}…","storage.errLoadFailed":"Filbiblioteket kunne ikke indlæses — {reason}","storage.errNoLimits":"Upload er slået fra: denne app har ikke sat nogen uploadgrænser.","storage.errNoMaxBytes":"Upload er slået fra: der er ikke sat nogen maksimal filstørrelse.","storage.errTooLarge":"{name} er {size} — grænsen er {max}.","storage.errFormat":"{name} er en {type}-fil, som ikke er tilladt her.","storage.errSvg":"{name} er en SVG, som denne app ikke accepterer.","storage.errDimensions":"{name} er {w}×{ht}px — grænsen er {maxW}×{maxH}px.","storage.errTooMany":"Der kan kun uploades {max} filer ad gangen.","storage.errUnreadable":"{name} er ikke et læsbart billede.","storage.errUploadFailed":"{name} kunne ikke uploades — {reason}","storage.errDeleteFailed":"{name} kunne ikke slettes — {reason}","modal.export":"Eksportér","modal.exportTitle":"Tabelbaseret e-mail-HTML","export.copy":"Kopiér","export.copied":"Kopieret","action.download":"Download","export.meta":"{kb} KB · tabeller + inline-stilarter · Outlook-sikre bredder","modal.rawHtmlTitle":"Rå HTML, direkte forhåndsvisning","code.statusEdited":"Kodevisning — redigeret — forhåndsvisning live, endnu ikke anvendt","code.statusSynced":"Kodevisning — synkroniseret med lærredet","action.reload":"Genindlæs","action.reloadHint":"Genindlæs kilde fra lærredet","action.applyToCanvas":"Anvend på lærred","action.applyToCanvasHint":"Fortolk kilden tilbage til redigerbare rækker","action.closeWithoutApplyingHint":"Luk uden at anvende","code.source":"Kilde","code.livePreview":"Direkte forhåndsvisning","code.liveHtmlPreviewTitle":"Direkte HTML-forhåndsvisning","code.applyNote":"Anvend fortolker hver tabelrække på øverste niveau til en lærredsrække, du stadig kan markere, omarrangere og slette — håndskrevet kode overlever processen uændret.","code.meta":"{kb} KB · {lines} linjer","toast.sourceReloaded":"Kilde genindlæst fra lærredet","toast.sourceAppliedOne":"Kilde anvendt — 1 række på lærredet","toast.sourceAppliedMany":"Kilde anvendt — {rows} rækker på lærredet","toast.parseError":"Kunne ikke fortolke den HTML","modal.aiDraft":"AI-skriveassistent","modal.aiDraftTitle":"Skriv din e-mail med AI","ai.disclosure":"AI skaber forslag ud fra din brief. Gennemgå og redigér resultatet, før du sender.","ai.goal":"Mål","ai.tone":"Tone","ai.briefLabel":"Hvad handler denne e-mail om?","ai.briefPlaceholder":"f.eks. Efterårskollektion, 15% til abonnenter, fragtfrit over 150 kr","ai.generate":"Generér tekst","ai.writing":"Skriver…","ai.kindHeadline":"Overskrift","ai.kindBody":"Brødtekst","ai.kindButton":"Knaptekst","ai.actionInsertHeading":"Indsæt som overskrift","ai.actionInsertText":"Indsæt som tekstblok","ai.actionInsertButton":"Indsæt som knap","toast.headingAdded":"Overskrift tilføjet","toast.textBlockAdded":"Tekstblok tilføjet","toast.buttonAdded":"Knap tilføjet","preview.kickerMobile":"Forhåndsvisning — mobil 375px","preview.kickerDesktop":"Forhåndsvisning — computer {width}px","action.close":"Luk","toast.duplicated":"Duplikeret","toast.fileUploadedOne":"1 fil uploadet","toast.fileUploadedMany":"{count} filer uploadet","toast.imageReplaced":"Billede erstattet","toast.imageAdded":"Billede tilføjet til lærredet","toast.htmlCopied":"HTML kopieret til udklipsholder","toast.templateLoaded":"{name} indlæst","toast.snippetDefaultLabel":"Uddrag","toast.snippetInserted":"{name} indsat","toast.snippetCopied":"{name} kopieret — vælg en tekstblok for at indsætte den","rte.textStyle":"Tekststil","rte.mergeTags":"Flettefelter","rte.noMergeTags":"Ingen flettefelter tilgængelige","rte.textColor":"Tekstfarve","rte.highlightColor":"Fremhævningsfarve","rte.removeHighlight":"Fjern fremhævning","rte.clearFormatting":"Ryd formatering","action.downloadPng":"Hent PNG","action.screenshot":"Skærmbillede","action.screenshotHint":"Se hele skabelonen som et billede, og hent det","toast.pngSaved":"Skærmbillede hentet","toast.pngFailed":"Skærmbilledet mislykkedes — et eksternt billede kunne ikke indlæses","toast.pngCopied":"Skærmbillede kopieret til udklipsholderen","toast.pngCopyFailed":"Denne browser ville ikke acceptere et billede i udklipsholderen","story.kicker":"Skærmbillede","story.rendering":"Skærmbilledet gengives","story.renderingHint":"Hver blok tegnes i 2× — det tager et øjeblik ved en lang skabelon.","story.failed":"Skærmbilledet mislykkedes","story.failedHint":"Et billede i skabelonen kunne ikke indlæses til optagelsen.","story.retry":"Prøv igen","story.play":"Afspil","story.pause":"Pause","story.replay":"Afspil igen","story.copy":"Kopiér","story.meta":"{w}×{h} · skærm {i} af {n}","footer.poweredBy":"Drevet af SELISE Blocks © 2026"}})},re["core/i18n/de-CH.js"]=function(se,K,z){Object.assign(K,{DE_CH:{"action.undoHint":"Rückgängig — ⌘Z","action.redoHint":"Wiederholen — ⌘⇧Z","action.chromeToDark":"Dunkel","action.chromeToLight":"Hell","action.chromeHint":"Editor-Design hell / dunkel","action.chromeHintToDark":"Dunkelmodus","action.chromeHintToLight":"Hellmodus","action.aiDraft":"Entwurf","action.aiDraftHint":"E-Mail-Inhalt mit KI entwerfen","action.code":"Code","action.codeHint":"Rohes HTML mit Live-Vorschau bearbeiten","action.preview":"Vorschau","action.previewHint":"E-Mail-Vorschau","action.export":"Exportieren","action.exportHint":"E-Mail exportieren","device.desktop":"Desktop","device.desktopHint":"Desktop-Breite","device.mobile":"Mobil","device.mobileHint":"Mobile Breite","status.autosaveOn":"Autospeichern aktiv","status.saved":"gespeichert {time}","status.saveFailed":"nicht gespeichert — Speicher voll","canvas.meta":"{rows} Zeilen · {blocks} Blöcke · {width}px","tab.design":"Stil","tab.designHint":"Auswahl gestalten","tab.blocks":"Blöcke","tab.blocksHint":"Inhaltsblöcke und Variablen","tab.rows":"Abschn.","tab.rowsHint":"Abschnittslayouts und Canvas-Modell","tab.files":"Dateien","tab.filesHint":"Asset-Bibliothek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Einstellungen","tab.settingsHint":"E-Mail-Einstellungen","tab.data":"Var.","tab.dataHint":"Von deinem Code bereitgestellte Variablen","inspector.blockProperties":"Blockeigenschaften","inspector.sectionProperties":"Abschnittseigenschaften","inspector.title":"Inspektor","inspector.sectionLabel":"Abschnitt","inspector.nothingSelected":"Nichts ausgewählt","action.duplicateHint":"Duplizieren — ⌘D","action.deleteHint":"Löschen — ⌫","inspector.emptyBody":'Wähle eine Zeile oder einen Block auf der Canvas aus, um ihn hier zu gestalten. Ziehe Blöcke aus dem Tab <strong style="color: var(--ed-text); font-weight: 600;">Blöcke</strong>; Doppelklick auf beliebigen Text, um ihn direkt zu bearbeiten.',"inspector.shortcuts":"Kurzbefehle","shortcut.undoRedo":"⌘Z / ⌘⇧Z — Rückgängig, Wiederholen","shortcut.duplicate":"⌘D — Auswahl duplizieren","shortcut.delete":"⌫ — Auswahl löschen","shortcut.export":"⌘E — HTML exportieren","shortcut.escape":"ESC — Auswahl aufheben, schliessen","blocks.dragHint":"Auf die Canvas ziehen","blocks.count":"{count} Blöcke","rows.sectionLayouts":"Abschnittslayouts","rows.customMarkup":"Eigenes Markup","rows.htmlRowHint":"Zum Einfügen ziehen oder klicken — eine randlose Zeile, die du mit rohem HTML füllst","rows.rawHtmlSection":"Roher HTML-Abschnitt","rows.rawHtmlDesc":"Randloser Abschnitt, dein eigenes Markup, weiterhin ziehbar","rows.canvasModel":"Canvas-Modell","rows.modeRowBased":"Zeilenbasiert","rows.modeFreeStack":"Freier Stapel","rows.hintRows":"Abschnittsbasiert: Zuerst ein Layout ablegen, dann Blöcke in seine Spalten ziehen — jeder Abschnitt hat eigene Hintergrund-, Rahmen-, Flex- oder Grid-Einstellungen.","rows.hintStack":"Freier Stapel: Ohne Layouts — jeder abgelegte Block wird zu einem eigenen, vollbreiten Abschnitt, der Reihe nach gestapelt.","files.libraryCount":"Bibliothek — {count} Dateien","files.openManager":"Dateimanager öffnen","files.dragToCanvas":"Ziehe eine beliebige Datei direkt auf die Canvas, um sie als Bildblock einzufügen.","layers.structure":"Struktur","layers.sectionSingle":"Abschnitt","layers.sectionMulti":"Abschnitt · {count} Spalten","layers.column":"Spalte {index}","layers.blockCount":"{count} Blk.","vars.title":"Variablen","vars.fromCode":"{count} aus deinem Code","vars.declaredNote":"Von deiner Anwendung deklariert — die Canvas zeigt immer das Token, nie einen Wert.","vars.filterPlaceholder":"Variablen filtern…","vars.insertHint":"Klicken, um in ausgewählten Text, Überschrift oder Button einzufügen","vars.insert":"einfügen","vars.noMatch":"Keine Variable entspricht diesem Filter.","vars.noneDeclared":"Deine Anwendung hat noch keine Variablen deklariert.","vars.rteHint":"Beim Bearbeiten von Text kannst du eine Variable auch direkt aus dem Dropdown der Inline-Symbolleiste auswählen.","modal.fileManager":"Dateimanager","modal.assetsTitle":"Assets","modal.replaceImage":"Bild ersetzen","library.searchPlaceholder":"Dateien suchen…","action.upload":"Hochladen","library.clickToPlace":"Datei anklicken zum Platzieren · oder Datei auf die Canvas ziehen","library.clickToReplace":"Datei anklicken, um das ausgewählte Bild zu ersetzen","library.storageLabel":"{count} Dateien · {size}","library.folders":"Ordner","library.dropHint":"Bilddateien hier zum Hochladen ablegen — oder den Hochladen-Button nutzen.","library.deleteFileHint":"Datei löschen","library.del":"LÖSCH","toast.assetDeleted":"{name} gelöscht","library.allFiles":"Alle Dateien","library.loadMore":"Mehr laden","library.empty":"Hier gibt es noch keine Dateien.","storage.loading":"Dateien werden geladen…","storage.uploading":"{count} werden hochgeladen…","storage.errLoadFailed":"Die Dateibibliothek konnte nicht geladen werden — {reason}","storage.errNoLimits":"Uploads sind deaktiviert: Diese Anwendung hat keine Upload-Limiten gesetzt.","storage.errNoMaxBytes":"Uploads sind deaktiviert: Es wurde keine maximale Dateigrösse festgelegt.","storage.errTooLarge":"{name} ist {size} gross — das Limit liegt bei {max}.","storage.errFormat":"{name} ist eine {type}-Datei, die hier nicht erlaubt ist.","storage.errSvg":"{name} ist eine SVG-Datei, die diese Anwendung nicht akzeptiert.","storage.errDimensions":"{name} ist {w}×{ht}px — das Limit liegt bei {maxW}×{maxH}px.","storage.errTooMany":"Es können nur {max} Dateien aufs Mal hochgeladen werden.","storage.errUnreadable":"{name} ist kein lesbares Bild.","storage.errUploadFailed":"{name} konnte nicht hochgeladen werden — {reason}","storage.errDeleteFailed":"{name} konnte nicht gelöscht werden — {reason}","modal.export":"Exportieren","modal.exportTitle":"Tabellenbasiertes E-Mail-HTML","export.copy":"Kopieren","export.copied":"Kopiert","action.download":"Herunterladen","export.meta":"{kb} KB · Tabellen + Inline-Stile · Outlook-sichere Breiten","modal.rawHtmlTitle":"Rohes HTML, Live-Vorschau","code.statusEdited":"Code-Ansicht — bearbeitet — Vorschau live, noch nicht übernommen","code.statusSynced":"Code-Ansicht — synchron mit der Canvas","action.reload":"Neu laden","action.reloadHint":"Quelltext aus der Canvas neu laden","action.applyToCanvas":"Auf Canvas anwenden","action.applyToCanvasHint":"Quelltext zurück in bearbeitbare Zeilen umwandeln","action.closeWithoutApplyingHint":"Ohne Anwenden schliessen","code.source":"Quelltext","code.livePreview":"Live-Vorschau","code.liveHtmlPreviewTitle":"Live-HTML-Vorschau","code.applyNote":"Beim Anwenden wird jede oberste Tabellenzeile in eine Canvas-Zeile umgewandelt, die du weiterhin auswählen, neu anordnen und löschen kannst — handgeschriebenes Markup übersteht den Vorgang unverändert.","code.meta":"{kb} KB · {lines} Zeilen","toast.sourceReloaded":"Quelltext aus der Canvas neu geladen","toast.sourceAppliedOne":"Quelltext angewendet — 1 Zeile auf der Canvas","toast.sourceAppliedMany":"Quelltext angewendet — {rows} Zeilen auf der Canvas","toast.parseError":"Dieses HTML konnte nicht verarbeitet werden","modal.aiDraft":"KI-Schreibassistent","modal.aiDraftTitle":"E-Mail mit KI entwerfen","ai.disclosure":"Die KI erstellt Vorschläge aus Ihrem Briefing. Prüfen und bearbeiten Sie das Ergebnis vor dem Versand.","ai.goal":"Ziel","ai.tone":"Ton","ai.briefLabel":"Worum geht es in dieser E-Mail?","ai.briefPlaceholder":"z. B. Herbstkollektion, 15 % für Abonnenten, kostenloser Versand ab 150 €","ai.generate":"Text generieren","ai.writing":"Wird geschrieben…","ai.kindHeadline":"Überschrift","ai.kindBody":"Fliesstext","ai.kindButton":"Button-Text","ai.actionInsertHeading":"Als Überschrift einfügen","ai.actionInsertText":"Als Textblock einfügen","ai.actionInsertButton":"Als Button einfügen","toast.headingAdded":"Überschrift hinzugefügt","toast.textBlockAdded":"Textblock hinzugefügt","toast.buttonAdded":"Button hinzugefügt","preview.kickerMobile":"Vorschau — Mobil 375px","preview.kickerDesktop":"Vorschau — Desktop {width}px","action.close":"Schliessen","toast.duplicated":"Dupliziert","toast.fileUploadedOne":"1 Datei hochgeladen","toast.fileUploadedMany":"{count} Dateien hochgeladen","toast.imageReplaced":"Bild ersetzt","toast.imageAdded":"Bild zur Canvas hinzugefügt","toast.htmlCopied":"HTML in die Zwischenablage kopiert","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eingefügt","toast.snippetCopied":"{name} kopiert — wähle einen Textblock zum Einfügen aus","rte.textStyle":"Textstil","rte.mergeTags":"Platzhalter","rte.noMergeTags":"Keine Platzhalter verfügbar","rte.textColor":"Textfarbe","rte.highlightColor":"Markierungsfarbe","rte.removeHighlight":"Markierung entfernen","rte.clearFormatting":"Formatierung entfernen","action.downloadPng":"PNG herunterladen","action.screenshot":"Screenshot","action.screenshotHint":"Die ganze Vorlage als Bild ansehen und herunterladen","toast.pngSaved":"Screenshot heruntergeladen","toast.pngFailed":"Screenshot fehlgeschlagen — ein externes Bild konnte nicht geladen werden","toast.pngCopied":"Screenshot in die Zwischenablage kopiert","toast.pngCopyFailed":"Dieser Browser hat kein Bild in der Zwischenablage akzeptiert","story.kicker":"Screenshot","story.rendering":"Screenshot wird erstellt","story.renderingHint":"Jeder Block wird in 2× gezeichnet — bei einer langen Vorlage dauert das einen Moment.","story.failed":"Screenshot fehlgeschlagen","story.failedHint":"Ein Bild in der Vorlage konnte für die Aufnahme nicht geladen werden.","story.retry":"Nochmals versuchen","story.play":"Abspielen","story.pause":"Pause","story.replay":"Nochmals abspielen","story.copy":"Kopieren","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},re["core/i18n/de.js"]=function(se,K,z){Object.assign(K,{DE:{"action.undoHint":"Rückgängig — ⌘Z","action.redoHint":"Wiederholen — ⌘⇧Z","action.chromeToDark":"Dunkel","action.chromeToLight":"Hell","action.chromeHint":"Editor-Design hell / dunkel","action.chromeHintToDark":"Dunkelmodus","action.chromeHintToLight":"Hellmodus","action.aiDraft":"Entwurf","action.aiDraftHint":"E-Mail-Inhalt mit KI entwerfen","action.code":"Code","action.codeHint":"Rohes HTML mit Live-Vorschau bearbeiten","action.preview":"Vorschau","action.previewHint":"E-Mail-Vorschau","action.export":"Exportieren","action.exportHint":"E-Mail exportieren","device.desktop":"Desktop","device.desktopHint":"Desktop-Breite","device.mobile":"Mobil","device.mobileHint":"Mobile Breite","status.autosaveOn":"Autospeichern aktiv","status.saved":"gespeichert {time}","status.saveFailed":"nicht gespeichert — Speicher voll","canvas.meta":"{rows} Zeilen · {blocks} Blöcke · {width}px","tab.design":"Stil","tab.designHint":"Auswahl gestalten","tab.blocks":"Blöcke","tab.blocksHint":"Inhaltsblöcke und Variablen","tab.rows":"Abschn.","tab.rowsHint":"Abschnittslayouts und Canvas-Modell","tab.files":"Dateien","tab.filesHint":"Asset-Bibliothek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Einstellungen","tab.settingsHint":"E-Mail-Einstellungen","tab.data":"Var.","tab.dataHint":"Von deinem Code bereitgestellte Variablen","inspector.blockProperties":"Blockeigenschaften","inspector.sectionProperties":"Abschnittseigenschaften","inspector.title":"Inspektor","inspector.sectionLabel":"Abschnitt","inspector.nothingSelected":"Nichts ausgewählt","action.duplicateHint":"Duplizieren — ⌘D","action.deleteHint":"Löschen — ⌫","inspector.emptyBody":'Wähle eine Zeile oder einen Block auf der Canvas aus, um ihn hier zu gestalten. Ziehe Blöcke aus dem Tab <strong style="color: var(--ed-text); font-weight: 600;">Blöcke</strong>; Doppelklick auf beliebigen Text, um ihn direkt zu bearbeiten.',"inspector.shortcuts":"Kurzbefehle","shortcut.undoRedo":"⌘Z / ⌘⇧Z — Rückgängig, Wiederholen","shortcut.duplicate":"⌘D — Auswahl duplizieren","shortcut.delete":"⌫ — Auswahl löschen","shortcut.export":"⌘E — HTML exportieren","shortcut.escape":"ESC — Auswahl aufheben, schließen","blocks.dragHint":"Auf die Canvas ziehen","blocks.count":"{count} Blöcke","rows.sectionLayouts":"Abschnittslayouts","rows.customMarkup":"Eigenes Markup","rows.htmlRowHint":"Zum Einfügen ziehen oder klicken — eine randlose Zeile, die du mit rohem HTML füllst","rows.rawHtmlSection":"Roher HTML-Abschnitt","rows.rawHtmlDesc":"Randloser Abschnitt, dein eigenes Markup, weiterhin ziehbar","rows.canvasModel":"Canvas-Modell","rows.modeRowBased":"Zeilenbasiert","rows.modeFreeStack":"Freier Stapel","rows.hintRows":"Abschnittsbasiert: Zuerst ein Layout ablegen, dann Blöcke in seine Spalten ziehen — jeder Abschnitt hat eigene Hintergrund-, Rahmen-, Flex- oder Grid-Einstellungen.","rows.hintStack":"Freier Stapel: Ohne Layouts — jeder abgelegte Block wird zu einem eigenen, vollbreiten Abschnitt, der Reihe nach gestapelt.","files.libraryCount":"Bibliothek — {count} Dateien","files.openManager":"Dateimanager öffnen","files.dragToCanvas":"Ziehe eine beliebige Datei direkt auf die Canvas, um sie als Bildblock einzufügen.","layers.structure":"Struktur","layers.sectionSingle":"Abschnitt","layers.sectionMulti":"Abschnitt · {count} Spalten","layers.column":"Spalte {index}","layers.blockCount":"{count} Blk.","vars.title":"Variablen","vars.fromCode":"{count} aus deinem Code","vars.declaredNote":"Von deiner Anwendung deklariert — die Canvas zeigt immer das Token, nie einen Wert.","vars.filterPlaceholder":"Variablen filtern…","vars.insertHint":"Klicken, um in ausgewählten Text, Überschrift oder Button einzufügen","vars.insert":"einfügen","vars.noMatch":"Keine Variable entspricht diesem Filter.","vars.noneDeclared":"Deine Anwendung hat noch keine Variablen deklariert.","vars.rteHint":"Beim Bearbeiten von Text kannst du eine Variable auch direkt aus dem Dropdown der Inline-Symbolleiste auswählen.","modal.fileManager":"Dateimanager","modal.assetsTitle":"Assets","modal.replaceImage":"Bild ersetzen","library.searchPlaceholder":"Dateien suchen…","action.upload":"Hochladen","library.clickToPlace":"Datei anklicken zum Platzieren · oder Datei auf die Canvas ziehen","library.clickToReplace":"Datei anklicken, um das ausgewählte Bild zu ersetzen","library.storageLabel":"{count} Dateien · {size}","library.folders":"Ordner","library.dropHint":"Bilddateien hier zum Hochladen ablegen — oder den Hochladen-Button nutzen.","library.deleteFileHint":"Datei löschen","library.del":"LÖSCH","toast.assetDeleted":"{name} gelöscht","library.allFiles":"Alle Dateien","library.loadMore":"Mehr laden","library.empty":"Hier gibt es noch keine Dateien.","storage.loading":"Dateien werden geladen…","storage.uploading":"{count} werden hochgeladen…","storage.errLoadFailed":"Die Dateibibliothek konnte nicht geladen werden — {reason}","storage.errNoLimits":"Uploads sind deaktiviert: Diese Anwendung hat keine Upload-Limits gesetzt.","storage.errNoMaxBytes":"Uploads sind deaktiviert: Es wurde keine maximale Dateigröße festgelegt.","storage.errTooLarge":"{name} ist {size} groß — das Limit liegt bei {max}.","storage.errFormat":"{name} ist eine {type}-Datei, die hier nicht erlaubt ist.","storage.errSvg":"{name} ist eine SVG-Datei, die diese Anwendung nicht akzeptiert.","storage.errDimensions":"{name} ist {w}×{ht}px — das Limit liegt bei {maxW}×{maxH}px.","storage.errTooMany":"Es können nur {max} Dateien auf einmal hochgeladen werden.","storage.errUnreadable":"{name} ist kein lesbares Bild.","storage.errUploadFailed":"{name} konnte nicht hochgeladen werden — {reason}","storage.errDeleteFailed":"{name} konnte nicht gelöscht werden — {reason}","modal.export":"Exportieren","modal.exportTitle":"Tabellenbasiertes E-Mail-HTML","export.copy":"Kopieren","export.copied":"Kopiert","action.download":"Herunterladen","export.meta":"{kb} KB · Tabellen + Inline-Stile · Outlook-sichere Breiten","modal.rawHtmlTitle":"Rohes HTML, Live-Vorschau","code.statusEdited":"Code-Ansicht — bearbeitet — Vorschau live, noch nicht übernommen","code.statusSynced":"Code-Ansicht — synchron mit der Canvas","action.reload":"Neu laden","action.reloadHint":"Quelltext aus der Canvas neu laden","action.applyToCanvas":"Auf Canvas anwenden","action.applyToCanvasHint":"Quelltext zurück in bearbeitbare Zeilen umwandeln","action.closeWithoutApplyingHint":"Ohne Anwenden schließen","code.source":"Quelltext","code.livePreview":"Live-Vorschau","code.liveHtmlPreviewTitle":"Live-HTML-Vorschau","code.applyNote":"Beim Anwenden wird jede oberste Tabellenzeile in eine Canvas-Zeile umgewandelt, die du weiterhin auswählen, neu anordnen und löschen kannst — handgeschriebenes Markup übersteht den Vorgang unverändert.","code.meta":"{kb} KB · {lines} Zeilen","toast.sourceReloaded":"Quelltext aus der Canvas neu geladen","toast.sourceAppliedOne":"Quelltext angewendet — 1 Zeile auf der Canvas","toast.sourceAppliedMany":"Quelltext angewendet — {rows} Zeilen auf der Canvas","toast.parseError":"Dieses HTML konnte nicht verarbeitet werden","modal.aiDraft":"KI-Schreibassistent","modal.aiDraftTitle":"E-Mail mit KI entwerfen","ai.disclosure":"Die KI erstellt Vorschläge aus Ihrem Briefing. Prüfen und bearbeiten Sie das Ergebnis vor dem Versand.","ai.goal":"Ziel","ai.tone":"Ton","ai.briefLabel":"Worum geht es in dieser E-Mail?","ai.briefPlaceholder":"z. B. Herbstkollektion, 15 % für Abonnenten, kostenloser Versand ab 150 €","ai.generate":"Text generieren","ai.writing":"Wird geschrieben…","ai.kindHeadline":"Überschrift","ai.kindBody":"Fließtext","ai.kindButton":"Button-Text","ai.actionInsertHeading":"Als Überschrift einfügen","ai.actionInsertText":"Als Textblock einfügen","ai.actionInsertButton":"Als Button einfügen","toast.headingAdded":"Überschrift hinzugefügt","toast.textBlockAdded":"Textblock hinzugefügt","toast.buttonAdded":"Button hinzugefügt","preview.kickerMobile":"Vorschau — Mobil 375px","preview.kickerDesktop":"Vorschau — Desktop {width}px","action.close":"Schließen","toast.duplicated":"Dupliziert","toast.fileUploadedOne":"1 Datei hochgeladen","toast.fileUploadedMany":"{count} Dateien hochgeladen","toast.imageReplaced":"Bild ersetzt","toast.imageAdded":"Bild zur Canvas hinzugefügt","toast.htmlCopied":"HTML in die Zwischenablage kopiert","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eingefügt","toast.snippetCopied":"{name} kopiert — wähle einen Textblock zum Einfügen aus","rte.textStyle":"Textstil","rte.mergeTags":"Platzhalter","rte.noMergeTags":"Keine Platzhalter verfügbar","rte.textColor":"Textfarbe","rte.highlightColor":"Markierungsfarbe","rte.removeHighlight":"Markierung entfernen","rte.clearFormatting":"Formatierung entfernen","action.downloadPng":"PNG herunterladen","action.screenshot":"Screenshot","action.screenshotHint":"Die gesamte Vorlage als Bild ansehen und herunterladen","toast.pngSaved":"Screenshot heruntergeladen","toast.pngFailed":"Screenshot fehlgeschlagen — ein externes Bild konnte nicht geladen werden","toast.pngCopied":"Screenshot in die Zwischenablage kopiert","toast.pngCopyFailed":"Dieser Browser hat kein Bild in der Zwischenablage akzeptiert","story.kicker":"Screenshot","story.rendering":"Screenshot wird erstellt","story.renderingHint":"Jeder Block wird in 2× gezeichnet — bei einer langen Vorlage dauert das einen Moment.","story.failed":"Screenshot fehlgeschlagen","story.failedHint":"Ein Bild in der Vorlage konnte für die Aufnahme nicht geladen werden.","story.retry":"Erneut versuchen","story.play":"Abspielen","story.pause":"Pause","story.replay":"Erneut abspielen","story.copy":"Kopieren","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},re["core/i18n/dz.js"]=function(se,K,z){Object.assign(K,{DZ:{"action.undoHint":"ལོག་སྟེ་བཟོ — ⌘Z","action.redoHint":"སླར་བསྐྱར — ⌘⇧Z","action.chromeToDark":"ནག་ཅན","action.chromeToLight":"དཀར་ཅན","action.chromeHint":"སྣུམ་འཕྲུལ་གྱི་མདོག་དཀར་ནག","action.chromeHintToDark":"ནག་ཅན་ཐབས་ལམ","action.chromeHintToLight":"འོད་ཅན་ཐབས་ལམ","action.aiDraft":"ཟིན་བྲིས","action.aiDraftHint":"AI གིས་གློག་འཕྲིན་གྱི་ནང་དོན་བྲིས","action.code":"ཀོཌ","action.codeHint":"HTML རྩ་བ་ལས་བཟོ་བཅོས་དང་མཐོང་སྣང་","action.preview":"སྔོན་མཐོང","action.previewHint":"གློག་འཕྲིན་སྔོན་མཐོང","action.export":"ཕྱིར་འདྲེན","action.exportHint":"ཁྱོད་ཀྱི་གློག་འཕྲིན་ཕྱིར་འདྲེན","device.desktop":"ཌེསིཀ་ཊོཔ","device.desktopHint":"ཌེསིཀ་ཊོཔ་གི་རྒྱ་ཚད","device.mobile":"མོ་བའིལ","device.mobileHint":"མོ་བའིལ་གྱི་རྒྱ་ཚད","status.autosaveOn":"རང་བཞིན་ཉར་ཚགས་ཁ་ཕྱེ་ཡོད","status.saved":"ཉར་ཚགས་བྱུང་ {time}","status.saveFailed":"ཉར་ཚགས་མ་བྱུང — གནས་ཁོངས་གང་སོང","canvas.meta":"ཐིག་ཁྲམ་ {rows} · སྡེབ་ཚན་ {blocks} · {width}px","tab.design":"བཟོ་རྣམ","tab.designHint":"སེལ་འཐུ་བྱུང་བའི་ཆ་ཤས་བཟོ་རྣམ་སྒྱུར","tab.blocks":"སྡེབ་ཚན","tab.blocksHint":"ནང་དོན་སྡེབ་ཚན་དང་འགྱུར་ཚད","tab.rows":"དབྱེ་ཚན","tab.rowsHint":"དབྱེ་ཚན་གྱི་བཀོད་པ་དང་ཐིག་ཁྲམ","tab.files":"ཡིག་སྣོད","tab.filesHint":"དཔེ་མཛོད","tab.layers":"བཀོད་པ","tab.layersHint":"ཡིག་ཆའི་བཀོད་པ","tab.settings":"སྒྲིག་སྟངས","tab.settingsHint":"གློག་འཕྲིན་གྱི་སྒྲིག་སྟངས","tab.data":"འགྱུར་ཚད","tab.dataHint":"ཁྱོད་ཀྱི་ཀོཌ་ནང་ལས་ཐོན་པའི་འགྱུར་ཚད","inspector.blockProperties":"སྡེབ་ཚན་གྱི་ཁྱད་ཆོས","inspector.sectionProperties":"དབྱེ་ཚན་གྱི་ཁྱད་ཆོས","inspector.title":"བརྟག་ཞིབ","inspector.sectionLabel":"དབྱེ་ཚན","inspector.nothingSelected":"ག་ནི་ཡང་སེལ་འཐུ་མ་བྱུང","action.duplicateHint":"འདྲ་བཤུས — ⌘D","action.deleteHint":"བསུབ — ⌫","inspector.emptyBody":'ཐིག་ཁྲམ་ནང་གི་དབྱེ་ཚན་ཡང་ན་སྡེབ་ཚན་ཅིག་སེལ་འཐུ་འབད་དེ་འདི་ནང་བཟོ་རྣམ་སྒྱུར། <strong style="color: var(--ed-text); font-weight: 600;">སྡེབ་ཚན</strong> ཟེར་བའི་ཁ་ཆའི་ནང་ལས་སྡེབ་ཚན་འདྲུད་དེ་བཙུགས། ཡི་གུ་ག་ནི་འབད་རུང་ཁར་གཉིས་མཐེབ་བརྡབས་ཏེ་བཟོ་བཅོས་འབད།',"inspector.shortcuts":"མགྱོགས་ལམ","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ལོག་སྟེ་བཟོ, སླར་བསྐྱར","shortcut.duplicate":"⌘D — སེལ་འཐུ་འདྲ་བཤུས","shortcut.delete":"⌫ — སེལ་འཐུ་བསུབ","shortcut.export":"⌘E — HTML ཕྱིར་འདྲེན","shortcut.escape":"ESC — སེལ་འཐུ་བཏོན, ཁ་བསྡམས","blocks.dragHint":"ཐིག་ཁྲམ་ལུ་འདྲུད་དེ་བཙུགས","blocks.count":"སྡེབ་ཚན་ {count}","rows.sectionLayouts":"དབྱེ་ཚན་གྱི་བཀོད་པ","rows.customMarkup":"རང་སྒྲིག་མཱརཀ་པ","rows.htmlRowHint":"འདྲུད་དེ་བཙུགས, ཡང་ན་ཁ་སྣོན་འབད་ནི་ལུ་མཐེབ་རྐྱབས — raw HTML གིས་བཀང་ནིའི་དབྱེ་ཚན་རྒྱ་ཚད་ཧྲིལ་བུ","rows.rawHtmlSection":"Raw HTML དབྱེ་ཚན","rows.rawHtmlDesc":"རྒྱ་ཚད་ཧྲིལ་བུའི་དབྱེ་ཚན, ཁྱོད་རང་གི་མཱརཀ་པ, ད་རུང་འདྲུད་བཏུབ","rows.canvasModel":"ཐིག་ཁྲམ་གྱི་དཔེ་གཞི","rows.modeRowBased":"ཐིག་ཁྲམ་གྱི་གཞི་བཞག","rows.modeFreeStack":"རང་མོས་སྤུང་ཚུལ","rows.hintRows":"དབྱེ་ཚན་གྱི་གཞི་བཞག: དང་པོ་བཀོད་པ་ཅིག་བཙུགས, དེ་ལས་སྡེབ་ཚན་ཚུ་ཀེར་ཐིག་ནང་བཙུགས — དབྱེ་ཚན་རེ་རེ་ལུ་རང་སོའི་རྒྱབ་མདོག, མཐའ་མཚམས, flex ཡང་ན་ grid སྒྲིག་སྟངས་ཡོད།","rows.hintStack":"རང་མོས་སྤུང་ཚུལ: བཀོད་པ་མེད་པར — ཁྱོད་ཀྱིས་འདྲུད་དེ་བཙུགས་པའི་སྡེབ་ཚན་རེ་རེ་རང་སོའི་རྒྱ་ཚད་ཧྲིལ་བུའི་དབྱེ་ཚན་ཅིག་ལུ་གྱུར་ཏེ་གོ་རིམ་བཞིན་སྤུངས།","files.libraryCount":"དཔེ་མཛོད — ཡིག་སྣོད་ {count}","files.openManager":"ཡིག་སྣོད་དོ་དམ་པ་ཁ་ཕྱེ","files.dragToCanvas":"གཟུགས་བརྙན་སྡེབ་ཚན་ཅིག་སྦེ་བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ག་ནི་འབད་རུང་ཐིག་ཁྲམ་ལུ་ཐད་ཀར་འདྲུད།","layers.structure":"བཀོད་པ","layers.sectionSingle":"དབྱེ་ཚན","layers.sectionMulti":"དབྱེ་ཚན · ཀེར་ཐིག་ {count}","layers.column":"ཀེར་ཐིག {index}","layers.blockCount":"སྡེབ་ཚན་ {count}","vars.title":"འགྱུར་ཚད","vars.fromCode":"ཁྱོད་ཀྱི་ཀོཌ་ནང་ལས་ {count}","vars.declaredNote":"ཁྱོད་ཀྱི་ལག་ཆས་ཀྱིས་གསལ་བཀོད་འབད་ཡོད — ཐིག་ཁྲམ་གྱིས་རྟག་པར་ཊོ་ཀེན་སྟོན, གནས་གོང་ནམ་ཡང་མི་སྟོན།","vars.filterPlaceholder":"འགྱུར་ཚད་འཚོལ…","vars.insertHint":"སེལ་འཐུ་བྱུང་བའི་ཡི་གུ, མགོ་མིང་ཡང་ན་མཐེབ་ནང་བཙུགས་ནིའི་དོན་ལུ་མཐེབ་རྐྱབས","vars.insert":"བཙུགས","vars.noMatch":"འཚོལ་ཞིབ་དེ་དང་མཐུན་པའི་འགྱུར་ཚད་མིན་འདུག","vars.noneDeclared":"ཁྱོད་ཀྱི་ལག་ཆས་ཀྱིས་ད་ལྟོ་ཚུན་འགྱུར་ཚད་ག་ནི་ཡང་གསལ་བཀོད་མ་འབད","vars.rteHint":"ཡི་གུ་བཟོ་བཅོས་སྐབས་ལག་ཆས་ཕྲ་མོའི་ཐོ་ཡིག་ནང་ལས་ཡང་འགྱུར་ཚད་ཅིག་འཐུ་བཏུབ།","modal.fileManager":"ཡིག་སྣོད་དོ་དམ་པ","modal.assetsTitle":"དངོས་རིགས","modal.replaceImage":"གཟུགས་བརྙན་ཚབ་བཙུགས","library.searchPlaceholder":"ཡིག་སྣོད་འཚོལ…","action.upload":"བསྐྱེད་འདྲེན","library.clickToPlace":"བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ཅིག་ལུ་མཐེབ་རྐྱབས · ཡང་ན་ཐིག་ཁྲམ་ལུ་ཡིག་སྣོད་འདྲུད","library.clickToReplace":"སེལ་འཐུ་བྱུང་བའི་གཟུགས་བརྙན་ཚབ་བཙུགས་ནིའི་དོན་ལུ་ཡིག་སྣོད་ལུ་མཐེབ་རྐྱབས","library.storageLabel":"ཡིག་སྣོད་ {count} · {size}","library.folders":"ཡིག་སྣོད་ཁུག","library.dropHint":"བསྐྱེད་འདྲེན་འབད་ནིའི་དོན་ལུ་གཟུགས་བརྙན་ཡིག་སྣོད་འདི་ཁར་བཞག — ཡང་ན་བསྐྱེད་འདྲེན་མཐེབ་ལག་ལེན།","library.deleteFileHint":"ཡིག་སྣོད་བསུབ","library.del":"བསུབ","toast.assetDeleted":"{name} བསུབ་ཡོདཔ","library.allFiles":"ཡིག་སྣོད་ཆ་མཉམ","library.loadMore":"ཧེང་བཀལ་བལྟ","library.empty":"ནཱ་ལུ་ད་ལྟོ་ཡིག་སྣོད་མིན་འདུག།","storage.loading":"ཡིག་སྣོད་མངོན་གསལ་འབད་བཞིན་འདུག…","storage.uploading":"{count} ཡར་འཇུག་འབད་བཞིན་འདུག…","storage.errLoadFailed":"ཡིག་སྣོད་མཛོད་མངོན་གསལ་མ་ཚུགས — {reason}","storage.errNoLimits":"ཡར་འཇུག་བཀག་ནུག: གློག་རིམ་འདི་གིས་ཡར་འཇུག་གི་ཚད་གཞི་བཟོ་མ་བཞག།","storage.errNoMaxBytes":"ཡར་འཇུག་བཀག་ནུག: ཡིག་སྣོད་ཀྱི་ཚད་མཐོ་ཤོས་བཀོད་མ་བཞག།","storage.errTooLarge":"{name} འདི {size} ཨིན — ཚད་གཞི {max} ཨིན།","storage.errFormat":"{name} འདི {type} ཡིག་སྣོད་ཨིན། ནཱ་ལུ་ཆོག་མི་འཐོབ།","storage.errSvg":"{name} འདི SVG ཨིན། གློག་རིམ་འདི་གིས་དེ་ལེན་མི་བཏུབ།","storage.errDimensions":"{name} འདི {w}×{ht}px ཨིན — ཚད་གཞི {maxW}×{maxH}px ཨིན།","storage.errTooMany":"ཐེངས་གཅིག་ལུ་ཡིག་སྣོད {max} རྐྱངམ་ཅིག་ཡར་འཇུག་འབད་ཚུགས།","storage.errUnreadable":"{name} འདི ལྷག་བཏུབ་པའི་པར་ཅིག་མེན།","storage.errUploadFailed":"{name} ཡར་འཇུག་འབད་མ་ཚུགས — {reason}","storage.errDeleteFailed":"{name} བསུབ་མ་ཚུགས — {reason}","modal.export":"ཕྱིར་འདྲེན","modal.exportTitle":"ཐིག་ཁྲམ་གཞི་བཞག HTML","export.copy":"འདྲ་བཤུས","export.copied":"འདྲ་བཤུས་བྱུང","action.download":"ཕབ་ལེན","export.meta":"{kb} KB · ཐིག་ཁྲམ + ནང་འཁོད་བཟོ་རྣམ · Outlook ལུ་ཉེན་སྲུང་ཡོད་པའི་རྒྱ་ཚད","modal.rawHtmlTitle":"Raw HTML, མཐོང་སྣང་","code.statusEdited":"ཀོཌ་མཐོང་སྣང — བཟོ་བཅོས་བྱུང — མཐོང་སྣང་མཐོང་སྣང་ཡིན་རུང་ད་ལྟོ་ཚུན་ལག་ལེན་མ་འཐབ","code.statusSynced":"ཀོཌ་མཐོང་སྣང — ཐིག་ཁྲམ་དང་མཉམ་འབྲེལ་ཡོད","action.reload":"སླར་འདྲེན","action.reloadHint":"ཐིག་ཁྲམ་ནང་ལས་རྩ་འཛིན་སླར་འདྲེན","action.applyToCanvas":"ཐིག་ཁྲམ་ལུ་ལག་ལེན་འཐབ","action.applyToCanvasHint":"རྩ་འཛིན་བཟོ་བཅོས་བཏུབ་པའི་ཐིག་ཁྲམ་ལུ་བཤད་བཤག","action.closeWithoutApplyingHint":"ལག་ལེན་མ་འཐབ་པར་ཁ་བསྡམས","code.source":"རྩ་འཛིན","code.livePreview":"མཐོང་སྣང","code.liveHtmlPreviewTitle":"HTML མཐོང་སྣང","code.applyNote":"ལག་ལེན་འཐབ་པའི་སྐབས་ཐིག་ཁྲམ་ཐིག་ཁྲམ་རེ་རེ་སེལ་འཐུ, གོ་རིམ་བསྒྱུར, ད་རུང་བསུབ་བཏུབ་པའི་ཐིག་ཁྲམ་ཅིག་ལུ་བཤད་བཤག — ལག་གིས་བྲིས་པའི་མཱརཀ་པ་ཧེ་མ་བཟུམ་ལུས་འོང༌།","code.meta":"{kb} KB · ཐིག་ {lines}","toast.sourceReloaded":"ཐིག་ཁྲམ་ནང་ལས་རྩ་འཛིན་སླར་འདྲེན་བྱུང","toast.sourceAppliedOne":"རྩ་འཛིན་ལག་ལེན་འཐབ་ཡོད — ཐིག་ཁྲམ་ནང་ཐིག་ ༡","toast.sourceAppliedMany":"རྩ་འཛིན་ལག་ལེན་འཐབ་ཡོད — ཐིག་ཁྲམ་ནང་ཐིག་ {rows}","toast.parseError":"HTML དེ་བཤད་བཤག་མ་ཚུགས","modal.aiDraft":"AI ཡིག་འབྲིའི་གྲོགས་རམ","modal.aiDraftTitle":"AI གིས་ཁྱོད་ཀྱི་གློག་འཕྲིན་བྲིས","ai.disclosure":"AI གིས་ཁྱོད་ཀྱི་བཅུད་བསྡུས་ལས་བསམ་འཆར་བཟོཝ་ཨིན། གཏང་བའི་ཧེ་མ་གྲུབ་འབྲས་ལུ་ཞིབ་དཔྱད་དང་ཞུན་དག་འབད།","ai.goal":"དམིགས་དོན","ai.tone":"སྒྲ་གདངས","ai.briefLabel":"ཡིག་འཕྲིན་འདི་ག་ཅི་གི་སྐོར་ལས་ཨིན་ན?","ai.briefPlaceholder":"དཔེར་ན: སྟོན་ཀའི་གོས་གྱོན, འོང་ལེན་པ་ལུ་བརྒྱ་ཆ་ ༡༥ ཞབས་ཏོག, སོར་ ༡༥༠ ལས་ལྷག་ན་འཁྱེར་ཁ་རིན་མེད","ai.generate":"ཡི་གུ་བཟོ","ai.writing":"བྲིས་བཞིན་འདུག…","ai.kindHeadline":"མགོ་མིང","ai.kindBody":"ཡིག་ཐོག་གནད་དོན","ai.kindButton":"མཐེབ་ཀྱི་ཡིག་རྟགས","ai.actionInsertHeading":"མགོ་མིང་སྦེ་བཙུགས","ai.actionInsertText":"ཡི་གུའི་སྡེབ་ཚན་སྦེ་བཙུགས","ai.actionInsertButton":"མཐེབ་སྦེ་བཙུགས","toast.headingAdded":"མགོ་མིང་ཁ་སྣོན་བྱུང","toast.textBlockAdded":"ཡི་གུའི་སྡེབ་ཚན་ཁ་སྣོན་བྱུང","toast.buttonAdded":"མཐེབ་ཁ་སྣོན་བྱུང","preview.kickerMobile":"སྔོན་མཐོང — མོ་བའིལ 375px","preview.kickerDesktop":"སྔོན་མཐོང — ཌེསིཀ་ཊོཔ {width}px","action.close":"ཁ་བསྡམས","toast.duplicated":"འདྲ་བཤུས་བྱུང","toast.fileUploadedOne":"ཡིག་སྣོད་ ༡ བསྐྱེད་འདྲེན་བྱུང","toast.fileUploadedMany":"ཡིག་སྣོད་ {count} བསྐྱེད་འདྲེན་བྱུང","toast.imageReplaced":"གཟུགས་བརྙན་ཚབ་བཙུགས་བྱུང","toast.imageAdded":"ཐིག་ཁྲམ་ལུ་གཟུགས་བརྙན་ཁ་སྣོན་བྱུང","toast.htmlCopied":"HTML ཀ་ལིཔ་བོརཌ་ལུ་འདྲ་བཤུས་བྱུང","toast.templateLoaded":"{name} འདྲེན་སྤྱོད་བྱུང","toast.snippetDefaultLabel":"ཡིག་ཐིག","toast.snippetInserted":"{name} བཙུགས་བྱུང","toast.snippetCopied":"{name} འདྲ་བཤུས་བྱུང — བཙུགས་ནིའི་དོན་ལུ་ཡི་གུའི་སྡེབ་ཚན་ཅིག་སེལ་འཐུ་འབད","rte.textStyle":"ཡི་གུའི་བཟོ་རྣམ","rte.mergeTags":"བསྡུ་སྒྲིལ་ངོ་རྟགས","rte.noMergeTags":"བསྡུ་སྒྲིལ་ངོ་རྟགས་མིན་འདུག","rte.textColor":"ཡི་གུའི་ཚོས་གཞི","rte.highlightColor":"གསལ་སྟོན་ཚོས་གཞི","rte.removeHighlight":"གསལ་སྟོན་རྩ་བསྐྲད","rte.clearFormatting":"རྣམ་གཞག་བསུབ","action.downloadPng":"PNG ཕབ་ལེན","action.screenshot":"བརྙན་ཤེལ་པར","action.screenshotHint":"ཊེམ་པེལེཊ་ཧྲིལ་བུ་པར་བཟུམ་སྦེ་བལྟ་ཞིནམ་ལས་ཕབ་ལེན་འབད","toast.pngSaved":"བརྙན་ཤེལ་པར་ཕབ་ལེན་བྱུང","toast.pngFailed":"བརྙན་ཤེལ་པར་མ་བྱུང — ཕྱི་ཁའི་པར་ཅིག་མངོན་གསལ་མ་ཚུགས","toast.pngCopied":"བརྙན་ཤེལ་པར་ཀ་ལིཔ་བོརཌ་ལུ་འདྲ་བཤུས་བྱུང","toast.pngCopyFailed":"བརའུ་ཟར་འདི་གིས་ཀ་ལིཔ་བོརཌ་ནང་པར་ལེན་མ་བཏུབ","story.kicker":"བརྙན་ཤེལ་པར","story.rendering":"བརྙན་ཤེལ་པར་བཟོ་བཞིན་འདུག","story.renderingHint":"སྒྲོམ་རེ་རེ 2× ནང་བྲི་བཞིན་འདུག — ཊེམ་པེལེཊ་རིངམ་ལུ་དུས་ཚོད་ཅིག་འགོར།","story.failed":"བརྙན་ཤེལ་པར་མ་བྱུང","story.failedHint":"ཊེམ་པེལེཊ་ནང་གི་པར་ཅིག་བཟུང་ནིའི་དོན་ལུ་མངོན་གསལ་མ་ཚུགས།","story.retry":"སླར་འབད་བལྟ","story.play":"གཏང","story.pause":"འཕྲལ་བཀག","story.replay":"སླར་གཏང","story.copy":"འདྲ་བཤུས","story.meta":"{w}×{h} · གསལ་གཞི {i}/{n}","footer.poweredBy":"SELISE Blocks གིས་མཁོ་སྤྲོད © 2026"}})},re["core/i18n/el.js"]=function(se,K,z){Object.assign(K,{EL:{"action.undoHint":"Αναίρεση — ⌘Z","action.redoHint":"Επανάληψη — ⌘⇧Z","action.chromeToDark":"Σκούρο","action.chromeToLight":"Ανοιχτόχρωμο","action.chromeHint":"Θέμα επεξεργαστή ανοιχτό / σκούρο","action.chromeHintToDark":"Σκούρα λειτουργία","action.chromeHintToLight":"Φωτεινή λειτουργία","action.aiDraft":"Προσχέδιο","action.aiDraftHint":"Σύνταξη περιεχομένου email με AI","action.code":"Κώδικας","action.codeHint":"Επεξεργασία ακατέργαστου HTML με ζωντανή προεπισκόπηση","action.preview":"Προεπισκόπηση","action.previewHint":"Προεπισκόπηση του email","action.export":"Εξαγωγή","action.exportHint":"Εξαγωγή του email σας","device.desktop":"Υπολογιστής","device.desktopHint":"Πλάτος υπολογιστή","device.mobile":"Κινητό","device.mobileHint":"Πλάτος κινητού","status.autosaveOn":"η αυτόματη αποθήκευση είναι ενεργή","status.saved":"αποθηκεύτηκε {time}","status.saveFailed":"δεν αποθηκεύτηκε — ο χώρος αποθήκευσης γέμισε","canvas.meta":"{rows} γραμμές · {blocks} μπλοκ · {width}px","tab.design":"Στυλ","tab.designHint":"Μορφοποίηση επιλογής","tab.blocks":"Μπλοκ","tab.blocksHint":"Μπλοκ περιεχομένου και μεταβλητές","tab.rows":"Ενότητες","tab.rowsHint":"Διατάξεις ενοτήτων και μοντέλο καμβά","tab.files":"Αρχεία","tab.filesHint":"Βιβλιοθήκη πόρων","tab.layers":"Δομή","tab.layersHint":"Δομή εγγράφου","tab.settings":"Ρυθμίσεις","tab.settingsHint":"Ρυθμίσεις email","tab.data":"Μετ.","tab.dataHint":"Μεταβλητές που παρέχονται από τον κώδικά σας","inspector.blockProperties":"Ιδιότητες μπλοκ","inspector.sectionProperties":"Ιδιότητες ενότητας","inspector.title":"Επόπτης","inspector.sectionLabel":"Ενότητα","inspector.nothingSelected":"Καμία επιλογή","action.duplicateHint":"Διπλασιασμός — ⌘D","action.deleteHint":"Διαγραφή — ⌫","inspector.emptyBody":'Επιλέξτε μια γραμμή ή ένα μπλοκ στον καμβά για να το μορφοποιήσετε εδώ. Σύρετε μπλοκ από την καρτέλα <strong style="color: var(--ed-text); font-weight: 600;">Μπλοκ</strong>· κάντε διπλό κλικ σε οποιοδήποτε κείμενο για να το επεξεργαστείτε απευθείας.',"inspector.shortcuts":"Συντομεύσεις","shortcut.undoRedo":"⌘Z / ⌘⇧Z — αναίρεση, επανάληψη","shortcut.duplicate":"⌘D — διπλασιασμός επιλογής","shortcut.delete":"⌫ — διαγραφή επιλογής","shortcut.export":"⌘E — εξαγωγή HTML","shortcut.escape":"ESC — κατάργηση επιλογής, κλείσιμο","blocks.dragHint":"Σύρετε στον καμβά","blocks.count":"{count} μπλοκ","rows.sectionLayouts":"Διατάξεις ενοτήτων","rows.customMarkup":"Προσαρμοσμένη σήμανση","rows.htmlRowHint":"Σύρετε για εισαγωγή ή κάντε κλικ για προσθήκη — μια γραμμή πλήρους πλάτους που γεμίζετε με ακατέργαστο HTML","rows.rawHtmlSection":"Ενότητα ακατέργαστου HTML","rows.rawHtmlDesc":"Ενότητα πλήρους πλάτους, δική σας σήμανση, εξακολουθεί να είναι μεταφέρσιμη","rows.canvasModel":"Μοντέλο καμβά","rows.modeRowBased":"Βάσει γραμμών","rows.modeFreeStack":"Ελεύθερη στοίβα","rows.hintRows":"Βάσει ενοτήτων: αποθέστε πρώτα μια διάταξη, μετά μπλοκ στις στήλες της — κάθε ενότητα έχει το δικό της φόντο, περίγραμμα, ρυθμίσεις flex ή πλέγματος.","rows.hintStack":"Ελεύθερη στοίβα: χωρίς διατάξεις — κάθε μπλοκ που αποθέτετε γίνεται δική του ενότητα πλήρους πλάτους, στοιβαγμένη με τη σειρά.","files.libraryCount":"Βιβλιοθήκη — {count} αρχεία","files.openManager":"Άνοιγμα διαχείρισης αρχείων","files.dragToCanvas":"Σύρετε οποιοδήποτε αρχείο απευθείας στον καμβά για να το τοποθετήσετε ως μπλοκ εικόνας.","layers.structure":"Δομή","layers.sectionSingle":"Ενότητα","layers.sectionMulti":"Ενότητα · {count} στήλες","layers.column":"Στήλη {index}","layers.blockCount":"{count} μπλ.","vars.title":"Μεταβλητές","vars.fromCode":"{count} από τον κώδικά σας","vars.declaredNote":"Δηλωμένες από την εφαρμογή σας — ο καμβάς εμφανίζει πάντα το token, ποτέ μια τιμή.","vars.filterPlaceholder":"Φιλτράρισμα μεταβλητών…","vars.insertHint":"Κάντε κλικ για εισαγωγή στο επιλεγμένο κείμενο, τίτλο ή κουμπί","vars.insert":"εισαγωγή","vars.noMatch":"Καμία μεταβλητή δεν ταιριάζει με αυτό το φίλτρο.","vars.noneDeclared":"Η εφαρμογή σας δεν έχει δηλώσει ακόμη μεταβλητές.","vars.rteHint":"Κατά την επεξεργασία κειμένου, μπορείτε επίσης να επιλέξετε μια μεταβλητή απευθείας από το αναπτυσσόμενο μενού της ενσωματωμένης γραμμής εργαλείων.","modal.fileManager":"Διαχείριση αρχείων","modal.assetsTitle":"Πόροι","modal.replaceImage":"Αντικατάσταση εικόνας","library.searchPlaceholder":"Αναζήτηση αρχείων…","action.upload":"Μεταφόρτωση","library.clickToPlace":"Κάντε κλικ σε ένα αρχείο για να το τοποθετήσετε · ή σύρετε ένα αρχείο στον καμβά","library.clickToReplace":"Κάντε κλικ σε ένα αρχείο για να αντικαταστήσετε την επιλεγμένη εικόνα","library.storageLabel":"{count} αρχεία · {size}","library.folders":"Φάκελοι","library.dropHint":"Αποθέστε εδώ αρχεία εικόνας για μεταφόρτωση — ή χρησιμοποιήστε το κουμπί Μεταφόρτωση.","library.deleteFileHint":"Διαγραφή αρχείου","library.del":"ΔΙΑΓΡ","toast.assetDeleted":"Το {name} διαγράφηκε","library.allFiles":"Όλα τα αρχεία","library.loadMore":"Φόρτωση περισσότερων","library.empty":"Δεν υπάρχουν ακόμη αρχεία εδώ.","storage.loading":"Φόρτωση αρχείων…","storage.uploading":"Μεταφόρτωση {count}…","storage.errLoadFailed":"Δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης αρχείων — {reason}","storage.errNoLimits":"Οι μεταφορτώσεις είναι απενεργοποιημένες: αυτή η εφαρμογή δεν έχει ορίσει όρια μεταφόρτωσης.","storage.errNoMaxBytes":"Οι μεταφορτώσεις είναι απενεργοποιημένες: δεν έχει οριστεί μέγιστο μέγεθος αρχείου.","storage.errTooLarge":"Το {name} είναι {size} — το όριο είναι {max}.","storage.errFormat":"Το {name} είναι αρχείο {type}, που δεν επιτρέπεται εδώ.","storage.errSvg":"Το {name} είναι SVG, το οποίο αυτή η εφαρμογή δεν δέχεται.","storage.errDimensions":"Το {name} είναι {w}×{ht}px — το όριο είναι {maxW}×{maxH}px.","storage.errTooMany":"Μπορούν να μεταφορτωθούν μόνο {max} αρχεία τη φορά.","storage.errUnreadable":"Το {name} δεν είναι αναγνώσιμη εικόνα.","storage.errUploadFailed":"Δεν ήταν δυνατή η μεταφόρτωση του {name} — {reason}","storage.errDeleteFailed":"Δεν ήταν δυνατή η διαγραφή του {name} — {reason}","modal.export":"Εξαγωγή","modal.exportTitle":"HTML email βασισμένο σε πίνακες","export.copy":"Αντιγραφή","export.copied":"Αντιγράφηκε","action.download":"Λήψη","export.meta":"{kb} KB · πίνακες + ενσωματωμένα στυλ · πλάτη ασφαλή για Outlook","modal.rawHtmlTitle":"Ακατέργαστο HTML, ζωντανή προεπισκόπηση","code.statusEdited":"Προβολή κώδικα — επεξεργάστηκε — ζωντανή προεπισκόπηση, δεν έχει εφαρμοστεί ακόμη","code.statusSynced":"Προβολή κώδικα — συγχρονισμένη με τον καμβά","action.reload":"Επαναφόρτωση","action.reloadHint":"Επαναφόρτωση πηγής από τον καμβά","action.applyToCanvas":"Εφαρμογή στον καμβά","action.applyToCanvasHint":"Ανάλυση της πηγής ξανά σε επεξεργάσιμες γραμμές","action.closeWithoutApplyingHint":"Κλείσιμο χωρίς εφαρμογή","code.source":"Πηγή","code.livePreview":"Ζωντανή προεπισκόπηση","code.liveHtmlPreviewTitle":"Ζωντανή προεπισκόπηση HTML","code.applyNote":"Η εφαρμογή αναλύει κάθε γραμμή πίνακα ανώτατου επιπέδου σε γραμμή καμβά που μπορείτε ακόμη να επιλέξετε, να αναδιατάξετε και να διαγράψετε — ο χειρόγραφος κώδικας επιβιώνει αναλλοίωτος.","code.meta":"{kb} KB · {lines} γραμμές","toast.sourceReloaded":"Η πηγή επαναφορτώθηκε από τον καμβά","toast.sourceAppliedOne":"Η πηγή εφαρμόστηκε — 1 γραμμή στον καμβά","toast.sourceAppliedMany":"Η πηγή εφαρμόστηκε — {rows} γραμμές στον καμβά","toast.parseError":"Δεν ήταν δυνατή η ανάλυση αυτού του HTML","modal.aiDraft":"Βοηθός σύνταξης AI","modal.aiDraftTitle":"Συντάξτε το email σας με AI","ai.disclosure":"Το AI δημιουργεί προτάσεις από τη σύνοψή σας. Ελέγξτε και επεξεργαστείτε το αποτέλεσμα πριν το στείλετε.","ai.goal":"Στόχος","ai.tone":"Τόνος","ai.briefLabel":"Για τι αφορά αυτό το email;","ai.briefPlaceholder":"π.χ. Φθινοπωρινή συλλογή, 15% για συνδρομητές, δωρεάν αποστολή άνω των 150€","ai.generate":"Δημιουργία κειμένου","ai.writing":"Γίνεται συγγραφή…","ai.kindHeadline":"Τίτλος","ai.kindBody":"Κύριο κείμενο","ai.kindButton":"Κείμενο κουμπιού","ai.actionInsertHeading":"Εισαγωγή ως τίτλος","ai.actionInsertText":"Εισαγωγή ως μπλοκ κειμένου","ai.actionInsertButton":"Εισαγωγή ως κουμπί","toast.headingAdded":"Ο τίτλος προστέθηκε","toast.textBlockAdded":"Το μπλοκ κειμένου προστέθηκε","toast.buttonAdded":"Το κουμπί προστέθηκε","preview.kickerMobile":"Προεπισκόπηση — κινητό 375px","preview.kickerDesktop":"Προεπισκόπηση — υπολογιστής {width}px","action.close":"Κλείσιμο","toast.duplicated":"Διπλασιάστηκε","toast.fileUploadedOne":"1 αρχείο μεταφορτώθηκε","toast.fileUploadedMany":"{count} αρχεία μεταφορτώθηκαν","toast.imageReplaced":"Η εικόνα αντικαταστάθηκε","toast.imageAdded":"Η εικόνα προστέθηκε στον καμβά","toast.htmlCopied":"Το HTML αντιγράφηκε στο πρόχειρο","toast.templateLoaded":"Το {name} φορτώθηκε","toast.snippetDefaultLabel":"Απόσπασμα","toast.snippetInserted":"Το {name} εισήχθη","toast.snippetCopied":"Το {name} αντιγράφηκε — επιλέξτε ένα μπλοκ κειμένου για να το εισαγάγετε","rte.textStyle":"Στυλ κειμένου","rte.mergeTags":"Πεδία συγχώνευσης","rte.noMergeTags":"Δεν υπάρχουν διαθέσιμα πεδία συγχώνευσης","rte.textColor":"Χρώμα κειμένου","rte.highlightColor":"Χρώμα επισήμανσης","rte.removeHighlight":"Αφαίρεση επισήμανσης","rte.clearFormatting":"Καθαρισμός μορφοποίησης","action.downloadPng":"Λήψη PNG","action.screenshot":"Στιγμιότυπο","action.screenshotHint":"Δείτε όλο το πρότυπο ως εικόνα και κατεβάστε το","toast.pngSaved":"Το στιγμιότυπο κατέβηκε","toast.pngFailed":"Το στιγμιότυπο απέτυχε — μια εξωτερική εικόνα δεν φορτώθηκε","toast.pngCopied":"Το στιγμιότυπο αντιγράφηκε στο πρόχειρο","toast.pngCopyFailed":"Αυτό το πρόγραμμα περιήγησης δεν δέχτηκε εικόνα στο πρόχειρο","story.kicker":"Στιγμιότυπο","story.rendering":"Δημιουργία στιγμιότυπου","story.renderingHint":"Κάθε μπλοκ σχεδιάζεται σε 2× — σε μεγάλο πρότυπο θέλει λίγη ώρα.","story.failed":"Το στιγμιότυπο απέτυχε","story.failedHint":"Μια εικόνα του προτύπου δεν φορτώθηκε για τη λήψη.","story.retry":"Δοκιμάστε ξανά","story.play":"Αναπαραγωγή","story.pause":"Παύση","story.replay":"Επανάληψη","story.copy":"Αντιγραφή","story.meta":"{w}×{h} · οθόνη {i} από {n}","footer.poweredBy":"Με την υποστήριξη του SELISE Blocks © 2026"}})},re["core/i18n/en.js"]=function(se,K,z){const V={"action.undoHint":"Undo — ⌘Z","action.redoHint":"Redo — ⌘⇧Z","action.chromeToDark":"Dark","action.chromeToLight":"Light","action.chromeHint":"Light / dark editor chrome","action.chromeHintToDark":"Dark mode","action.chromeHintToLight":"Light mode","action.aiDraft":"Draft","action.aiDraftHint":"Draft email content with AI","action.code":"Code","action.codeHint":"Edit the raw HTML with a live preview","action.preview":"Preview","action.previewHint":"Preview the email","action.export":"Export","action.exportHint":"Export your email","device.desktop":"Desktop","device.desktopHint":"Desktop width","device.mobile":"Mobile","device.mobileHint":"Mobile width","status.autosaveOn":"autosave on","status.saved":"saved {time}","status.saveFailed":"not saved — storage full","canvas.meta":"{rows} rows · {blocks} blocks · {width}px","tab.design":"Design","tab.designHint":"Style the selection","tab.blocks":"Content blocks","tab.blocksHint":"Content blocks and variables","tab.rows":"Sections","tab.rowsHint":"Section layouts and canvas model","tab.files":"Assets","tab.filesHint":"Asset library","tab.layers":"Layers","tab.layersHint":"Document structure","tab.settings":"Settings","tab.settingsHint":"Email settings","tab.data":"Variables","tab.dataHint":"Variables provided by your code","inspector.blockProperties":"Block properties","inspector.sectionProperties":"Section properties","inspector.title":"Inspector","inspector.sectionLabel":"Section","inspector.nothingSelected":"Nothing selected","action.duplicateHint":"Duplicate — ⌘D","action.deleteHint":"Delete — ⌫","inspector.emptyBody":'Pick a row or block on the canvas to style it here. Drag blocks in from the <strong style="color: var(--ed-text); font-weight: 600;">Content blocks</strong> tab; double-click any text to edit it in place.',"inspector.shortcuts":"Shortcuts","shortcut.undoRedo":"⌘Z / ⌘⇧Z — undo, redo","shortcut.duplicate":"⌘D — duplicate selection","shortcut.delete":"⌫ — delete selection","shortcut.export":"⌘E — export email","shortcut.escape":"ESC — deselect, close","blocks.dragHint":"Drag a block onto the canvas","blocks.count":"{count} blocks","rows.sectionLayouts":"Section layouts","rows.customMarkup":"Custom markup","rows.htmlRowHint":"Drag in, or click to append — a full-bleed row you fill with raw HTML","rows.rawHtmlSection":"Raw HTML section","rows.rawHtmlDesc":"Full-bleed section, your markup, still draggable","rows.canvasModel":"Canvas model","rows.modeRowBased":"Row based","rows.modeFreeStack":"Free stack","rows.hintRows":"Section based: drop a layout first, then drop blocks into its columns — every section carries its own background, border, flex or grid settings.","rows.hintStack":"Free stack: skip layouts — every block you drop becomes its own full-width section, stacked in order.","files.libraryCount":"Library — {count} files","files.openManager":"Open file manager","files.dragToCanvas":"Drag any file straight onto the canvas to place it as an image block.","layers.structure":"Structure","layers.sectionSingle":"Section","layers.sectionMulti":"Section · {count} columns","layers.column":"Column {index}","layers.blockCount":"{count} blocks","vars.title":"Variables","vars.fromCode":"{count} from your code","vars.declaredNote":"Declared by your application — the canvas always shows the token, never a value.","vars.filterPlaceholder":"Filter variables…","vars.insertHint":"Click to insert into the selected text, heading or button","vars.insert":"insert","vars.noMatch":"No variable matches that filter.","vars.noneDeclared":"Your application has not declared any variables yet.","vars.rteHint":"While editing text you can also pick a variable straight from the inline toolbar’s dropdown.","modal.fileManager":"File manager","modal.assetsTitle":"Assets","modal.replaceImage":"Replace image","library.searchPlaceholder":"Search files…","action.upload":"Upload","library.clickToPlace":"Click a file to place it · drag a file onto the canvas","library.clickToReplace":"Click a file to replace the selected image","library.storageLabel":"{count} files · {size}","library.folders":"Folders","library.dropHint":"Drop image files here to upload — or use the Upload button.","library.deleteFileHint":"Delete file","library.del":"DEL","toast.assetDeleted":"{name} deleted","library.allFiles":"All files","library.loadMore":"Load more","library.empty":"No files here yet.","storage.loading":"Loading files…","storage.uploading":"Uploading {count}…","storage.errLoadFailed":"The file library could not be loaded — {reason}","storage.errNoLimits":"Uploads are switched off: this app has not set any upload limits.","storage.errNoMaxBytes":"Uploads are switched off: no maximum file size has been set.","storage.errTooLarge":"{name} is {size} — the limit is {max}.","storage.errFormat":"{name} is a {type} file, which is not allowed here.","storage.errSvg":"{name} is an SVG, which this app does not accept.","storage.errDimensions":"{name} is {w}×{ht}px — the limit is {maxW}×{maxH}px.","storage.errTooMany":"Only {max} files can be uploaded at once.","storage.errUnreadable":"{name} is not a readable image.","storage.errUploadFailed":"{name} could not be uploaded — {reason}","storage.errDeleteFailed":"{name} could not be deleted — {reason}","modal.export":"Export","modal.exportTitle":"Your email is ready","export.copy":"Copy email","export.copied":"Copied","action.download":"Download","export.meta":"{kb} KB · ready to copy or download","modal.rawHtmlTitle":"Raw HTML, live preview","code.statusEdited":"Code view — edited — preview live, not yet applied","code.statusSynced":"Code view — in sync with the canvas","action.reload":"Reload","action.reloadHint":"Reload the source from the canvas","action.applyToCanvas":"Apply to canvas","action.applyToCanvasHint":"Parse the source back into editable rows","action.closeWithoutApplyingHint":"Close without applying","code.source":"Source","code.livePreview":"Live preview","code.liveHtmlPreviewTitle":"Live HTML preview","code.applyNote":"Apply parses each top-level table row back into a canvas row you can still select, reorder and delete — hand-written markup survives the round trip.","code.meta":"{kb} KB · {lines} lines","toast.sourceReloaded":"Source reloaded from canvas","toast.sourceAppliedOne":"Source applied — 1 row back on the canvas","toast.sourceAppliedMany":"Source applied — {rows} rows back on the canvas","toast.parseError":"Could not parse that HTML","modal.aiDraft":"AI writing assistant","modal.aiDraftTitle":"Draft your email with AI","ai.disclosure":"AI creates suggestions from your brief. Review and edit the result before sending.","ai.goal":"Goal","ai.tone":"Tone","ai.briefLabel":"What is this email about?","ai.briefPlaceholder":"e.g. Autumn outerwear drop, 15% for subscribers, free shipping over $150","ai.generate":"Generate draft with AI","ai.writing":"Writing…","ai.kindHeadline":"Headline","ai.kindBody":"Body copy","ai.kindButton":"Button label","ai.actionInsertHeading":"Insert as heading","ai.actionInsertText":"Insert as text block","ai.actionInsertButton":"Insert as button","toast.headingAdded":"Heading added","toast.textBlockAdded":"Text block added","toast.buttonAdded":"Button added","preview.kickerMobile":"Preview — mobile 375px","preview.kickerDesktop":"Preview — desktop {width}px","action.close":"Close","toast.duplicated":"Duplicated","toast.fileUploadedOne":"1 file uploaded","toast.fileUploadedMany":"{count} files uploaded","toast.imageReplaced":"Image replaced","toast.imageAdded":"Image added to canvas","toast.htmlCopied":"HTML copied to clipboard","toast.templateLoaded":"{name} loaded","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} inserted","toast.snippetCopied":"{name} copied — select a text block to insert it","rte.textStyle":"Text style","rte.mergeTags":"Merge Tags","rte.noMergeTags":"No merge tags available","rte.textColor":"Text color","rte.highlightColor":"Highlight color","rte.removeHighlight":"Remove highlight","rte.clearFormatting":"Clear formatting","action.downloadPng":"Download PNG","action.screenshot":"Screenshot","action.screenshotHint":"Preview the full template as an image, then download it","toast.pngSaved":"Screenshot downloaded","toast.pngFailed":"Screenshot failed — an external image could not be loaded","toast.pngCopied":"Screenshot copied to clipboard","toast.pngCopyFailed":"This browser would not accept an image on the clipboard","story.kicker":"Screenshot","story.rendering":"Rendering the screenshot","story.renderingHint":"Painting every block at 2× — this takes a moment on a long template.","story.failed":"Screenshot failed","story.failedHint":"An image in the template could not be loaded for capture.","story.retry":"Try again","story.play":"Play","story.pause":"Pause","story.replay":"Replay","story.copy":"Copy","story.meta":"{w}×{h} · screen {i} of {n}","footer.poweredBy":"Powered by SELISE Blocks © 2026"},Z=Object.keys(V).sort();Object.assign(K,{EN:V,MESSAGE_KEYS:Z})},re["core/i18n/es.js"]=function(se,K,z){Object.assign(K,{ES:{"action.undoHint":"Deshacer — ⌘Z","action.redoHint":"Rehacer — ⌘⇧Z","action.chromeToDark":"Oscuro","action.chromeToLight":"Claro","action.chromeHint":"Tema del editor claro / oscuro","action.chromeHintToDark":"Modo oscuro","action.chromeHintToLight":"Modo claro","action.aiDraft":"Borrador","action.aiDraftHint":"Redactar el contenido del correo con IA","action.code":"Código","action.codeHint":"Editar el HTML sin procesar con vista previa en vivo","action.preview":"Vista previa","action.previewHint":"Previsualizar el correo","action.export":"Exportar","action.exportHint":"Exportar tu correo","device.desktop":"Escritorio","device.desktopHint":"Ancho de escritorio","device.mobile":"Móvil","device.mobileHint":"Ancho móvil","status.autosaveOn":"guardado automático activado","status.saved":"guardado {time}","status.saveFailed":"no guardado — almacenamiento lleno","canvas.meta":"{rows} filas · {blocks} bloques · {width}px","tab.design":"Estilo","tab.designHint":"Aplicar estilo a la selección","tab.blocks":"Bloques","tab.blocksHint":"Bloques de contenido y variables","tab.rows":"Secc.","tab.rowsHint":"Diseños de sección y modelo de lienzo","tab.files":"Archivos","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estruct.","tab.layersHint":"Estructura del documento","tab.settings":"Ajustes","tab.settingsHint":"Ajustes del correo","tab.data":"Var.","tab.dataHint":"Variables proporcionadas por tu código","inspector.blockProperties":"Propiedades del bloque","inspector.sectionProperties":"Propiedades de la sección","inspector.title":"Inspector","inspector.sectionLabel":"Sección","inspector.nothingSelected":"Nada seleccionado","action.duplicateHint":"Duplicar — ⌘D","action.deleteHint":"Eliminar — ⌫","inspector.emptyBody":'Selecciona una fila o un bloque en el lienzo para darle estilo aquí. Arrastra bloques desde la pestaña <strong style="color: var(--ed-text); font-weight: 600;">Bloques</strong>; haz doble clic en cualquier texto para editarlo directamente.',"inspector.shortcuts":"Atajos","shortcut.undoRedo":"⌘Z / ⌘⇧Z — deshacer, rehacer","shortcut.duplicate":"⌘D — duplicar selección","shortcut.delete":"⌫ — eliminar selección","shortcut.export":"⌘E — exportar HTML","shortcut.escape":"ESC — deseleccionar, cerrar","blocks.dragHint":"Arrastra al lienzo","blocks.count":"{count} bloques","rows.sectionLayouts":"Diseños de sección","rows.customMarkup":"Marcado personalizado","rows.htmlRowHint":"Arrastra para insertar, o haz clic para añadir — una fila a sangre completa que rellenas con HTML sin procesar","rows.rawHtmlSection":"Sección de HTML sin procesar","rows.rawHtmlDesc":"Sección a sangre completa, tu propio marcado, sigue siendo arrastrable","rows.canvasModel":"Modelo de lienzo","rows.modeRowBased":"Basado en filas","rows.modeFreeStack":"Pila libre","rows.hintRows":"Basado en secciones: primero suelta un diseño, luego suelta bloques en sus columnas — cada sección tiene su propio fondo, borde, ajustes flex o de cuadrícula.","rows.hintStack":"Pila libre: sin diseños — cada bloque que sueltas se convierte en su propia sección de ancho completo, apilada en orden.","files.libraryCount":"Biblioteca — {count} archivos","files.openManager":"Abrir gestor de archivos","files.dragToCanvas":"Arrastra cualquier archivo directamente al lienzo para colocarlo como bloque de imagen.","layers.structure":"Estructura","layers.sectionSingle":"Sección","layers.sectionMulti":"Sección · {count} col.","layers.column":"Columna {index}","layers.blockCount":"{count} bloq.","vars.title":"Variables","vars.fromCode":"{count} de tu código","vars.declaredNote":"Declaradas por tu aplicación — el lienzo siempre muestra el token, nunca un valor.","vars.filterPlaceholder":"Filtrar variables…","vars.insertHint":"Haz clic para insertar en el texto, título o botón seleccionado","vars.insert":"insertar","vars.noMatch":"Ninguna variable coincide con ese filtro.","vars.noneDeclared":"Tu aplicación aún no ha declarado ninguna variable.","vars.rteHint":"Al editar texto también puedes elegir una variable directamente desde el menú de la barra de herramientas en línea.","modal.fileManager":"Gestor de archivos","modal.assetsTitle":"Recursos","modal.replaceImage":"Reemplazar imagen","library.searchPlaceholder":"Buscar archivos…","action.upload":"Subir","library.clickToPlace":"Haz clic en un archivo para colocarlo · o arrastra un archivo al lienzo","library.clickToReplace":"Haz clic en un archivo para reemplazar la imagen seleccionada","library.storageLabel":"{count} archivos · {size}","library.folders":"Carpetas","library.dropHint":"Suelta archivos de imagen aquí para subirlos — o usa el botón Subir.","library.deleteFileHint":"Eliminar archivo","library.del":"BORR","toast.assetDeleted":"{name} eliminado","library.allFiles":"Todos los archivos","library.loadMore":"Cargar más","library.empty":"Aquí todavía no hay archivos.","storage.loading":"Cargando archivos…","storage.uploading":"Subiendo {count}…","storage.errLoadFailed":"No se pudo cargar la biblioteca de archivos — {reason}","storage.errNoLimits":"Las subidas están desactivadas: esta aplicación no ha definido ningún límite de subida.","storage.errNoMaxBytes":"Las subidas están desactivadas: no se ha definido un tamaño máximo de archivo.","storage.errTooLarge":"{name} pesa {size} — el límite es {max}.","storage.errFormat":"{name} es un archivo {type}, que no se permite aquí.","storage.errSvg":"{name} es un SVG, y esta aplicación no lo acepta.","storage.errDimensions":"{name} mide {w}×{ht}px — el límite es {maxW}×{maxH}px.","storage.errTooMany":"Solo se pueden subir {max} archivos a la vez.","storage.errUnreadable":"{name} no es una imagen legible.","storage.errUploadFailed":"No se pudo subir {name} — {reason}","storage.errDeleteFailed":"No se pudo eliminar {name} — {reason}","modal.export":"Exportar","modal.exportTitle":"HTML de correo basado en tablas","export.copy":"Copiar","export.copied":"Copiado","action.download":"Descargar","export.meta":"{kb} KB · tablas + estilos en línea · anchos seguros para Outlook","modal.rawHtmlTitle":"HTML sin procesar, vista previa en vivo","code.statusEdited":"Vista de código — editado — vista previa en vivo, aún no aplicado","code.statusSynced":"Vista de código — sincronizado con el lienzo","action.reload":"Recargar","action.reloadHint":"Recargar el origen desde el lienzo","action.applyToCanvas":"Aplicar al lienzo","action.applyToCanvasHint":"Analizar el origen de nuevo en filas editables","action.closeWithoutApplyingHint":"Cerrar sin aplicar","code.source":"Origen","code.livePreview":"Vista previa en vivo","code.liveHtmlPreviewTitle":"Vista previa de HTML en vivo","code.applyNote":"Aplicar analiza cada fila de tabla de nivel superior en una fila de lienzo que aún puedes seleccionar, reordenar y eliminar — el marcado escrito a mano sobrevive el proceso.","code.meta":"{kb} KB · {lines} líneas","toast.sourceReloaded":"Origen recargado desde el lienzo","toast.sourceAppliedOne":"Origen aplicado — 1 fila en el lienzo","toast.sourceAppliedMany":"Origen aplicado — {rows} filas en el lienzo","toast.parseError":"No se pudo analizar ese HTML","modal.aiDraft":"Asistente de redacción con IA","modal.aiDraftTitle":"Redacta tu correo con IA","ai.disclosure":"La IA crea sugerencias a partir de tu resumen. Revisa y edita el resultado antes de enviarlo.","ai.goal":"Objetivo","ai.tone":"Tono","ai.briefLabel":"¿De qué trata este correo?","ai.briefPlaceholder":"p. ej. Colección de otoño, 15% para suscriptores, envío gratis desde $150","ai.generate":"Generar texto","ai.writing":"Escribiendo…","ai.kindHeadline":"Titular","ai.kindBody":"Cuerpo del texto","ai.kindButton":"Texto del botón","ai.actionInsertHeading":"Insertar como encabezado","ai.actionInsertText":"Insertar como bloque de texto","ai.actionInsertButton":"Insertar como botón","toast.headingAdded":"Encabezado añadido","toast.textBlockAdded":"Bloque de texto añadido","toast.buttonAdded":"Botón añadido","preview.kickerMobile":"Vista previa — móvil 375px","preview.kickerDesktop":"Vista previa — escritorio {width}px","action.close":"Cerrar","toast.duplicated":"Duplicado","toast.fileUploadedOne":"1 archivo subido","toast.fileUploadedMany":"{count} archivos subidos","toast.imageReplaced":"Imagen reemplazada","toast.imageAdded":"Imagen añadida al lienzo","toast.htmlCopied":"HTML copiado al portapapeles","toast.templateLoaded":"{name} cargado","toast.snippetDefaultLabel":"Fragmento","toast.snippetInserted":"{name} insertado","toast.snippetCopied":"{name} copiado — selecciona un bloque de texto para insertarlo","rte.textStyle":"Estilo de texto","rte.mergeTags":"Campos de combinación","rte.noMergeTags":"No hay campos de combinación disponibles","rte.textColor":"Color del texto","rte.highlightColor":"Color de resaltado","rte.removeHighlight":"Quitar resaltado","rte.clearFormatting":"Borrar formato","action.downloadPng":"Descargar PNG","action.screenshot":"Captura","action.screenshotHint":"Ver toda la plantilla como imagen y descargarla","toast.pngSaved":"Captura descargada","toast.pngFailed":"La captura falló — no se pudo cargar una imagen externa","toast.pngCopied":"Captura copiada al portapapeles","toast.pngCopyFailed":"Este navegador no aceptó una imagen en el portapapeles","story.kicker":"Captura","story.rendering":"Generando la captura","story.renderingHint":"Se dibuja cada bloque a 2× — en una plantilla larga tarda un momento.","story.failed":"La captura falló","story.failedHint":"No se pudo cargar una imagen de la plantilla para capturarla.","story.retry":"Inténtalo de nuevo","story.play":"Reproducir","story.pause":"Pausar","story.replay":"Repetir","story.copy":"Copiar","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Con la tecnología de SELISE Blocks © 2026"}})},re["core/i18n/et.js"]=function(se,K,z){Object.assign(K,{ET:{"action.undoHint":"Võta tagasi — ⌘Z","action.redoHint":"Tee uuesti — ⌘⇧Z","action.chromeToDark":"Tume","action.chromeToLight":"Hele","action.chromeHint":"Redaktori teema hele / tume","action.chromeHintToDark":"Tume režiim","action.chromeHintToLight":"Hele režiim","action.aiDraft":"Mustand","action.aiDraftHint":"Koosta e-kirja sisu tehisintellektiga","action.code":"Kood","action.codeHint":"Muuda töötlemata HTML-i otseeelvaatega","action.preview":"Eelvaade","action.previewHint":"Vaata e-kirja eelvaadet","action.export":"Ekspordi","action.exportHint":"Ekspordi oma e-kiri","device.desktop":"Arvuti","device.desktopHint":"Arvuti laius","device.mobile":"Mobiil","device.mobileHint":"Mobiili laius","status.autosaveOn":"automaatne salvestamine sees","status.saved":"salvestatud {time}","status.saveFailed":"ei salvestatud — talletusruum täis","canvas.meta":"{rows} rida · {blocks} plokki · {width}px","tab.design":"Stiil","tab.designHint":"Vali stiil valikule","tab.blocks":"Plokid","tab.blocksHint":"Sisuplokid ja muutujad","tab.rows":"Sektsioonid","tab.rowsHint":"Sektsioonide paigutused ja lõuendi mudel","tab.files":"Failid","tab.filesHint":"Ressursside teek","tab.layers":"Struktuur","tab.layersHint":"Dokumendi struktuur","tab.settings":"Seaded","tab.settingsHint":"E-kirja seaded","tab.data":"Muut.","tab.dataHint":"Sinu koodi pakutavad muutujad","inspector.blockProperties":"Ploki omadused","inspector.sectionProperties":"Sektsiooni omadused","inspector.title":"Inspektor","inspector.sectionLabel":"Sektsioon","inspector.nothingSelected":"Midagi pole valitud","action.duplicateHint":"Paljunda — ⌘D","action.deleteHint":"Kustuta — ⌫","inspector.emptyBody":'Vali lõuendil rida või plokk, et seda siin kujundada. Lohista plokke vahekaardilt <strong style="color: var(--ed-text); font-weight: 600;">Plokid</strong>; topeltklõpsa mistahes tekstil, et seda otse muuta.',"inspector.shortcuts":"Kiirklahvid","shortcut.undoRedo":"⌘Z / ⌘⇧Z — võta tagasi, tee uuesti","shortcut.duplicate":"⌘D — paljunda valik","shortcut.delete":"⌫ — kustuta valik","shortcut.export":"⌘E — ekspordi HTML","shortcut.escape":"ESC — tühista valik, sulge","blocks.dragHint":"Lohista lõuendile","blocks.count":"{count} plokki","rows.sectionLayouts":"Sektsioonide paigutused","rows.customMarkup":"Kohandatud kood","rows.htmlRowHint":"Lohista lisamiseks või klõpsa lisamiseks — täislaiuses rida, mille täidad töötlemata HTML-iga","rows.rawHtmlSection":"Töötlemata HTML-i sektsioon","rows.rawHtmlDesc":"Täislaiuses sektsioon, sinu enda kood, endiselt lohistatav","rows.canvasModel":"Lõuendi mudel","rows.modeRowBased":"Ridadel põhinev","rows.modeFreeStack":"Vaba virn","rows.hintRows":"Sektsioonidel põhinev: aseta esmalt paigutus, seejärel plokid selle veergudesse — igal sektsioonil on oma taust, äär, flex- või ruudustiku seaded.","rows.hintStack":"Vaba virn: ilma paigutusteta — iga asetatud plokk saab oma täislaiuses sektsiooniks, virnastatuna järjekorras.","files.libraryCount":"Teek — {count} faili","files.openManager":"Ava failihaldur","files.dragToCanvas":"Lohista mistahes fail otse lõuendile, et paigutada see pildiplokina.","layers.structure":"Struktuur","layers.sectionSingle":"Sektsioon","layers.sectionMulti":"Sektsioon · {count} veergu","layers.column":"Veerg {index}","layers.blockCount":"{count} plokki","vars.title":"Muutujad","vars.fromCode":"{count} sinu koodist","vars.declaredNote":"Sinu rakenduse deklareeritud — lõuend näitab alati tokenit, mitte kunagi väärtust.","vars.filterPlaceholder":"Filtreeri muutujaid…","vars.insertHint":"Klõpsa, et lisada valitud teksti, pealkirja või nupu sisse","vars.insert":"lisa","vars.noMatch":"Ükski muutuja ei vasta sellele filtrile.","vars.noneDeclared":"Sinu rakendus pole veel muutujaid deklareerinud.","vars.rteHint":"Teksti muutmisel saad valida muutuja ka otse sisseehitatud tööriistariba rippmenüüst.","modal.fileManager":"Failihaldur","modal.assetsTitle":"Ressursid","modal.replaceImage":"Asenda pilt","library.searchPlaceholder":"Otsi faile…","action.upload":"Laadi üles","library.clickToPlace":"Klõpsa failil, et see paigutada · või lohista fail lõuendile","library.clickToReplace":"Klõpsa failil, et asendada valitud pilt","library.storageLabel":"{count} faili · {size}","library.folders":"Kaustad","library.dropHint":"Lohista pildifailid siia üleslaadimiseks — või kasuta nuppu Laadi üles.","library.deleteFileHint":"Kustuta fail","library.del":"KUSTUTA","toast.assetDeleted":"{name} kustutatud","library.allFiles":"Kõik failid","library.loadMore":"Lae veel","library.empty":"Siin pole veel ühtegi faili.","storage.loading":"Failide laadimine…","storage.uploading":"Laadin üles {count}…","storage.errLoadFailed":"Failikogu laadimine ebaõnnestus — {reason}","storage.errNoLimits":"Üleslaadimine on välja lülitatud: see rakendus pole määranud üleslaadimispiiranguid.","storage.errNoMaxBytes":"Üleslaadimine on välja lülitatud: faili suurimat lubatud mahtu pole määratud.","storage.errTooLarge":"{name} on {size} — piir on {max}.","storage.errFormat":"{name} on {type}-fail, mis pole siin lubatud.","storage.errSvg":"{name} on SVG, mida see rakendus vastu ei võta.","storage.errDimensions":"{name} on {w}×{ht}px — piir on {maxW}×{maxH}px.","storage.errTooMany":"Korraga saab üles laadida ainult {max} faili.","storage.errUnreadable":"{name} pole loetav pilt.","storage.errUploadFailed":"{name} üleslaadimine ebaõnnestus — {reason}","storage.errDeleteFailed":"{name} kustutamine ebaõnnestus — {reason}","modal.export":"Ekspordi","modal.exportTitle":"Tabelipõhine e-kirja HTML","export.copy":"Kopeeri","export.copied":"Kopeeritud","action.download":"Laadi alla","export.meta":"{kb} KB · tabelid + sisestiilid · Outlooki jaoks turvalised laiused","modal.rawHtmlTitle":"Töötlemata HTML, otseeelvaade","code.statusEdited":"Koodivaade — muudetud — eelvaade otse, veel rakendamata","code.statusSynced":"Koodivaade — lõuendiga sünkroonis","action.reload":"Laadi uuesti","action.reloadHint":"Laadi allikas lõuendilt uuesti","action.applyToCanvas":"Rakenda lõuendile","action.applyToCanvasHint":"Analüüsi allikas tagasi muudetavateks ridadeks","action.closeWithoutApplyingHint":"Sulge ilma rakendamata","code.source":"Allikas","code.livePreview":"Otseeelvaade","code.liveHtmlPreviewTitle":"HTML-i otseeelvaade","code.applyNote":"Rakendamine analüüsib iga ülataseme tabelirea lõuendireaks, mida saad endiselt valida, ümber korraldada ja kustutada — käsitsi kirjutatud kood jääb protsessis muutumatuks.","code.meta":"{kb} KB · {lines} rida","toast.sourceReloaded":"Allikas laaditi lõuendilt uuesti","toast.sourceAppliedOne":"Allikas rakendatud — 1 rida lõuendil","toast.sourceAppliedMany":"Allikas rakendatud — {rows} rida lõuendil","toast.parseError":"Seda HTML-i ei õnnestunud analüüsida","modal.aiDraft":"Tehisintellekti kirjutamisabi","modal.aiDraftTitle":"Koosta oma e-kiri tehisintellektiga","ai.disclosure":"Tehisintellekt loob ettepanekud sinu lühikirjelduse põhjal. Vaata tulemus üle ja toimeta seda enne saatmist.","ai.goal":"Eesmärk","ai.tone":"Toon","ai.briefLabel":"Millest see e-kiri räägib?","ai.briefPlaceholder":"nt sügiskollektsioon, 15% tellijatele, tasuta tarne üle 150 €","ai.generate":"Genereeri tekst","ai.writing":"Kirjutamine…","ai.kindHeadline":"Pealkiri","ai.kindBody":"Põhitekst","ai.kindButton":"Nupu tekst","ai.actionInsertHeading":"Lisa pealkirjana","ai.actionInsertText":"Lisa tekstiplokina","ai.actionInsertButton":"Lisa nupuna","toast.headingAdded":"Pealkiri lisatud","toast.textBlockAdded":"Tekstiplokk lisatud","toast.buttonAdded":"Nupp lisatud","preview.kickerMobile":"Eelvaade — mobiil 375px","preview.kickerDesktop":"Eelvaade — arvuti {width}px","action.close":"Sulge","toast.duplicated":"Paljundatud","toast.fileUploadedOne":"1 fail üles laaditud","toast.fileUploadedMany":"{count} faili üles laaditud","toast.imageReplaced":"Pilt asendatud","toast.imageAdded":"Pilt lisatud lõuendile","toast.htmlCopied":"HTML kopeeritud lõikelauale","toast.templateLoaded":"{name} laaditud","toast.snippetDefaultLabel":"Katke","toast.snippetInserted":"{name} lisatud","toast.snippetCopied":"{name} kopeeritud — vali tekstiplokk selle lisamiseks","rte.textStyle":"Teksti stiil","rte.mergeTags":"Liitmisväljad","rte.noMergeTags":"Liitmisvälju pole saadaval","rte.textColor":"Teksti värv","rte.highlightColor":"Esiletõstu värv","rte.removeHighlight":"Eemalda esiletõst","rte.clearFormatting":"Eemalda vorming","action.downloadPng":"Laadi PNG alla","action.screenshot":"Kuvatõmmis","action.screenshotHint":"Vaata kogu malli pildina ja laadi see alla","toast.pngSaved":"Kuvatõmmis laaditi alla","toast.pngFailed":"Kuvatõmmis ebaõnnestus — välist pilti ei õnnestunud laadida","toast.pngCopied":"Kuvatõmmis kopeeriti lõikelauale","toast.pngCopyFailed":"See brauser ei võtnud pilti lõikelauale vastu","story.kicker":"Kuvatõmmis","story.rendering":"Kuvatõmmise koostamine","story.renderingHint":"Iga plokk joonistatakse 2× suuruses — pika malli puhul võtab see hetke.","story.failed":"Kuvatõmmis ebaõnnestus","story.failedHint":"Malli üht pilti ei õnnestunud jäädvustamiseks laadida.","story.retry":"Proovi uuesti","story.play":"Esita","story.pause":"Peata","story.replay":"Esita uuesti","story.copy":"Kopeeri","story.meta":"{w}×{h} · vaade {i}/{n}","footer.poweredBy":"Töötab SELISE Blocks © 2026 põhjal"}})},re["core/i18n/fi.js"]=function(se,K,z){Object.assign(K,{FI:{"action.undoHint":"Kumoa — ⌘Z","action.redoHint":"Tee uudelleen — ⌘⇧Z","action.chromeToDark":"Tumma","action.chromeToLight":"Vaalea","action.chromeHint":"Editorin teema vaalea / tumma","action.chromeHintToDark":"Tumma tila","action.chromeHintToLight":"Vaalea tila","action.aiDraft":"Luonnos","action.aiDraftHint":"Kirjoita sähköpostin sisältö tekoälyllä","action.code":"Koodi","action.codeHint":"Muokkaa raakaa HTML:ää suoralla esikatselulla","action.preview":"Esikatselu","action.previewHint":"Esikatsele sähköpostia","action.export":"Vie","action.exportHint":"Vie sähköpostisi","device.desktop":"Työpöytä","device.desktopHint":"Työpöydän leveys","device.mobile":"Mobiili","device.mobileHint":"Mobiilin leveys","status.autosaveOn":"automaattitallennus päällä","status.saved":"tallennettu {time}","status.saveFailed":"ei tallennettu — tallennustila täynnä","canvas.meta":"{rows} riviä · {blocks} lohkoa · {width}px","tab.design":"Tyyli","tab.designHint":"Muotoile valinta","tab.blocks":"Lohkot","tab.blocksHint":"Sisältölohkot ja muuttujat","tab.rows":"Osiot","tab.rowsHint":"Osioiden asettelut ja kangasmalli","tab.files":"Tiedostot","tab.filesHint":"Resurssikirjasto","tab.layers":"Rakenne","tab.layersHint":"Asiakirjan rakenne","tab.settings":"Asetukset","tab.settingsHint":"Sähköpostin asetukset","tab.data":"Muutt.","tab.dataHint":"Koodisi tarjoamat muuttujat","inspector.blockProperties":"Lohkon ominaisuudet","inspector.sectionProperties":"Osion ominaisuudet","inspector.title":"Tarkastaja","inspector.sectionLabel":"Osio","inspector.nothingSelected":"Ei valintaa","action.duplicateHint":"Monista — ⌘D","action.deleteHint":"Poista — ⌫","inspector.emptyBody":'Valitse rivi tai lohko kankaalta muotoillaksesi sen tässä. Vedä lohkoja välilehdeltä <strong style="color: var(--ed-text); font-weight: 600;">Lohkot</strong>; kaksoisnapsauta tekstiä muokataksesi sitä suoraan.',"inspector.shortcuts":"Pikanäppäimet","shortcut.undoRedo":"⌘Z / ⌘⇧Z — kumoa, tee uudelleen","shortcut.duplicate":"⌘D — monista valinta","shortcut.delete":"⌫ — poista valinta","shortcut.export":"⌘E — vie HTML","shortcut.escape":"ESC — poista valinta, sulje","blocks.dragHint":"Vedä kankaalle","blocks.count":"{count} lohkoa","rows.sectionLayouts":"Osioiden asettelut","rows.customMarkup":"Mukautettu koodi","rows.htmlRowHint":"Vedä lisätäksesi, tai napsauta lisätäksesi — täysleveä rivi, jonka täytät raa’alla HTML:llä","rows.rawHtmlSection":"Raaka HTML-osio","rows.rawHtmlDesc":"Täysleveä osio, oma koodisi, edelleen vedettävissä","rows.canvasModel":"Kangasmalli","rows.modeRowBased":"Riveihin perustuva","rows.modeFreeStack":"Vapaa pino","rows.hintRows":"Osioihin perustuva: pudota ensin asettelu, sitten lohkoja sen sarakkeisiin — jokaisella osiolla on oma tausta, reunus, flex- tai ruudukkoasetukset.","rows.hintStack":"Vapaa pino: ilman asetteluja — jokaisesta pudottamastasi lohkosta tulee oma täysleveä osio, pinottuna järjestyksessä.","files.libraryCount":"Kirjasto — {count} tiedostoa","files.openManager":"Avaa tiedostonhallinta","files.dragToCanvas":"Vedä mikä tahansa tiedosto suoraan kankaalle asettaaksesi sen kuvalohkona.","layers.structure":"Rakenne","layers.sectionSingle":"Osio","layers.sectionMulti":"Osio · {count} saraketta","layers.column":"Sarake {index}","layers.blockCount":"{count} lohkoa","vars.title":"Muuttujat","vars.fromCode":"{count} koodistasi","vars.declaredNote":"Sovelluksesi määrittelemiä — kangas näyttää aina tokenin, ei koskaan arvoa.","vars.filterPlaceholder":"Suodata muuttujia…","vars.insertHint":"Napsauta lisätäksesi valittuun tekstiin, otsikkoon tai painikkeeseen","vars.insert":"lisää","vars.noMatch":"Yksikään muuttuja ei vastaa tätä suodatinta.","vars.noneDeclared":"Sovelluksesi ei ole vielä määritellyt muuttujia.","vars.rteHint":"Tekstiä muokatessasi voit myös valita muuttujan suoraan sisäisen työkalurivin pudotusvalikosta.","modal.fileManager":"Tiedostonhallinta","modal.assetsTitle":"Resurssit","modal.replaceImage":"Korvaa kuva","library.searchPlaceholder":"Etsi tiedostoja…","action.upload":"Lataa","library.clickToPlace":"Napsauta tiedostoa asettaaksesi sen · tai vedä tiedosto kankaalle","library.clickToReplace":"Napsauta tiedostoa korvataksesi valitun kuvan","library.storageLabel":"{count} tiedostoa · {size}","library.folders":"Kansiot","library.dropHint":"Pudota kuvatiedostoja tähän ladataksesi ne — tai käytä Lataa-painiketta.","library.deleteFileHint":"Poista tiedosto","library.del":"POISTA","toast.assetDeleted":"{name} poistettu","library.allFiles":"Kaikki tiedostot","library.loadMore":"Lataa lisää","library.empty":"Täällä ei ole vielä tiedostoja.","storage.loading":"Ladataan tiedostoja…","storage.uploading":"Ladataan {count}…","storage.errLoadFailed":"Tiedostokirjastoa ei voitu ladata — {reason}","storage.errNoLimits":"Lataukset on poistettu käytöstä: tämä sovellus ei ole asettanut latausrajoja.","storage.errNoMaxBytes":"Lataukset on poistettu käytöstä: tiedoston enimmäiskokoa ei ole asetettu.","storage.errTooLarge":"{name} on {size} — raja on {max}.","storage.errFormat":"{name} on {type}-tiedosto, jota ei sallita tässä.","storage.errSvg":"{name} on SVG, jota tämä sovellus ei hyväksy.","storage.errDimensions":"{name} on {w}×{ht}px — raja on {maxW}×{maxH}px.","storage.errTooMany":"Kerralla voi ladata vain {max} tiedostoa.","storage.errUnreadable":"{name} ei ole luettava kuva.","storage.errUploadFailed":"Tiedostoa {name} ei voitu ladata — {reason}","storage.errDeleteFailed":"Tiedostoa {name} ei voitu poistaa — {reason}","modal.export":"Vie","modal.exportTitle":"Taulukkopohjainen sähköposti-HTML","export.copy":"Kopioi","export.copied":"Kopioitu","action.download":"Lataa","export.meta":"{kb} kt · taulukot + inline-tyylit · Outlook-turvalliset leveydet","modal.rawHtmlTitle":"Raaka HTML, suora esikatselu","code.statusEdited":"Koodinäkymä — muokattu — esikatselu suorana, ei vielä käytössä","code.statusSynced":"Koodinäkymä — synkronoitu kankaan kanssa","action.reload":"Lataa uudelleen","action.reloadHint":"Lataa lähde uudelleen kankaalta","action.applyToCanvas":"Käytä kankaalla","action.applyToCanvasHint":"Jäsennä lähde takaisin muokattaviksi riveiksi","action.closeWithoutApplyingHint":"Sulje käyttämättä","code.source":"Lähde","code.livePreview":"Suora esikatselu","code.liveHtmlPreviewTitle":"Suora HTML-esikatselu","code.applyNote":"Käytä jäsentää jokaisen ylimmän tason taulukkorivin kangasriviksi, jonka voit yhä valita, järjestää uudelleen ja poistaa — käsin kirjoitettu koodi säilyy prosessin läpi muuttumattomana.","code.meta":"{kb} kt · {lines} riviä","toast.sourceReloaded":"Lähde ladattu uudelleen kankaalta","toast.sourceAppliedOne":"Lähde käytössä — 1 rivi kankaalla","toast.sourceAppliedMany":"Lähde käytössä — {rows} riviä kankaalla","toast.parseError":"Tätä HTML:ää ei voitu jäsentää","modal.aiDraft":"Tekoälyn kirjoitusapuri","modal.aiDraftTitle":"Kirjoita sähköpostisi tekoälyllä","ai.disclosure":"Tekoäly luo ehdotuksia briefisi pohjalta. Tarkista ja muokkaa tulos ennen lähettämistä.","ai.goal":"Tavoite","ai.tone":"Sävy","ai.briefLabel":"Mistä tämä sähköposti kertoo?","ai.briefPlaceholder":"esim. Syyskokoelma, 15 % tilaajille, ilmainen toimitus yli 150 €","ai.generate":"Luo teksti","ai.writing":"Kirjoitetaan…","ai.kindHeadline":"Otsikko","ai.kindBody":"Leipäteksti","ai.kindButton":"Painikkeen teksti","ai.actionInsertHeading":"Lisää otsikkona","ai.actionInsertText":"Lisää tekstilohkona","ai.actionInsertButton":"Lisää painikkeena","toast.headingAdded":"Otsikko lisätty","toast.textBlockAdded":"Tekstilohko lisätty","toast.buttonAdded":"Painike lisätty","preview.kickerMobile":"Esikatselu — mobiili 375px","preview.kickerDesktop":"Esikatselu — työpöytä {width}px","action.close":"Sulje","toast.duplicated":"Monistettu","toast.fileUploadedOne":"1 tiedosto ladattu","toast.fileUploadedMany":"{count} tiedostoa ladattu","toast.imageReplaced":"Kuva korvattu","toast.imageAdded":"Kuva lisätty kankaalle","toast.htmlCopied":"HTML kopioitu leikepöydälle","toast.templateLoaded":"{name} ladattu","toast.snippetDefaultLabel":"Katkelma","toast.snippetInserted":"{name} lisätty","toast.snippetCopied":"{name} kopioitu — valitse tekstilohko lisätäksesi sen","rte.textStyle":"Tekstityyli","rte.mergeTags":"Yhdistämiskentät","rte.noMergeTags":"Yhdistämiskenttiä ei ole saatavilla","rte.textColor":"Tekstin väri","rte.highlightColor":"Korostusväri","rte.removeHighlight":"Poista korostus","rte.clearFormatting":"Poista muotoilut","action.downloadPng":"Lataa PNG","action.screenshot":"Kuvakaappaus","action.screenshotHint":"Katso koko pohja kuvana ja lataa se","toast.pngSaved":"Kuvakaappaus ladattiin","toast.pngFailed":"Kuvakaappaus epäonnistui — ulkoista kuvaa ei voitu ladata","toast.pngCopied":"Kuvakaappaus kopioitiin leikepöydälle","toast.pngCopyFailed":"Tämä selain ei hyväksynyt kuvaa leikepöydälle","story.kicker":"Kuvakaappaus","story.rendering":"Kuvakaappausta luodaan","story.renderingHint":"Jokainen lohko piirretään 2× tarkkuudella — pitkässä pohjassa se vie hetken.","story.failed":"Kuvakaappaus epäonnistui","story.failedHint":"Pohjan yhtä kuvaa ei voitu ladata kaappausta varten.","story.retry":"Yritä uudelleen","story.play":"Toista","story.pause":"Keskeytä","story.replay":"Toista uudelleen","story.copy":"Kopioi","story.meta":"{w}×{h} · näkymä {i}/{n}","footer.poweredBy":"Taustalla SELISE Blocks © 2026"}})},re["core/i18n/fr.js"]=function(se,K,z){Object.assign(K,{FR:{"action.undoHint":"Annuler — ⌘Z","action.redoHint":"Rétablir — ⌘⇧Z","action.chromeToDark":"Sombre","action.chromeToLight":"Clair","action.chromeHint":"Thème de l’éditeur clair / sombre","action.chromeHintToDark":"Mode sombre","action.chromeHintToLight":"Mode clair","action.aiDraft":"Brouillon","action.aiDraftHint":"Rédiger le contenu de l’e-mail avec l’IA","action.code":"Code","action.codeHint":"Modifier le HTML brut avec aperçu en direct","action.preview":"Aperçu","action.previewHint":"Prévisualiser l’e-mail","action.export":"Exporter","action.exportHint":"Exporter votre e-mail","device.desktop":"Bureau","device.desktopHint":"Largeur bureau","device.mobile":"Mobile","device.mobileHint":"Largeur mobile","status.autosaveOn":"sauvegarde automatique activée","status.saved":"enregistré {time}","status.saveFailed":"non enregistré — stockage plein","canvas.meta":"{rows} lignes · {blocks} blocs · {width}px","tab.design":"Style","tab.designHint":"Styliser la sélection","tab.blocks":"Blocs","tab.blocksHint":"Blocs de contenu et variables","tab.rows":"Sect.","tab.rowsHint":"Mises en page de section et modèle de canevas","tab.files":"Fichiers","tab.filesHint":"Bibliothèque de ressources","tab.layers":"Structure","tab.layersHint":"Structure du document","tab.settings":"Paramètres","tab.settingsHint":"Paramètres de l’e-mail","tab.data":"Var.","tab.dataHint":"Variables fournies par votre code","inspector.blockProperties":"Propriétés du bloc","inspector.sectionProperties":"Propriétés de la section","inspector.title":"Inspecteur","inspector.sectionLabel":"Section","inspector.nothingSelected":"Rien n’est sélectionné","action.duplicateHint":"Dupliquer — ⌘D","action.deleteHint":"Supprimer — ⌫","inspector.emptyBody":'Sélectionnez une ligne ou un bloc sur le canevas pour le styliser ici. Glissez des blocs depuis l’onglet <strong style="color: var(--ed-text); font-weight: 600;">Blocs</strong> ; double-cliquez sur un texte pour le modifier directement.',"inspector.shortcuts":"Raccourcis","shortcut.undoRedo":"⌘Z / ⌘⇧Z — annuler, rétablir","shortcut.duplicate":"⌘D — dupliquer la sélection","shortcut.delete":"⌫ — supprimer la sélection","shortcut.export":"⌘E — exporter le HTML","shortcut.escape":"ESC — désélectionner, fermer","blocks.dragHint":"Glisser sur le canevas","blocks.count":"{count} blocs","rows.sectionLayouts":"Mises en page de section","rows.customMarkup":"Balisage personnalisé","rows.htmlRowHint":"Glissez pour insérer, ou cliquez pour ajouter — une ligne pleine largeur que vous remplissez de HTML brut","rows.rawHtmlSection":"Section HTML brut","rows.rawHtmlDesc":"Section pleine largeur, votre propre balisage, toujours déplaçable","rows.canvasModel":"Modèle de canevas","rows.modeRowBased":"Basé sur les lignes","rows.modeFreeStack":"Pile libre","rows.hintRows":"Basé sur les sections : déposez d’abord une mise en page, puis des blocs dans ses colonnes — chaque section a son propre arrière-plan, sa bordure, ses réglages flex ou grille.","rows.hintStack":"Pile libre : sans mise en page — chaque bloc déposé devient sa propre section pleine largeur, empilée dans l’ordre.","files.libraryCount":"Bibliothèque — {count} fichiers","files.openManager":"Ouvrir le gestionnaire de fichiers","files.dragToCanvas":"Glissez un fichier directement sur le canevas pour le placer comme bloc image.","layers.structure":"Structure","layers.sectionSingle":"Section","layers.sectionMulti":"Section · {count} col.","layers.column":"Colonne {index}","layers.blockCount":"{count} blocs","vars.title":"Variables","vars.fromCode":"{count} provenant de votre code","vars.declaredNote":"Déclarées par votre application — le canevas affiche toujours le jeton, jamais une valeur.","vars.filterPlaceholder":"Filtrer les variables…","vars.insertHint":"Cliquer pour insérer dans le texte, le titre ou le bouton sélectionné","vars.insert":"insérer","vars.noMatch":"Aucune variable ne correspond à ce filtre.","vars.noneDeclared":"Votre application n’a encore déclaré aucune variable.","vars.rteHint":"En modifiant du texte, vous pouvez aussi choisir une variable directement dans le menu de la barre d’outils.","modal.fileManager":"Gestionnaire de fichiers","modal.assetsTitle":"Ressources","modal.replaceImage":"Remplacer l’image","library.searchPlaceholder":"Rechercher des fichiers…","action.upload":"Téléverser","library.clickToPlace":"Cliquez sur un fichier pour le placer · ou glissez un fichier sur le canevas","library.clickToReplace":"Cliquez sur un fichier pour remplacer l’image sélectionnée","library.storageLabel":"{count} fichiers · {size}","library.folders":"Dossiers","library.dropHint":"Déposez des fichiers image ici pour les téléverser — ou utilisez le bouton Téléverser.","library.deleteFileHint":"Supprimer le fichier","library.del":"SUPPR","toast.assetDeleted":"{name} supprimé","library.allFiles":"Tous les fichiers","library.loadMore":"Charger plus","library.empty":"Aucun fichier ici pour l’instant.","storage.loading":"Chargement des fichiers…","storage.uploading":"Envoi de {count}…","storage.errLoadFailed":"La bibliothèque de fichiers n’a pas pu être chargée — {reason}","storage.errNoLimits":"Les envois sont désactivés : cette application n’a défini aucune limite d’envoi.","storage.errNoMaxBytes":"Les envois sont désactivés : aucune taille maximale de fichier n’a été définie.","storage.errTooLarge":"{name} fait {size} — la limite est {max}.","storage.errFormat":"{name} est un fichier {type}, non autorisé ici.","storage.errSvg":"{name} est un SVG, que cette application n’accepte pas.","storage.errDimensions":"{name} fait {w}×{ht}px — la limite est {maxW}×{maxH}px.","storage.errTooMany":"Seuls {max} fichiers peuvent être envoyés à la fois.","storage.errUnreadable":"{name} n’est pas une image lisible.","storage.errUploadFailed":"{name} n’a pas pu être envoyé — {reason}","storage.errDeleteFailed":"{name} n’a pas pu être supprimé — {reason}","modal.export":"Exporter","modal.exportTitle":"HTML d’e-mail basé sur des tableaux","export.copy":"Copier","export.copied":"Copié","action.download":"Télécharger","export.meta":"{kb} Ko · tableaux + styles en ligne · largeurs sûres pour Outlook","modal.rawHtmlTitle":"HTML brut, aperçu en direct","code.statusEdited":"Vue du code — modifié — aperçu en direct, pas encore appliqué","code.statusSynced":"Vue du code — synchronisé avec le canevas","action.reload":"Recharger","action.reloadHint":"Recharger la source depuis le canevas","action.applyToCanvas":"Appliquer au canevas","action.applyToCanvasHint":"Analyser la source pour la reconvertir en lignes modifiables","action.closeWithoutApplyingHint":"Fermer sans appliquer","code.source":"Source","code.livePreview":"Aperçu en direct","code.liveHtmlPreviewTitle":"Aperçu HTML en direct","code.applyNote":"Appliquer analyse chaque ligne de tableau de premier niveau en une ligne de canevas que vous pouvez toujours sélectionner, réorganiser et supprimer — le balisage écrit à la main survit à l’aller-retour.","code.meta":"{kb} Ko · {lines} lignes","toast.sourceReloaded":"Source rechargée depuis le canevas","toast.sourceAppliedOne":"Source appliquée — 1 ligne sur le canevas","toast.sourceAppliedMany":"Source appliquée — {rows} lignes sur le canevas","toast.parseError":"Impossible d’analyser ce HTML","modal.aiDraft":"Assistant de rédaction IA","modal.aiDraftTitle":"Rédigez votre e-mail avec l’IA","ai.disclosure":"L’IA crée des suggestions à partir de votre brief. Relisez et modifiez le résultat avant l’envoi.","ai.goal":"Objectif","ai.tone":"Ton","ai.briefLabel":"De quoi parle cet e-mail ?","ai.briefPlaceholder":"ex. Collection automne, 15 % pour les abonnés, livraison gratuite dès 150 €","ai.generate":"Générer le texte","ai.writing":"Rédaction en cours…","ai.kindHeadline":"Titre","ai.kindBody":"Corps du texte","ai.kindButton":"Texte du bouton","ai.actionInsertHeading":"Insérer comme titre","ai.actionInsertText":"Insérer comme bloc de texte","ai.actionInsertButton":"Insérer comme bouton","toast.headingAdded":"Titre ajouté","toast.textBlockAdded":"Bloc de texte ajouté","toast.buttonAdded":"Bouton ajouté","preview.kickerMobile":"Aperçu — mobile 375px","preview.kickerDesktop":"Aperçu — bureau {width}px","action.close":"Fermer","toast.duplicated":"Dupliqué","toast.fileUploadedOne":"1 fichier téléversé","toast.fileUploadedMany":"{count} fichiers téléversés","toast.imageReplaced":"Image remplacée","toast.imageAdded":"Image ajoutée au canevas","toast.htmlCopied":"HTML copié dans le presse-papiers","toast.templateLoaded":"{name} chargé","toast.snippetDefaultLabel":"Extrait","toast.snippetInserted":"{name} inséré","toast.snippetCopied":"{name} copié — sélectionnez un bloc de texte pour l’insérer","rte.textStyle":"Style de texte","rte.mergeTags":"Champs de fusion","rte.noMergeTags":"Aucun champ de fusion disponible","rte.textColor":"Couleur du texte","rte.highlightColor":"Couleur de surlignage","rte.removeHighlight":"Supprimer le surlignage","rte.clearFormatting":"Effacer la mise en forme","action.downloadPng":"Télécharger le PNG","action.screenshot":"Capture","action.screenshotHint":"Voir tout le modèle sous forme d’image, puis le télécharger","toast.pngSaved":"Capture téléchargée","toast.pngFailed":"Échec de la capture — une image externe n’a pas pu être chargée","toast.pngCopied":"Capture copiée dans le presse-papiers","toast.pngCopyFailed":"Ce navigateur n’a pas accepté d’image dans le presse-papiers","story.kicker":"Capture","story.rendering":"Génération de la capture","story.renderingHint":"Chaque bloc est dessiné en 2× — sur un long modèle, cela prend un moment.","story.failed":"Échec de la capture","story.failedHint":"Une image du modèle n’a pas pu être chargée pour la capture.","story.retry":"Réessayer","story.play":"Lecture","story.pause":"Pause","story.replay":"Revoir","story.copy":"Copier","story.meta":"{w}×{h} · écran {i} sur {n}","footer.poweredBy":"Propulsé par SELISE Blocks © 2026"}})},re["core/i18n/hr.js"]=function(se,K,z){Object.assign(K,{HR:{"action.undoHint":"Poništi — ⌘Z","action.redoHint":"Ponovi — ⌘⇧Z","action.chromeToDark":"Tamno","action.chromeToLight":"Svijetlo","action.chromeHint":"Tema uređivača svijetla / tamna","action.chromeHintToDark":"Tamni način","action.chromeHintToLight":"Svijetli način","action.aiDraft":"Nacrt","action.aiDraftHint":"Napiši sadržaj e-pošte pomoću umjetne inteligencije","action.code":"Kôd","action.codeHint":"Uredi izvorni HTML uz prikaz uživo","action.preview":"Pregled","action.previewHint":"Pregledaj e-poštu","action.export":"Izvezi","action.exportHint":"Izvezi svoju e-poštu","device.desktop":"Računalo","device.desktopHint":"Širina za računalo","device.mobile":"Mobitel","device.mobileHint":"Širina za mobitel","status.autosaveOn":"automatsko spremanje uključeno","status.saved":"spremljeno {time}","status.saveFailed":"nije spremljeno — spremište je puno","canvas.meta":"{rows} redaka · {blocks} blokova · {width}px","tab.design":"Stil","tab.designHint":"Oblikuj odabir","tab.blocks":"Blokovi","tab.blocksHint":"Blokovi sadržaja i varijable","tab.rows":"Odjeljci","tab.rowsHint":"Rasporedi odjeljaka i model platna","tab.files":"Datoteke","tab.filesHint":"Knjižnica resursa","tab.layers":"Struktura","tab.layersHint":"Struktura dokumenta","tab.settings":"Postavke","tab.settingsHint":"Postavke e-pošte","tab.data":"Var.","tab.dataHint":"Varijable koje pruža vaš kod","inspector.blockProperties":"Svojstva bloka","inspector.sectionProperties":"Svojstva odjeljka","inspector.title":"Inspektor","inspector.sectionLabel":"Odjeljak","inspector.nothingSelected":"Ništa nije odabrano","action.duplicateHint":"Dupliciraj — ⌘D","action.deleteHint":"Izbriši — ⌫","inspector.emptyBody":'Odaberite redak ili blok na platnu za oblikovanje ovdje. Povucite blokove s kartice <strong style="color: var(--ed-text); font-weight: 600;">Blokovi</strong>; dvaput kliknite tekst za izravno uređivanje.',"inspector.shortcuts":"Prečaci","shortcut.undoRedo":"⌘Z / ⌘⇧Z — poništi, ponovi","shortcut.duplicate":"⌘D — dupliciraj odabir","shortcut.delete":"⌫ — izbriši odabir","shortcut.export":"⌘E — izvezi HTML","shortcut.escape":"ESC — poništi odabir, zatvori","blocks.dragHint":"Povucite na platno","blocks.count":"{count} blokova","rows.sectionLayouts":"Rasporedi odjeljaka","rows.customMarkup":"Prilagođeni kôd","rows.htmlRowHint":"Povucite za umetanje ili kliknite za dodavanje — redak preko cijele širine koji ispunjavate izvornim HTML-om","rows.rawHtmlSection":"Odjeljak s izvornim HTML-om","rows.rawHtmlDesc":"Odjeljak preko cijele širine, vaš vlastiti kôd, i dalje se može povlačiti","rows.canvasModel":"Model platna","rows.modeRowBased":"Temeljeno na recima","rows.modeFreeStack":"Slobodni stog","rows.hintRows":"Temeljeno na odjeljcima: prvo ispustite raspored, zatim blokove u njegove stupce — svaki odjeljak ima vlastitu pozadinu, obrub, flex ili grid postavke.","rows.hintStack":"Slobodni stog: bez rasporeda — svaki ispušteni blok postaje vlastiti odjeljak preko cijele širine, poslagan redom.","files.libraryCount":"Knjižnica — {count} datoteka","files.openManager":"Otvori upravitelja datoteka","files.dragToCanvas":"Povucite bilo koju datoteku izravno na platno da je postavite kao slikovni blok.","layers.structure":"Struktura","layers.sectionSingle":"Odjeljak","layers.sectionMulti":"Odjeljak · {count} stupaca","layers.column":"Stupac {index}","layers.blockCount":"{count} bl.","vars.title":"Varijable","vars.fromCode":"{count} iz vašeg koda","vars.declaredNote":"Deklarirane od strane vaše aplikacije — platno uvijek prikazuje token, nikad vrijednost.","vars.filterPlaceholder":"Filtriraj varijable…","vars.insertHint":"Kliknite za umetanje u odabrani tekst, naslov ili gumb","vars.insert":"umetni","vars.noMatch":"Nijedna varijabla ne odgovara ovom filtru.","vars.noneDeclared":"Vaša aplikacija još nije deklarirala nijednu varijablu.","vars.rteHint":"Tijekom uređivanja teksta varijablu možete odabrati i izravno iz padajućeg izbornika ugrađene alatne trake.","modal.fileManager":"Upravitelj datoteka","modal.assetsTitle":"Resursi","modal.replaceImage":"Zamijeni sliku","library.searchPlaceholder":"Pretraži datoteke…","action.upload":"Prenesi","library.clickToPlace":"Kliknite datoteku za postavljanje · ili povucite datoteku na platno","library.clickToReplace":"Kliknite datoteku za zamjenu odabrane slike","library.storageLabel":"{count} datoteka · {size}","library.folders":"Mape","library.dropHint":"Ispustite slikovne datoteke ovdje za prijenos — ili upotrijebite gumb Prenesi.","library.deleteFileHint":"Izbriši datoteku","library.del":"IZBR","toast.assetDeleted":"{name} izbrisano","library.allFiles":"Sve datoteke","library.loadMore":"Učitaj još","library.empty":"Ovdje još nema datoteka.","storage.loading":"Učitavanje datoteka…","storage.uploading":"Prijenos {count}…","storage.errLoadFailed":"Knjižnicu datoteka nije moguće učitati — {reason}","storage.errNoLimits":"Prijenos je isključen: ova aplikacija nije postavila nikakva ograničenja prijenosa.","storage.errNoMaxBytes":"Prijenos je isključen: nije postavljena najveća veličina datoteke.","storage.errTooLarge":"{name} je {size} — ograničenje je {max}.","storage.errFormat":"{name} je datoteka vrste {type}, koja ovdje nije dopuštena.","storage.errSvg":"{name} je SVG, koji ova aplikacija ne prihvaća.","storage.errDimensions":"{name} je {w}×{ht}px — ograničenje je {maxW}×{maxH}px.","storage.errTooMany":"Odjednom je moguće prenijeti samo {max} datoteka.","storage.errUnreadable":"{name} nije čitljiva slika.","storage.errUploadFailed":"{name} nije moguće prenijeti — {reason}","storage.errDeleteFailed":"{name} nije moguće izbrisati — {reason}","modal.export":"Izvezi","modal.exportTitle":"HTML e-pošte temeljen na tablicama","export.copy":"Kopiraj","export.copied":"Kopirano","action.download":"Preuzmi","export.meta":"{kb} KB · tablice + ugrađeni stilovi · širine sigurne za Outlook","modal.rawHtmlTitle":"Izvorni HTML, prikaz uživo","code.statusEdited":"Prikaz koda — uređeno — prikaz uživo, još nije primijenjeno","code.statusSynced":"Prikaz koda — usklađeno s platnom","action.reload":"Ponovno učitaj","action.reloadHint":"Ponovno učitaj izvor s platna","action.applyToCanvas":"Primijeni na platno","action.applyToCanvasHint":"Ponovno raščlani izvor u uredive retke","action.closeWithoutApplyingHint":"Zatvori bez primjene","code.source":"Izvor","code.livePreview":"Prikaz uživo","code.liveHtmlPreviewTitle":"Prikaz HTML-a uživo","code.applyNote":"Primjena raščlanjuje svaki redak tablice najviše razine u redak platna koji i dalje možete odabrati, preurediti i izbrisati — ručno napisani kôd preživi postupak nepromijenjen.","code.meta":"{kb} KB · {lines} redaka","toast.sourceReloaded":"Izvor ponovno učitan s platna","toast.sourceAppliedOne":"Izvor primijenjen — 1 redak na platnu","toast.sourceAppliedMany":"Izvor primijenjen — {rows} redaka na platnu","toast.parseError":"Taj HTML nije bilo moguće raščlaniti","modal.aiDraft":"AI pomoćnik za pisanje","modal.aiDraftTitle":"Napišite svoju e-poštu uz AI","ai.disclosure":"Umjetna inteligencija stvara prijedloge na temelju vašeg sažetka. Pregledajte i uredite rezultat prije slanja.","ai.goal":"Cilj","ai.tone":"Ton","ai.briefLabel":"O čemu je ova e-pošta?","ai.briefPlaceholder":"npr. jesenska kolekcija, 15% za pretplatnike, besplatna dostava iznad 150 €","ai.generate":"Generiraj tekst","ai.writing":"Pisanje…","ai.kindHeadline":"Naslov","ai.kindBody":"Glavni tekst","ai.kindButton":"Tekst gumba","ai.actionInsertHeading":"Umetni kao naslov","ai.actionInsertText":"Umetni kao tekstualni blok","ai.actionInsertButton":"Umetni kao gumb","toast.headingAdded":"Naslov dodan","toast.textBlockAdded":"Tekstualni blok dodan","toast.buttonAdded":"Gumb dodan","preview.kickerMobile":"Pregled — mobitel 375px","preview.kickerDesktop":"Pregled — računalo {width}px","action.close":"Zatvori","toast.duplicated":"Duplicirano","toast.fileUploadedOne":"Prenesena 1 datoteka","toast.fileUploadedMany":"Preneseno {count} datoteka","toast.imageReplaced":"Slika zamijenjena","toast.imageAdded":"Slika dodana na platno","toast.htmlCopied":"HTML kopiran u međuspremnik","toast.templateLoaded":"{name} učitano","toast.snippetDefaultLabel":"Isječak","toast.snippetInserted":"{name} umetnuto","toast.snippetCopied":"{name} kopirano — odaberite tekstualni blok za umetanje","rte.textStyle":"Stil teksta","rte.mergeTags":"Polja za spajanje","rte.noMergeTags":"Nema dostupnih polja za spajanje","rte.textColor":"Boja teksta","rte.highlightColor":"Boja isticanja","rte.removeHighlight":"Ukloni isticanje","rte.clearFormatting":"Ukloni oblikovanje","action.downloadPng":"Preuzmi PNG","action.screenshot":"Snimka zaslona","action.screenshotHint":"Pogledaj cijeli predložak kao sliku i preuzmi ga","toast.pngSaved":"Snimka zaslona preuzeta","toast.pngFailed":"Snimka zaslona nije uspjela — vanjsku sliku nije bilo moguće učitati","toast.pngCopied":"Snimka zaslona kopirana u međuspremnik","toast.pngCopyFailed":"Ovaj preglednik nije prihvatio sliku u međuspremnik","story.kicker":"Snimka zaslona","story.rendering":"Izrada snimke zaslona","story.renderingHint":"Svaki se blok crta u 2× — kod dugog predloška to potraje trenutak.","story.failed":"Snimka zaslona nije uspjela","story.failedHint":"Sliku u predlošku nije bilo moguće učitati za snimanje.","story.retry":"Pokušaj ponovno","story.play":"Pokreni","story.pause":"Pauza","story.replay":"Ponovno pokreni","story.copy":"Kopiraj","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Pokreće SELISE Blocks © 2026"}})},re["core/i18n/hu.js"]=function(se,K,z){Object.assign(K,{HU:{"action.undoHint":"Visszavonás — ⌘Z","action.redoHint":"Ismétlés — ⌘⇧Z","action.chromeToDark":"Sötét","action.chromeToLight":"Világos","action.chromeHint":"Szerkesztő téma világos / sötét","action.chromeHintToDark":"Sötét mód","action.chromeHintToLight":"Világos mód","action.aiDraft":"Vázlat","action.aiDraftHint":"E-mail tartalmának megírása MI-vel","action.code":"Kód","action.codeHint":"Nyers HTML szerkesztése élő előnézettel","action.preview":"Előnézet","action.previewHint":"E-mail előnézete","action.export":"Exportálás","action.exportHint":"E-mail exportálása","device.desktop":"Asztali","device.desktopHint":"Asztali szélesség","device.mobile":"Mobil","device.mobileHint":"Mobil szélesség","status.autosaveOn":"automatikus mentés bekapcsolva","status.saved":"mentve {time}","status.saveFailed":"nem mentve — a tárhely megtelt","canvas.meta":"{rows} sor · {blocks} blokk · {width}px","tab.design":"Stílus","tab.designHint":"Kijelölés stílusa","tab.blocks":"Blokkok","tab.blocksHint":"Tartalomblokkok és változók","tab.rows":"Szakaszok","tab.rowsHint":"Szakaszelrendezések és a rajzvászon modellje","tab.files":"Fájlok","tab.filesHint":"Erőforrás-könyvtár","tab.layers":"Struktúra","tab.layersHint":"A dokumentum szerkezete","tab.settings":"Beállítások","tab.settingsHint":"E-mail beállításai","tab.data":"Vált.","tab.dataHint":"A kódod által biztosított változók","inspector.blockProperties":"A blokk tulajdonságai","inspector.sectionProperties":"A szakasz tulajdonságai","inspector.title":"Vizsgáló","inspector.sectionLabel":"Szakasz","inspector.nothingSelected":"Nincs kijelölés","action.duplicateHint":"Kettőzés — ⌘D","action.deleteHint":"Törlés — ⌫","inspector.emptyBody":'Válassz ki egy sort vagy blokkot a rajzvásznon, hogy itt formázhasd. Húzz blokkokat a <strong style="color: var(--ed-text); font-weight: 600;">Blokkok</strong> fülről; kattints duplán bármely szövegre a helyben szerkesztéshez.',"inspector.shortcuts":"Billentyűparancsok","shortcut.undoRedo":"⌘Z / ⌘⇧Z — visszavonás, ismétlés","shortcut.duplicate":"⌘D — kijelölés kettőzése","shortcut.delete":"⌫ — kijelölés törlése","shortcut.export":"⌘E — HTML exportálása","shortcut.escape":"ESC — kijelölés megszüntetése, bezárás","blocks.dragHint":"Húzd a rajzvászonra","blocks.count":"{count} blokk","rows.sectionLayouts":"Szakaszelrendezések","rows.customMarkup":"Egyéni kód","rows.htmlRowHint":"Húzd be, vagy kattints a hozzáadáshoz — egy teljes szélességű sor, amelyet nyers HTML-lel töltesz meg","rows.rawHtmlSection":"Nyers HTML szakasz","rows.rawHtmlDesc":"Teljes szélességű szakasz, saját kódod, továbbra is húzható","rows.canvasModel":"Rajzvászon modellje","rows.modeRowBased":"Soralapú","rows.modeFreeStack":"Szabad halmozás","rows.hintRows":"Szakaszalapú: először helyezz el egy elrendezést, majd blokkokat az oszlopaiba — minden szakasznak saját háttere, kerete, flex vagy rács beállításai vannak.","rows.hintStack":"Szabad halmozás: elrendezések nélkül — minden elhelyezett blokk saját teljes szélességű szakasszá válik, sorrendben egymásra halmozva.","files.libraryCount":"Könyvtár — {count} fájl","files.openManager":"Fájlkezelő megnyitása","files.dragToCanvas":"Húzz bármely fájlt közvetlenül a rajzvászonra, hogy képblokként helyezd el.","layers.structure":"Struktúra","layers.sectionSingle":"Szakasz","layers.sectionMulti":"Szakasz · {count} oszlop","layers.column":"{index}. oszlop","layers.blockCount":"{count} blokk","vars.title":"Változók","vars.fromCode":"{count} a kódodból","vars.declaredNote":"Az alkalmazásod deklarálta — a rajzvászon mindig a tokent mutatja, sosem az értéket.","vars.filterPlaceholder":"Változók szűrése…","vars.insertHint":"Kattints a kijelölt szövegbe, címsorba vagy gombba való beszúráshoz","vars.insert":"beszúrás","vars.noMatch":"Egyetlen változó sem felel meg ennek a szűrőnek.","vars.noneDeclared":"Az alkalmazásod még nem deklarált változókat.","vars.rteHint":"Szöveg szerkesztése közben egy változót közvetlenül a beágyazott eszköztár legördülő menüjéből is kiválaszthatsz.","modal.fileManager":"Fájlkezelő","modal.assetsTitle":"Erőforrások","modal.replaceImage":"Kép cseréje","library.searchPlaceholder":"Fájlok keresése…","action.upload":"Feltöltés","library.clickToPlace":"Kattints egy fájlra az elhelyezéshez · vagy húzz egy fájlt a rajzvászonra","library.clickToReplace":"Kattints egy fájlra a kijelölt kép cseréjéhez","library.storageLabel":"{count} fájl · {size}","library.folders":"Mappák","library.dropHint":"Húzz ide képfájlokat a feltöltéshez — vagy használd a Feltöltés gombot.","library.deleteFileHint":"Fájl törlése","library.del":"TÖRL","toast.assetDeleted":"{name} törölve","library.allFiles":"Összes fájl","library.loadMore":"Továbbiak betöltése","library.empty":"Itt még nincsenek fájlok.","storage.loading":"Fájlok betöltése…","storage.uploading":"{count} feltöltése…","storage.errLoadFailed":"A fájlkönyvtár nem tölthető be — {reason}","storage.errNoLimits":"A feltöltés ki van kapcsolva: ez az alkalmazás nem állított be feltöltési korlátokat.","storage.errNoMaxBytes":"A feltöltés ki van kapcsolva: nincs beállítva maximális fájlméret.","storage.errTooLarge":"A(z) {name} mérete {size} — a korlát {max}.","storage.errFormat":"A(z) {name} egy {type} fájl, ami itt nem engedélyezett.","storage.errSvg":"A(z) {name} egy SVG, amit ez az alkalmazás nem fogad el.","storage.errDimensions":"A(z) {name} mérete {w}×{ht}px — a korlát {maxW}×{maxH}px.","storage.errTooMany":"Egyszerre csak {max} fájl tölthető fel.","storage.errUnreadable":"A(z) {name} nem olvasható kép.","storage.errUploadFailed":"A(z) {name} nem tölthető fel — {reason}","storage.errDeleteFailed":"A(z) {name} nem törölhető — {reason}","modal.export":"Exportálás","modal.exportTitle":"Táblázat alapú e-mail HTML","export.copy":"Másolás","export.copied":"Másolva","action.download":"Letöltés","export.meta":"{kb} KB · táblázatok + soron belüli stílusok · Outlook-biztos szélességek","modal.rawHtmlTitle":"Nyers HTML, élő előnézet","code.statusEdited":"Kódnézet — szerkesztve — élő előnézet, még nincs alkalmazva","code.statusSynced":"Kódnézet — szinkronban a rajzvászonnal","action.reload":"Újratöltés","action.reloadHint":"Forrás újratöltése a rajzvászonról","action.applyToCanvas":"Alkalmazás a rajzvászonra","action.applyToCanvasHint":"A forrás visszaalakítása szerkeszthető sorokká","action.closeWithoutApplyingHint":"Bezárás alkalmazás nélkül","code.source":"Forrás","code.livePreview":"Élő előnézet","code.liveHtmlPreviewTitle":"Élő HTML előnézet","code.applyNote":"Az alkalmazás minden legfelső szintű táblázatsort egy rajzvászon-sorrá alakít, amelyet továbbra is kijelölhetsz, átrendezhetsz és törölhetsz — a kézzel írt kód sértetlenül éli túl a folyamatot.","code.meta":"{kb} KB · {lines} sor","toast.sourceReloaded":"A forrás újratöltve a rajzvászonról","toast.sourceAppliedOne":"Forrás alkalmazva — 1 sor a rajzvásznon","toast.sourceAppliedMany":"Forrás alkalmazva — {rows} sor a rajzvásznon","toast.parseError":"Nem sikerült elemezni ezt a HTML-t","modal.aiDraft":"MI írássegéd","modal.aiDraftTitle":"Írd meg az e-mailed MI-vel","ai.disclosure":"Az MI a rövid leírásod alapján készít javaslatokat. Küldés előtt nézd át és szerkeszd az eredményt.","ai.goal":"Cél","ai.tone":"Hangnem","ai.briefLabel":"Miről szól ez az e-mail?","ai.briefPlaceholder":"pl. Őszi kollekció, 15% kedvezmény feliratkozóknak, ingyenes szállítás 150 000 Ft felett","ai.generate":"Szöveg generálása","ai.writing":"Írás…","ai.kindHeadline":"Címsor","ai.kindBody":"Törzsszöveg","ai.kindButton":"Gomb szövege","ai.actionInsertHeading":"Beszúrás címsorként","ai.actionInsertText":"Beszúrás szövegblokként","ai.actionInsertButton":"Beszúrás gombként","toast.headingAdded":"Címsor hozzáadva","toast.textBlockAdded":"Szövegblokk hozzáadva","toast.buttonAdded":"Gomb hozzáadva","preview.kickerMobile":"Előnézet — mobil 375px","preview.kickerDesktop":"Előnézet — asztali {width}px","action.close":"Bezárás","toast.duplicated":"Kettőzve","toast.fileUploadedOne":"1 fájl feltöltve","toast.fileUploadedMany":"{count} fájl feltöltve","toast.imageReplaced":"Kép kicserélve","toast.imageAdded":"Kép hozzáadva a rajzvászonhoz","toast.htmlCopied":"HTML a vágólapra másolva","toast.templateLoaded":"{name} betöltve","toast.snippetDefaultLabel":"Részlet","toast.snippetInserted":"{name} beszúrva","toast.snippetCopied":"{name} másolva — jelölj ki egy szövegblokkot a beszúráshoz","rte.textStyle":"Szövegstílus","rte.mergeTags":"Egyesítési mezők","rte.noMergeTags":"Nincs elérhető egyesítési mező","rte.textColor":"Szöveg színe","rte.highlightColor":"Kiemelés színe","rte.removeHighlight":"Kiemelés eltávolítása","rte.clearFormatting":"Formázás törlése","action.downloadPng":"PNG letöltése","action.screenshot":"Képernyőkép","action.screenshotHint":"A teljes sablon megtekintése képként, majd letöltése","toast.pngSaved":"Képernyőkép letöltve","toast.pngFailed":"A képernyőkép nem sikerült — egy külső képet nem sikerült betölteni","toast.pngCopied":"Képernyőkép a vágólapra másolva","toast.pngCopyFailed":"Ez a böngésző nem fogadott el képet a vágólapon","story.kicker":"Képernyőkép","story.rendering":"A képernyőkép készül","story.renderingHint":"Minden blokk 2×-es méretben rajzolódik — hosszú sablonnál ez eltart egy pillanatig.","story.failed":"A képernyőkép nem sikerült","story.failedHint":"A sablon egyik képét nem sikerült betölteni a rögzítéshez.","story.retry":"Próbáld újra","story.play":"Lejátszás","story.pause":"Szünet","story.replay":"Újrajátszás","story.copy":"Másolás","story.meta":"{w}×{h} · {i}/{n} képernyő","footer.poweredBy":"Működteti a SELISE Blocks © 2026"}})},re["core/i18n/index.js"]=function(se,K,z){const{EN:V}=z("core/i18n/en.js");function Z(T){const d=T||{};return function(t,g){const v=d[t]??V[t]??t;return g?v.replace(/\{(\w+)\}/g,(C,S)=>S in g?String(g[S]):C):v}}function ae(T,d){return Object.assign({},T,d)}function N(T,d){return Object.keys(d||V).filter(t=>T[t]===void 0).sort()}const k=[{tag:"en",name:"English"},{tag:"ar",name:"Arabic",rtl:!0},{tag:"bn",name:"Bangla"},{tag:"dz",name:"Dzongkha"},{tag:"bg",name:"Bulgarian"},{tag:"ca",name:"Catalan"},{tag:"cs",name:"Czech"},{tag:"da",name:"Danish"},{tag:"de",name:"German"},{tag:"de-CH",name:"Swiss German"},{tag:"el",name:"Greek"},{tag:"es",name:"Spanish"},{tag:"et",name:"Estonian"},{tag:"fi",name:"Finnish"},{tag:"fr",name:"French"},{tag:"hr",name:"Croatian"},{tag:"hu",name:"Hungarian"},{tag:"it",name:"Italian"},{tag:"lt",name:"Lithuanian"},{tag:"lv",name:"Latvian"},{tag:"nb",name:"Norwegian Bokmål"},{tag:"nl",name:"Dutch"},{tag:"pl",name:"Polish"},{tag:"pt",name:"Portuguese"},{tag:"ro",name:"Romanian"},{tag:"ru",name:"Russian"},{tag:"sk",name:"Slovak"},{tag:"sl",name:"Slovenian"},{tag:"sv",name:"Swedish"},{tag:"tr",name:"Turkish"},{tag:"uk",name:"Ukrainian"}];function O(T){const d=k.find(p=>p.tag===T);return d?d.rtl===!0:!1}const{EN:n,MESSAGE_KEYS:I}=z("core/i18n/en.js");Object.assign(K,{EN:n,MESSAGE_KEYS:I,createTranslator:Z,defineMessages:ae,missingKeys:N,LOCALES:k,isRtl:O})},re["core/i18n/it.js"]=function(se,K,z){Object.assign(K,{IT:{"action.undoHint":"Annulla — ⌘Z","action.redoHint":"Ripeti — ⌘⇧Z","action.chromeToDark":"Scuro","action.chromeToLight":"Chiaro","action.chromeHint":"Tema dell’editor chiaro / scuro","action.chromeHintToDark":"Modalità scura","action.chromeHintToLight":"Modalità chiara","action.aiDraft":"Bozza","action.aiDraftHint":"Scrivere il contenuto dell’email con l’IA","action.code":"Codice","action.codeHint":"Modifica l’HTML grezzo con anteprima dal vivo","action.preview":"Anteprima","action.previewHint":"Anteprima dell’email","action.export":"Esporta","action.exportHint":"Esporta la tua email","device.desktop":"Desktop","device.desktopHint":"Larghezza desktop","device.mobile":"Mobile","device.mobileHint":"Larghezza mobile","status.autosaveOn":"salvataggio automatico attivo","status.saved":"salvato {time}","status.saveFailed":"non salvato — spazio esaurito","canvas.meta":"{rows} righe · {blocks} blocchi · {width}px","tab.design":"Stile","tab.designHint":"Applica stile alla selezione","tab.blocks":"Blocchi","tab.blocksHint":"Blocchi di contenuto e variabili","tab.rows":"Sez.","tab.rowsHint":"Layout delle sezioni e modello del canvas","tab.files":"File","tab.filesHint":"Libreria risorse","tab.layers":"Struttura","tab.layersHint":"Struttura del documento","tab.settings":"Impostazioni","tab.settingsHint":"Impostazioni dell’email","tab.data":"Var.","tab.dataHint":"Variabili fornite dal tuo codice","inspector.blockProperties":"Proprietà del blocco","inspector.sectionProperties":"Proprietà della sezione","inspector.title":"Ispettore","inspector.sectionLabel":"Sezione","inspector.nothingSelected":"Nessuna selezione","action.duplicateHint":"Duplica — ⌘D","action.deleteHint":"Elimina — ⌫","inspector.emptyBody":'Seleziona una riga o un blocco sul canvas per applicarne lo stile qui. Trascina i blocchi dalla scheda <strong style="color: var(--ed-text); font-weight: 600;">Blocchi</strong>; fai doppio clic su un testo per modificarlo direttamente.',"inspector.shortcuts":"Scorciatoie","shortcut.undoRedo":"⌘Z / ⌘⇧Z — annulla, ripeti","shortcut.duplicate":"⌘D — duplica selezione","shortcut.delete":"⌫ — elimina selezione","shortcut.export":"⌘E — esporta HTML","shortcut.escape":"ESC — deseleziona, chiudi","blocks.dragHint":"Trascina sul canvas","blocks.count":"{count} blocchi","rows.sectionLayouts":"Layout delle sezioni","rows.customMarkup":"Markup personalizzato","rows.htmlRowHint":"Trascina per inserire, o clicca per aggiungere — una riga a piena larghezza da riempire con HTML grezzo","rows.rawHtmlSection":"Sezione HTML grezzo","rows.rawHtmlDesc":"Sezione a piena larghezza, il tuo markup, ancora trascinabile","rows.canvasModel":"Modello del canvas","rows.modeRowBased":"Basato su righe","rows.modeFreeStack":"Pila libera","rows.hintRows":"Basato su sezioni: rilascia prima un layout, poi i blocchi nelle sue colonne — ogni sezione ha proprio sfondo, bordo, impostazioni flex o griglia.","rows.hintStack":"Pila libera: senza layout — ogni blocco rilasciato diventa una propria sezione a piena larghezza, impilata in ordine.","files.libraryCount":"Libreria — {count} file","files.openManager":"Apri gestione file","files.dragToCanvas":"Trascina un qualsiasi file direttamente sul canvas per inserirlo come blocco immagine.","layers.structure":"Struttura","layers.sectionSingle":"Sezione","layers.sectionMulti":"Sezione · {count} col.","layers.column":"Colonna {index}","layers.blockCount":"{count} bl.","vars.title":"Variabili","vars.fromCode":"{count} dal tuo codice","vars.declaredNote":"Dichiarate dalla tua applicazione — il canvas mostra sempre il token, mai un valore.","vars.filterPlaceholder":"Filtra variabili…","vars.insertHint":"Clicca per inserire nel testo, titolo o pulsante selezionato","vars.insert":"inserisci","vars.noMatch":"Nessuna variabile corrisponde a questo filtro.","vars.noneDeclared":"La tua applicazione non ha ancora dichiarato variabili.","vars.rteHint":"Durante la modifica del testo puoi anche scegliere una variabile direttamente dal menu della barra degli strumenti in linea.","modal.fileManager":"Gestione file","modal.assetsTitle":"Risorse","modal.replaceImage":"Sostituisci immagine","library.searchPlaceholder":"Cerca file…","action.upload":"Carica","library.clickToPlace":"Clicca su un file per posizionarlo · o trascina un file sul canvas","library.clickToReplace":"Clicca su un file per sostituire l’immagine selezionata","library.storageLabel":"{count} file · {size}","library.folders":"Cartelle","library.dropHint":"Rilascia qui i file immagine per caricarli — oppure usa il pulsante Carica.","library.deleteFileHint":"Elimina file","library.del":"ELIM","toast.assetDeleted":"{name} eliminato","library.allFiles":"Tutti i file","library.loadMore":"Carica altri","library.empty":"Qui non ci sono ancora file.","storage.loading":"Caricamento dei file…","storage.uploading":"Caricamento di {count}…","storage.errLoadFailed":"Impossibile caricare la libreria file — {reason}","storage.errNoLimits":"I caricamenti sono disattivati: questa applicazione non ha impostato limiti di caricamento.","storage.errNoMaxBytes":"I caricamenti sono disattivati: non è stata impostata una dimensione massima del file.","storage.errTooLarge":"{name} è {size} — il limite è {max}.","storage.errFormat":"{name} è un file {type}, non consentito qui.","storage.errSvg":"{name} è un SVG, che questa applicazione non accetta.","storage.errDimensions":"{name} è {w}×{ht}px — il limite è {maxW}×{maxH}px.","storage.errTooMany":"Si possono caricare solo {max} file alla volta.","storage.errUnreadable":"{name} non è un’immagine leggibile.","storage.errUploadFailed":"Impossibile caricare {name} — {reason}","storage.errDeleteFailed":"Impossibile eliminare {name} — {reason}","modal.export":"Esporta","modal.exportTitle":"HTML email basato su tabelle","export.copy":"Copia","export.copied":"Copiato","action.download":"Scarica","export.meta":"{kb} KB · tabelle + stili inline · larghezze sicure per Outlook","modal.rawHtmlTitle":"HTML grezzo, anteprima dal vivo","code.statusEdited":"Vista codice — modificato — anteprima dal vivo, non ancora applicato","code.statusSynced":"Vista codice — sincronizzato con il canvas","action.reload":"Ricarica","action.reloadHint":"Ricarica il sorgente dal canvas","action.applyToCanvas":"Applica al canvas","action.applyToCanvasHint":"Analizza il sorgente riconvertendolo in righe modificabili","action.closeWithoutApplyingHint":"Chiudi senza applicare","code.source":"Sorgente","code.livePreview":"Anteprima dal vivo","code.liveHtmlPreviewTitle":"Anteprima HTML dal vivo","code.applyNote":"Applica converte ogni riga di tabella di primo livello in una riga del canvas ancora selezionabile, riordinabile ed eliminabile — il markup scritto a mano resta intatto.","code.meta":"{kb} KB · {lines} righe","toast.sourceReloaded":"Sorgente ricaricato dal canvas","toast.sourceAppliedOne":"Sorgente applicato — 1 riga sul canvas","toast.sourceAppliedMany":"Sorgente applicato — {rows} righe sul canvas","toast.parseError":"Impossibile analizzare questo HTML","modal.aiDraft":"Assistente di scrittura IA","modal.aiDraftTitle":"Scrivi la tua email con l’IA","ai.disclosure":"L’IA crea suggerimenti a partire dal tuo brief. Rivedi e modifica il risultato prima di inviarlo.","ai.goal":"Obiettivo","ai.tone":"Tono","ai.briefLabel":"Di cosa parla questa email?","ai.briefPlaceholder":"es. Collezione autunno, 15% per gli iscritti, spedizione gratuita oltre 150€","ai.generate":"Genera testo","ai.writing":"Scrittura in corso…","ai.kindHeadline":"Titolo","ai.kindBody":"Corpo del testo","ai.kindButton":"Testo del pulsante","ai.actionInsertHeading":"Inserisci come titolo","ai.actionInsertText":"Inserisci come blocco di testo","ai.actionInsertButton":"Inserisci come pulsante","toast.headingAdded":"Titolo aggiunto","toast.textBlockAdded":"Blocco di testo aggiunto","toast.buttonAdded":"Pulsante aggiunto","preview.kickerMobile":"Anteprima — mobile 375px","preview.kickerDesktop":"Anteprima — desktop {width}px","action.close":"Chiudi","toast.duplicated":"Duplicato","toast.fileUploadedOne":"1 file caricato","toast.fileUploadedMany":"{count} file caricati","toast.imageReplaced":"Immagine sostituita","toast.imageAdded":"Immagine aggiunta al canvas","toast.htmlCopied":"HTML copiato negli appunti","toast.templateLoaded":"{name} caricato","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} inserito","toast.snippetCopied":"{name} copiato — seleziona un blocco di testo per inserirlo","rte.textStyle":"Stile del testo","rte.mergeTags":"Campi di unione","rte.noMergeTags":"Nessun campo di unione disponibile","rte.textColor":"Colore del testo","rte.highlightColor":"Colore evidenziazione","rte.removeHighlight":"Rimuovi evidenziazione","rte.clearFormatting":"Cancella formattazione","action.downloadPng":"Scarica PNG","action.screenshot":"Screenshot","action.screenshotHint":"Vedi l’intero modello come immagine e scaricalo","toast.pngSaved":"Screenshot scaricato","toast.pngFailed":"Screenshot non riuscito — un’immagine esterna non è stata caricata","toast.pngCopied":"Screenshot copiato negli appunti","toast.pngCopyFailed":"Questo browser non ha accettato un’immagine negli appunti","story.kicker":"Screenshot","story.rendering":"Creazione dello screenshot","story.renderingHint":"Ogni blocco viene disegnato a 2× — con un modello lungo richiede un momento.","story.failed":"Screenshot non riuscito","story.failedHint":"Un’immagine del modello non è stata caricata per l’acquisizione.","story.retry":"Riprova","story.play":"Riproduci","story.pause":"Pausa","story.replay":"Riproduci di nuovo","story.copy":"Copia","story.meta":"{w}×{h} · schermata {i} di {n}","footer.poweredBy":"Con tecnologia SELISE Blocks © 2026"}})},re["core/i18n/loaders.js"]=function(se,K,z){const{EN:V}=z("core/i18n/en.js"),Z={en:()=>Promise.resolve(z("core/i18n/en.js")).then(n=>n.EN),ar:()=>Promise.resolve(z("core/i18n/ar.js")).then(n=>n.AR),bg:()=>Promise.resolve(z("core/i18n/bg.js")).then(n=>n.BG),bn:()=>Promise.resolve(z("core/i18n/bn.js")).then(n=>n.BN),ca:()=>Promise.resolve(z("core/i18n/ca.js")).then(n=>n.CA),cs:()=>Promise.resolve(z("core/i18n/cs.js")).then(n=>n.CS),da:()=>Promise.resolve(z("core/i18n/da.js")).then(n=>n.DA),de:()=>Promise.resolve(z("core/i18n/de.js")).then(n=>n.DE),"de-CH":()=>Promise.resolve(z("core/i18n/de-CH.js")).then(n=>n.DE_CH),dz:()=>Promise.resolve(z("core/i18n/dz.js")).then(n=>n.DZ),el:()=>Promise.resolve(z("core/i18n/el.js")).then(n=>n.EL),es:()=>Promise.resolve(z("core/i18n/es.js")).then(n=>n.ES),et:()=>Promise.resolve(z("core/i18n/et.js")).then(n=>n.ET),fi:()=>Promise.resolve(z("core/i18n/fi.js")).then(n=>n.FI),fr:()=>Promise.resolve(z("core/i18n/fr.js")).then(n=>n.FR),hr:()=>Promise.resolve(z("core/i18n/hr.js")).then(n=>n.HR),hu:()=>Promise.resolve(z("core/i18n/hu.js")).then(n=>n.HU),it:()=>Promise.resolve(z("core/i18n/it.js")).then(n=>n.IT),lt:()=>Promise.resolve(z("core/i18n/lt.js")).then(n=>n.LT),lv:()=>Promise.resolve(z("core/i18n/lv.js")).then(n=>n.LV),nb:()=>Promise.resolve(z("core/i18n/nb.js")).then(n=>n.NB),nl:()=>Promise.resolve(z("core/i18n/nl.js")).then(n=>n.NL),pl:()=>Promise.resolve(z("core/i18n/pl.js")).then(n=>n.PL),pt:()=>Promise.resolve(z("core/i18n/pt.js")).then(n=>n.PT),ro:()=>Promise.resolve(z("core/i18n/ro.js")).then(n=>n.RO),ru:()=>Promise.resolve(z("core/i18n/ru.js")).then(n=>n.RU),sk:()=>Promise.resolve(z("core/i18n/sk.js")).then(n=>n.SK),sl:()=>Promise.resolve(z("core/i18n/sl.js")).then(n=>n.SL),sv:()=>Promise.resolve(z("core/i18n/sv.js")).then(n=>n.SV),tr:()=>Promise.resolve(z("core/i18n/tr.js")).then(n=>n.TR),uk:()=>Promise.resolve(z("core/i18n/uk.js")).then(n=>n.UK)},ae={en:V},N={};function k(n){return Object.prototype.hasOwnProperty.call(ae,n)?ae[n]:Z[n]?void 0:null}function O(n){const I=Z[n];return I?(N[n]||(N[n]=I().then(T=>(ae[n]=T,T))),N[n]):Promise.resolve(null)}Object.assign(K,{LOCALE_LOADERS:Z,localeTable:k,loadLocale:O})},re["core/i18n/lt.js"]=function(se,K,z){Object.assign(K,{LT:{"action.undoHint":"Anuliuoti — ⌘Z","action.redoHint":"Grąžinti — ⌘⇧Z","action.chromeToDark":"Tamsi","action.chromeToLight":"Šviesi","action.chromeHint":"Redaktoriaus tema šviesi / tamsi","action.chromeHintToDark":"Tamsi tema","action.chromeHintToLight":"Šviesi tema","action.aiDraft":"Juodraštis","action.aiDraftHint":"Parašyti el. laiško turinį su DI","action.code":"Kodas","action.codeHint":"Redaguoti neapdorotą HTML su tiesioginiu peržiūra","action.preview":"Peržiūra","action.previewHint":"Peržiūrėti el. laišką","action.export":"Eksportuoti","action.exportHint":"Eksportuoti savo el. laišką","device.desktop":"Kompiuteris","device.desktopHint":"Kompiuterio plotis","device.mobile":"Mobilusis","device.mobileHint":"Mobiliojo plotis","status.autosaveOn":"automatinis išsaugojimas įjungtas","status.saved":"išsaugota {time}","status.saveFailed":"neišsaugota — saugykla pilna","canvas.meta":"{rows} eilučių · {blocks} blokų · {width}px","tab.design":"Stilius","tab.designHint":"Stilizuoti pasirinkimą","tab.blocks":"Blokai","tab.blocksHint":"Turinio blokai ir kintamieji","tab.rows":"Sekcijos","tab.rowsHint":"Sekcijų išdėstymai ir drobės modelis","tab.files":"Failai","tab.filesHint":"Išteklių biblioteka","tab.layers":"Struktūra","tab.layersHint":"Dokumento struktūra","tab.settings":"Nustatymai","tab.settingsHint":"El. laiško nustatymai","tab.data":"Kint.","tab.dataHint":"Jūsų kodo pateikti kintamieji","inspector.blockProperties":"Bloko savybės","inspector.sectionProperties":"Sekcijos savybės","inspector.title":"Inspektorius","inspector.sectionLabel":"Sekcija","inspector.nothingSelected":"Nieko nepasirinkta","action.duplicateHint":"Dubliuoti — ⌘D","action.deleteHint":"Ištrinti — ⌫","inspector.emptyBody":'Pasirinkite eilutę arba bloką drobėje, kad čia jį stilizuotumėte. Vilkite blokus iš skirtuko <strong style="color: var(--ed-text); font-weight: 600;">Blokai</strong>; dukart spustelėkite bet kurį tekstą, kad redaguotumėte jį tiesiogiai.',"inspector.shortcuts":"Sparčieji klavišai","shortcut.undoRedo":"⌘Z / ⌘⇧Z — anuliuoti, grąžinti","shortcut.duplicate":"⌘D — dubliuoti pasirinkimą","shortcut.delete":"⌫ — ištrinti pasirinkimą","shortcut.export":"⌘E — eksportuoti HTML","shortcut.escape":"ESC — panaikinti pasirinkimą, uždaryti","blocks.dragHint":"Vilkite į drobę","blocks.count":"{count} blokų","rows.sectionLayouts":"Sekcijų išdėstymai","rows.customMarkup":"Pasirinktinis kodas","rows.htmlRowHint":"Vilkite, kad įterptumėte, arba spustelėkite, kad pridėtumėte — pilno pločio eilutę, kurią užpildote neapdorotu HTML","rows.rawHtmlSection":"Neapdoroto HTML sekcija","rows.rawHtmlDesc":"Pilno pločio sekcija, jūsų pačių kodas, vis dar vilkiama","rows.canvasModel":"Drobės modelis","rows.modeRowBased":"Pagrįsta eilutėmis","rows.modeFreeStack":"Laisvas krūvinys","rows.hintRows":"Pagrįsta sekcijomis: pirmiausia numeskite išdėstymą, tada blokus į jo stulpelius — kiekviena sekcija turi savo foną, kraštinę, flex arba tinklelio nustatymus.","rows.hintStack":"Laisvas krūvinys: be išdėstymų — kiekvienas numestas blokas tampa savo pilno pločio sekcija, sudėta iš eilės.","files.libraryCount":"Biblioteka — {count} failų","files.openManager":"Atidaryti failų tvarkyklę","files.dragToCanvas":"Vilkite bet kurį failą tiesiai į drobę, kad jį padėtumėte kaip vaizdo bloką.","layers.structure":"Struktūra","layers.sectionSingle":"Sekcija","layers.sectionMulti":"Sekcija · {count} stulpelių","layers.column":"{index} stulpelis","layers.blockCount":"{count} bl.","vars.title":"Kintamieji","vars.fromCode":"{count} iš jūsų kodo","vars.declaredNote":"Deklaruoti jūsų programos — drobė visada rodo žymą, o ne reikšmę.","vars.filterPlaceholder":"Filtruoti kintamuosius…","vars.insertHint":"Spustelėkite, kad įterptumėte į pasirinktą tekstą, antraštę ar mygtuką","vars.insert":"įterpti","vars.noMatch":"Nė vienas kintamasis neatitinka šio filtro.","vars.noneDeclared":"Jūsų programa dar nedeklaravo jokių kintamųjų.","vars.rteHint":"Redaguodami tekstą taip pat galite pasirinkti kintamąjį tiesiai iš įterptos įrankių juostos išskleidžiamojo meniu.","modal.fileManager":"Failų tvarkyklė","modal.assetsTitle":"Ištekliai","modal.replaceImage":"Pakeisti vaizdą","library.searchPlaceholder":"Ieškoti failų…","action.upload":"Įkelti","library.clickToPlace":"Spustelėkite failą, kad jį padėtumėte · arba vilkite failą į drobę","library.clickToReplace":"Spustelėkite failą, kad pakeistumėte pasirinktą vaizdą","library.storageLabel":"{count} failų · {size}","library.folders":"Aplankai","library.dropHint":"Numeskite vaizdo failus čia, kad juos įkeltumėte — arba naudokite mygtuką Įkelti.","library.deleteFileHint":"Ištrinti failą","library.del":"TRINT","toast.assetDeleted":"{name} ištrintas","library.allFiles":"Visi failai","library.loadMore":"Įkelti daugiau","library.empty":"Čia dar nėra failų.","storage.loading":"Įkeliami failai…","storage.uploading":"Įkeliama {count}…","storage.errLoadFailed":"Nepavyko įkelti failų bibliotekos — {reason}","storage.errNoLimits":"Įkėlimai išjungti: ši programa nenustatė jokių įkėlimo ribų.","storage.errNoMaxBytes":"Įkėlimai išjungti: nenustatytas didžiausias failo dydis.","storage.errTooLarge":"{name} yra {size} — riba yra {max}.","storage.errFormat":"{name} yra {type} failas, kuris čia neleidžiamas.","storage.errSvg":"{name} yra SVG, kurio ši programa nepriima.","storage.errDimensions":"{name} yra {w}×{ht}px — riba yra {maxW}×{maxH}px.","storage.errTooMany":"Vienu metu galima įkelti tik {max} failų.","storage.errUnreadable":"{name} nėra nuskaitomas paveikslėlis.","storage.errUploadFailed":"Nepavyko įkelti {name} — {reason}","storage.errDeleteFailed":"Nepavyko ištrinti {name} — {reason}","modal.export":"Eksportuoti","modal.exportTitle":"Lentelėmis pagrįstas el. laiško HTML","export.copy":"Kopijuoti","export.copied":"Nukopijuota","action.download":"Atsisiųsti","export.meta":"{kb} KB · lentelės + įterpti stiliai · Outlook saugūs pločiai","modal.rawHtmlTitle":"Neapdorotas HTML, tiesioginė peržiūra","code.statusEdited":"Kodo rodinys — redaguota — peržiūra tiesiogiai, dar netaikyta","code.statusSynced":"Kodo rodinys — sinchronizuota su drobe","action.reload":"Įkelti iš naujo","action.reloadHint":"Įkelti šaltinį iš naujo iš drobės","action.applyToCanvas":"Taikyti drobei","action.applyToCanvasHint":"Analizuoti šaltinį atgal į redaguojamas eilutes","action.closeWithoutApplyingHint":"Uždaryti netaikant","code.source":"Šaltinis","code.livePreview":"Tiesioginė peržiūra","code.liveHtmlPreviewTitle":"Tiesioginė HTML peržiūra","code.applyNote":"Taikymas analizuoja kiekvieną aukščiausio lygio lentelės eilutę į drobės eilutę, kurią vis dar galite pasirinkti, pertvarkyti ir ištrinti — ranka parašytas kodas išlieka nepakitęs.","code.meta":"{kb} KB · {lines} eilučių","toast.sourceReloaded":"Šaltinis įkeltas iš naujo iš drobės","toast.sourceAppliedOne":"Šaltinis pritaikytas — 1 eilutė drobėje","toast.sourceAppliedMany":"Šaltinis pritaikytas — {rows} eilučių drobėje","toast.parseError":"Nepavyko išanalizuoti šio HTML","modal.aiDraft":"DI rašymo asistentas","modal.aiDraftTitle":"Parašykite el. laišką su DI","ai.disclosure":"DI kuria pasiūlymus pagal jūsų aprašą. Prieš siųsdami peržiūrėkite ir suredaguokite rezultatą.","ai.goal":"Tikslas","ai.tone":"Tonas","ai.briefLabel":"Apie ką šis el. laiškas?","ai.briefPlaceholder":"pvz., Rudens kolekcija, 15 % prenumeratoriams, nemokamas pristatymas nuo 150 €","ai.generate":"Generuoti tekstą","ai.writing":"Rašoma…","ai.kindHeadline":"Antraštė","ai.kindBody":"Pagrindinis tekstas","ai.kindButton":"Mygtuko tekstas","ai.actionInsertHeading":"Įterpti kaip antraštę","ai.actionInsertText":"Įterpti kaip teksto bloką","ai.actionInsertButton":"Įterpti kaip mygtuką","toast.headingAdded":"Antraštė pridėta","toast.textBlockAdded":"Teksto blokas pridėtas","toast.buttonAdded":"Mygtukas pridėtas","preview.kickerMobile":"Peržiūra — mobilusis 375px","preview.kickerDesktop":"Peržiūra — kompiuteris {width}px","action.close":"Uždaryti","toast.duplicated":"Sudubliuota","toast.fileUploadedOne":"Įkeltas 1 failas","toast.fileUploadedMany":"Įkelta failų: {count}","toast.imageReplaced":"Vaizdas pakeistas","toast.imageAdded":"Vaizdas pridėtas į drobę","toast.htmlCopied":"HTML nukopijuotas į iškarpinę","toast.templateLoaded":"{name} įkeltas","toast.snippetDefaultLabel":"Iškarpa","toast.snippetInserted":"{name} įterptas","toast.snippetCopied":"{name} nukopijuotas — pasirinkite teksto bloką, kad jį įterptumėte","rte.textStyle":"Teksto stilius","rte.mergeTags":"Sujungimo laukai","rte.noMergeTags":"Sujungimo laukų nėra","rte.textColor":"Teksto spalva","rte.highlightColor":"Paryškinimo spalva","rte.removeHighlight":"Pašalinti paryškinimą","rte.clearFormatting":"Išvalyti formatavimą","action.downloadPng":"Atsisiųsti PNG","action.screenshot":"Ekrano kopija","action.screenshotHint":"Peržiūrėti visą šabloną kaip paveikslėlį ir jį atsisiųsti","toast.pngSaved":"Ekrano kopija atsisiųsta","toast.pngFailed":"Ekrano kopija nepavyko — nepavyko įkelti išorinio paveikslėlio","toast.pngCopied":"Ekrano kopija nukopijuota į iškarpinę","toast.pngCopyFailed":"Ši naršyklė nepriėmė paveikslėlio į iškarpinę","story.kicker":"Ekrano kopija","story.rendering":"Kuriama ekrano kopija","story.renderingHint":"Kiekvienas blokas piešiamas 2× — ilgame šablone tai užtrunka akimirką.","story.failed":"Ekrano kopija nepavyko","story.failedHint":"Nepavyko įkelti šablono paveikslėlio fiksavimui.","story.retry":"Bandyti dar kartą","story.play":"Paleisti","story.pause":"Pristabdyti","story.replay":"Paleisti iš naujo","story.copy":"Kopijuoti","story.meta":"{w}×{h} · ekranas {i} iš {n}","footer.poweredBy":"Veikia su SELISE Blocks © 2026"}})},re["core/i18n/lv.js"]=function(se,K,z){Object.assign(K,{LV:{"action.undoHint":"Atsaukt — ⌘Z","action.redoHint":"Atkārtot — ⌘⇧Z","action.chromeToDark":"Tumšs","action.chromeToLight":"Gaišs","action.chromeHint":"Redaktora tēma gaiša / tumša","action.chromeHintToDark":"Tumšais režīms","action.chromeHintToLight":"Gaišais režīms","action.aiDraft":"Melnraksts","action.aiDraftHint":"Uzrakstīt e-pasta saturu ar MI","action.code":"Kods","action.codeHint":"Rediģēt neapstrādātu HTML ar tiešraides priekšskatījumu","action.preview":"Priekšskatījums","action.previewHint":"Priekšskatīt e-pastu","action.export":"Eksportēt","action.exportHint":"Eksportēt savu e-pastu","device.desktop":"Dators","device.desktopHint":"Datora platums","device.mobile":"Mobilā ierīce","device.mobileHint":"Mobilās ierīces platums","status.autosaveOn":"automātiskā saglabāšana ieslēgta","status.saved":"saglabāts {time}","status.saveFailed":"nav saglabāts — krātuve pilna","canvas.meta":"{rows} rindas · {blocks} bloki · {width}px","tab.design":"Stils","tab.designHint":"Noformēt atlasi","tab.blocks":"Bloki","tab.blocksHint":"Satura bloki un mainīgie","tab.rows":"Sadaļas","tab.rowsHint":"Sadaļu izkārtojumi un audekla modelis","tab.files":"Faili","tab.filesHint":"Resursu bibliotēka","tab.layers":"Struktūra","tab.layersHint":"Dokumenta struktūra","tab.settings":"Iestatījumi","tab.settingsHint":"E-pasta iestatījumi","tab.data":"Main.","tab.dataHint":"Jūsu koda nodrošinātie mainīgie","inspector.blockProperties":"Bloka īpašības","inspector.sectionProperties":"Sadaļas īpašības","inspector.title":"Inspektors","inspector.sectionLabel":"Sadaļa","inspector.nothingSelected":"Nekas nav atlasīts","action.duplicateHint":"Dublēt — ⌘D","action.deleteHint":"Dzēst — ⌫","inspector.emptyBody":'Atlasiet rindu vai bloku uz audekla, lai to šeit noformētu. Velciet blokus no cilnes <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; veiciet dubultklikšķi uz jebkura teksta, lai to rediģētu tieši uz vietas.',"inspector.shortcuts":"Īsinājumtaustiņi","shortcut.undoRedo":"⌘Z / ⌘⇧Z — atsaukt, atkārtot","shortcut.duplicate":"⌘D — dublēt atlasi","shortcut.delete":"⌫ — dzēst atlasi","shortcut.export":"⌘E — eksportēt HTML","shortcut.escape":"ESC — atcelt atlasi, aizvērt","blocks.dragHint":"Velciet uz audeklu","blocks.count":"{count} bloki","rows.sectionLayouts":"Sadaļu izkārtojumi","rows.customMarkup":"Pielāgots kods","rows.htmlRowHint":"Velciet, lai ievietotu, vai noklikšķiniet, lai pievienotu — pilna platuma rindu, ko aizpildāt ar neapstrādātu HTML","rows.rawHtmlSection":"Neapstrādāta HTML sadaļa","rows.rawHtmlDesc":"Pilna platuma sadaļa, jūsu pašu kods, joprojām velkama","rows.canvasModel":"Audekla modelis","rows.modeRowBased":"Balstīts uz rindām","rows.modeFreeStack":"Brīva kaudze","rows.hintRows":"Balstīts uz sadaļām: vispirms nometiet izkārtojumu, tad blokus tā kolonnās — katrai sadaļai ir sava fona, apmales, flex vai režģa iestatījumi.","rows.hintStack":"Brīva kaudze: bez izkārtojumiem — katrs nomestais bloks kļūst par savu pilna platuma sadaļu, sakrautu secībā.","files.libraryCount":"Bibliotēka — {count} faili","files.openManager":"Atvērt failu pārvaldnieku","files.dragToCanvas":"Velciet jebkuru failu tieši uz audekla, lai novietotu to kā attēla bloku.","layers.structure":"Struktūra","layers.sectionSingle":"Sadaļa","layers.sectionMulti":"Sadaļa · {count} kolonnas","layers.column":"{index}. kolonna","layers.blockCount":"{count} bl.","vars.title":"Mainīgie","vars.fromCode":"{count} no jūsu koda","vars.declaredNote":"Jūsu lietotnes deklarēti — audekls vienmēr rāda marķieri, nekad vērtību.","vars.filterPlaceholder":"Filtrēt mainīgos…","vars.insertHint":"Noklikšķiniet, lai ievietotu atlasītajā tekstā, virsrakstā vai pogā","vars.insert":"ievietot","vars.noMatch":"Neviens mainīgais neatbilst šim filtram.","vars.noneDeclared":"Jūsu lietotne vēl nav deklarējusi nevienu mainīgo.","vars.rteHint":"Rediģējot tekstu, jūs varat arī izvēlēties mainīgo tieši no iegultās rīkjoslas nolaižamās izvēlnes.","modal.fileManager":"Failu pārvaldnieks","modal.assetsTitle":"Resursi","modal.replaceImage":"Aizstāt attēlu","library.searchPlaceholder":"Meklēt failus…","action.upload":"Augšupielādēt","library.clickToPlace":"Noklikšķiniet uz faila, lai to novietotu · vai velciet failu uz audeklu","library.clickToReplace":"Noklikšķiniet uz faila, lai aizstātu atlasīto attēlu","library.storageLabel":"{count} faili · {size}","library.folders":"Mapes","library.dropHint":"Nometiet attēlu failus šeit, lai tos augšupielādētu — vai izmantojiet pogu Augšupielādēt.","library.deleteFileHint":"Dzēst failu","library.del":"DZĒST","toast.assetDeleted":"{name} dzēsts","library.allFiles":"Visi faili","library.loadMore":"Ielādēt vairāk","library.empty":"Šeit vēl nav failu.","storage.loading":"Notiek failu ielāde…","storage.uploading":"Notiek {count} augšupielāde…","storage.errLoadFailed":"Neizdevās ielādēt failu bibliotēku — {reason}","storage.errNoLimits":"Augšupielāde ir izslēgta: šī lietotne nav noteikusi augšupielādes ierobežojumus.","storage.errNoMaxBytes":"Augšupielāde ir izslēgta: nav noteikts maksimālais faila izmērs.","storage.errTooLarge":"{name} ir {size} — ierobežojums ir {max}.","storage.errFormat":"{name} ir {type} fails, kas šeit nav atļauts.","storage.errSvg":"{name} ir SVG, ko šī lietotne nepieņem.","storage.errDimensions":"{name} ir {w}×{ht}px — ierobežojums ir {maxW}×{maxH}px.","storage.errTooMany":"Vienlaikus var augšupielādēt tikai {max} failus.","storage.errUnreadable":"{name} nav nolasāms attēls.","storage.errUploadFailed":"Neizdevās augšupielādēt {name} — {reason}","storage.errDeleteFailed":"Neizdevās izdzēst {name} — {reason}","modal.export":"Eksportēt","modal.exportTitle":"Uz tabulām balstīts e-pasta HTML","export.copy":"Kopēt","export.copied":"Nokopēts","action.download":"Lejupielādēt","export.meta":"{kb} KB · tabulas + iegultie stili · Outlook drošie platumi","modal.rawHtmlTitle":"Neapstrādāts HTML, tiešraides priekšskatījums","code.statusEdited":"Koda skats — rediģēts — priekšskatījums tiešraidē, vēl nav lietots","code.statusSynced":"Koda skats — sinhronizēts ar audeklu","action.reload":"Ielādēt no jauna","action.reloadHint":"Ielādēt avotu no jauna no audekla","action.applyToCanvas":"Lietot audeklam","action.applyToCanvasHint":"Analizēt avotu atpakaļ rediģējamās rindās","action.closeWithoutApplyingHint":"Aizvērt bez lietošanas","code.source":"Avots","code.livePreview":"Tiešraides priekšskatījums","code.liveHtmlPreviewTitle":"HTML tiešraides priekšskatījums","code.applyNote":"Lietošana analizē katru augšējā līmeņa tabulas rindu audekla rindā, ko joprojām varat atlasīt, pārkārtot un dzēst — ar roku rakstīts kods pāri notikumam paliek nemainīgs.","code.meta":"{kb} KB · {lines} rindas","toast.sourceReloaded":"Avots ielādēts no jauna no audekla","toast.sourceAppliedOne":"Avots lietots — 1 rinda uz audekla","toast.sourceAppliedMany":"Avots lietots — {rows} rindas uz audekla","toast.parseError":"Šo HTML neizdevās analizēt","modal.aiDraft":"MI rakstīšanas asistents","modal.aiDraftTitle":"Uzrakstiet savu e-pastu ar MI","ai.disclosure":"MI veido ieteikumus pēc jūsu apraksta. Pirms nosūtīšanas pārskatiet un rediģējiet rezultātu.","ai.goal":"Mērķis","ai.tone":"Tonis","ai.briefLabel":"Par ko ir šis e-pasts?","ai.briefPlaceholder":"piem., rudens kolekcija, 15% abonentiem, bezmaksas piegāde virs 150 €","ai.generate":"Ģenerēt tekstu","ai.writing":"Notiek rakstīšana…","ai.kindHeadline":"Virsraksts","ai.kindBody":"Pamatteksts","ai.kindButton":"Pogas teksts","ai.actionInsertHeading":"Ievietot kā virsrakstu","ai.actionInsertText":"Ievietot kā teksta bloku","ai.actionInsertButton":"Ievietot kā pogu","toast.headingAdded":"Virsraksts pievienots","toast.textBlockAdded":"Teksta bloks pievienots","toast.buttonAdded":"Poga pievienota","preview.kickerMobile":"Priekšskatījums — mobilā ierīce 375px","preview.kickerDesktop":"Priekšskatījums — dators {width}px","action.close":"Aizvērt","toast.duplicated":"Dublēts","toast.fileUploadedOne":"Augšupielādēts 1 fails","toast.fileUploadedMany":"Augšupielādēti {count} faili","toast.imageReplaced":"Attēls aizstāts","toast.imageAdded":"Attēls pievienots audeklam","toast.htmlCopied":"HTML nokopēts starpliktuvē","toast.templateLoaded":"{name} ielādēts","toast.snippetDefaultLabel":"Fragments","toast.snippetInserted":"{name} ievietots","toast.snippetCopied":"{name} nokopēts — atlasiet teksta bloku, lai to ievietotu","rte.textStyle":"Teksta stils","rte.mergeTags":"Sapludināšanas lauki","rte.noMergeTags":"Nav pieejamu sapludināšanas lauku","rte.textColor":"Teksta krāsa","rte.highlightColor":"Izcēluma krāsa","rte.removeHighlight":"Noņemt izcēlumu","rte.clearFormatting":"Notīrīt formatējumu","action.downloadPng":"Lejupielādēt PNG","action.screenshot":"Ekrānuzņēmums","action.screenshotHint":"Apskatīt visu veidni kā attēlu un lejupielādēt to","toast.pngSaved":"Ekrānuzņēmums lejupielādēts","toast.pngFailed":"Ekrānuzņēmums neizdevās — neizdevās ielādēt ārēju attēlu","toast.pngCopied":"Ekrānuzņēmums nokopēts starpliktuvē","toast.pngCopyFailed":"Šī pārlūkprogramma nepieņēma attēlu starpliktuvē","story.kicker":"Ekrānuzņēmums","story.rendering":"Tiek veidots ekrānuzņēmums","story.renderingHint":"Katrs bloks tiek zīmēts 2× — garā veidnē tas aizņem mirkli.","story.failed":"Ekrānuzņēmums neizdevās","story.failedHint":"Veidnes attēlu neizdevās ielādēt uzņemšanai.","story.retry":"Mēģināt vēlreiz","story.play":"Atskaņot","story.pause":"Pauzēt","story.replay":"Atskaņot vēlreiz","story.copy":"Kopēt","story.meta":"{w}×{h} · ekrāns {i} no {n}","footer.poweredBy":"Darbina SELISE Blocks © 2026"}})},re["core/i18n/nb.js"]=function(se,K,z){Object.assign(K,{NB:{"action.undoHint":"Angre — ⌘Z","action.redoHint":"Gjør om — ⌘⇧Z","action.chromeToDark":"Mørk","action.chromeToLight":"Lys","action.chromeHint":"Redigeringstema lys / mørk","action.chromeHintToDark":"Mørk modus","action.chromeHintToLight":"Lys modus","action.aiDraft":"Utkast","action.aiDraftHint":"Skriv innholdet i e-posten med KI","action.code":"Kode","action.codeHint":"Rediger rå HTML med direkte forhåndsvisning","action.preview":"Forhåndsvisning","action.previewHint":"Forhåndsvis e-posten","action.export":"Eksporter","action.exportHint":"Eksporter e-posten din","device.desktop":"Datamaskin","device.desktopHint":"Bredde for datamaskin","device.mobile":"Mobil","device.mobileHint":"Bredde for mobil","status.autosaveOn":"automatisk lagring på","status.saved":"lagret {time}","status.saveFailed":"ikke lagret — lagringsplassen er full","canvas.meta":"{rows} rader · {blocks} blokker · {width}px","tab.design":"Stil","tab.designHint":"Formater utvalget","tab.blocks":"Blokker","tab.blocksHint":"Innholdsblokker og variabler","tab.rows":"Seksjoner","tab.rowsHint":"Seksjonslayouter og lerretsmodell","tab.files":"Filer","tab.filesHint":"Ressursbibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Innstillinger","tab.settingsHint":"E-postinnstillinger","tab.data":"Var.","tab.dataHint":"Variabler levert av koden din","inspector.blockProperties":"Blokkegenskaper","inspector.sectionProperties":"Seksjonsegenskaper","inspector.title":"Inspektør","inspector.sectionLabel":"Seksjon","inspector.nothingSelected":"Ingenting valgt","action.duplicateHint":"Dupliser — ⌘D","action.deleteHint":"Slett — ⌫","inspector.emptyBody":'Velg en rad eller en blokk på lerretet for å formatere den her. Dra blokker fra fanen <strong style="color: var(--ed-text); font-weight: 600;">Blokker</strong>; dobbeltklikk på tekst for å redigere direkte.',"inspector.shortcuts":"Snarveier","shortcut.undoRedo":"⌘Z / ⌘⇧Z — angre, gjør om","shortcut.duplicate":"⌘D — dupliser utvalg","shortcut.delete":"⌫ — slett utvalg","shortcut.export":"⌘E — eksporter HTML","shortcut.escape":"ESC — fjern utvalg, lukk","blocks.dragHint":"Dra til lerretet","blocks.count":"{count} blokker","rows.sectionLayouts":"Seksjonslayouter","rows.customMarkup":"Egendefinert kode","rows.htmlRowHint":"Dra for å sette inn, eller klikk for å legge til — en fullbredde-rad du fyller med rå HTML","rows.rawHtmlSection":"Rå HTML-seksjon","rows.rawHtmlDesc":"Fullbredde-seksjon, din egen kode, fortsatt drabar","rows.canvasModel":"Lerretsmodell","rows.modeRowBased":"Radbasert","rows.modeFreeStack":"Fri stabel","rows.hintRows":"Seksjonsbasert: slipp en layout først, deretter blokker i kolonnene — hver seksjon har egen bakgrunn, kant, flex- eller rutenettinnstillinger.","rows.hintStack":"Fri stabel: uten layouter — hver blokk du slipper blir sin egen fullbredde-seksjon, stablet i rekkefølge.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Åpne filbehandling","files.dragToCanvas":"Dra en hvilken som helst fil direkte til lerretet for å plassere den som en bildeblokk.","layers.structure":"Struktur","layers.sectionSingle":"Seksjon","layers.sectionMulti":"Seksjon · {count} kol.","layers.column":"Kolonne {index}","layers.blockCount":"{count} bl.","vars.title":"Variabler","vars.fromCode":"{count} fra koden din","vars.declaredNote":"Erklært av applikasjonen din — lerretet viser alltid tokenet, aldri en verdi.","vars.filterPlaceholder":"Filtrer variabler…","vars.insertHint":"Klikk for å sette inn i valgt tekst, overskrift eller knapp","vars.insert":"sett inn","vars.noMatch":"Ingen variabel samsvarer med dette filteret.","vars.noneDeclared":"Applikasjonen din har ennå ikke erklært noen variabler.","vars.rteHint":"Når du redigerer tekst kan du også velge en variabel direkte fra rullegardinmenyen i den innebygde verktøylinjen.","modal.fileManager":"Filbehandling","modal.assetsTitle":"Ressurser","modal.replaceImage":"Erstatt bilde","library.searchPlaceholder":"Søk i filer…","action.upload":"Last opp","library.clickToPlace":"Klikk på en fil for å plassere den · eller dra en fil til lerretet","library.clickToReplace":"Klikk på en fil for å erstatte det valgte bildet","library.storageLabel":"{count} filer · {size}","library.folders":"Mapper","library.dropHint":"Slipp bildefiler her for å laste opp — eller bruk Last opp-knappen.","library.deleteFileHint":"Slett fil","library.del":"SLETT","toast.assetDeleted":"{name} slettet","library.allFiles":"Alle filer","library.loadMore":"Last inn flere","library.empty":"Ingen filer her ennå.","storage.loading":"Laster filer…","storage.uploading":"Laster opp {count}…","storage.errLoadFailed":"Filbiblioteket kunne ikke lastes — {reason}","storage.errNoLimits":"Opplasting er slått av: denne appen har ikke satt noen opplastingsgrenser.","storage.errNoMaxBytes":"Opplasting er slått av: ingen maksimal filstørrelse er satt.","storage.errTooLarge":"{name} er {size} — grensen er {max}.","storage.errFormat":"{name} er en {type}-fil, som ikke er tillatt her.","storage.errSvg":"{name} er en SVG, som denne appen ikke godtar.","storage.errDimensions":"{name} er {w}×{ht}px — grensen er {maxW}×{maxH}px.","storage.errTooMany":"Bare {max} filer kan lastes opp om gangen.","storage.errUnreadable":"{name} er ikke et lesbart bilde.","storage.errUploadFailed":"{name} kunne ikke lastes opp — {reason}","storage.errDeleteFailed":"{name} kunne ikke slettes — {reason}","modal.export":"Eksporter","modal.exportTitle":"Tabellbasert e-post-HTML","export.copy":"Kopier","export.copied":"Kopiert","action.download":"Last ned","export.meta":"{kb} KB · tabeller + inline-stiler · Outlook-sikre bredder","modal.rawHtmlTitle":"Rå HTML, direkte forhåndsvisning","code.statusEdited":"Kodevisning — redigert — forhåndsvisning live, ikke brukt ennå","code.statusSynced":"Kodevisning — synkronisert med lerretet","action.reload":"Last inn på nytt","action.reloadHint":"Last inn kilden på nytt fra lerretet","action.applyToCanvas":"Bruk på lerretet","action.applyToCanvasHint":"Tolk kilden på nytt til redigerbare rader","action.closeWithoutApplyingHint":"Lukk uten å bruke","code.source":"Kilde","code.livePreview":"Direkte forhåndsvisning","code.liveHtmlPreviewTitle":"Direkte HTML-forhåndsvisning","code.applyNote":"Bruk tolker hver tabellrad på øverste nivå til en lerretsrad du fortsatt kan velge, omorganisere og slette — håndskrevet kode overlever prosessen uendret.","code.meta":"{kb} KB · {lines} linjer","toast.sourceReloaded":"Kilden lastet inn på nytt fra lerretet","toast.sourceAppliedOne":"Kilde brukt — 1 rad på lerretet","toast.sourceAppliedMany":"Kilde brukt — {rows} rader på lerretet","toast.parseError":"Kunne ikke tolke den HTML-en","modal.aiDraft":"KI-skriveassistent","modal.aiDraftTitle":"Skriv e-posten din med KI","ai.disclosure":"KI lager forslag ut fra briefen din. Se gjennom og rediger resultatet før du sender.","ai.goal":"Mål","ai.tone":"Tone","ai.briefLabel":"Hva handler denne e-posten om?","ai.briefPlaceholder":"f.eks. Høstkolleksjon, 15% for abonnenter, fri frakt over 1500 kr","ai.generate":"Generer tekst","ai.writing":"Skriver…","ai.kindHeadline":"Overskrift","ai.kindBody":"Brødtekst","ai.kindButton":"Knappetekst","ai.actionInsertHeading":"Sett inn som overskrift","ai.actionInsertText":"Sett inn som tekstblokk","ai.actionInsertButton":"Sett inn som knapp","toast.headingAdded":"Overskrift lagt til","toast.textBlockAdded":"Tekstblokk lagt til","toast.buttonAdded":"Knapp lagt til","preview.kickerMobile":"Forhåndsvisning — mobil 375px","preview.kickerDesktop":"Forhåndsvisning — datamaskin {width}px","action.close":"Lukk","toast.duplicated":"Duplisert","toast.fileUploadedOne":"1 fil lastet opp","toast.fileUploadedMany":"{count} filer lastet opp","toast.imageReplaced":"Bilde erstattet","toast.imageAdded":"Bilde lagt til på lerretet","toast.htmlCopied":"HTML kopiert til utklippstavlen","toast.templateLoaded":"{name} lastet inn","toast.snippetDefaultLabel":"Utdrag","toast.snippetInserted":"{name} satt inn","toast.snippetCopied":"{name} kopiert — velg en tekstblokk for å sette den inn","rte.textStyle":"Tekststil","rte.mergeTags":"Flettefelt","rte.noMergeTags":"Ingen flettefelt tilgjengelig","rte.textColor":"Tekstfarge","rte.highlightColor":"Uthevingsfarge","rte.removeHighlight":"Fjern utheving","rte.clearFormatting":"Fjern formatering","action.downloadPng":"Last ned PNG","action.screenshot":"Skjermbilde","action.screenshotHint":"Se hele malen som et bilde, og last det ned","toast.pngSaved":"Skjermbilde lastet ned","toast.pngFailed":"Skjermbildet mislyktes — et eksternt bilde kunne ikke lastes","toast.pngCopied":"Skjermbilde kopiert til utklippstavlen","toast.pngCopyFailed":"Denne nettleseren godtok ikke et bilde på utklippstavlen","story.kicker":"Skjermbilde","story.rendering":"Lager skjermbildet","story.renderingHint":"Hver blokk tegnes i 2× — på en lang mal tar det et øyeblikk.","story.failed":"Skjermbildet mislyktes","story.failedHint":"Et bilde i malen kunne ikke lastes for opptaket.","story.retry":"Prøv igjen","story.play":"Spill av","story.pause":"Pause","story.replay":"Spill av igjen","story.copy":"Kopier","story.meta":"{w}×{h} · skjerm {i} av {n}","footer.poweredBy":"Drevet av SELISE Blocks © 2026"}})},re["core/i18n/nl.js"]=function(se,K,z){Object.assign(K,{NL:{"action.undoHint":"Ongedaan maken — ⌘Z","action.redoHint":"Opnieuw — ⌘⇧Z","action.chromeToDark":"Donker","action.chromeToLight":"Licht","action.chromeHint":"Editorthema licht / donker","action.chromeHintToDark":"Donkere modus","action.chromeHintToLight":"Lichte modus","action.aiDraft":"Concept","action.aiDraftHint":"E-mailinhoud schrijven met AI","action.code":"Code","action.codeHint":"Ruwe HTML bewerken met live voorbeeld","action.preview":"Voorbeeld","action.previewHint":"De e-mail bekijken","action.export":"Exporteren","action.exportHint":"Je e-mail exporteren","device.desktop":"Desktop","device.desktopHint":"Desktopbreedte","device.mobile":"Mobiel","device.mobileHint":"Mobiele breedte","status.autosaveOn":"automatisch opslaan aan","status.saved":"opgeslagen {time}","status.saveFailed":"niet opgeslagen — opslag vol","canvas.meta":"{rows} rijen · {blocks} blokken · {width}px","tab.design":"Stijl","tab.designHint":"Selectie stylen","tab.blocks":"Blokken","tab.blocksHint":"Inhoudsblokken en variabelen","tab.rows":"Secties","tab.rowsHint":"Sectielay-outs en canvasmodel","tab.files":"Bestanden","tab.filesHint":"Bibliotheek met bestanden","tab.layers":"Structuur","tab.layersHint":"Documentstructuur","tab.settings":"Instellingen","tab.settingsHint":"E-mailinstellingen","tab.data":"Var.","tab.dataHint":"Variabelen aangeleverd door jouw code","inspector.blockProperties":"Blokeigenschappen","inspector.sectionProperties":"Sectie-eigenschappen","inspector.title":"Inspecteur","inspector.sectionLabel":"Sectie","inspector.nothingSelected":"Niets geselecteerd","action.duplicateHint":"Dupliceren — ⌘D","action.deleteHint":"Verwijderen — ⌫","inspector.emptyBody":'Kies een rij of blok op het canvas om het hier te stylen. Sleep blokken vanuit het tabblad <strong style="color: var(--ed-text); font-weight: 600;">Blokken</strong>; dubbelklik op tekst om deze direct te bewerken.',"inspector.shortcuts":"Sneltoetsen","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ongedaan maken, opnieuw","shortcut.duplicate":"⌘D — selectie dupliceren","shortcut.delete":"⌫ — selectie verwijderen","shortcut.export":"⌘E — HTML exporteren","shortcut.escape":"ESC — selectie opheffen, sluiten","blocks.dragHint":"Sleep naar het canvas","blocks.count":"{count} blokken","rows.sectionLayouts":"Sectielay-outs","rows.customMarkup":"Aangepaste opmaak","rows.htmlRowHint":"Sleep om in te voegen, of klik om toe te voegen — een volledige rij die je vult met ruwe HTML","rows.rawHtmlSection":"Ruwe HTML-sectie","rows.rawHtmlDesc":"Volledige sectie, jouw eigen opmaak, nog steeds versleepbaar","rows.canvasModel":"Canvasmodel","rows.modeRowBased":"Op rijen gebaseerd","rows.modeFreeStack":"Vrije stapel","rows.hintRows":"Op secties gebaseerd: plaats eerst een lay-out, sleep dan blokken in de kolommen — elke sectie heeft zijn eigen achtergrond, rand, flex- of gridinstellingen.","rows.hintStack":"Vrije stapel: zonder lay-outs — elk blok dat je plaatst wordt een eigen sectie over de volle breedte, op volgorde gestapeld.","files.libraryCount":"Bibliotheek — {count} bestanden","files.openManager":"Bestandsbeheer openen","files.dragToCanvas":"Sleep elk bestand direct naar het canvas om het als afbeeldingsblok te plaatsen.","layers.structure":"Structuur","layers.sectionSingle":"Sectie","layers.sectionMulti":"Sectie · {count} kol.","layers.column":"Kolom {index}","layers.blockCount":"{count} bl.","vars.title":"Variabelen","vars.fromCode":"{count} uit jouw code","vars.declaredNote":"Gedeclareerd door jouw applicatie — het canvas toont altijd het token, nooit een waarde.","vars.filterPlaceholder":"Variabelen filteren…","vars.insertHint":"Klik om in te voegen in geselecteerde tekst, kop of knop","vars.insert":"invoegen","vars.noMatch":"Geen variabele komt overeen met dit filter.","vars.noneDeclared":"Jouw applicatie heeft nog geen variabelen gedeclareerd.","vars.rteHint":"Tijdens het bewerken van tekst kun je ook een variabele kiezen via het dropdownmenu van de inline werkbalk.","modal.fileManager":"Bestandsbeheer","modal.assetsTitle":"Bestanden","modal.replaceImage":"Afbeelding vervangen","library.searchPlaceholder":"Bestanden zoeken…","action.upload":"Uploaden","library.clickToPlace":"Klik op een bestand om te plaatsen · of sleep een bestand naar het canvas","library.clickToReplace":"Klik op een bestand om de geselecteerde afbeelding te vervangen","library.storageLabel":"{count} bestanden · {size}","library.folders":"Mappen","library.dropHint":"Zet afbeeldingsbestanden hier neer om te uploaden — of gebruik de knop Uploaden.","library.deleteFileHint":"Bestand verwijderen","library.del":"VERW","toast.assetDeleted":"{name} verwijderd","library.allFiles":"Alle bestanden","library.loadMore":"Meer laden","library.empty":"Hier staan nog geen bestanden.","storage.loading":"Bestanden laden…","storage.uploading":"{count} uploaden…","storage.errLoadFailed":"De bestandsbibliotheek kon niet worden geladen — {reason}","storage.errNoLimits":"Uploaden staat uit: deze app heeft geen uploadlimieten ingesteld.","storage.errNoMaxBytes":"Uploaden staat uit: er is geen maximale bestandsgrootte ingesteld.","storage.errTooLarge":"{name} is {size} — de limiet is {max}.","storage.errFormat":"{name} is een {type}-bestand, dat hier niet is toegestaan.","storage.errSvg":"{name} is een SVG, en die accepteert deze app niet.","storage.errDimensions":"{name} is {w}×{ht}px — de limiet is {maxW}×{maxH}px.","storage.errTooMany":"Er kunnen maar {max} bestanden tegelijk worden geüpload.","storage.errUnreadable":"{name} is geen leesbare afbeelding.","storage.errUploadFailed":"{name} kon niet worden geüpload — {reason}","storage.errDeleteFailed":"{name} kon niet worden verwijderd — {reason}","modal.export":"Exporteren","modal.exportTitle":"Op tabellen gebaseerde e-mail-HTML","export.copy":"Kopiëren","export.copied":"Gekopieerd","action.download":"Downloaden","export.meta":"{kb} KB · tabellen + inline stijlen · Outlook-veilige breedtes","modal.rawHtmlTitle":"Ruwe HTML, live voorbeeld","code.statusEdited":"Codeweergave — bewerkt — voorbeeld live, nog niet toegepast","code.statusSynced":"Codeweergave — gesynchroniseerd met het canvas","action.reload":"Herladen","action.reloadHint":"Bron herladen vanuit het canvas","action.applyToCanvas":"Toepassen op canvas","action.applyToCanvasHint":"Bron opnieuw ontleden tot bewerkbare rijen","action.closeWithoutApplyingHint":"Sluiten zonder toe te passen","code.source":"Bron","code.livePreview":"Live voorbeeld","code.liveHtmlPreviewTitle":"Live HTML-voorbeeld","code.applyNote":"Toepassen ontleedt elke tabelrij op het hoogste niveau tot een canvasrij die je nog kunt selecteren, herschikken en verwijderen — handgeschreven opmaak overleeft de omzetting.","code.meta":"{kb} KB · {lines} regels","toast.sourceReloaded":"Bron herladen vanuit het canvas","toast.sourceAppliedOne":"Bron toegepast — 1 rij op het canvas","toast.sourceAppliedMany":"Bron toegepast — {rows} rijen op het canvas","toast.parseError":"Kan die HTML niet ontleden","modal.aiDraft":"AI-schrijfassistent","modal.aiDraftTitle":"Schrijf je e-mail met AI","ai.disclosure":"AI maakt suggesties op basis van je briefing. Controleer en bewerk het resultaat voordat je verzendt.","ai.goal":"Doel","ai.tone":"Toon","ai.briefLabel":"Waar gaat deze e-mail over?","ai.briefPlaceholder":"bijv. Herfstcollectie, 15% voor abonnees, gratis verzending vanaf €150","ai.generate":"Tekst genereren","ai.writing":"Bezig met schrijven…","ai.kindHeadline":"Kop","ai.kindBody":"Hoofdtekst","ai.kindButton":"Knoptekst","ai.actionInsertHeading":"Invoegen als kop","ai.actionInsertText":"Invoegen als tekstblok","ai.actionInsertButton":"Invoegen als knop","toast.headingAdded":"Kop toegevoegd","toast.textBlockAdded":"Tekstblok toegevoegd","toast.buttonAdded":"Knop toegevoegd","preview.kickerMobile":"Voorbeeld — mobiel 375px","preview.kickerDesktop":"Voorbeeld — desktop {width}px","action.close":"Sluiten","toast.duplicated":"Gedupliceerd","toast.fileUploadedOne":"1 bestand geüpload","toast.fileUploadedMany":"{count} bestanden geüpload","toast.imageReplaced":"Afbeelding vervangen","toast.imageAdded":"Afbeelding toegevoegd aan canvas","toast.htmlCopied":"HTML gekopieerd naar klembord","toast.templateLoaded":"{name} geladen","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} ingevoegd","toast.snippetCopied":"{name} gekopieerd — selecteer een tekstblok om in te voegen","rte.textStyle":"Tekststijl","rte.mergeTags":"Samenvoegvelden","rte.noMergeTags":"Geen samenvoegvelden beschikbaar","rte.textColor":"Tekstkleur","rte.highlightColor":"Markeerkleur","rte.removeHighlight":"Markering verwijderen","rte.clearFormatting":"Opmaak wissen","action.downloadPng":"PNG downloaden","action.screenshot":"Schermafbeelding","action.screenshotHint":"Bekijk de hele template als afbeelding en download die","toast.pngSaved":"Schermafbeelding gedownload","toast.pngFailed":"Schermafbeelding mislukt — een externe afbeelding kon niet worden geladen","toast.pngCopied":"Schermafbeelding gekopieerd naar het klembord","toast.pngCopyFailed":"Deze browser accepteerde geen afbeelding op het klembord","story.kicker":"Schermafbeelding","story.rendering":"Schermafbeelding wordt gemaakt","story.renderingHint":"Elk blok wordt op 2× getekend — bij een lange template duurt dat even.","story.failed":"Schermafbeelding mislukt","story.failedHint":"Een afbeelding in de template kon niet worden geladen voor de opname.","story.retry":"Probeer het opnieuw","story.play":"Afspelen","story.pause":"Pauzeren","story.replay":"Opnieuw afspelen","story.copy":"Kopiëren","story.meta":"{w}×{h} · scherm {i} van {n}","footer.poweredBy":"Mogelijk gemaakt door SELISE Blocks © 2026"}})},re["core/i18n/pl.js"]=function(se,K,z){Object.assign(K,{PL:{"action.undoHint":"Cofnij — ⌘Z","action.redoHint":"Ponów — ⌘⇧Z","action.chromeToDark":"Ciemny","action.chromeToLight":"Jasny","action.chromeHint":"Motyw edytora jasny / ciemny","action.chromeHintToDark":"Tryb ciemny","action.chromeHintToLight":"Tryb jasny","action.aiDraft":"Szkic","action.aiDraftHint":"Napisz treść e-maila z pomocą AI","action.code":"Kod","action.codeHint":"Edytuj surowy HTML z podglądem na żywo","action.preview":"Podgląd","action.previewHint":"Podejrzyj e-mail","action.export":"Eksportuj","action.exportHint":"Wyeksportuj swój e-mail","device.desktop":"Komputer","device.desktopHint":"Szerokość na komputerze","device.mobile":"Telefon","device.mobileHint":"Szerokość na telefonie","status.autosaveOn":"automatyczny zapis włączony","status.saved":"zapisano {time}","status.saveFailed":"nie zapisano — brak miejsca","canvas.meta":"{rows} wierszy · {blocks} bloków · {width}px","tab.design":"Styl","tab.designHint":"Stylizuj zaznaczenie","tab.blocks":"Bloki","tab.blocksHint":"Bloki treści i zmienne","tab.rows":"Sekcje","tab.rowsHint":"Układy sekcji i model płótna","tab.files":"Pliki","tab.filesHint":"Biblioteka zasobów","tab.layers":"Struktura","tab.layersHint":"Struktura dokumentu","tab.settings":"Ustawienia","tab.settingsHint":"Ustawienia e-maila","tab.data":"Zmien.","tab.dataHint":"Zmienne dostarczone przez Twój kod","inspector.blockProperties":"Właściwości bloku","inspector.sectionProperties":"Właściwości sekcji","inspector.title":"Inspektor","inspector.sectionLabel":"Sekcja","inspector.nothingSelected":"Nic nie zaznaczono","action.duplicateHint":"Duplikuj — ⌘D","action.deleteHint":"Usuń — ⌫","inspector.emptyBody":'Wybierz wiersz lub blok na płótnie, aby go tutaj stylizować. Przeciągnij bloki z zakładki <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; kliknij dwukrotnie dowolny tekst, aby edytować go w miejscu.',"inspector.shortcuts":"Skróty","shortcut.undoRedo":"⌘Z / ⌘⇧Z — cofnij, ponów","shortcut.duplicate":"⌘D — duplikuj zaznaczenie","shortcut.delete":"⌫ — usuń zaznaczenie","shortcut.export":"⌘E — eksportuj HTML","shortcut.escape":"ESC — odznacz, zamknij","blocks.dragHint":"Przeciągnij na płótno","blocks.count":"{count} bloków","rows.sectionLayouts":"Układy sekcji","rows.customMarkup":"Własny znacznik","rows.htmlRowHint":"Przeciągnij, aby wstawić, lub kliknij, aby dodać — pełnowymiarowy wiersz, który wypełniasz surowym HTML","rows.rawHtmlSection":"Sekcja surowego HTML","rows.rawHtmlDesc":"Pełnowymiarowa sekcja, Twój własny kod, wciąż przeciągalna","rows.canvasModel":"Model płótna","rows.modeRowBased":"Oparty na wierszach","rows.modeFreeStack":"Wolny stos","rows.hintRows":"Oparty na sekcjach: najpierw upuść układ, potem bloki w jego kolumnach — każda sekcja ma własne tło, obramowanie, ustawienia flex lub siatki.","rows.hintStack":"Wolny stos: bez układów — każdy upuszczony blok staje się osobną, pełnowymiarową sekcją, ułożoną w kolejności.","files.libraryCount":"Biblioteka — {count} plików","files.openManager":"Otwórz menedżera plików","files.dragToCanvas":"Przeciągnij dowolny plik bezpośrednio na płótno, aby umieścić go jako blok obrazu.","layers.structure":"Struktura","layers.sectionSingle":"Sekcja","layers.sectionMulti":"Sekcja · {count} kol.","layers.column":"Kolumna {index}","layers.blockCount":"{count} bl.","vars.title":"Zmienne","vars.fromCode":"{count} z Twojego kodu","vars.declaredNote":"Zadeklarowane przez Twoją aplikację — płótno zawsze pokazuje token, nigdy wartość.","vars.filterPlaceholder":"Filtruj zmienne…","vars.insertHint":"Kliknij, aby wstawić do zaznaczonego tekstu, nagłówka lub przycisku","vars.insert":"wstaw","vars.noMatch":"Żadna zmienna nie pasuje do tego filtra.","vars.noneDeclared":"Twoja aplikacja nie zadeklarowała jeszcze żadnych zmiennych.","vars.rteHint":"Podczas edycji tekstu możesz też wybrać zmienną bezpośrednio z rozwijanego menu paska narzędzi.","modal.fileManager":"Menedżer plików","modal.assetsTitle":"Zasoby","modal.replaceImage":"Zastąp obraz","library.searchPlaceholder":"Szukaj plików…","action.upload":"Prześlij","library.clickToPlace":"Kliknij plik, aby go umieścić · lub przeciągnij plik na płótno","library.clickToReplace":"Kliknij plik, aby zastąpić zaznaczony obraz","library.storageLabel":"{count} plików · {size}","library.folders":"Foldery","library.dropHint":"Upuść tutaj pliki obrazów, aby je przesłać — lub użyj przycisku Prześlij.","library.deleteFileHint":"Usuń plik","library.del":"USUŃ","toast.assetDeleted":"Usunięto {name}","library.allFiles":"Wszystkie pliki","library.loadMore":"Wczytaj więcej","library.empty":"Nie ma tu jeszcze plików.","storage.loading":"Wczytywanie plików…","storage.uploading":"Przesyłanie {count}…","storage.errLoadFailed":"Nie udało się wczytać biblioteki plików — {reason}","storage.errNoLimits":"Przesyłanie jest wyłączone: ta aplikacja nie ustawiła żadnych limitów przesyłania.","storage.errNoMaxBytes":"Przesyłanie jest wyłączone: nie ustawiono maksymalnego rozmiaru pliku.","storage.errTooLarge":"{name} ma {size} — limit to {max}.","storage.errFormat":"{name} to plik {type}, który nie jest tu dozwolony.","storage.errSvg":"{name} to SVG, którego ta aplikacja nie przyjmuje.","storage.errDimensions":"{name} ma {w}×{ht}px — limit to {maxW}×{maxH}px.","storage.errTooMany":"Naraz można przesłać tylko {max} plików.","storage.errUnreadable":"{name} nie jest czytelnym obrazem.","storage.errUploadFailed":"Nie udało się przesłać {name} — {reason}","storage.errDeleteFailed":"Nie udało się usunąć {name} — {reason}","modal.export":"Eksportuj","modal.exportTitle":"HTML e-maila oparty na tabelach","export.copy":"Kopiuj","export.copied":"Skopiowano","action.download":"Pobierz","export.meta":"{kb} KB · tabele + style inline · szerokości bezpieczne dla Outlooka","modal.rawHtmlTitle":"Surowy HTML, podgląd na żywo","code.statusEdited":"Widok kodu — edytowany — podgląd na żywo, jeszcze nie zastosowano","code.statusSynced":"Widok kodu — zsynchronizowany z płótnem","action.reload":"Odśwież","action.reloadHint":"Odśwież źródło z płótna","action.applyToCanvas":"Zastosuj do płótna","action.applyToCanvasHint":"Przeanalizuj źródło z powrotem na edytowalne wiersze","action.closeWithoutApplyingHint":"Zamknij bez zastosowania","code.source":"Źródło","code.livePreview":"Podgląd na żywo","code.liveHtmlPreviewTitle":"Podgląd HTML na żywo","code.applyNote":"Zastosowanie analizuje każdy wiersz tabeli najwyższego poziomu na wiersz płótna, który nadal można zaznaczać, zmieniać kolejność i usuwać — ręcznie napisany kod przetrwa ten proces.","code.meta":"{kb} KB · {lines} wierszy","toast.sourceReloaded":"Odświeżono źródło z płótna","toast.sourceAppliedOne":"Zastosowano źródło — 1 wiersz na płótnie","toast.sourceAppliedMany":"Zastosowano źródło — {rows} wierszy na płótnie","toast.parseError":"Nie udało się przeanalizować tego HTML","modal.aiDraft":"Asystent pisania AI","modal.aiDraftTitle":"Napisz swój e-mail z pomocą AI","ai.disclosure":"AI tworzy propozycje na podstawie Twojego briefu. Sprawdź i popraw wynik przed wysyłką.","ai.goal":"Cel","ai.tone":"Ton","ai.briefLabel":"Czego dotyczy ten e-mail?","ai.briefPlaceholder":"np. Kolekcja jesienna, 15% dla subskrybentów, darmowa dostawa od 150 zł","ai.generate":"Generuj tekst","ai.writing":"Piszę…","ai.kindHeadline":"Nagłówek","ai.kindBody":"Treść główna","ai.kindButton":"Tekst przycisku","ai.actionInsertHeading":"Wstaw jako nagłówek","ai.actionInsertText":"Wstaw jako blok tekstu","ai.actionInsertButton":"Wstaw jako przycisk","toast.headingAdded":"Dodano nagłówek","toast.textBlockAdded":"Dodano blok tekstu","toast.buttonAdded":"Dodano przycisk","preview.kickerMobile":"Podgląd — telefon 375px","preview.kickerDesktop":"Podgląd — komputer {width}px","action.close":"Zamknij","toast.duplicated":"Zduplikowano","toast.fileUploadedOne":"Przesłano 1 plik","toast.fileUploadedMany":"Przesłano {count} plików","toast.imageReplaced":"Zastąpiono obraz","toast.imageAdded":"Dodano obraz do płótna","toast.htmlCopied":"Skopiowano HTML do schowka","toast.templateLoaded":"Wczytano {name}","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"Wstawiono {name}","toast.snippetCopied":"Skopiowano {name} — zaznacz blok tekstu, aby go wstawić","rte.textStyle":"Styl tekstu","rte.mergeTags":"Pola scalania","rte.noMergeTags":"Brak dostępnych pól scalania","rte.textColor":"Kolor tekstu","rte.highlightColor":"Kolor wyróżnienia","rte.removeHighlight":"Usuń wyróżnienie","rte.clearFormatting":"Wyczyść formatowanie","action.downloadPng":"Pobierz PNG","action.screenshot":"Zrzut ekranu","action.screenshotHint":"Zobacz cały szablon jako obraz i pobierz go","toast.pngSaved":"Zrzut ekranu pobrany","toast.pngFailed":"Zrzut ekranu nie powiódł się — nie udało się wczytać zewnętrznego obrazu","toast.pngCopied":"Zrzut ekranu skopiowany do schowka","toast.pngCopyFailed":"Ta przeglądarka nie przyjęła obrazu do schowka","story.kicker":"Zrzut ekranu","story.rendering":"Tworzenie zrzutu ekranu","story.renderingHint":"Każdy blok jest rysowany w 2× — przy długim szablonie chwilę to trwa.","story.failed":"Zrzut ekranu nie powiódł się","story.failedHint":"Nie udało się wczytać obrazu z szablonu do przechwycenia.","story.retry":"Spróbuj ponownie","story.play":"Odtwórz","story.pause":"Wstrzymaj","story.replay":"Odtwórz ponownie","story.copy":"Kopiuj","story.meta":"{w}×{h} · ekran {i} z {n}","footer.poweredBy":"Napędzane przez SELISE Blocks © 2026"}})},re["core/i18n/pt.js"]=function(se,K,z){Object.assign(K,{PT:{"action.undoHint":"Desfazer — ⌘Z","action.redoHint":"Refazer — ⌘⇧Z","action.chromeToDark":"Escuro","action.chromeToLight":"Claro","action.chromeHint":"Tema do editor claro / escuro","action.chromeHintToDark":"Modo escuro","action.chromeHintToLight":"Modo claro","action.aiDraft":"Rascunho","action.aiDraftHint":"Escrever o conteúdo do e-mail com IA","action.code":"Código","action.codeHint":"Editar o HTML bruto com pré-visualização ao vivo","action.preview":"Pré-visualizar","action.previewHint":"Pré-visualizar o e-mail","action.export":"Exportar","action.exportHint":"Exportar o seu e-mail","device.desktop":"Desktop","device.desktopHint":"Largura desktop","device.mobile":"Móvel","device.mobileHint":"Largura móvel","status.autosaveOn":"salvamento automático ativado","status.saved":"salvo {time}","status.saveFailed":"não salvo — armazenamento cheio","canvas.meta":"{rows} linhas · {blocks} blocos · {width}px","tab.design":"Estilo","tab.designHint":"Estilizar a seleção","tab.blocks":"Blocos","tab.blocksHint":"Blocos de conteúdo e variáveis","tab.rows":"Seções","tab.rowsHint":"Layouts de seção e modelo de tela","tab.files":"Arquivos","tab.filesHint":"Biblioteca de recursos","tab.layers":"Estrutura","tab.layersHint":"Estrutura do documento","tab.settings":"Definições","tab.settingsHint":"Definições do e-mail","tab.data":"Var.","tab.dataHint":"Variáveis fornecidas pelo seu código","inspector.blockProperties":"Propriedades do bloco","inspector.sectionProperties":"Propriedades da seção","inspector.title":"Inspetor","inspector.sectionLabel":"Seção","inspector.nothingSelected":"Nada selecionado","action.duplicateHint":"Duplicar — ⌘D","action.deleteHint":"Excluir — ⌫","inspector.emptyBody":'Selecione uma linha ou um bloco na tela para estilizá-lo aqui. Arraste blocos da aba <strong style="color: var(--ed-text); font-weight: 600;">Blocos</strong>; clique duas vezes em qualquer texto para editá-lo diretamente.',"inspector.shortcuts":"Atalhos","shortcut.undoRedo":"⌘Z / ⌘⇧Z — desfazer, refazer","shortcut.duplicate":"⌘D — duplicar seleção","shortcut.delete":"⌫ — excluir seleção","shortcut.export":"⌘E — exportar HTML","shortcut.escape":"ESC — desmarcar, fechar","blocks.dragHint":"Arraste para a tela","blocks.count":"{count} blocos","rows.sectionLayouts":"Layouts de seção","rows.customMarkup":"Marcação personalizada","rows.htmlRowHint":"Arraste para inserir, ou clique para adicionar — uma linha de sangria total que você preenche com HTML bruto","rows.rawHtmlSection":"Seção de HTML bruto","rows.rawHtmlDesc":"Seção de sangria total, sua própria marcação, ainda arrastável","rows.canvasModel":"Modelo de tela","rows.modeRowBased":"Baseado em linhas","rows.modeFreeStack":"Pilha livre","rows.hintRows":"Baseado em seções: solte um layout primeiro, depois blocos em suas colunas — cada seção tem seu próprio fundo, borda, configurações flex ou grade.","rows.hintStack":"Pilha livre: sem layouts — cada bloco que você solta se torna sua própria seção de largura total, empilhada em ordem.","files.libraryCount":"Biblioteca — {count} arquivos","files.openManager":"Abrir gerenciador de arquivos","files.dragToCanvas":"Arraste qualquer arquivo diretamente para a tela para colocá-lo como bloco de imagem.","layers.structure":"Estrutura","layers.sectionSingle":"Seção","layers.sectionMulti":"Seção · {count} col.","layers.column":"Coluna {index}","layers.blockCount":"{count} bl.","vars.title":"Variáveis","vars.fromCode":"{count} do seu código","vars.declaredNote":"Declaradas pela sua aplicação — a tela sempre mostra o token, nunca um valor.","vars.filterPlaceholder":"Filtrar variáveis…","vars.insertHint":"Clique para inserir no texto, título ou botão selecionado","vars.insert":"inserir","vars.noMatch":"Nenhuma variável corresponde a esse filtro.","vars.noneDeclared":"Sua aplicação ainda não declarou nenhuma variável.","vars.rteHint":"Ao editar texto, você também pode escolher uma variável diretamente no menu da barra de ferramentas em linha.","modal.fileManager":"Gerenciador de arquivos","modal.assetsTitle":"Recursos","modal.replaceImage":"Substituir imagem","library.searchPlaceholder":"Pesquisar arquivos…","action.upload":"Enviar","library.clickToPlace":"Clique em um arquivo para posicioná-lo · ou arraste um arquivo para a tela","library.clickToReplace":"Clique em um arquivo para substituir a imagem selecionada","library.storageLabel":"{count} arquivos · {size}","library.folders":"Pastas","library.dropHint":"Solte arquivos de imagem aqui para enviá-los — ou use o botão Enviar.","library.deleteFileHint":"Excluir arquivo","library.del":"EXCL","toast.assetDeleted":"{name} excluído","library.allFiles":"Todos os ficheiros","library.loadMore":"Carregar mais","library.empty":"Ainda não há ficheiros aqui.","storage.loading":"A carregar ficheiros…","storage.uploading":"A carregar {count}…","storage.errLoadFailed":"Não foi possível carregar a biblioteca de ficheiros — {reason}","storage.errNoLimits":"Os carregamentos estão desativados: esta aplicação não definiu limites de carregamento.","storage.errNoMaxBytes":"Os carregamentos estão desativados: não foi definido um tamanho máximo de ficheiro.","storage.errTooLarge":"{name} tem {size} — o limite é {max}.","storage.errFormat":"{name} é um ficheiro {type}, que não é permitido aqui.","storage.errSvg":"{name} é um SVG, que esta aplicação não aceita.","storage.errDimensions":"{name} tem {w}×{ht}px — o limite é {maxW}×{maxH}px.","storage.errTooMany":"Só é possível carregar {max} ficheiros de cada vez.","storage.errUnreadable":"{name} não é uma imagem legível.","storage.errUploadFailed":"Não foi possível carregar {name} — {reason}","storage.errDeleteFailed":"Não foi possível eliminar {name} — {reason}","modal.export":"Exportar","modal.exportTitle":"HTML de e-mail baseado em tabelas","export.copy":"Copiar","export.copied":"Copiado","action.download":"Baixar","export.meta":"{kb} KB · tabelas + estilos inline · larguras seguras para o Outlook","modal.rawHtmlTitle":"HTML bruto, pré-visualização ao vivo","code.statusEdited":"Visualização de código — editado — pré-visualização ao vivo, ainda não aplicado","code.statusSynced":"Visualização de código — sincronizado com a tela","action.reload":"Recarregar","action.reloadHint":"Recarregar a origem a partir da tela","action.applyToCanvas":"Aplicar à tela","action.applyToCanvasHint":"Analisar a origem novamente em linhas editáveis","action.closeWithoutApplyingHint":"Fechar sem aplicar","code.source":"Origem","code.livePreview":"Pré-visualização ao vivo","code.liveHtmlPreviewTitle":"Pré-visualização de HTML ao vivo","code.applyNote":"Aplicar analisa cada linha de tabela de nível superior em uma linha de tela que você ainda pode selecionar, reordenar e excluir — a marcação escrita à mão sobrevive ao processo.","code.meta":"{kb} KB · {lines} linhas","toast.sourceReloaded":"Origem recarregada a partir da tela","toast.sourceAppliedOne":"Origem aplicada — 1 linha na tela","toast.sourceAppliedMany":"Origem aplicada — {rows} linhas na tela","toast.parseError":"Não foi possível analisar esse HTML","modal.aiDraft":"Assistente de escrita com IA","modal.aiDraftTitle":"Escreva o seu e-mail com IA","ai.disclosure":"A IA cria sugestões a partir do seu resumo. Reveja e edite o resultado antes de enviar.","ai.goal":"Objetivo","ai.tone":"Tom","ai.briefLabel":"Sobre o que é este e-mail?","ai.briefPlaceholder":"ex. Coleção de outono, 15% para assinantes, frete grátis acima de R$150","ai.generate":"Gerar texto","ai.writing":"Escrevendo…","ai.kindHeadline":"Título","ai.kindBody":"Corpo do texto","ai.kindButton":"Texto do botão","ai.actionInsertHeading":"Inserir como título","ai.actionInsertText":"Inserir como bloco de texto","ai.actionInsertButton":"Inserir como botão","toast.headingAdded":"Título adicionado","toast.textBlockAdded":"Bloco de texto adicionado","toast.buttonAdded":"Botão adicionado","preview.kickerMobile":"Pré-visualização — móvel 375px","preview.kickerDesktop":"Pré-visualização — desktop {width}px","action.close":"Fechar","toast.duplicated":"Duplicado","toast.fileUploadedOne":"1 arquivo enviado","toast.fileUploadedMany":"{count} arquivos enviados","toast.imageReplaced":"Imagem substituída","toast.imageAdded":"Imagem adicionada à tela","toast.htmlCopied":"HTML copiado para a área de transferência","toast.templateLoaded":"{name} carregado","toast.snippetDefaultLabel":"Trecho","toast.snippetInserted":"{name} inserido","toast.snippetCopied":"{name} copiado — selecione um bloco de texto para inseri-lo","rte.textStyle":"Estilo do texto","rte.mergeTags":"Campos de intercalação","rte.noMergeTags":"Não há campos de intercalação disponíveis","rte.textColor":"Cor do texto","rte.highlightColor":"Cor de destaque","rte.removeHighlight":"Remover destaque","rte.clearFormatting":"Limpar formatação","action.downloadPng":"Transferir PNG","action.screenshot":"Captura de ecrã","action.screenshotHint":"Ver todo o modelo como imagem e transferi-lo","toast.pngSaved":"Captura transferida","toast.pngFailed":"A captura falhou — não foi possível carregar uma imagem externa","toast.pngCopied":"Captura copiada para a área de transferência","toast.pngCopyFailed":"Este navegador não aceitou uma imagem na área de transferência","story.kicker":"Captura de ecrã","story.rendering":"A gerar a captura","story.renderingHint":"Cada bloco é desenhado a 2× — num modelo longo demora um momento.","story.failed":"A captura falhou","story.failedHint":"Não foi possível carregar uma imagem do modelo para a captura.","story.retry":"Tentar novamente","story.play":"Reproduzir","story.pause":"Pausa","story.replay":"Reproduzir de novo","story.copy":"Copiar","story.meta":"{w}×{h} · ecrã {i} de {n}","footer.poweredBy":"Com tecnologia SELISE Blocks © 2026"}})},re["core/i18n/ro.js"]=function(se,K,z){Object.assign(K,{RO:{"action.undoHint":"Anulează — ⌘Z","action.redoHint":"Refă — ⌘⇧Z","action.chromeToDark":"Întunecat","action.chromeToLight":"Luminos","action.chromeHint":"Temă editor luminoasă / întunecată","action.chromeHintToDark":"Mod întunecat","action.chromeHintToLight":"Mod luminos","action.aiDraft":"Ciornă","action.aiDraftHint":"Scrie conținutul e-mailului cu AI","action.code":"Cod","action.codeHint":"Editează HTML brut cu previzualizare live","action.preview":"Previzualizare","action.previewHint":"Previzualizează e-mailul","action.export":"Exportă","action.exportHint":"Exportă e-mailul tău","device.desktop":"Desktop","device.desktopHint":"Lățime desktop","device.mobile":"Mobil","device.mobileHint":"Lățime mobil","status.autosaveOn":"salvare automată activă","status.saved":"salvat {time}","status.saveFailed":"nu s-a salvat — stocare plină","canvas.meta":"{rows} rânduri · {blocks} blocuri · {width}px","tab.design":"Stil","tab.designHint":"Stilizează selecția","tab.blocks":"Blocuri","tab.blocksHint":"Blocuri de conținut și variabile","tab.rows":"Secțiuni","tab.rowsHint":"Aspecte de secțiuni și model de canvas","tab.files":"Fișiere","tab.filesHint":"Bibliotecă de resurse","tab.layers":"Structură","tab.layersHint":"Structura documentului","tab.settings":"Setări","tab.settingsHint":"Setările e-mailului","tab.data":"Var.","tab.dataHint":"Variabile furnizate de codul dvs.","inspector.blockProperties":"Proprietățile blocului","inspector.sectionProperties":"Proprietățile secțiunii","inspector.title":"Inspector","inspector.sectionLabel":"Secțiune","inspector.nothingSelected":"Nimic selectat","action.duplicateHint":"Duplică — ⌘D","action.deleteHint":"Șterge — ⌫","inspector.emptyBody":'Selectați un rând sau un bloc pe canvas pentru a-l stiliza aici. Trageți blocuri din fila <strong style="color: var(--ed-text); font-weight: 600;">Blocuri</strong>; dați dublu clic pe orice text pentru a-l edita direct.',"inspector.shortcuts":"Comenzi rapide","shortcut.undoRedo":"⌘Z / ⌘⇧Z — anulează, refă","shortcut.duplicate":"⌘D — duplică selecția","shortcut.delete":"⌫ — șterge selecția","shortcut.export":"⌘E — exportă HTML","shortcut.escape":"ESC — deselectează, închide","blocks.dragHint":"Trageți pe canvas","blocks.count":"{count} blocuri","rows.sectionLayouts":"Aspecte de secțiuni","rows.customMarkup":"Cod personalizat","rows.htmlRowHint":"Trageți pentru a insera, sau dați clic pentru a adăuga — un rând pe toată lățimea pe care îl completați cu HTML brut","rows.rawHtmlSection":"Secțiune HTML brut","rows.rawHtmlDesc":"Secțiune pe toată lățimea, codul dvs. propriu, în continuare se poate trage","rows.canvasModel":"Model canvas","rows.modeRowBased":"Bazat pe rânduri","rows.modeFreeStack":"Stivă liberă","rows.hintRows":"Bazat pe secțiuni: plasați mai întâi un aspect, apoi blocuri în coloanele sale — fiecare secțiune are propriul fundal, bordură, setări flex sau grilă.","rows.hintStack":"Stivă liberă: fără aspecte — fiecare bloc plasat devine propria secțiune pe toată lățimea, stivuită în ordine.","files.libraryCount":"Bibliotecă — {count} fișiere","files.openManager":"Deschide managerul de fișiere","files.dragToCanvas":"Trageți orice fișier direct pe canvas pentru a-l plasa ca bloc de imagine.","layers.structure":"Structură","layers.sectionSingle":"Secțiune","layers.sectionMulti":"Secțiune · {count} coloane","layers.column":"Coloana {index}","layers.blockCount":"{count} bl.","vars.title":"Variabile","vars.fromCode":"{count} din codul dvs.","vars.declaredNote":"Declarate de aplicația dvs. — canvasul afișează întotdeauna tokenul, niciodată o valoare.","vars.filterPlaceholder":"Filtrează variabilele…","vars.insertHint":"Dați clic pentru a insera în textul, titlul sau butonul selectat","vars.insert":"inserează","vars.noMatch":"Nicio variabilă nu corespunde acestui filtru.","vars.noneDeclared":"Aplicația dvs. nu a declarat încă nicio variabilă.","vars.rteHint":"În timp ce editați text, puteți alege o variabilă și direct din meniul derulant al barei de instrumente în linie.","modal.fileManager":"Manager de fișiere","modal.assetsTitle":"Resurse","modal.replaceImage":"Înlocuiește imaginea","library.searchPlaceholder":"Căutare fișiere…","action.upload":"Încarcă","library.clickToPlace":"Dați clic pe un fișier pentru a-l plasa · sau trageți un fișier pe canvas","library.clickToReplace":"Dați clic pe un fișier pentru a înlocui imaginea selectată","library.storageLabel":"{count} fișiere · {size}","library.folders":"Foldere","library.dropHint":"Plasați fișiere imagine aici pentru încărcare — sau folosiți butonul Încarcă.","library.deleteFileHint":"Șterge fișierul","library.del":"ȘTERG","toast.assetDeleted":"{name} șters","library.allFiles":"Toate fișierele","library.loadMore":"Încarcă mai multe","library.empty":"Încă nu există fișiere aici.","storage.loading":"Se încarcă fișierele…","storage.uploading":"Se încarcă {count}…","storage.errLoadFailed":"Biblioteca de fișiere nu a putut fi încărcată — {reason}","storage.errNoLimits":"Încărcările sunt oprite: această aplicație nu a stabilit nicio limită de încărcare.","storage.errNoMaxBytes":"Încărcările sunt oprite: nu a fost stabilită o dimensiune maximă a fișierului.","storage.errTooLarge":"{name} are {size} — limita este {max}.","storage.errFormat":"{name} este un fișier {type}, care nu este permis aici.","storage.errSvg":"{name} este un SVG, pe care această aplicație nu îl acceptă.","storage.errDimensions":"{name} are {w}×{ht}px — limita este {maxW}×{maxH}px.","storage.errTooMany":"Se pot încărca doar {max} fișiere odată.","storage.errUnreadable":"{name} nu este o imagine lizibilă.","storage.errUploadFailed":"{name} nu a putut fi încărcat — {reason}","storage.errDeleteFailed":"{name} nu a putut fi șters — {reason}","modal.export":"Exportă","modal.exportTitle":"HTML de e-mail bazat pe tabele","export.copy":"Copiază","export.copied":"Copiat","action.download":"Descarcă","export.meta":"{kb} KB · tabele + stiluri inline · lățimi sigure pentru Outlook","modal.rawHtmlTitle":"HTML brut, previzualizare live","code.statusEdited":"Vizualizare cod — editat — previzualizare live, încă neaplicat","code.statusSynced":"Vizualizare cod — sincronizat cu canvasul","action.reload":"Reîncarcă","action.reloadHint":"Reîncarcă sursa din canvas","action.applyToCanvas":"Aplică pe canvas","action.applyToCanvasHint":"Reanalizează sursa în rânduri editabile","action.closeWithoutApplyingHint":"Închide fără a aplica","code.source":"Sursă","code.livePreview":"Previzualizare live","code.liveHtmlPreviewTitle":"Previzualizare HTML live","code.applyNote":"Aplicarea analizează fiecare rând de tabel de nivel superior într-un rând de canvas pe care îl puteți încă selecta, reordona și șterge — codul scris manual supraviețuiește procesului nemodificat.","code.meta":"{kb} KB · {lines} rânduri","toast.sourceReloaded":"Sursă reîncărcată din canvas","toast.sourceAppliedOne":"Sursă aplicată — 1 rând pe canvas","toast.sourceAppliedMany":"Sursă aplicată — {rows} rânduri pe canvas","toast.parseError":"Acest HTML nu a putut fi analizat","modal.aiDraft":"Asistent de scriere AI","modal.aiDraftTitle":"Scrie-ți e-mailul cu AI","ai.disclosure":"AI creează sugestii pornind de la brieful tău. Verifică și editează rezultatul înainte de trimitere.","ai.goal":"Obiectiv","ai.tone":"Ton","ai.briefLabel":"Despre ce este acest e-mail?","ai.briefPlaceholder":"de ex. Colecție de toamnă, 15% pentru abonați, livrare gratuită peste 150 lei","ai.generate":"Generează text","ai.writing":"Se scrie…","ai.kindHeadline":"Titlu","ai.kindBody":"Text principal","ai.kindButton":"Text buton","ai.actionInsertHeading":"Inserează ca titlu","ai.actionInsertText":"Inserează ca bloc de text","ai.actionInsertButton":"Inserează ca buton","toast.headingAdded":"Titlu adăugat","toast.textBlockAdded":"Bloc de text adăugat","toast.buttonAdded":"Buton adăugat","preview.kickerMobile":"Previzualizare — mobil 375px","preview.kickerDesktop":"Previzualizare — desktop {width}px","action.close":"Închide","toast.duplicated":"Duplicat","toast.fileUploadedOne":"1 fișier încărcat","toast.fileUploadedMany":"{count} fișiere încărcate","toast.imageReplaced":"Imagine înlocuită","toast.imageAdded":"Imagine adăugată pe canvas","toast.htmlCopied":"HTML copiat în clipboard","toast.templateLoaded":"{name} încărcat","toast.snippetDefaultLabel":"Fragment","toast.snippetInserted":"{name} inserat","toast.snippetCopied":"{name} copiat — selectați un bloc de text pentru a-l insera","rte.textStyle":"Stilul textului","rte.mergeTags":"Câmpuri de îmbinare","rte.noMergeTags":"Nu există câmpuri de îmbinare disponibile","rte.textColor":"Culoarea textului","rte.highlightColor":"Culoarea evidențierii","rte.removeHighlight":"Elimină evidențierea","rte.clearFormatting":"Șterge formatarea","action.downloadPng":"Descarcă PNG","action.screenshot":"Captură de ecran","action.screenshotHint":"Vezi tot șablonul ca imagine, apoi descarc-o","toast.pngSaved":"Captura a fost descărcată","toast.pngFailed":"Captura a eșuat — o imagine externă nu a putut fi încărcată","toast.pngCopied":"Captura a fost copiată în clipboard","toast.pngCopyFailed":"Acest browser nu a acceptat o imagine în clipboard","story.kicker":"Captură de ecran","story.rendering":"Se generează captura","story.renderingHint":"Fiecare bloc este desenat la 2× — la un șablon lung durează un moment.","story.failed":"Captura a eșuat","story.failedHint":"O imagine din șablon nu a putut fi încărcată pentru captură.","story.retry":"Încearcă din nou","story.play":"Redă","story.pause":"Pauză","story.replay":"Redă din nou","story.copy":"Copiază","story.meta":"{w}×{h} · ecranul {i} din {n}","footer.poweredBy":"Susținut de SELISE Blocks © 2026"}})},re["core/i18n/ru.js"]=function(se,K,z){Object.assign(K,{RU:{"action.undoHint":"Отменить — ⌘Z","action.redoHint":"Повторить — ⌘⇧Z","action.chromeToDark":"Тёмная","action.chromeToLight":"Светлая","action.chromeHint":"Тема редактора светлая / тёмная","action.chromeHintToDark":"Тёмная тема","action.chromeHintToLight":"Светлая тема","action.aiDraft":"Черновик","action.aiDraftHint":"Написать содержание письма с помощью ИИ","action.code":"Код","action.codeHint":"Редактировать исходный HTML с живым просмотром","action.preview":"Просмотр","action.previewHint":"Предпросмотр письма","action.export":"Экспорт","action.exportHint":"Экспортировать письмо","device.desktop":"Компьютер","device.desktopHint":"Ширина для компьютера","device.mobile":"Телефон","device.mobileHint":"Ширина для телефона","status.autosaveOn":"автосохранение включено","status.saved":"сохранено {time}","status.saveFailed":"не сохранено — хранилище заполнено","canvas.meta":"{rows} строк · {blocks} блоков · {width}px","tab.design":"Стиль","tab.designHint":"Оформить выделенное","tab.blocks":"Блоки","tab.blocksHint":"Блоки контента и переменные","tab.rows":"Секции","tab.rowsHint":"Макеты секций и модель холста","tab.files":"Файлы","tab.filesHint":"Библиотека файлов","tab.layers":"Структура","tab.layersHint":"Структура документа","tab.settings":"Настройки","tab.settingsHint":"Настройки письма","tab.data":"Перем.","tab.dataHint":"Переменные, предоставленные вашим кодом","inspector.blockProperties":"Свойства блока","inspector.sectionProperties":"Свойства секции","inspector.title":"Инспектор","inspector.sectionLabel":"Секция","inspector.nothingSelected":"Ничего не выбрано","action.duplicateHint":"Дублировать — ⌘D","action.deleteHint":"Удалить — ⌫","inspector.emptyBody":'Выберите строку или блок на холсте, чтобы оформить его здесь. Перетащите блоки со вкладки <strong style="color: var(--ed-text); font-weight: 600;">Блоки</strong>; дважды щёлкните по тексту, чтобы редактировать его на месте.',"inspector.shortcuts":"Горячие клавиши","shortcut.undoRedo":"⌘Z / ⌘⇧Z — отменить, повторить","shortcut.duplicate":"⌘D — дублировать выделение","shortcut.delete":"⌫ — удалить выделение","shortcut.export":"⌘E — экспортировать HTML","shortcut.escape":"ESC — снять выделение, закрыть","blocks.dragHint":"Перетащите на холст","blocks.count":"{count} блоков","rows.sectionLayouts":"Макеты секций","rows.customMarkup":"Свой код","rows.htmlRowHint":"Перетащите, чтобы вставить, или щёлкните, чтобы добавить — строка на всю ширину, которую вы заполняете исходным HTML","rows.rawHtmlSection":"Секция с исходным HTML","rows.rawHtmlDesc":"Секция на всю ширину, ваш собственный код, всё ещё перетаскивается","rows.canvasModel":"Модель холста","rows.modeRowBased":"На основе строк","rows.modeFreeStack":"Свободный стек","rows.hintRows":"На основе секций: сначала поместите макет, затем блоки в его колонки — у каждой секции свой фон, граница, настройки flex или сетки.","rows.hintStack":"Свободный стек: без макетов — каждый добавленный блок становится собственной секцией на всю ширину, уложенной по порядку.","files.libraryCount":"Библиотека — {count} файлов","files.openManager":"Открыть файловый менеджер","files.dragToCanvas":"Перетащите любой файл прямо на холст, чтобы разместить его как блок изображения.","layers.structure":"Структура","layers.sectionSingle":"Секция","layers.sectionMulti":"Секция · {count} кол.","layers.column":"Колонка {index}","layers.blockCount":"{count} бл.","vars.title":"Переменные","vars.fromCode":"{count} из вашего кода","vars.declaredNote":"Объявлены вашим приложением — холст всегда показывает токен, никогда значение.","vars.filterPlaceholder":"Фильтр переменных…","vars.insertHint":"Нажмите, чтобы вставить в выбранный текст, заголовок или кнопку","vars.insert":"вставить","vars.noMatch":"Нет переменных, соответствующих этому фильтру.","vars.noneDeclared":"Ваше приложение ещё не объявило переменные.","vars.rteHint":"При редактировании текста вы также можете выбрать переменную прямо из выпадающего списка встроенной панели инструментов.","modal.fileManager":"Файловый менеджер","modal.assetsTitle":"Файлы","modal.replaceImage":"Заменить изображение","library.searchPlaceholder":"Поиск файлов…","action.upload":"Загрузить","library.clickToPlace":"Нажмите на файл, чтобы разместить · или перетащите файл на холст","library.clickToReplace":"Нажмите на файл, чтобы заменить выбранное изображение","library.storageLabel":"{count} файлов · {size}","library.folders":"Папки","library.dropHint":"Перетащите файлы изображений сюда для загрузки — или используйте кнопку «Загрузить».","library.deleteFileHint":"Удалить файл","library.del":"УДАЛ","toast.assetDeleted":"{name} удалён","library.allFiles":"Все файлы","library.loadMore":"Показать ещё","library.empty":"Здесь пока нет файлов.","storage.loading":"Загрузка файлов…","storage.uploading":"Загрузка {count}…","storage.errLoadFailed":"Не удалось загрузить библиотеку файлов — {reason}","storage.errNoLimits":"Загрузка выключена: это приложение не задало ограничения на загрузку.","storage.errNoMaxBytes":"Загрузка выключена: не задан максимальный размер файла.","storage.errTooLarge":"{name} весит {size} — предел {max}.","storage.errFormat":"{name} — файл {type}, который здесь не разрешён.","storage.errSvg":"{name} — SVG, который это приложение не принимает.","storage.errDimensions":"{name} — {w}×{ht}px, а предел {maxW}×{maxH}px.","storage.errTooMany":"За один раз можно загрузить только {max} файлов.","storage.errUnreadable":"{name} не является читаемым изображением.","storage.errUploadFailed":"Не удалось загрузить {name} — {reason}","storage.errDeleteFailed":"Не удалось удалить {name} — {reason}","modal.export":"Экспорт","modal.exportTitle":"HTML письма на основе таблиц","export.copy":"Копировать","export.copied":"Скопировано","action.download":"Скачать","export.meta":"{kb} КБ · таблицы + встроенные стили · ширины, безопасные для Outlook","modal.rawHtmlTitle":"Исходный HTML, живой просмотр","code.statusEdited":"Просмотр кода — изменён — просмотр в реальном времени, ещё не применено","code.statusSynced":"Просмотр кода — синхронизирован с холстом","action.reload":"Обновить","action.reloadHint":"Обновить исходник из холста","action.applyToCanvas":"Применить к холсту","action.applyToCanvasHint":"Разобрать исходник обратно в редактируемые строки","action.closeWithoutApplyingHint":"Закрыть без применения","code.source":"Исходник","code.livePreview":"Живой просмотр","code.liveHtmlPreviewTitle":"Живой просмотр HTML","code.applyNote":"Применение разбирает каждую строку таблицы верхнего уровня в строку холста, которую вы всё ещё можете выбирать, переупорядочивать и удалять — написанный вручную код переживает этот процесс.","code.meta":"{kb} КБ · {lines} строк","toast.sourceReloaded":"Исходник обновлён из холста","toast.sourceAppliedOne":"Исходник применён — 1 строка на холсте","toast.sourceAppliedMany":"Исходник применён — {rows} строк на холсте","toast.parseError":"Не удалось разобрать этот HTML","modal.aiDraft":"ИИ-помощник по тексту","modal.aiDraftTitle":"Напишите письмо с помощью ИИ","ai.disclosure":"ИИ создаёт предложения на основе вашего брифа. Проверьте и отредактируйте результат перед отправкой.","ai.goal":"Цель","ai.tone":"Тон","ai.briefLabel":"О чём это письмо?","ai.briefPlaceholder":"напр. Осенняя коллекция, 15% для подписчиков, бесплатная доставка от 150$","ai.generate":"Сгенерировать текст","ai.writing":"Пишем…","ai.kindHeadline":"Заголовок","ai.kindBody":"Основной текст","ai.kindButton":"Текст кнопки","ai.actionInsertHeading":"Вставить как заголовок","ai.actionInsertText":"Вставить как текстовый блок","ai.actionInsertButton":"Вставить как кнопку","toast.headingAdded":"Заголовок добавлен","toast.textBlockAdded":"Текстовый блок добавлен","toast.buttonAdded":"Кнопка добавлена","preview.kickerMobile":"Просмотр — телефон 375px","preview.kickerDesktop":"Просмотр — компьютер {width}px","action.close":"Закрыть","toast.duplicated":"Продублировано","toast.fileUploadedOne":"Загружен 1 файл","toast.fileUploadedMany":"Загружено файлов: {count}","toast.imageReplaced":"Изображение заменено","toast.imageAdded":"Изображение добавлено на холст","toast.htmlCopied":"HTML скопирован в буфер обмена","toast.templateLoaded":"{name} загружен","toast.snippetDefaultLabel":"Фрагмент","toast.snippetInserted":"{name} вставлен","toast.snippetCopied":"{name} скопирован — выберите текстовый блок, чтобы вставить","rte.textStyle":"Стиль текста","rte.mergeTags":"Поля слияния","rte.noMergeTags":"Полей слияния нет","rte.textColor":"Цвет текста","rte.highlightColor":"Цвет выделения","rte.removeHighlight":"Убрать выделение","rte.clearFormatting":"Очистить форматирование","action.downloadPng":"Скачать PNG","action.screenshot":"Снимок","action.screenshotHint":"Посмотреть весь шаблон как изображение и скачать его","toast.pngSaved":"Снимок скачан","toast.pngFailed":"Снимок не удался — не удалось загрузить внешнее изображение","toast.pngCopied":"Снимок скопирован в буфер обмена","toast.pngCopyFailed":"Этот браузер не принял изображение в буфер обмена","story.kicker":"Снимок","story.rendering":"Создание снимка","story.renderingHint":"Каждый блок рисуется в 2× — на длинном шаблоне это занимает время.","story.failed":"Снимок не удался","story.failedHint":"Изображение в шаблоне не удалось загрузить для съёмки.","story.retry":"Попробовать снова","story.play":"Воспроизвести","story.pause":"Пауза","story.replay":"Ещё раз","story.copy":"Копировать","story.meta":"{w}×{h} · экран {i} из {n}","footer.poweredBy":"Работает на SELISE Blocks © 2026"}})},re["core/i18n/sk.js"]=function(se,K,z){Object.assign(K,{SK:{"action.undoHint":"Späť — ⌘Z","action.redoHint":"Znova — ⌘⇧Z","action.chromeToDark":"Tmavý","action.chromeToLight":"Svetlý","action.chromeHint":"Motív editora svetlý / tmavý","action.chromeHintToDark":"Tmavý režim","action.chromeHintToLight":"Svetlý režim","action.aiDraft":"Návrh","action.aiDraftHint":"Napísať obsah e-mailu pomocou AI","action.code":"Kód","action.codeHint":"Upraviť surové HTML so živým náhľadom","action.preview":"Náhľad","action.previewHint":"Náhľad e-mailu","action.export":"Exportovať","action.exportHint":"Exportovať váš e-mail","device.desktop":"Počítač","device.desktopHint":"Šírka pre počítač","device.mobile":"Mobil","device.mobileHint":"Šírka pre mobil","status.autosaveOn":"automatické ukladanie zapnuté","status.saved":"uložené {time}","status.saveFailed":"neuložené — úložisko je plné","canvas.meta":"{rows} riadkov · {blocks} blokov · {width}px","tab.design":"Štýl","tab.designHint":"Štylizovať výber","tab.blocks":"Bloky","tab.blocksHint":"Bloky obsahu a premenné","tab.rows":"Sekcie","tab.rowsHint":"Rozloženia sekcií a model plátna","tab.files":"Súbory","tab.filesHint":"Knižnica súborov","tab.layers":"Štruktúra","tab.layersHint":"Štruktúra dokumentu","tab.settings":"Nastavenia","tab.settingsHint":"Nastavenia e-mailu","tab.data":"Prem.","tab.dataHint":"Premenné poskytnuté vaším kódom","inspector.blockProperties":"Vlastnosti bloku","inspector.sectionProperties":"Vlastnosti sekcie","inspector.title":"Inšpektor","inspector.sectionLabel":"Sekcia","inspector.nothingSelected":"Nič nie je vybraté","action.duplicateHint":"Duplikovať — ⌘D","action.deleteHint":"Odstrániť — ⌫","inspector.emptyBody":'Vyberte riadok alebo blok na plátne a štylizujte ho tu. Presuňte bloky z karty <strong style="color: var(--ed-text); font-weight: 600;">Bloky</strong>; dvojklikom na text ho upravíte priamo na mieste.',"inspector.shortcuts":"Skratky","shortcut.undoRedo":"⌘Z / ⌘⇧Z — späť, znova","shortcut.duplicate":"⌘D — duplikovať výber","shortcut.delete":"⌫ — odstrániť výber","shortcut.export":"⌘E — exportovať HTML","shortcut.escape":"ESC — zrušiť výber, zavrieť","blocks.dragHint":"Presuňte na plátno","blocks.count":"{count} blokov","rows.sectionLayouts":"Rozloženia sekcií","rows.customMarkup":"Vlastný kód","rows.htmlRowHint":"Presuňte pre vloženie alebo kliknite pre pridanie — riadok na celú šírku, ktorý vyplníte surovým HTML","rows.rawHtmlSection":"Sekcia so surovým HTML","rows.rawHtmlDesc":"Sekcia na celú šírku, váš vlastný kód, stále presúvateľná","rows.canvasModel":"Model plátna","rows.modeRowBased":"Založené na riadkoch","rows.modeFreeStack":"Voľný zásobník","rows.hintRows":"Založené na sekciách: najprv umiestnite rozloženie, potom bloky do jeho stĺpcov — každá sekcia má vlastné pozadie, ohraničenie, nastavenia flex alebo mriežky.","rows.hintStack":"Voľný zásobník: bez rozložení — každý umiestnený blok sa stane vlastnou sekciou na celú šírku, zoradenou postupne.","files.libraryCount":"Knižnica — {count} súborov","files.openManager":"Otvoriť správcu súborov","files.dragToCanvas":"Presuňte ľubovoľný súbor priamo na plátno a umiestnite ho ako obrazový blok.","layers.structure":"Štruktúra","layers.sectionSingle":"Sekcia","layers.sectionMulti":"Sekcia · {count} stĺpcov","layers.column":"Stĺpec {index}","layers.blockCount":"{count} bl.","vars.title":"Premenné","vars.fromCode":"{count} z vášho kódu","vars.declaredNote":"Deklarované vašou aplikáciou — plátno vždy zobrazuje token, nikdy hodnotu.","vars.filterPlaceholder":"Filtrovať premenné…","vars.insertHint":"Kliknite pre vloženie do vybraného textu, nadpisu alebo tlačidla","vars.insert":"vložiť","vars.noMatch":"Žiadna premenná nezodpovedá tomuto filtru.","vars.noneDeclared":"Vaša aplikácia zatiaľ nedeklarovala žiadne premenné.","vars.rteHint":"Pri úprave textu môžete premennú vybrať aj priamo z rozbaľovacej ponuky vloženého panela nástrojov.","modal.fileManager":"Správca súborov","modal.assetsTitle":"Zdroje","modal.replaceImage":"Nahradiť obrázok","library.searchPlaceholder":"Hľadať súbory…","action.upload":"Nahrať","library.clickToPlace":"Kliknite na súbor pre umiestnenie · alebo presuňte súbor na plátno","library.clickToReplace":"Kliknite na súbor pre nahradenie vybraného obrázka","library.storageLabel":"{count} súborov · {size}","library.folders":"Priečinky","library.dropHint":"Sem presuňte obrázkové súbory na nahranie — alebo použite tlačidlo Nahrať.","library.deleteFileHint":"Odstrániť súbor","library.del":"ZMAZ","toast.assetDeleted":"{name} odstránený","library.allFiles":"Všetky súbory","library.loadMore":"Načítať ďalšie","library.empty":"Zatiaľ tu nie sú žiadne súbory.","storage.loading":"Načítavanie súborov…","storage.uploading":"Nahrávanie {count}…","storage.errLoadFailed":"Knižnicu súborov sa nepodarilo načítať — {reason}","storage.errNoLimits":"Nahrávanie je vypnuté: táto aplikácia nenastavila žiadne limity nahrávania.","storage.errNoMaxBytes":"Nahrávanie je vypnuté: nie je nastavená maximálna veľkosť súboru.","storage.errTooLarge":"{name} má {size} — limit je {max}.","storage.errFormat":"{name} je súbor typu {type}, ktorý tu nie je povolený.","storage.errSvg":"{name} je SVG, ktoré táto aplikácia neprijíma.","storage.errDimensions":"{name} má {w}×{ht}px — limit je {maxW}×{maxH}px.","storage.errTooMany":"Naraz možno nahrať len {max} súborov.","storage.errUnreadable":"{name} nie je čitateľný obrázok.","storage.errUploadFailed":"{name} sa nepodarilo nahrať — {reason}","storage.errDeleteFailed":"{name} sa nepodarilo odstrániť — {reason}","modal.export":"Exportovať","modal.exportTitle":"HTML e-mailu založené na tabuľkách","export.copy":"Kopírovať","export.copied":"Skopírované","action.download":"Stiahnuť","export.meta":"{kb} KB · tabuľky + vložené štýly · šírky bezpečné pre Outlook","modal.rawHtmlTitle":"Surové HTML, živý náhľad","code.statusEdited":"Zobrazenie kódu — upravené — náhľad naživo, zatiaľ neaplikované","code.statusSynced":"Zobrazenie kódu — synchronizované s plátnom","action.reload":"Znova načítať","action.reloadHint":"Znova načítať zdroj z plátna","action.applyToCanvas":"Použiť na plátno","action.applyToCanvasHint":"Znova rozobrať zdroj na upraviteľné riadky","action.closeWithoutApplyingHint":"Zavrieť bez použitia","code.source":"Zdroj","code.livePreview":"Živý náhľad","code.liveHtmlPreviewTitle":"Živý náhľad HTML","code.applyNote":"Použitie rozoberie každý riadok tabuľky najvyššej úrovne na riadok plátna, ktorý možno stále vybrať, preusporiadať a odstrániť — ručne písaný kód proces prežije bez zmeny.","code.meta":"{kb} KB · {lines} riadkov","toast.sourceReloaded":"Zdroj znova načítaný z plátna","toast.sourceAppliedOne":"Zdroj použitý — 1 riadok na plátne","toast.sourceAppliedMany":"Zdroj použitý — {rows} riadkov na plátne","toast.parseError":"Toto HTML sa nepodarilo spracovať","modal.aiDraft":"Asistent písania s AI","modal.aiDraftTitle":"Napíšte svoj e-mail pomocou AI","ai.disclosure":"AI vytvára návrhy podľa vášho zadania. Pred odoslaním výsledok skontrolujte a upravte.","ai.goal":"Cieľ","ai.tone":"Tón","ai.briefLabel":"O čom je tento e-mail?","ai.briefPlaceholder":"napr. Jesenná kolekcia, 15 % pre odberateľov, doprava zdarma nad 150 €","ai.generate":"Vygenerovať text","ai.writing":"Píše sa…","ai.kindHeadline":"Nadpis","ai.kindBody":"Hlavný text","ai.kindButton":"Text tlačidla","ai.actionInsertHeading":"Vložiť ako nadpis","ai.actionInsertText":"Vložiť ako textový blok","ai.actionInsertButton":"Vložiť ako tlačidlo","toast.headingAdded":"Nadpis pridaný","toast.textBlockAdded":"Textový blok pridaný","toast.buttonAdded":"Tlačidlo pridané","preview.kickerMobile":"Náhľad — mobil 375px","preview.kickerDesktop":"Náhľad — počítač {width}px","action.close":"Zavrieť","toast.duplicated":"Duplikované","toast.fileUploadedOne":"Nahraný 1 súbor","toast.fileUploadedMany":"Nahratých súborov: {count}","toast.imageReplaced":"Obrázok nahradený","toast.imageAdded":"Obrázok pridaný na plátno","toast.htmlCopied":"HTML skopírované do schránky","toast.templateLoaded":"{name} načítané","toast.snippetDefaultLabel":"Úryvok","toast.snippetInserted":"{name} vložené","toast.snippetCopied":"{name} skopírované — vyberte textový blok na vloženie","rte.textStyle":"Štýl textu","rte.mergeTags":"Zlučovacie polia","rte.noMergeTags":"Nie sú dostupné žiadne zlučovacie polia","rte.textColor":"Farba textu","rte.highlightColor":"Farba zvýraznenia","rte.removeHighlight":"Odstrániť zvýraznenie","rte.clearFormatting":"Zrušiť formátovanie","action.downloadPng":"Stiahnuť PNG","action.screenshot":"Snímka","action.screenshotHint":"Zobraziť celú šablónu ako obrázok a stiahnuť ju","toast.pngSaved":"Snímka stiahnutá","toast.pngFailed":"Snímka zlyhala — externý obrázok sa nepodarilo načítať","toast.pngCopied":"Snímka skopírovaná do schránky","toast.pngCopyFailed":"Tento prehliadač neprijal obrázok do schránky","story.kicker":"Snímka","story.rendering":"Vytvára sa snímka","story.renderingHint":"Každý blok sa kreslí v 2× — pri dlhej šablóne to chvíľu trvá.","story.failed":"Snímka zlyhala","story.failedHint":"Obrázok v šablóne sa nepodarilo načítať na zachytenie.","story.retry":"Skúsiť znova","story.play":"Prehrať","story.pause":"Pozastaviť","story.replay":"Prehrať znova","story.copy":"Kopírovať","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Beží na SELISE Blocks © 2026"}})},re["core/i18n/sl.js"]=function(se,K,z){Object.assign(K,{SL:{"action.undoHint":"Razveljavi — ⌘Z","action.redoHint":"Ponovi — ⌘⇧Z","action.chromeToDark":"Temno","action.chromeToLight":"Svetlo","action.chromeHint":"Tema urejevalnika svetla / temna","action.chromeHintToDark":"Temni način","action.chromeHintToLight":"Svetli način","action.aiDraft":"Osnutek","action.aiDraftHint":"Napiši vsebino e-pošte z UI","action.code":"Koda","action.codeHint":"Uredi surovi HTML z ogledom v živo","action.preview":"Predogled","action.previewHint":"Predogled e-pošte","action.export":"Izvozi","action.exportHint":"Izvozi svojo e-pošto","device.desktop":"Namizje","device.desktopHint":"Širina za namizje","device.mobile":"Mobilna naprava","device.mobileHint":"Širina za mobilno napravo","status.autosaveOn":"samodejno shranjevanje vklopljeno","status.saved":"shranjeno {time}","status.saveFailed":"ni shranjeno — pomnilnik je poln","canvas.meta":"{rows} vrstic · {blocks} blokov · {width}px","tab.design":"Slog","tab.designHint":"Oblikuj izbor","tab.blocks":"Bloki","tab.blocksHint":"Vsebinski bloki in spremenljivke","tab.rows":"Odseki","tab.rowsHint":"Postavitve odsekov in model platna","tab.files":"Datoteke","tab.filesHint":"Knjižnica virov","tab.layers":"Struktura","tab.layersHint":"Struktura dokumenta","tab.settings":"Nastavitve","tab.settingsHint":"Nastavitve e-pošte","tab.data":"Spr.","tab.dataHint":"Spremenljivke, ki jih zagotavlja vaša koda","inspector.blockProperties":"Lastnosti bloka","inspector.sectionProperties":"Lastnosti odseka","inspector.title":"Inšpektor","inspector.sectionLabel":"Odsek","inspector.nothingSelected":"Nič ni izbrano","action.duplicateHint":"Podvoji — ⌘D","action.deleteHint":"Izbriši — ⌫","inspector.emptyBody":'Izberite vrstico ali blok na platnu, da ga oblikujete tukaj. Povlecite bloke iz zavihka <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; dvokliknite besedilo za urejanje na mestu.',"inspector.shortcuts":"Bližnjice","shortcut.undoRedo":"⌘Z / ⌘⇧Z — razveljavi, ponovi","shortcut.duplicate":"⌘D — podvoji izbor","shortcut.delete":"⌫ — izbriši izbor","shortcut.export":"⌘E — izvozi HTML","shortcut.escape":"ESC — prekliči izbor, zapri","blocks.dragHint":"Povlecite na platno","blocks.count":"{count} blokov","rows.sectionLayouts":"Postavitve odsekov","rows.customMarkup":"Lastna koda","rows.htmlRowHint":"Povlecite za vstavitev ali kliknite za dodajanje — vrstica čez celo širino, ki jo zapolnite s surovim HTML-jem","rows.rawHtmlSection":"Odsek s surovim HTML-jem","rows.rawHtmlDesc":"Odsek čez celo širino, vaša lastna koda, še vedno vlečljiv","rows.canvasModel":"Model platna","rows.modeRowBased":"Temelji na vrsticah","rows.modeFreeStack":"Prosti sklad","rows.hintRows":"Temelji na odsekih: najprej spustite postavitev, nato bloke v njene stolpce — vsak odsek ima lastno ozadje, rob, nastavitve flex ali mreže.","rows.hintStack":"Prosti sklad: brez postavitev — vsak spuščen blok postane lasten odsek čez celo širino, zložen po vrsti.","files.libraryCount":"Knjižnica — {count} datotek","files.openManager":"Odpri upravitelja datotek","files.dragToCanvas":"Povlecite katero koli datoteko neposredno na platno, da jo postavite kot slikovni blok.","layers.structure":"Struktura","layers.sectionSingle":"Odsek","layers.sectionMulti":"Odsek · {count} stolpcev","layers.column":"Stolpec {index}","layers.blockCount":"{count} bl.","vars.title":"Spremenljivke","vars.fromCode":"{count} iz vaše kode","vars.declaredNote":"Deklarirane s strani vaše aplikacije — platno vedno prikaže žeton, nikoli vrednosti.","vars.filterPlaceholder":"Filtriraj spremenljivke…","vars.insertHint":"Kliknite za vstavitev v izbrano besedilo, naslov ali gumb","vars.insert":"vstavi","vars.noMatch":"Nobena spremenljivka ne ustreza temu filtru.","vars.noneDeclared":"Vaša aplikacija še ni deklarirala nobenih spremenljivk.","vars.rteHint":"Med urejanjem besedila lahko spremenljivko izberete tudi neposredno iz spustnega menija vgrajene orodne vrstice.","modal.fileManager":"Upravitelj datotek","modal.assetsTitle":"Viri","modal.replaceImage":"Zamenjaj sliko","library.searchPlaceholder":"Iskanje datotek…","action.upload":"Naloži","library.clickToPlace":"Kliknite datoteko za postavitev · ali povlecite datoteko na platno","library.clickToReplace":"Kliknite datoteko za zamenjavo izbrane slike","library.storageLabel":"{count} datotek · {size}","library.folders":"Mape","library.dropHint":"Sem spustite slikovne datoteke za nalaganje — ali uporabite gumb Naloži.","library.deleteFileHint":"Izbriši datoteko","library.del":"IZBR","toast.assetDeleted":"{name} izbrisano","library.allFiles":"Vse datoteke","library.loadMore":"Naloži več","library.empty":"Tu še ni datotek.","storage.loading":"Nalaganje datotek…","storage.uploading":"Nalaganje {count}…","storage.errLoadFailed":"Knjižnice datotek ni bilo mogoče naložiti — {reason}","storage.errNoLimits":"Nalaganje je izklopljeno: ta aplikacija ni določila omejitev nalaganja.","storage.errNoMaxBytes":"Nalaganje je izklopljeno: največja velikost datoteke ni določena.","storage.errTooLarge":"{name} je {size} — omejitev je {max}.","storage.errFormat":"{name} je datoteka vrste {type}, ki tu ni dovoljena.","storage.errSvg":"{name} je SVG, ki ga ta aplikacija ne sprejema.","storage.errDimensions":"{name} je {w}×{ht}px — omejitev je {maxW}×{maxH}px.","storage.errTooMany":"Naenkrat je mogoče naložiti le {max} datotek.","storage.errUnreadable":"{name} ni berljiva slika.","storage.errUploadFailed":"{name} ni bilo mogoče naložiti — {reason}","storage.errDeleteFailed":"{name} ni bilo mogoče izbrisati — {reason}","modal.export":"Izvozi","modal.exportTitle":"HTML e-pošte na osnovi tabel","export.copy":"Kopiraj","export.copied":"Kopirano","action.download":"Prenesi","export.meta":"{kb} KB · tabele + vgrajeni slogi · širine, varne za Outlook","modal.rawHtmlTitle":"Surovi HTML, ogled v živo","code.statusEdited":"Pogled kode — urejeno — ogled v živo, še ni uporabljeno","code.statusSynced":"Pogled kode — usklajeno s platnom","action.reload":"Znova naloži","action.reloadHint":"Znova naloži vir s platna","action.applyToCanvas":"Uporabi na platnu","action.applyToCanvasHint":"Znova razčleni vir v uredljive vrstice","action.closeWithoutApplyingHint":"Zapri brez uporabe","code.source":"Vir","code.livePreview":"Ogled v živo","code.liveHtmlPreviewTitle":"Ogled HTML v živo","code.applyNote":"Uporabi razčleni vsako vrstico tabele najvišje ravni v vrstico platna, ki jo lahko še vedno izberete, prerazporedite in izbrišete — ročno napisana koda postopek preživi nespremenjena.","code.meta":"{kb} KB · {lines} vrstic","toast.sourceReloaded":"Vir znova naložen s platna","toast.sourceAppliedOne":"Vir uporabljen — 1 vrstica na platnu","toast.sourceAppliedMany":"Vir uporabljen — {rows} vrstic na platnu","toast.parseError":"Tega HTML-ja ni bilo mogoče razčleniti","modal.aiDraft":"Pomočnik za pisanje z UI","modal.aiDraftTitle":"Napišite svojo e-pošto z UI","ai.disclosure":"UI ustvari predloge na podlagi vašega povzetka. Pred pošiljanjem rezultat preglejte in uredite.","ai.goal":"Cilj","ai.tone":"Ton","ai.briefLabel":"O čem govori ta e-pošta?","ai.briefPlaceholder":"npr. jesenska kolekcija, 15 % za naročnike, brezplačna dostava nad 150 €","ai.generate":"Ustvari besedilo","ai.writing":"Pisanje…","ai.kindHeadline":"Naslov","ai.kindBody":"Glavno besedilo","ai.kindButton":"Besedilo gumba","ai.actionInsertHeading":"Vstavi kot naslov","ai.actionInsertText":"Vstavi kot besedilni blok","ai.actionInsertButton":"Vstavi kot gumb","toast.headingAdded":"Naslov dodan","toast.textBlockAdded":"Besedilni blok dodan","toast.buttonAdded":"Gumb dodan","preview.kickerMobile":"Predogled — mobilna naprava 375px","preview.kickerDesktop":"Predogled — namizje {width}px","action.close":"Zapri","toast.duplicated":"Podvojeno","toast.fileUploadedOne":"Naložena 1 datoteka","toast.fileUploadedMany":"Naloženih {count} datotek","toast.imageReplaced":"Slika zamenjana","toast.imageAdded":"Slika dodana na platno","toast.htmlCopied":"HTML kopiran v odložišče","toast.templateLoaded":"{name} naloženo","toast.snippetDefaultLabel":"Odlomek","toast.snippetInserted":"{name} vstavljeno","toast.snippetCopied":"{name} kopirano — izberite besedilni blok za vstavitev","rte.textStyle":"Slog besedila","rte.mergeTags":"Spojna polja","rte.noMergeTags":"Na voljo ni nobenega spojnega polja","rte.textColor":"Barva besedila","rte.highlightColor":"Barva poudarka","rte.removeHighlight":"Odstrani poudarek","rte.clearFormatting":"Počisti oblikovanje","action.downloadPng":"Prenesi PNG","action.screenshot":"Posnetek zaslona","action.screenshotHint":"Poglej celotno predlogo kot sliko in jo prenesi","toast.pngSaved":"Posnetek zaslona prenesen","toast.pngFailed":"Posnetek zaslona ni uspel — zunanje slike ni bilo mogoče naložiti","toast.pngCopied":"Posnetek zaslona kopiran v odložišče","toast.pngCopyFailed":"Ta brskalnik ni sprejel slike v odložišče","story.kicker":"Posnetek zaslona","story.rendering":"Posnetek zaslona se izdeluje","story.renderingHint":"Vsak blok se riše v 2× — pri dolgi predlogi to traja trenutek.","story.failed":"Posnetek zaslona ni uspel","story.failedHint":"Slike v predlogi ni bilo mogoče naložiti za zajem.","story.retry":"Poskusi znova","story.play":"Predvajaj","story.pause":"Premor","story.replay":"Predvajaj znova","story.copy":"Kopiraj","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Poganja SELISE Blocks © 2026"}})},re["core/i18n/sv.js"]=function(se,K,z){Object.assign(K,{SV:{"action.undoHint":"Ångra — ⌘Z","action.redoHint":"Gör om — ⌘⇧Z","action.chromeToDark":"Mörkt","action.chromeToLight":"Ljust","action.chromeHint":"Redigerartema ljust / mörkt","action.chromeHintToDark":"Mörkt läge","action.chromeHintToLight":"Ljust läge","action.aiDraft":"Utkast","action.aiDraftHint":"Skriv e-postens innehåll med AI","action.code":"Kod","action.codeHint":"Redigera rå HTML med direktförhandsgranskning","action.preview":"Förhandsgranskning","action.previewHint":"Förhandsgranska e-posten","action.export":"Exportera","action.exportHint":"Exportera din e-post","device.desktop":"Dator","device.desktopHint":"Datorbredd","device.mobile":"Mobil","device.mobileHint":"Mobilbredd","status.autosaveOn":"automatisk sparning på","status.saved":"sparat {time}","status.saveFailed":"sparades inte — lagringen är full","canvas.meta":"{rows} rader · {blocks} block · {width}px","tab.design":"Stil","tab.designHint":"Stila markeringen","tab.blocks":"Block","tab.blocksHint":"Innehållsblock och variabler","tab.rows":"Sektioner","tab.rowsHint":"Sektionslayouter och canvasmodell","tab.files":"Filer","tab.filesHint":"Resursbibliotek","tab.layers":"Struktur","tab.layersHint":"Dokumentstruktur","tab.settings":"Inställningar","tab.settingsHint":"E-postinställningar","tab.data":"Var.","tab.dataHint":"Variabler som tillhandahålls av din kod","inspector.blockProperties":"Blockegenskaper","inspector.sectionProperties":"Sektionsegenskaper","inspector.title":"Inspektör","inspector.sectionLabel":"Sektion","inspector.nothingSelected":"Inget markerat","action.duplicateHint":"Duplicera — ⌘D","action.deleteHint":"Ta bort — ⌫","inspector.emptyBody":'Välj en rad eller ett block på canvasen för att stila det här. Dra block från fliken <strong style="color: var(--ed-text); font-weight: 600;">Block</strong>; dubbelklicka på valfri text för att redigera direkt.',"inspector.shortcuts":"Genvägar","shortcut.undoRedo":"⌘Z / ⌘⇧Z — ångra, gör om","shortcut.duplicate":"⌘D — duplicera markering","shortcut.delete":"⌫ — ta bort markering","shortcut.export":"⌘E — exportera HTML","shortcut.escape":"ESC — avmarkera, stäng","blocks.dragHint":"Dra till canvasen","blocks.count":"{count} block","rows.sectionLayouts":"Sektionslayouter","rows.customMarkup":"Anpassad kod","rows.htmlRowHint":"Dra för att infoga, eller klicka för att lägga till — en rad i full bredd som du fyller med rå HTML","rows.rawHtmlSection":"Rå HTML-sektion","rows.rawHtmlDesc":"Sektion i full bredd, din egen kod, fortfarande dragbar","rows.canvasModel":"Canvasmodell","rows.modeRowBased":"Radbaserad","rows.modeFreeStack":"Fri stapel","rows.hintRows":"Sektionsbaserad: släpp en layout först, sedan block i dess kolumner — varje sektion har egen bakgrund, kant, flex- eller rutnätsinställningar.","rows.hintStack":"Fri stapel: utan layouter — varje block du släpper blir sin egen sektion i full bredd, staplad i ordning.","files.libraryCount":"Bibliotek — {count} filer","files.openManager":"Öppna filhanteraren","files.dragToCanvas":"Dra valfri fil direkt till canvasen för att placera den som ett bildblock.","layers.structure":"Struktur","layers.sectionSingle":"Sektion","layers.sectionMulti":"Sektion · {count} kol.","layers.column":"Kolumn {index}","layers.blockCount":"{count} block","vars.title":"Variabler","vars.fromCode":"{count} från din kod","vars.declaredNote":"Deklarerade av din applikation — canvasen visar alltid token, aldrig ett värde.","vars.filterPlaceholder":"Filtrera variabler…","vars.insertHint":"Klicka för att infoga i markerad text, rubrik eller knapp","vars.insert":"infoga","vars.noMatch":"Ingen variabel matchar det filtret.","vars.noneDeclared":"Din applikation har ännu inte deklarerat några variabler.","vars.rteHint":"När du redigerar text kan du också välja en variabel direkt från rullgardinsmenyn i den inbäddade verktygsfältet.","modal.fileManager":"Filhanterare","modal.assetsTitle":"Resurser","modal.replaceImage":"Ersätt bild","library.searchPlaceholder":"Sök filer…","action.upload":"Ladda upp","library.clickToPlace":"Klicka på en fil för att placera den · eller dra en fil till canvasen","library.clickToReplace":"Klicka på en fil för att ersätta den markerade bilden","library.storageLabel":"{count} filer · {size}","library.folders":"Mappar","library.dropHint":"Släpp bildfiler här för att ladda upp — eller använd knappen Ladda upp.","library.deleteFileHint":"Ta bort fil","library.del":"RADERA","toast.assetDeleted":"{name} borttagen","library.allFiles":"Alla filer","library.loadMore":"Ladda fler","library.empty":"Det finns inga filer här ännu.","storage.loading":"Laddar filer…","storage.uploading":"Laddar upp {count}…","storage.errLoadFailed":"Filbiblioteket kunde inte laddas — {reason}","storage.errNoLimits":"Uppladdning är avstängd: den här appen har inte satt några uppladdningsgränser.","storage.errNoMaxBytes":"Uppladdning är avstängd: ingen maximal filstorlek har angetts.","storage.errTooLarge":"{name} är {size} — gränsen är {max}.","storage.errFormat":"{name} är en {type}-fil, som inte tillåts här.","storage.errSvg":"{name} är en SVG, som den här appen inte accepterar.","storage.errDimensions":"{name} är {w}×{ht}px — gränsen är {maxW}×{maxH}px.","storage.errTooMany":"Bara {max} filer kan laddas upp åt gången.","storage.errUnreadable":"{name} är inte en läsbar bild.","storage.errUploadFailed":"{name} kunde inte laddas upp — {reason}","storage.errDeleteFailed":"{name} kunde inte tas bort — {reason}","modal.export":"Exportera","modal.exportTitle":"Tabellbaserad e-post-HTML","export.copy":"Kopiera","export.copied":"Kopierat","action.download":"Ladda ner","export.meta":"{kb} KB · tabeller + inline-stilar · Outlook-säkra bredder","modal.rawHtmlTitle":"Rå HTML, direktförhandsgranskning","code.statusEdited":"Kodvy — redigerad — förhandsgranskning live, inte tillämpad ännu","code.statusSynced":"Kodvy — synkroniserad med canvasen","action.reload":"Läs om","action.reloadHint":"Läs om källan från canvasen","action.applyToCanvas":"Tillämpa på canvas","action.applyToCanvasHint":"Tolka källan tillbaka till redigerbara rader","action.closeWithoutApplyingHint":"Stäng utan att tillämpa","code.source":"Källa","code.livePreview":"Direktförhandsgranskning","code.liveHtmlPreviewTitle":"Direkt HTML-förhandsgranskning","code.applyNote":"Tillämpa tolkar varje tabellrad på toppnivå till en canvasrad som du fortfarande kan markera, ordna om och ta bort — handskriven kod överlever processen oförändrad.","code.meta":"{kb} KB · {lines} rader","toast.sourceReloaded":"Källan omladdad från canvasen","toast.sourceAppliedOne":"Källa tillämpad — 1 rad på canvasen","toast.sourceAppliedMany":"Källa tillämpad — {rows} rader på canvasen","toast.parseError":"Kunde inte tolka den HTML-koden","modal.aiDraft":"AI-skrivassistent","modal.aiDraftTitle":"Skriv din e-post med AI","ai.disclosure":"AI skapar förslag utifrån din brief. Granska och redigera resultatet innan du skickar.","ai.goal":"Mål","ai.tone":"Ton","ai.briefLabel":"Vad handlar det här mejlet om?","ai.briefPlaceholder":"t.ex. Höstkollektion, 15% för prenumeranter, fri frakt över 1500 kr","ai.generate":"Generera text","ai.writing":"Skriver…","ai.kindHeadline":"Rubrik","ai.kindBody":"Brödtext","ai.kindButton":"Knapptext","ai.actionInsertHeading":"Infoga som rubrik","ai.actionInsertText":"Infoga som textblock","ai.actionInsertButton":"Infoga som knapp","toast.headingAdded":"Rubrik tillagd","toast.textBlockAdded":"Textblock tillagt","toast.buttonAdded":"Knapp tillagd","preview.kickerMobile":"Förhandsgranskning — mobil 375px","preview.kickerDesktop":"Förhandsgranskning — dator {width}px","action.close":"Stäng","toast.duplicated":"Duplicerad","toast.fileUploadedOne":"1 fil uppladdad","toast.fileUploadedMany":"{count} filer uppladdade","toast.imageReplaced":"Bild ersatt","toast.imageAdded":"Bild tillagd på canvasen","toast.htmlCopied":"HTML kopierad till urklipp","toast.templateLoaded":"{name} inläst","toast.snippetDefaultLabel":"Snutt","toast.snippetInserted":"{name} infogad","toast.snippetCopied":"{name} kopierad — markera ett textblock för att infoga den","rte.textStyle":"Textstil","rte.mergeTags":"Kopplingsfält","rte.noMergeTags":"Inga kopplingsfält tillgängliga","rte.textColor":"Textfärg","rte.highlightColor":"Överstrykningsfärg","rte.removeHighlight":"Ta bort överstrykning","rte.clearFormatting":"Rensa formatering","action.downloadPng":"Ladda ner PNG","action.screenshot":"Skärmbild","action.screenshotHint":"Se hela mallen som en bild och ladda ner den","toast.pngSaved":"Skärmbild nedladdad","toast.pngFailed":"Skärmbilden misslyckades — en extern bild kunde inte laddas","toast.pngCopied":"Skärmbild kopierad till urklipp","toast.pngCopyFailed":"Den här webbläsaren accepterade inte en bild i urklipp","story.kicker":"Skärmbild","story.rendering":"Skärmbilden skapas","story.renderingHint":"Varje block ritas i 2× — i en lång mall tar det ett ögonblick.","story.failed":"Skärmbilden misslyckades","story.failedHint":"En bild i mallen kunde inte laddas för fångsten.","story.retry":"Försök igen","story.play":"Spela upp","story.pause":"Pausa","story.replay":"Spela upp igen","story.copy":"Kopiera","story.meta":"{w}×{h} · skärm {i} av {n}","footer.poweredBy":"Drivs av SELISE Blocks © 2026"}})},re["core/i18n/tables.js"]=function(se,K,z){const{EN:V}=z("core/i18n/en.js"),{AR:Z}=z("core/i18n/ar.js"),{BG:ae}=z("core/i18n/bg.js"),{BN:N}=z("core/i18n/bn.js"),{CA:k}=z("core/i18n/ca.js"),{CS:O}=z("core/i18n/cs.js"),{DA:n}=z("core/i18n/da.js"),{DE:I}=z("core/i18n/de.js"),{DE_CH:T}=z("core/i18n/de-CH.js"),{DZ:d}=z("core/i18n/dz.js"),{EL:p}=z("core/i18n/el.js"),{ES:t}=z("core/i18n/es.js"),{ET:g}=z("core/i18n/et.js"),{FI:v}=z("core/i18n/fi.js"),{FR:C}=z("core/i18n/fr.js"),{HR:S}=z("core/i18n/hr.js"),{HU:j}=z("core/i18n/hu.js"),{IT:G}=z("core/i18n/it.js"),{LT:A}=z("core/i18n/lt.js"),{LV:D}=z("core/i18n/lv.js"),{NB:e}=z("core/i18n/nb.js"),{NL:u}=z("core/i18n/nl.js"),{PL:y}=z("core/i18n/pl.js"),{PT:f}=z("core/i18n/pt.js"),{RO:x}=z("core/i18n/ro.js"),{RU:M}=z("core/i18n/ru.js"),{SK:P}=z("core/i18n/sk.js"),{SL:$}=z("core/i18n/sl.js"),{SV:ee}=z("core/i18n/sv.js"),{TR:R}=z("core/i18n/tr.js"),{UK:q}=z("core/i18n/uk.js");Object.assign(K,{LOCALE_TABLES:{en:V,ar:Z,bg:ae,bn:N,ca:k,cs:O,da:n,de:I,"de-CH":T,dz:d,el:p,es:t,et:g,fi:v,fr:C,hr:S,hu:j,it:G,lt:A,lv:D,nb:e,nl:u,pl:y,pt:f,ro:x,ru:M,sk:P,sl:$,sv:ee,tr:R,uk:q}})},re["core/i18n/tr.js"]=function(se,K,z){Object.assign(K,{TR:{"action.undoHint":"Geri al — ⌘Z","action.redoHint":"Yinele — ⌘⇧Z","action.chromeToDark":"Koyu","action.chromeToLight":"Açık","action.chromeHint":"Düzenleyici teması açık / koyu","action.chromeHintToDark":"Koyu mod","action.chromeHintToLight":"Açık mod","action.aiDraft":"Taslak","action.aiDraftHint":"E-posta içeriğini yapay zekâ ile yaz","action.code":"Kod","action.codeHint":"Ham HTML’yi canlı önizlemeyle düzenle","action.preview":"Önizleme","action.previewHint":"E-postayı önizleyin","action.export":"Dışa aktar","action.exportHint":"E-postanızı dışa aktarın","device.desktop":"Masaüstü","device.desktopHint":"Masaüstü genişliği","device.mobile":"Mobil","device.mobileHint":"Mobil genişliği","status.autosaveOn":"otomatik kayıt açık","status.saved":"kaydedildi {time}","status.saveFailed":"kaydedilmedi — depolama alanı dolu","canvas.meta":"{rows} satır · {blocks} blok · {width}px","tab.design":"Stil","tab.designHint":"Seçimi biçimlendir","tab.blocks":"Bloklar","tab.blocksHint":"İçerik blokları ve değişkenler","tab.rows":"Bölümler","tab.rowsHint":"Bölüm düzenleri ve tuval modeli","tab.files":"Dosyalar","tab.filesHint":"Varlık kitaplığı","tab.layers":"Yapı","tab.layersHint":"Belge yapısı","tab.settings":"Ayarlar","tab.settingsHint":"E-posta ayarları","tab.data":"Değ.","tab.dataHint":"Kodunuz tarafından sağlanan değişkenler","inspector.blockProperties":"Blok özellikleri","inspector.sectionProperties":"Bölüm özellikleri","inspector.title":"Denetçi","inspector.sectionLabel":"Bölüm","inspector.nothingSelected":"Hiçbir şey seçilmedi","action.duplicateHint":"Çoğalt — ⌘D","action.deleteHint":"Sil — ⌫","inspector.emptyBody":'Burada biçimlendirmek için tuval üzerinde bir satır veya blok seçin. Blokları <strong style="color: var(--ed-text); font-weight: 600;">Bloklar</strong> sekmesinden sürükleyin; herhangi bir metni doğrudan düzenlemek için üzerine çift tıklayın.',"inspector.shortcuts":"Kısayollar","shortcut.undoRedo":"⌘Z / ⌘⇧Z — geri al, yinele","shortcut.duplicate":"⌘D — seçimi çoğalt","shortcut.delete":"⌫ — seçimi sil","shortcut.export":"⌘E — HTML dışa aktar","shortcut.escape":"ESC — seçimi kaldır, kapat","blocks.dragHint":"Tuvale sürükleyin","blocks.count":"{count} blok","rows.sectionLayouts":"Bölüm düzenleri","rows.customMarkup":"Özel işaretleme","rows.htmlRowHint":"Eklemek için sürükleyin veya eklemek için tıklayın — ham HTML ile doldurduğunuz tam genişlikte bir satır","rows.rawHtmlSection":"Ham HTML bölümü","rows.rawHtmlDesc":"Tam genişlikte bölüm, kendi işaretlemeniz, hâlâ sürüklenebilir","rows.canvasModel":"Tuval modeli","rows.modeRowBased":"Satır tabanlı","rows.modeFreeStack":"Serbest yığın","rows.hintRows":"Bölüm tabanlı: önce bir düzen bırakın, ardından sütunlarına bloklar bırakın — her bölümün kendi arka planı, kenarlığı, flex veya ızgara ayarları vardır.","rows.hintStack":"Serbest yığın: düzen olmadan — bıraktığınız her blok, sırayla istiflenen kendi tam genişlikteki bölümü haline gelir.","files.libraryCount":"Kitaplık — {count} dosya","files.openManager":"Dosya yöneticisini aç","files.dragToCanvas":"Görsel blok olarak yerleştirmek için herhangi bir dosyayı doğrudan tuvale sürükleyin.","layers.structure":"Yapı","layers.sectionSingle":"Bölüm","layers.sectionMulti":"Bölüm · {count} sütun","layers.column":"Sütun {index}","layers.blockCount":"{count} blok","vars.title":"Değişkenler","vars.fromCode":"Kodunuzdan {count}","vars.declaredNote":"Uygulamanız tarafından tanımlandı — tuval her zaman değeri değil, jetonu gösterir.","vars.filterPlaceholder":"Değişkenleri filtrele…","vars.insertHint":"Seçili metne, başlığa veya düğmeye eklemek için tıklayın","vars.insert":"ekle","vars.noMatch":"Bu filtreyle eşleşen değişken yok.","vars.noneDeclared":"Uygulamanız henüz herhangi bir değişken tanımlamadı.","vars.rteHint":"Metni düzenlerken, satır içi araç çubuğunun açılır menüsünden doğrudan bir değişken de seçebilirsiniz.","modal.fileManager":"Dosya yöneticisi","modal.assetsTitle":"Varlıklar","modal.replaceImage":"Görseli değiştir","library.searchPlaceholder":"Dosyaları ara…","action.upload":"Yükle","library.clickToPlace":"Yerleştirmek için bir dosyaya tıklayın · veya bir dosyayı tuvale sürükleyin","library.clickToReplace":"Seçili görseli değiştirmek için bir dosyaya tıklayın","library.storageLabel":"{count} dosya · {size}","library.folders":"Klasörler","library.dropHint":"Yüklemek için görsel dosyalarını buraya bırakın — veya Yükle düğmesini kullanın.","library.deleteFileHint":"Dosyayı sil","library.del":"SİL","toast.assetDeleted":"{name} silindi","library.allFiles":"Tüm dosyalar","library.loadMore":"Daha fazla yükle","library.empty":"Burada henüz dosya yok.","storage.loading":"Dosyalar yükleniyor…","storage.uploading":"{count} yükleniyor…","storage.errLoadFailed":"Dosya kitaplığı yüklenemedi — {reason}","storage.errNoLimits":"Yüklemeler kapalı: bu uygulama hiçbir yükleme sınırı belirlemedi.","storage.errNoMaxBytes":"Yüklemeler kapalı: en büyük dosya boyutu belirlenmedi.","storage.errTooLarge":"{name} {size} — sınır {max}.","storage.errFormat":"{name} bir {type} dosyası ve burada izin verilmiyor.","storage.errSvg":"{name} bir SVG ve bu uygulama SVG kabul etmiyor.","storage.errDimensions":"{name} {w}×{ht}px — sınır {maxW}×{maxH}px.","storage.errTooMany":"Bir seferde yalnızca {max} dosya yüklenebilir.","storage.errUnreadable":"{name} okunabilir bir görsel değil.","storage.errUploadFailed":"{name} yüklenemedi — {reason}","storage.errDeleteFailed":"{name} silinemedi — {reason}","modal.export":"Dışa aktar","modal.exportTitle":"Tabloya dayalı e-posta HTML’si","export.copy":"Kopyala","export.copied":"Kopyalandı","action.download":"İndir","export.meta":"{kb} KB · tablolar + satır içi stiller · Outlook için güvenli genişlikler","modal.rawHtmlTitle":"Ham HTML, canlı önizleme","code.statusEdited":"Kod görünümü — düzenlendi — önizleme canlı, henüz uygulanmadı","code.statusSynced":"Kod görünümü — tuvalle senkronize","action.reload":"Yeniden yükle","action.reloadHint":"Kaynağı tuvalden yeniden yükle","action.applyToCanvas":"Tuvale uygula","action.applyToCanvasHint":"Kaynağı tekrar düzenlenebilir satırlara ayrıştır","action.closeWithoutApplyingHint":"Uygulamadan kapat","code.source":"Kaynak","code.livePreview":"Canlı önizleme","code.liveHtmlPreviewTitle":"Canlı HTML önizlemesi","code.applyNote":"Uygulama, en üst düzey her tablo satırını, hâlâ seçebileceğiniz, yeniden sıralayabileceğiniz ve silebileceğiniz bir tuval satırına ayrıştırır — elle yazılmış kod bu süreçten değişmeden çıkar.","code.meta":"{kb} KB · {lines} satır","toast.sourceReloaded":"Kaynak tuvalden yeniden yüklendi","toast.sourceAppliedOne":"Kaynak uygulandı — tuvalde 1 satır","toast.sourceAppliedMany":"Kaynak uygulandı — tuvalde {rows} satır","toast.parseError":"Bu HTML ayrıştırılamadı","modal.aiDraft":"Yapay zekâ yazma asistanı","modal.aiDraftTitle":"E-postanızı yapay zekâ ile yazın","ai.disclosure":"Yapay zekâ, özetinizden öneriler üretir. Göndermeden önce sonucu gözden geçirin ve düzenleyin.","ai.goal":"Hedef","ai.tone":"Ton","ai.briefLabel":"Bu e-posta ne hakkında?","ai.briefPlaceholder":"örn. Sonbahar koleksiyonu, aboneler için %15, 150₺ üzeri ücretsiz kargo","ai.generate":"Metin oluştur","ai.writing":"Yazılıyor…","ai.kindHeadline":"Başlık","ai.kindBody":"Gövde metni","ai.kindButton":"Düğme metni","ai.actionInsertHeading":"Başlık olarak ekle","ai.actionInsertText":"Metin bloğu olarak ekle","ai.actionInsertButton":"Düğme olarak ekle","toast.headingAdded":"Başlık eklendi","toast.textBlockAdded":"Metin bloğu eklendi","toast.buttonAdded":"Düğme eklendi","preview.kickerMobile":"Önizleme — mobil 375px","preview.kickerDesktop":"Önizleme — masaüstü {width}px","action.close":"Kapat","toast.duplicated":"Çoğaltıldı","toast.fileUploadedOne":"1 dosya yüklendi","toast.fileUploadedMany":"{count} dosya yüklendi","toast.imageReplaced":"Görsel değiştirildi","toast.imageAdded":"Görsel tuvale eklendi","toast.htmlCopied":"HTML panoya kopyalandı","toast.templateLoaded":"{name} yüklendi","toast.snippetDefaultLabel":"Snippet","toast.snippetInserted":"{name} eklendi","toast.snippetCopied":"{name} kopyalandı — eklemek için bir metin bloğu seçin","rte.textStyle":"Metin stili","rte.mergeTags":"Birleştirme alanları","rte.noMergeTags":"Kullanılabilir birleştirme alanı yok","rte.textColor":"Metin rengi","rte.highlightColor":"Vurgu rengi","rte.removeHighlight":"Vurguyu kaldır","rte.clearFormatting":"Biçimlendirmeyi temizle","action.downloadPng":"PNG indir","action.screenshot":"Ekran görüntüsü","action.screenshotHint":"Şablonun tamamını görsel olarak görün, sonra indirin","toast.pngSaved":"Ekran görüntüsü indirildi","toast.pngFailed":"Ekran görüntüsü alınamadı — dış bir görsel yüklenemedi","toast.pngCopied":"Ekran görüntüsü panoya kopyalandı","toast.pngCopyFailed":"Bu tarayıcı panoya görsel almayı kabul etmedi","story.kicker":"Ekran görüntüsü","story.rendering":"Ekran görüntüsü oluşturuluyor","story.renderingHint":"Her blok 2× çiziliyor — uzun bir şablonda bu biraz sürer.","story.failed":"Ekran görüntüsü alınamadı","story.failedHint":"Şablondaki bir görsel, yakalama için yüklenemedi.","story.retry":"Yeniden deneyin","story.play":"Oynat","story.pause":"Duraklat","story.replay":"Yeniden oynat","story.copy":"Kopyala","story.meta":"{w}×{h} · ekran {i}/{n}","footer.poweredBy":"SELISE Blocks tarafından desteklenir © 2026"}})},re["core/i18n/uk.js"]=function(se,K,z){Object.assign(K,{UK:{"action.undoHint":"Скасувати — ⌘Z","action.redoHint":"Повторити — ⌘⇧Z","action.chromeToDark":"Темна","action.chromeToLight":"Світла","action.chromeHint":"Тема редактора світла / темна","action.chromeHintToDark":"Темний режим","action.chromeHintToLight":"Світлий режим","action.aiDraft":"Чернетка","action.aiDraftHint":"Написати вміст листа за допомогою ШІ","action.code":"Код","action.codeHint":"Редагувати вихідний HTML із живим переглядом","action.preview":"Перегляд","action.previewHint":"Переглянути лист","action.export":"Експорт","action.exportHint":"Експортувати ваш лист","device.desktop":"Комп’ютер","device.desktopHint":"Ширина для комп’ютера","device.mobile":"Телефон","device.mobileHint":"Ширина для телефона","status.autosaveOn":"автозбереження увімкнено","status.saved":"збережено {time}","status.saveFailed":"не збережено — сховище заповнено","canvas.meta":"{rows} рядків · {blocks} блоків · {width}px","tab.design":"Стиль","tab.designHint":"Оформити виділене","tab.blocks":"Блоки","tab.blocksHint":"Блоки вмісту та змінні","tab.rows":"Секції","tab.rowsHint":"Макети секцій і модель полотна","tab.files":"Файли","tab.filesHint":"Бібліотека файлів","tab.layers":"Структура","tab.layersHint":"Структура документа","tab.settings":"Налаштування","tab.settingsHint":"Налаштування листа","tab.data":"Змін.","tab.dataHint":"Змінні, надані вашим кодом","inspector.blockProperties":"Властивості блока","inspector.sectionProperties":"Властивості секції","inspector.title":"Інспектор","inspector.sectionLabel":"Секція","inspector.nothingSelected":"Нічого не вибрано","action.duplicateHint":"Дублювати — ⌘D","action.deleteHint":"Видалити — ⌫","inspector.emptyBody":'Виберіть рядок або блок на полотні, щоб оформити його тут. Перетягніть блоки з вкладки <strong style="color: var(--ed-text); font-weight: 600;">Блоки</strong>; двічі клацніть текст, щоб редагувати його на місці.',"inspector.shortcuts":"Гарячі клавіші","shortcut.undoRedo":"⌘Z / ⌘⇧Z — скасувати, повторити","shortcut.duplicate":"⌘D — дублювати виділене","shortcut.delete":"⌫ — видалити виділене","shortcut.export":"⌘E — експортувати HTML","shortcut.escape":"ESC — зняти виділення, закрити","blocks.dragHint":"Перетягніть на полотно","blocks.count":"{count} блоків","rows.sectionLayouts":"Макети секцій","rows.customMarkup":"Власна розмітка","rows.htmlRowHint":"Перетягніть, щоб вставити, або клацніть, щоб додати — рядок на всю ширину, який ви заповнюєте вихідним HTML","rows.rawHtmlSection":"Секція з вихідним HTML","rows.rawHtmlDesc":"Секція на всю ширину, ваша власна розмітка, все ще перетягується","rows.canvasModel":"Модель полотна","rows.modeRowBased":"На основі рядків","rows.modeFreeStack":"Вільний стек","rows.hintRows":"На основі секцій: спочатку розмістіть макет, потім блоки в його колонках — кожна секція має власний фон, межу, налаштування flex або сітки.","rows.hintStack":"Вільний стек: без макетів — кожен доданий блок стає власною секцією на всю ширину, укладеною по порядку.","files.libraryCount":"Бібліотека — {count} файлів","files.openManager":"Відкрити файловий менеджер","files.dragToCanvas":"Перетягніть будь-який файл прямо на полотно, щоб розмістити його як блок зображення.","layers.structure":"Структура","layers.sectionSingle":"Секція","layers.sectionMulti":"Секція · {count} кол.","layers.column":"Колонка {index}","layers.blockCount":"{count} бл.","vars.title":"Змінні","vars.fromCode":"{count} з вашого коду","vars.declaredNote":"Оголошені вашим застосунком — полотно завжди показує токен, ніколи значення.","vars.filterPlaceholder":"Фільтр змінних…","vars.insertHint":"Натисніть, щоб вставити у вибраний текст, заголовок або кнопку","vars.insert":"вставити","vars.noMatch":"Немає змінних, що відповідають цьому фільтру.","vars.noneDeclared":"Ваш застосунок ще не оголосив жодних змінних.","vars.rteHint":"Під час редагування тексту ви також можете вибрати змінну прямо з випадного списку вбудованої панелі інструментів.","modal.fileManager":"Файловий менеджер","modal.assetsTitle":"Файли","modal.replaceImage":"Замінити зображення","library.searchPlaceholder":"Пошук файлів…","action.upload":"Завантажити","library.clickToPlace":"Натисніть на файл, щоб розмістити · або перетягніть файл на полотно","library.clickToReplace":"Натисніть на файл, щоб замінити вибране зображення","library.storageLabel":"{count} файлів · {size}","library.folders":"Папки","library.dropHint":"Перетягніть файли зображень сюди для завантаження — або скористайтеся кнопкою «Завантажити».","library.deleteFileHint":"Видалити файл","library.del":"ВИДАЛ","toast.assetDeleted":"{name} видалено","library.allFiles":"Усі файли","library.loadMore":"Завантажити ще","library.empty":"Тут ще немає файлів.","storage.loading":"Завантаження файлів…","storage.uploading":"Завантаження {count}…","storage.errLoadFailed":"Не вдалося завантажити бібліотеку файлів — {reason}","storage.errNoLimits":"Завантаження вимкнено: цей застосунок не задав обмежень на завантаження.","storage.errNoMaxBytes":"Завантаження вимкнено: не задано максимальний розмір файлу.","storage.errTooLarge":"{name} важить {size} — обмеження {max}.","storage.errFormat":"{name} — файл {type}, який тут не дозволено.","storage.errSvg":"{name} — SVG, який цей застосунок не приймає.","storage.errDimensions":"{name} має {w}×{ht}px — обмеження {maxW}×{maxH}px.","storage.errTooMany":"За один раз можна завантажити лише {max} файлів.","storage.errUnreadable":"{name} не є придатним для читання зображенням.","storage.errUploadFailed":"Не вдалося завантажити {name} — {reason}","storage.errDeleteFailed":"Не вдалося видалити {name} — {reason}","modal.export":"Експорт","modal.exportTitle":"HTML листа на основі таблиць","export.copy":"Копіювати","export.copied":"Скопійовано","action.download":"Завантажити","export.meta":"{kb} КБ · таблиці + вбудовані стилі · ширини, безпечні для Outlook","modal.rawHtmlTitle":"Вихідний HTML, живий перегляд","code.statusEdited":"Перегляд коду — змінено — перегляд наживо, ще не застосовано","code.statusSynced":"Перегляд коду — синхронізовано з полотном","action.reload":"Оновити","action.reloadHint":"Оновити джерело з полотна","action.applyToCanvas":"Застосувати до полотна","action.applyToCanvasHint":"Розібрати джерело назад у редаговані рядки","action.closeWithoutApplyingHint":"Закрити без застосування","code.source":"Джерело","code.livePreview":"Живий перегляд","code.liveHtmlPreviewTitle":"Живий перегляд HTML","code.applyNote":"Застосування розбирає кожен рядок таблиці верхнього рівня в рядок полотна, який ви все ще можете вибирати, переупорядковувати та видаляти — розмітка, написана вручну, переживає цей процес.","code.meta":"{kb} КБ · {lines} рядків","toast.sourceReloaded":"Джерело оновлено з полотна","toast.sourceAppliedOne":"Джерело застосовано — 1 рядок на полотні","toast.sourceAppliedMany":"Джерело застосовано — {rows} рядків на полотні","toast.parseError":"Не вдалося розібрати цей HTML","modal.aiDraft":"ШІ-помічник із написання","modal.aiDraftTitle":"Напишіть свій лист за допомогою ШІ","ai.disclosure":"ШІ створює пропозиції за вашим брифом. Перегляньте та відредагуйте результат перед надсиланням.","ai.goal":"Мета","ai.tone":"Тон","ai.briefLabel":"Про що цей лист?","ai.briefPlaceholder":"напр. Осіння колекція, 15% для підписників, безкоштовна доставка від 150$","ai.generate":"Згенерувати текст","ai.writing":"Пишемо…","ai.kindHeadline":"Заголовок","ai.kindBody":"Основний текст","ai.kindButton":"Текст кнопки","ai.actionInsertHeading":"Вставити як заголовок","ai.actionInsertText":"Вставити як текстовий блок","ai.actionInsertButton":"Вставити як кнопку","toast.headingAdded":"Заголовок додано","toast.textBlockAdded":"Текстовий блок додано","toast.buttonAdded":"Кнопку додано","preview.kickerMobile":"Перегляд — телефон 375px","preview.kickerDesktop":"Перегляд — комп’ютер {width}px","action.close":"Закрити","toast.duplicated":"Продубльовано","toast.fileUploadedOne":"Завантажено 1 файл","toast.fileUploadedMany":"Завантажено файлів: {count}","toast.imageReplaced":"Зображення замінено","toast.imageAdded":"Зображення додано на полотно","toast.htmlCopied":"HTML скопійовано в буфер обміну","toast.templateLoaded":"{name} завантажено","toast.snippetDefaultLabel":"Фрагмент","toast.snippetInserted":"{name} вставлено","toast.snippetCopied":"{name} скопійовано — виберіть текстовий блок, щоб вставити","rte.textStyle":"Стиль тексту","rte.mergeTags":"Поля злиття","rte.noMergeTags":"Полів злиття немає","rte.textColor":"Колір тексту","rte.highlightColor":"Колір виділення","rte.removeHighlight":"Прибрати виділення","rte.clearFormatting":"Очистити форматування","action.downloadPng":"Завантажити PNG","action.screenshot":"Знімок екрана","action.screenshotHint":"Переглянути весь шаблон як зображення та завантажити його","toast.pngSaved":"Знімок завантажено","toast.pngFailed":"Знімок не вдався — не вдалося завантажити зовнішнє зображення","toast.pngCopied":"Знімок скопійовано в буфер обміну","toast.pngCopyFailed":"Цей браузер не прийняв зображення в буфер обміну","story.kicker":"Знімок екрана","story.rendering":"Створення знімка","story.renderingHint":"Кожен блок малюється в 2× — на довгому шаблоні це триває мить.","story.failed":"Знімок не вдався","story.failedHint":"Зображення в шаблоні не вдалося завантажити для знімка.","story.retry":"Спробувати ще раз","story.play":"Відтворити","story.pause":"Пауза","story.replay":"Відтворити ще раз","story.copy":"Копіювати","story.meta":"{w}×{h} · екран {i} з {n}","footer.poweredBy":"Працює на SELISE Blocks © 2026"}})},re["core/icons.js"]=function(se,K,z){const V={text:["M4 6h16","M4 12h12","M4 18h9"],image:[["rect",3,4,18,16],["circle",8.5,9.5,1.5],"M3 17l5-5 4 4 3-3 6 6"],folder:["M3 7h7l2 2h9v10H3z","M3 7V5h7l2 2"],button:[["rect",3,8,18,8],"M8 12h8"],divider:["M3 12h18","M6 7h12","M6 17h12"],spacer:["M3 5h18","M3 19h18","M12 9v6","M9.5 11.5L12 9l2.5 2.5","M9.5 12.5L12 15l2.5-2.5"],social:[["rect",3,9,5,6],["rect",9.5,9,5,6],["rect",16,9,5,6]],video:[["rect",3,5,18,14],"M10 9.5l5 2.5-5 2.5z"],html:["M9 8l-4 4 4 4","M15 8l4 4-4 4"],product:[["rect",3,6,18,14],"M3 11h18","M9 6v5"],countdown:[["circle",12,13,8],"M12 9.5V13l2.5 1.5","M9 3h6"],menu:[["rect",3,4,18,5],"M6 14h5","M13 14h5","M6 18h12"],grip:[["circle",9,7,1],["circle",15,7,1],["circle",9,12,1],["circle",15,12,1],["circle",9,17,1],["circle",15,17,1]],move:["M12 3v18","M3 12h18","M9.5 5.5L12 3l2.5 2.5","M9.5 18.5L12 21l2.5-2.5","M5.5 9.5L3 12l2.5 2.5","M18.5 9.5L21 12l-2.5 2.5"],sliders:["M4 7h9","M19 7h1",["circle",16,7,2.2],"M4 17h3","M13 17h7",["circle",10,17,2.2]],footer:[["rect",3,4,18,16],"M3 15h18","M7 19h6"],up:["M12 19V5","M6 11l6-6 6 6"],down:["M12 5v14","M6 13l6 6 6-6"],copy:[["rect",9,9,12,12],"M15 5H5a2 2 0 0 0-2 2v10"],trash:["M4 7h16","M9 7V5h6v2","M6 7l1 12h10l1-12"],undo:["M3 8h11a5 5 0 0 1 0 10H8","M7 4L3 8l4 4"],redo:["M21 8H10a5 5 0 0 0 0 10h6","M17 4l4 4-4 4"],eye:["M2 12s3.6-6 10-6 10 6 10 6-3.6 6-10 6-10-6-10-6z",["circle",12,12,3]],monitor:[["rect",3,4,18,13],"M8 21h8","M12 17v4"],phone:[["rect",7,2,10,20],"M10.5 5h3","M11.5 19h1"],download:["M12 4v11","M7.5 11L12 15.5 16.5 11","M4 20h16"],upload:["M12 20V9","M7.5 13.5L12 9l4.5 4.5","M4 4h16"],moon:["M20 14.5A8.5 8.5 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z"],sun:[["circle",12,12,4.2],"M12 3v2","M12 19v2","M3 12h2","M19 12h2","M5.6 5.6l1.4 1.4","M17 17l1.4 1.4","M18.4 5.6L17 7","M7 17l-1.4 1.4"],spark:["M12 4l1.7 4.8L18.5 10.5l-4.8 1.7L12 17l-1.7-4.8L5.5 10.5l4.8-1.7z","M18 17l.8 2.2L21 20l-2.2.8L18 23l-.8-2.2L15 20l2.2-.8z"],code:["M8 7l-5 5 5 5","M16 7l5 5-5 5","M13 5l-2 14"],bold:["M7 5h6a3.5 3.5 0 0 1 0 7H7z","M7 12h7a3.5 3.5 0 0 1 0 7H7z"],italic:["M15 5h-4","M13 19H9","M14 5l-3 14"],underline:["M7 4v7a5 5 0 0 0 10 0V4","M6 20h12"],strike:["M4 12h16","M8 7a4 3 0 0 1 8 0","M8 16a4 3 0 0 0 8 0"],link:["M10 13a4 4 0 0 0 6 .5l2-2a4 4 0 0 0-5.5-5.5l-1 1","M14 11a4 4 0 0 0-6-.5l-2 2A4 4 0 0 0 11.5 18l1-1"],list:["M9 6h11","M9 12h11","M9 18h11","M4.5 6h.6","M4.5 12h.6","M4.5 18h.6"],clear:["M6 6l12 12","M18 6L6 18"],tag:["M4 8h4","M4 16h4","M20 8h-4","M20 16h-4","M10 5l4 14"],play:["M8 5.5l10 6.5-10 6.5z"],pause:["M9.5 5v14","M14.5 5v14"],refresh:["M20 11a8 8 0 1 0-2.3 6.3","M20 5v6h-6"],check:["M4 12.5l5 5L20 7"],plus:["M12 5v14","M5 12h14"],minus:["M5 12h14"],superscript:["M4 18 9 6l5 12","M6 14h6","M16 5h4l-4 5h4"],subscript:["M4 16 9 4l5 12","M6 12h6","M16 15h4l-4 5h4"],typeColor:["M5 18 11 5h2l6 13","M7.5 13h9","M4 21h16"],highlighter:["M7 15 16 6l3 3-9 9z","M5 17l2 2","M4 21h16"],eraser:["M4 16 13 7l5 5-8 8H6z","M12 20h8"],formatClear:["M5 18 11 5h2l4 9","M7.5 13h7","M16 17l5 5","M21 17l-5 5"],chevronDown:["M7 9l5 5 5-5"],x:["M4 4l16 16","M20 4L4 20"],instagram:[["rect",3,3,18,18],["circle",12,12,4],["circle",17,7,.9]],linkedin:[["rect",3,3,18,18],"M8 10v7",["circle",8,7.2,.9],"M12 17v-4a2.5 2.5 0 0 1 5 0v4"],facebook:[["rect",3,3,18,18],"M15 8h-1.5A2.5 2.5 0 0 0 11 10.5V21","M8.5 13h5"],youtube:[["rect",2.5,6,19,12],"M11 10l4 2-4 2z"],mail:[["rect",3,5,18,14],"M3 7l9 6 9-6"],mailSpark:[["rect",3,6,16,12],"M4 8l7 5 7-5","M21 3v4","M19 5h4"],globe:[["circle",12,12,9],"M3 12h18","M12 3a15 15 0 0 1 0 18","M12 3a15 15 0 0 0 0 18"],heading:["M6 5v14","M18 5v14","M6 12h12"],quote:[["rect",4,6,5,5],["rect",15,6,5,5],"M9 11c0 4-1.7 5.7-5 6.4","M20 11c0 4-1.7 5.7-5 6.4"],table:[["rect",3,4,18,16],"M3 9h18","M3 14.5h18","M9 9v11","M15 9v11"],card:[["rect",3,4,18,16],"M3 12h18","M7 16h8"],hero:[["rect",3,4,18,16],"M6 11h12","M6 15h6",["rect",14.5,13.5,4,3]],stats:["M5 19v-7","M12 19V5","M19 19v-4","M3 19h18"],gallery:[["rect",3,4,7.5,7.5],["rect",13.5,4,7.5,7.5],["rect",3,12.5,7.5,7.5],["rect",13.5,12.5,7.5,7.5]],embed:[["rect",2.5,5,19,14],"M2.5 9h19","M10.5 11.5l3.5 2-3.5 2z"],css:["M5 4h14l-1.5 15L12 21l-5.5-2z","M8.5 9h7","M9 13h5"],codeblock:[["rect",3,4,18,16],"M9.5 10l-2 2 2 2","M14.5 10l2 2-2 2"],data:["M4 6c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z","M4 6v12c0 1.7 3.6 3 8 3s8-1.3 8-3V6","M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"],condition:["M12 4v5","M12 9c0 4-5.5 3-5.5 9","M12 9c0 4 5.5 3 5.5 9","M4.5 15.5L6.5 18l2-2.5","M15.5 15.5l2 2.5 2-2.5"],loop:["M17 3l4 4-4 4","M3 11V9a2 2 0 0 1 2-2h16","M7 21l-4-4 4-4","M21 13v2a2 2 0 0 1-2 2H3"],box:[["rect",3,4,18,16],["rect",7,8,10,8]],grid:[["rect",3,5,8,14],["rect",13,5,8,14]],svg:["M4 19L10 5l4 9 2-3 4 8z",["circle",7.5,7.5,2]],form:[["rect",3,5,18,5],["rect",3,13,11,5],"M17 15.5h4"],script:["M9 5H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h3","M15 5h3a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-3","M13 8l-2 8"],anchor:[["circle",12,6,2.5],"M12 8.5V20","M5 14a7 7 0 0 0 14 0"],paint:["M5 11V6a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5H5z","M5 11h13","M11 11v4","M9 15h4v5H9z"],alignLeft:["M4 6h16","M4 12h10","M4 18h13"],alignCenter:["M4 6h16","M7 12h10","M6 18h12"],alignRight:["M4 6h16","M10 12h10","M7 18h13"],alignJustify:["M4 6h16","M4 12h16","M4 18h16"],listOrdered:["M9 6h11","M9 12h11","M9 18h11","M4 5.5h1.5V9","M4 15h2v3H4"],indent:["M11 6h9","M11 12h9","M11 18h9","M4 9l3 3-3 3"],outdent:["M11 6h9","M11 12h9","M11 18h9","M7 9l-3 3 3 3"],unlink:["M10 13a4 4 0 0 0 4.6 1.4","M14 11a4 4 0 0 0-4.6-1.4","M4 4l16 16"],inlineCode:["M8.5 9l-3 3 3 3","M15.5 9l3 3-3 3"],tiktok:[["circle",9,16,3],"M12 16V4","M12 6c1.5 1.5 3 2 5 2v2"],pinterest:[["circle",12,12,9],"M9 16c1-2 1.5-4 2-7a2.2 2.2 0 1 1 4.4 0.3c-0.2 2-1.4 3.7-3.4 3.7"],snapchat:["M12 4c3 0 5 2.2 5 5.2 0 1 0.2 2 0.8 2.6 0.6 0.6 1.2 0.8 1.2 1.4 0 0.8-1 1-1.8 1.2-0.2 1 0.4 1.6 1.4 1.8-0.2 0.8-1.4 1-2.2 1-0.6 1.6-2 2.6-4.4 2.6s-3.8-1-4.4-2.6c-0.8 0-2-0.2-2.2-1 1-0.2 1.6-0.8 1.4-1.8-0.8-0.2-1.8-0.4-1.8-1.2 0-0.6 0.6-0.8 1.2-1.4 0.6-0.6 0.8-1.6 0.8-2.6C7 6.2 9 4 12 4z"],whatsapp:[["circle",12,12,9],"M8.5 15.5l0.8-2.8a5 5 0 1 1 2.9 2.6z"],threads:["M8 8c-2 1-3 3-3 5.5 0 3.5 2.5 5.5 6 5.5 3 0 5-1.5 5-4 0-1.8-1.2-3-3-3.3 1.3-0.3 2.2-1.2 2.2-2.5 0-1.8-1.7-3-4-3-2 0-3.3 0.8-4 2"],discord:["M7 8c3-1.3 7-1.3 10 0","M6 9c-1.5 3-2 6-1.5 8.5 1.8 1.3 3.5 2 3.5 2l1-1.7c-0.6-0.2-1.2-0.5-1.7-0.8","M18 9c1.5 3 2 6 1.5 8.5-1.8 1.3-3.5 2-3.5 2l-1-1.7c0.6-0.2 1.2-0.5 1.7-0.8",["circle",9,13,1.1],["circle",15,13,1.1]],telegram:[["circle",12,12,9],"M7.5 12.3l9-4.3-3 9-2.3-3.2-2 1.7-0.2-2.7z"],reddit:[["circle",12,14,6],"M12 8V5",["circle",12,4.3,.9],["circle",9.5,14,1],["circle",14.5,14,1],"M9 17c1 1 5 1 6 0"],spotify:[["circle",12,12,9],"M7.5 10c3-1 6-1 9 0","M7.8 13c2.5-0.8 5-0.8 7.5 0","M8.2 16c2-0.6 4-0.6 6 0"],behance:["M4 7h6a2.5 2.5 0 0 1 0 5H4z","M4 12h6.5a2.7 2.7 0 0 1 0 5.4H4z","M14 12a4 4 0 0 1 8 0","M14 14h8","M15.5 9h5"],dribbble:[["circle",12,12,9],"M4 10c4 1.2 12 1.2 16.5 0","M8.5 4.5c2.5 3 5 8.5 5 14.5","M9 20c2-4 7-6 11.5-5"]},Z={behance:"M16.969 16.927a2.561 2.561 0 0 0 1.901.677 2.501 2.501 0 0 0 1.531-.475c.362-.235.636-.584.779-.99h2.585a5.091 5.091 0 0 1-1.9 2.896 5.292 5.292 0 0 1-3.091.88 5.839 5.839 0 0 1-2.284-.433 4.871 4.871 0 0 1-1.723-1.211 5.657 5.657 0 0 1-1.08-1.874 7.057 7.057 0 0 1-.383-2.393c-.005-.8.129-1.595.396-2.349a5.313 5.313 0 0 1 5.088-3.604 4.87 4.87 0 0 1 2.376.563c.661.362 1.231.87 1.668 1.485a6.2 6.2 0 0 1 .943 2.133c.194.821.263 1.666.205 2.508h-7.699c-.063.79.184 1.574.688 2.187ZM6.947 4.084a8.065 8.065 0 0 1 1.928.198 4.29 4.29 0 0 1 1.49.638c.418.303.748.711.958 1.182.241.579.357 1.203.341 1.83a3.506 3.506 0 0 1-.506 1.961 3.726 3.726 0 0 1-1.503 1.287 3.588 3.588 0 0 1 2.027 1.437c.464.747.697 1.615.67 2.494a4.593 4.593 0 0 1-.423 2.032 3.945 3.945 0 0 1-1.163 1.413 5.114 5.114 0 0 1-1.683.807 7.135 7.135 0 0 1-1.928.259H0V4.084h6.947Zm-.235 12.9c.308.004.616-.029.916-.099a2.18 2.18 0 0 0 .766-.332c.228-.158.411-.371.534-.619.142-.317.208-.663.191-1.009a2.08 2.08 0 0 0-.642-1.715 2.618 2.618 0 0 0-1.696-.505h-3.54v4.279h3.471Zm13.635-5.967a2.13 2.13 0 0 0-1.654-.619 2.336 2.336 0 0 0-1.163.259 2.474 2.474 0 0 0-.738.62 2.359 2.359 0 0 0-.396.792c-.074.239-.12.485-.137.734h4.769a3.239 3.239 0 0 0-.679-1.785l-.002-.001Zm-13.813-.648a2.254 2.254 0 0 0 1.423-.433c.399-.355.607-.88.56-1.413a1.916 1.916 0 0 0-.178-.891 1.298 1.298 0 0 0-.495-.533 1.851 1.851 0 0 0-.711-.274 3.966 3.966 0 0 0-.835-.073H3.241v3.631h3.293v-.014ZM21.62 5.122h-5.976v1.527h5.976V5.122Z",discord:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z",dribbble:"M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12-5.385 12-12 12zm10.12-10.358c-.35-.11-3.17-.953-6.384-.438 1.34 3.684 1.887 6.684 1.992 7.308 2.3-1.555 3.936-4.02 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4 1.73 1.358 3.92 2.166 6.29 2.166 1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765.135-.045.27-.084.405-.12-.26-.585-.54-1.167-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248-1.698-3.018-3.53-5.558-3.8-5.928-2.868 1.35-5.01 3.99-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6 3.645-1.365 5.19-3.44 5.373-3.702-1.81-1.61-4.19-2.586-6.795-2.586-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04.24.49.47.985.68 1.486.08.18.15.36.22.53 3.41-.43 6.8.26 7.14.33-.02-2.42-.88-4.64-2.31-6.38z",facebook:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",instagram:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",linkedin:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z",pinterest:"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z",reddit:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",snapchat:"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z",spotify:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",telegram:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",threads:"M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.783 3.631 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z",tiktok:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",whatsapp:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",x:"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z",youtube:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"},ae={instagram:"#E1306C",facebook:"#1877F2",linkedin:"#0A66C2",youtube:"#FF0000",x:"#0F1419",mail:"#6B6F73",globe:"#6B6F73",tiktok:"#111111",pinterest:"#E60023",snapchat:"#FFFC00",whatsapp:"#25D366",threads:"#101010",discord:"#5865F2",telegram:"#26A5E4",reddit:"#FF4500",spotify:"#1DB954",behance:"#1769FF",dribbble:"#EA4C89"};function N(d){const p=String(d||"").replace("#",""),t=p.length===3?p.split("").map(j=>j+j).join(""):p.padEnd(6,"0"),g=parseInt(t.slice(0,2),16)||0,v=parseInt(t.slice(2,4),16)||0,C=parseInt(t.slice(4,6),16)||0;return(.299*g+.587*v+.114*C)/255>.6?"#14171a":"#ffffff"}const k="http://www.w3.org/2000/svg";function O(d,p){const t=V[d]||V.globe,g=document.createElementNS(k,"svg");return g.setAttribute("width",String(p||18)),g.setAttribute("height",String(p||18)),g.setAttribute("viewBox","0 0 24 24"),g.setAttribute("fill","none"),g.setAttribute("stroke","currentColor"),g.setAttribute("stroke-width","1.5"),g.setAttribute("stroke-linecap","round"),g.setAttribute("stroke-linejoin","round"),g.style.display="block",g.style.flex="none",t.forEach(v=>g.appendChild(I(v))),g}function n(d,p){const t=Z[d];if(!t)return O(d,p);const g=document.createElementNS(k,"svg");g.setAttribute("width",String(p||18)),g.setAttribute("height",String(p||18)),g.setAttribute("viewBox","0 0 24 24"),g.setAttribute("fill","currentColor"),g.style.display="block",g.style.flex="none";const v=document.createElementNS(k,"path");return v.setAttribute("d",t),g.appendChild(v),g}function I(d){if(typeof d=="string"){const j=document.createElementNS(k,"path");return j.setAttribute("d",d),j}const[p,...t]=d;if(p==="rect"){const[j,G,A,D]=t,e=document.createElementNS(k,"rect");return e.setAttribute("x",String(j)),e.setAttribute("y",String(G)),e.setAttribute("width",String(A)),e.setAttribute("height",String(D)),e}const[g,v,C]=t,S=document.createElementNS(k,"circle");return S.setAttribute("cx",String(g)),S.setAttribute("cy",String(v)),S.setAttribute("r",String(C)),S}function T(d){const p=String(d||"").toLowerCase();return p.includes("insta")?"instagram":p.includes("linked")?"linkedin":p.includes("face")?"facebook":p.includes("you")||p.includes("tube")?"youtube":p==="x"||p.includes("twitter")?"x":p.includes("tiktok")||p.includes("tik tok")?"tiktok":p.includes("pinterest")?"pinterest":p.includes("snap")?"snapchat":p.includes("whatsapp")?"whatsapp":p.includes("thread")?"threads":p.includes("discord")?"discord":p.includes("telegram")?"telegram":p.includes("reddit")?"reddit":p.includes("spotify")?"spotify":p.includes("behance")?"behance":p.includes("dribbble")||p.includes("dribble")?"dribbble":p.includes("mail")||p.includes("email")?"mail":"globe"}Object.assign(K,{SOCIAL_BRAND:ae,contrastInk:N,icon:O,brandIcon:n,socialKey:T})},re["core/ids.js"]=function(se,K,z){Object.assign(K,{uid:()=>Math.random().toString(36).slice(2,9)})},re["core/import-html.js"]=function(se,K,z){const{mkRow:V,blk:Z}=z("core/blocks.js"),{cleanImportHtml:ae}=z("core/sanitize.js"),{inlineStylesheets:N}=z("core/css-cascade.js");function k(b){const l=parseFloat(b);return Number.isFinite(l)?l:0}function O(b){const l=String(b||"").trim();return!l||l.endsWith("%")||l.endsWith("em")?0:l.endsWith("pt")?Math.round(k(l)*4/3):k(l)}function n(b,l){return b.children.length===1&&b.firstElementChild.tagName===l?b.firstElementChild:null}function I(b){let l=b;for(;l&&l.nodeType===1;){const B=l.style&&l.style.textAlign||(l.tagName==="TABLE"?"":l.getAttribute("align"));if(B)return B;l=l.parentElement}return"left"}function T(b,l){let B=b;for(;B&&B.nodeType===1;){const U=B.style&&B.style[l];if(U)return U;B=B.parentElement}return""}function d(b){let l=b.parentElement,B=1;for(;l;){if(l.tagName==="TABLE"||l.tagName==="TD"){const U=l.getAttribute("width")||l.style&&l.style.width||"";if(U&&String(U).endsWith("%")){const W=k(U);l.tagName==="TD"&&W>0&&W<100&&(B*=W/100)}else if(U){const W=k(U);if(W>=100)return Math.round(W*B)}}l=l.parentElement}return 0}function p(b){const l=b&&b.getAttribute?k(b.getAttribute("cellpadding")):0;return l?{t:l,b:l,l,r:l,py:l,px:l}:null}function t(b){const l=b.style;if(!l)return!1;if(l.display==="none"||l.visibility==="hidden"||l.opacity==="0")return!0;const B=l.maxHeight==="0"||l.maxHeight==="0px",U=l.overflow==="hidden"||l.fontSize==="0"||l.fontSize==="0px";return B&&U}function g(b){if(!b)return"";const l=b.style;if(l){const B=((l.backgroundImage||"")+" "+(l.background||"")).match(/url\(["']?([^"')]+)["']?\)/);if(B)return B[1]}return b.getAttribute&&b.getAttribute("background")||""}function v(b,l){const B=g(l);if(!B)return b;const U=l.style||{};return b.forEach(W=>{W.props.bgImage||(W.props.bgImage=B,U.backgroundSize&&(W.props.bgSize=U.backgroundSize),U.backgroundPosition&&(W.props.bgPos=U.backgroundPosition),U.backgroundRepeat&&(W.props.bgRepeat=U.backgroundRepeat))}),b}function C(b){if(!b)return null;const l=k(b.paddingTop),B=k(b.paddingBottom),U=k(b.paddingLeft),W=k(b.paddingRight);return!l&&!B&&!U&&!W?null:{t:l,b:B,l:U,r:W,py:Math.round((l+B)/2),px:Math.round((U+W)/2)}}function S(b,l){b.props.py=l.py,b.props.px=l.px,(l.t!==l.b||l.l!==l.r)&&(b.props.pt=l.t,b.props.pb=l.b,b.props.pl=l.l,b.props.pr=l.r,b.props.padSplit=!0)}function j(b,l){if(!b)return null;const B=l||16;let U;return b.endsWith("%")?U=k(b)/100:b.endsWith("em")?U=k(b):b.endsWith("pt")?U=k(b)*4/3/B:b.endsWith("px")?U=k(b)/B:U=parseFloat(b),Number.isFinite(U)&&U>0&&U<=4?U:null}function G(b){const l=document.createElement("div");return l.textContent=b,l.innerHTML}function A(b){let l=null,B="";if(b.tagName==="IMG")l=b;else if(b.tagName==="A")l=n(b,"IMG"),l&&(B=b.getAttribute("href")||"");else if((b.tagName==="DIV"||b.tagName==="TD")&&(l=n(b,"IMG"),!l)){const te=n(b,"A");te&&(l=n(te,"IMG"),l&&(B=te.getAttribute("href")||""))}if(!l)return null;const U=te=>String(te||"").endsWith("%"),X=[l.style.width,l.getAttribute("width"),l.style.maxWidth,b!==l&&b.style?b.style.width:"",b!==l&&b.style?b.style.maxWidth:""].find(te=>te&&!U(te)&&k(te));let J=100;if(X){const te=d(l)||600;J=Math.max(2,Math.min(100,Math.round(k(X)/te*100)))}else U(l.style.width)&&k(l.style.width)&&(J=k(l.style.width));return Z("image",{src:l.getAttribute("src")||"",alt:l.getAttribute("alt")||"",href:B,width:J,align:I(b),radius:k(l.style.borderRadius)||0})}function D(b){let l=null,B="";if(b.tagName==="A"?l=b:(b.tagName==="DIV"||b.tagName==="TD")&&(l=n(b,"A"),l&&(B=b.style.textAlign||b.getAttribute("align")||"")),!l||l.querySelector("img,table,div"))return null;const U=le=>!!(le.style&&(le.style.backgroundColor||le.style.background)),W=U(l)?l:Array.from(l.querySelectorAll("span")).find(U);if(!W)return null;const X=W.style;let J=C(l.style)||C(X);if(!J){const le=Array.from(W.querySelectorAll("span")).find(ue=>C(ue.style));le&&(J=C(le.style))}const te=X.display||l.style.display||"";if(!J&&te.indexOf("inline-block")<0&&te!=="block")return null;const ge={label:(l.textContent||"").trim()||"Button",href:l.getAttribute("href")||"#",bg:X.backgroundColor||X.background,color:X.color||l.style.color||"#ffffff",radius:o(X),py:J&&J.py||13,px:J&&J.px||26,align:B||I(l.parentElement||l),full:l.style.display==="block"},ke=O(X.fontSize)||O(l.style.fontSize);ke&&(ge.size=ke);const ye=s(X).width;return ye&&(ge.borderW=ye,ge.borderStyle=a(X),ge.borderColor=L(X)||ge.color),Z("button",ge)}const e=/facebook|twitter|x\.com|instagram|linkedin|youtube|tiktok|pinterest|threads|whatsapp|telegram|github|discord|snapchat|medium|dribbble|behance|mastodon|bluesky|bsky/i;function u(b){if(!/^(DIV|TD|TABLE)$/.test(b.tagName)||(b.textContent||"").trim())return null;const l=Array.from(b.querySelectorAll("a"));if(l.length<2)return null;const B=l.map(xe=>xe.querySelector("img,svg"));if(B.some(xe=>!xe))return null;const U=B.map(xe=>k(xe.getAttribute("width")||xe.style&&xe.style.width)||32);if(U.some(xe=>xe>64))return null;const W=l.map((xe,ze)=>{const Ae=(B[ze].getAttribute("alt")||xe.getAttribute("title")||xe.getAttribute("aria-label")||"").trim();return Ae||(((xe.getAttribute("href")||"").match(/\/\/(?:www\.)?([^/?#]+)/)||[])[1]||"").split(".")[0]||"link"});if(l.filter((xe,ze)=>e.test((xe.getAttribute("href")||"")+" "+W[ze])).length<Math.ceil(l.length/2))return null;const J=l[0],te={items:l.map((xe,ze)=>W[ze]+"|"+(xe.getAttribute("href")||"#")).join(`
|
|
55
|
+
`),align:I(J),size:Math.round(U.reduce((xe,ze)=>xe+ze,0)/U.length)},ge=J.style&&(J.style.backgroundColor||J.style.background),ke=J.style?k(J.style.borderWidth)||k(J.style.borderTopWidth):0;te.shape=ge?String(J.style.borderRadius||"").indexOf("50%")>-1?"circle":"square":ke?"outline":"bare";const ye=J.style&&J.style.color;ye?te.color=ye:te.palette="brand";const le=J.closest?J.closest("td"):null,ue=le&&le!==b&&b.contains(le)?k(le.style.paddingRight)+k(le.style.paddingLeft):0,He=J.style?k(J.style.marginRight)+k(J.style.marginLeft):0,je=ue||He;return je&&(te.gap=je),Z("social",te)}function y(b){if(b.tagName!=="DIV"&&b.tagName!=="TD"||b.querySelector("img,table,div,p,input,h1,h2,h3,h4,h5,h6"))return null;const l=Array.from(b.children).filter(J=>J.tagName==="A");if(l.length<2||l.map(J=>J.textContent||"").join("").replace(/\s+/g,"")!==(b.textContent||"").replace(/\s+/g,""))return null;const U={items:l.map(J=>(J.textContent||"").trim()+"|"+(J.getAttribute("href")||"#")).join(`
|
|
56
|
+
`),align:I(b)},W=O(T(l[0],"fontSize"));W&&(U.size=W);const X=T(l[0],"color");return X&&(U.color=X),Z("menu",U)}function f(b){if(b.tagName==="HR"){const X=b.style.width||"";return Z("divider",{thickness:k(b.style.height)||k(b.style.borderTopWidth)||1,lineStyle:a(b.style),color:b.style.backgroundColor||b.style.borderTopColor||b.style.borderColor||"#d9dade",width:X.endsWith("%")?k(X):100})}if(b.tagName!=="DIV"&&b.tagName!=="TD")return null;const l=b.children.length===1?b.firstElementChild:b.children.length?null:b;if(!l||l.tagName!=="DIV"||l.children.length||String(l.textContent||"").trim())return null;const B=k(l.style.height)||k(l.style.borderTopWidth),U=l.style.backgroundColor||l.style.background||l.style.borderTopColor;if(!(B>0&&B<=10&&U))return null;const W=l.style.width||"";return Z("divider",{thickness:B,lineStyle:a(l.style),color:U,width:W.endsWith("%")?k(W):100})}function x(b){if(b.tagName!=="DIV"||b.children.length||String(b.textContent||"").trim())return null;const l=k(b.style.height);return!l||b.style.backgroundColor||b.style.background?null:Z("spacer",{height:l})}function M(b){if(!/^H[1-6]$/.test(b.tagName))return null;const l=b.style,B={text:(b.textContent||"").trim(),level:b.tagName.toLowerCase()},U=O(l.fontSize);return U&&(B.size=U),l.textAlign&&(B.align=l.textAlign),l.color&&(B.color=l.color),l.fontWeight&&(B.weight=l.fontWeight),Z("heading",B)}function P(b){if(b.tagName!=="UL"&&b.tagName!=="OL")return null;const l=Array.from(b.children).filter(B=>B.tagName==="LI").map(B=>B.innerHTML.trim());return l.length?Z("list",{items:l.join(`
|
|
57
|
+
`),ordered:b.tagName==="OL"}):null}function $(b){if(b.tagName!=="TABLE")return null;const l=Array.from(b.querySelectorAll(":scope > tbody > tr, :scope > tr"));if(!l.length||b.querySelector("img, table"))return null;const B=l.map(ke=>ke.children.length);if(Math.min(...B)<2)return null;const U=!!b.querySelector("th"),W=l.map(ke=>Array.from(ke.children).map(ye=>(ye.textContent||"").trim().replace(/\|/g,"/")).join("|")).join(`
|
|
58
|
+
`),X=l[0]&&l[0].children[0],J=X&&X.style,te=J?s(J).width:0;return Z("table",{data:W,header:U,borders:!!te,borderWidth:te||1,borderStyle:J?a(J):"solid",lineColor:J&&L(J)||"#e2e8f0"})}const ee=[A,D,u,y,f,x,M,P,$];function R(b){for(const l of ee){const B=l(b);if(B)return B}return null}function q(b){return/^(TABLE|FORM|IFRAME|SCRIPT|STYLE|VIDEO|OBJECT|EMBED)$/.test(b.tagName)||!!b.querySelector("table,form,iframe,script,video,object,embed")}function oe(b){if(b.tagName!=="DIV"||b.children.length!==1||Array.from(b.style).filter(U=>U.indexOf("margin")!==0).length)return b;const B=b.firstElementChild;return(b.textContent||"")!==(B.textContent||"")?b:oe(B)}const de=/^(SPAN|A|B|STRONG|I|EM|U|S|STRIKE|CODE|SUP|SUB|FONT)$/;function c(b){const l=String(b||"").split(`
|
|
59
|
+
`).map(U=>U.trim()).filter(Boolean);if(!l.length)return null;const B=[];for(const U of l){let W=U.match(/^\{\{#(if|each)\s+([^{}]+?)\s*\}\}$/);if(W){B.push(Z(W[1]==="if"?"condition":"loop",{expr:W[2],end:!1}));continue}if(W=U.match(/^\{\{\/(if|each)\}\}$/),W){B.push(Z(W[1]==="if"?"condition":"loop",{expr:"",end:!0}));continue}return null}return B}function ne(b){const l=[];let B=[],U=null;const W=()=>{const X=ae(B.join(""));if(X){const J={html:X};if(U){let te=de.test(U.tagName)&&U.parentElement||U;for(;te.children.length===1&&!de.test(te.firstElementChild.tagName)&&(te.textContent||"")===(te.firstElementChild.textContent||"");)te=te.firstElementChild;const ge=O(T(te,"fontSize"));ge&&(J.size=ge);const ke=T(te,"color");ke&&(J.color=ke),J.align=I(te);const ye=T(te,"fontWeight");ye&&(J.weight=ye);const le=j(T(te,"lineHeight"),ge);le&&(J.lh=le)}l.push(Z("text",J))}B=[],U=null};return b.forEach(X=>{if(X.nodeType===3){const ge=c(X.textContent);if(ge){W(),ge.forEach(ke=>l.push(ke));return}X.textContent&&X.textContent.trim()&&B.push(G(X.textContent));return}if(X.nodeType!==1||t(X))return;const J=oe(X),te=R(J);if(te){W(),l.push(te);return}if(J.tagName==="TABLE"&&we(J)){W();const ge=J.querySelector(":scope > tbody > tr, :scope > tr"),ke=Array.from(ge.children).find(ue=>ue.tagName==="TD"||ue.tagName==="TH"),ye=C(ke.style)||p(J),le=ne(Array.from(ke.childNodes));ye&&le.forEach(ue=>{ue.type!=="button"&&("py"in ue.props&&(ue.props.py=ye.py),"px"in ue.props&&(ue.props.px=ye.px))}),l.push(...le);return}if(q(J)){W(),l.push(Z("html",{code:X.outerHTML}));return}U||(U=J),B.push(X.outerHTML)}),W(),l}function ce(b){const l=b.reduce((U,W)=>U+W,0)||1,B=b.map(U=>Math.round(U/l*100));return B[B.length-1]+=100-B.reduce((U,W)=>U+W,0),B}function pe(b,l){const B=b.map(X=>{const J=X.style.width||"";if(J.endsWith("%"))return{pct:k(J)};const te=X.getAttribute("width")||"";if(te.endsWith("%"))return{pct:k(te)};const ge=k(J)||k(te);return ge?{px:ge}:null});if(B.every(X=>X&&X.pct!=null)){const X=B.reduce((J,te)=>J+te.pct,0);if(X>=90&&X<=110)return ce(B.map(J=>J.pct))}if(l&&B.every(X=>X&&X.px))return ce(B.map(X=>Math.round(X.px/l*100)));const U=Math.floor(100/b.length),W=b.map(()=>U);return W[W.length-1]+=100-U*b.length,W}function he(b){const l=n(b,"TABLE");if(!l)return null;const B=l.querySelectorAll(":scope > tbody > tr, :scope > tr");if(B.length!==1||l.querySelector("th"))return null;const U=Array.from(B[0].children).filter(W=>W.tagName==="TD"||W.tagName==="TH");return U.length?U:null}function we(b){const l=b.querySelectorAll(":scope > tbody > tr, :scope > tr");return l.length!==1||l[0].getAttribute("data-mc-logic")?!1:Array.from(l[0].children).filter(U=>U.tagName==="TD"||U.tagName==="TH").length===1}function _(b){const l=b.style;if(l&&l.backgroundColor)return l.backgroundColor;const B=l&&l.background||"";return B&&B.indexOf("url(")<0&&B.indexOf("gradient(")<0?B:b.getAttribute&&b.getAttribute("bgcolor")||""}function i(b){return b.style?C(b.style):null}function m(b){return Array.from(b.children).some(l=>l.tagName==="TABLE"||l.tagName==="DIV"||l.tagName==="CENTER")}function H(b,l){return l&&b.forEach(B=>{B.props.bg||(B.props.bg=l)}),b}function E(b,l){return l&&b.forEach(B=>{!B.props.py&&!B.props.px&&B.props.pt===void 0&&S(B,l)}),b}function L(b){const l=B=>B&&B!=="currentcolor"?B:"";return l(b.borderTopColor)||l(b.borderLeftColor)||l(b.borderRightColor)||l(b.borderBottomColor)||""}function a(b){const l=new Set(["solid","dashed","dotted","double"]);return[b.borderTopStyle,b.borderRightStyle,b.borderBottomStyle,b.borderLeftStyle,b.borderStyle].find(U=>l.has(U))||"solid"}function o(b){const l=String(b.borderRadius||"").split(/\s+/).map(k);return l.length?Math.max(0,...l):0}function s(b){const l={top:k(b.borderTopWidth),right:k(b.borderRightWidth),bottom:k(b.borderBottomWidth),left:k(b.borderLeftWidth)};return{width:Math.max(l.top,l.right,l.bottom,l.left)||k(b.borderWidth),sides:l}}function h(b,l,B,U,W){b.props.border=l,b.props.borderStyle=W||"solid",b.props.lineColor=U||"#e2e2e5",b.props.bTop=B.top>0,b.props.bRight=B.right>0,b.props.bBottom=B.bottom>0,b.props.bLeft=B.left>0}function r(b,l){if(!b.length||!l||!l.style)return b;const B=l.style,{width:U,sides:W}=s(B);if(U){const X=L(B);b.forEach((J,te)=>{J.props.border||h(J,U,{top:te===0?W.top:0,bottom:te===b.length-1?W.bottom:0,left:W.left,right:W.right},X,a(B))})}if(b.length===1){const X=o(B);X&&!b[0].props.radius&&(b[0].props.radius=X),B.boxShadow&&B.boxShadow!=="none"&&!b[0].props.shadow&&(b[0].props.shadow=B.boxShadow)}return b}function w(b){const l=k(b.getAttribute("width")||b.style.width||"0")||null;return Array.from(b.querySelectorAll(":scope > tbody > tr, :scope > tr")).map(U=>{const W=U.getAttribute("data-mc-logic");if(W){const ve=W.match(/^#(if|each)\s+(.+)$/),be=V([100]);return be.props.py=4,be.props.px=0,be.props.gap=0,be.cols[0].blocks=[ve?Z(ve[1]==="if"?"condition":"loop",{expr:ve[2].trim(),end:!1}):Z(/\/if$/.test(W)?"condition":"loop",{expr:"",end:!0})],be}const X=Array.from(U.children).filter(ve=>ve.tagName==="TD"||ve.tagName==="TH");if(!X.length)return null;const J=X[0];let te=X;if(X.length===1){const ve=he(X[0]);ve&&(te=ve)}let ge=0;if(te.length>2){const ve=fe=>{if((fe.textContent||"").trim()||fe.querySelector("img,a,input,p,h1,h2,h3,h4,h5,h6,ul,ol"))return!1;const Se=k(fe.getAttribute("width")||fe.style&&fe.style.width||"");return!Se||Se<=30},be=te.filter(fe=>!ve(fe));be.length>=2&&be.length<te.length&&(te.filter(ve).forEach(fe=>{const Se=fe.querySelector("table"),Te=k(Se&&(Se.getAttribute("width")||Se.style.width)||fe.getAttribute("width")||"");ge=Math.max(ge,Te||10)}),te=be)}let ke=!1;if(!ge&&te.length>1){const ve=te.map(fe=>C(fe.style)),be=ve[0];ke=!!(be&&!be.t&&!be.b&&be.l>0&&be.l===be.r&&be.l<=60&&ve.every(fe=>fe&&!fe.t&&!fe.b&&fe.l===be.l&&fe.r===be.r)),ke&&(ge=be.l*2)}const ye=te.length===1?[100]:pe(te,l),le=V(ye);le.props.py=0,le.props.px=0,le.props.gap=ge;const ue=_(te[0]),He=te.every(ve=>_(ve)===ue),je=te.indexOf(J)>-1?"":_(J),xe=He&&ue||je||_(b);xe&&(le.props.bg=xe),He||te.forEach((ve,be)=>{const fe=le.cols[be];if(!fe)return;const Se=_(ve);Se&&(fe.bg=Se);const Te=o(ve.style);Te&&(fe.radius=Te);const Be=s(ve.style);Be.width&&(fe.border=Be.width,fe.borderStyle=a(ve.style),fe.lineColor=L(ve.style)||"#e2e2e5");const Ee=C(ve.style);Ee&&(fe.padY=Ee.py,fe.padX=Ee.px)});const ze=s(J.style),Ae=ze.width?J.style:b.style,De=ze.width?ze:s(b.style);De.width&&h(le,De.width,De.sides,L(Ae),a(Ae));const Re=(He?o(J.style):0)||o(b.style);Re&&(le.props.radius=Re);const Pe=(He?J.style.boxShadow:"")||b.style.boxShadow||"";Pe&&Pe!=="none"&&(le.props.shadow=Pe);const Ie=He&&g(J)?J:g(b)?b:null;Ie&&v([le],Ie);const Oe=C(b.style),Ke=ke&&te.indexOf(J)>-1,Ne=He&&!Ke?C(J.style):null;if(Oe||Ne){const ve={t:0,b:0,l:0,r:0},be=["t","b","l","r"].reduce((fe,Se)=>(fe[Se]=((Oe||ve)[Se]||0)+((Ne||ve)[Se]||0),fe),{});be.py=Math.round((be.t+be.b)/2),be.px=Math.round((be.l+be.r)/2),S(le,be)}return te.forEach((ve,be)=>{let fe=ve;const Se=n(ve,"DIV");if(Se&&(_(Se)||o(Se.style))&&!R(Se)){const Te=le.cols[be];if(Te){const Be=_(Se);Be&&!Te.bg&&(Te.bg=Be);const Ee=o(Se.style);Ee&&!Te.radius&&(Te.radius=Ee);const Fe=C(Se.style);Fe&&Te.padY===void 0&&(Te.padY=Fe.py,Te.padX=Fe.px)}fe=Se}le.cols[be].blocks=ne(Array.from(fe.childNodes))}),le}).filter(U=>U&&U.cols.some(W=>W.blocks.length))}function Y(b){const l=[];let B=[];const U=()=>{const W=ne(B);if(W.length){const X=V([100]);X.props.py=0,X.props.px=0,X.props.gap=0,X.cols[0].blocks=W,l.push(X)}B=[]};return b.forEach(W=>{if(W.nodeType!==8&&!(W.nodeType===1&&/^(SCRIPT|STYLE)$/.test(W.tagName))&&!(W.nodeType===1&&t(W))){if(W.nodeType===1&&(W.tagName==="DIV"||W.tagName==="CENTER")&&m(W)&&!R(oe(W))){U();const X=Y(Array.from(W.childNodes));l.push(...v(r(E(H(X,_(W)),i(W)),W),W));return}if(W.nodeType===1&&W.tagName==="TABLE"){if(W.closest("form,svg")){B.push(W);return}const X=u(W);if(X){U();const J=V([100]);J.props.py=0,J.props.px=0,J.props.gap=0;const te=W.querySelector("a"),ge=te&&te.closest?te.closest("td"):null,ke=ge?C(ge.style):null;ke&&S(J,ke),J.cols[0].blocks=[X],l.push(J);return}if(we(W)){const J=W.querySelector(":scope > tbody > tr, :scope > tr"),te=Array.from(J.children).find(ye=>ye.tagName==="TD"||ye.tagName==="TH");U();const ge=k(te.style.height);if(ge&&!te.children.length&&!(te.textContent||"").replace(/ /g,"").trim()){const ye=V([100]);ye.props.py=0,ye.props.px=0,ye.props.gap=0,ye.cols[0].blocks=[Z("spacer",{height:ge})],l.push(ye);return}const ke=Y(Array.from(te.childNodes));l.push(...v(v(r(r(E(H(ke,_(W)||_(te)),i(te)||i(W)||p(W)),te),W),te),W));return}U(),l.push(...w(W));return}B.push(W)}}),U(),l}function F(b){const l={},B=b.body;let U=B.style&&(B.style.backgroundColor||B.style.background)||B.getAttribute("bgcolor")||"";if(!U){const le=B.querySelector("table");le&&(U=_(le)||(le.querySelector("td")?_(le.querySelector("td")):""))}U&&(l.bg=U);const W={};B.querySelectorAll("table").forEach(le=>{const ue=le.getAttribute("width")||le.style&&le.style.width||"";if(!ue||String(ue).endsWith("%"))return;const He=k(ue);He>=320&&He<=900&&(W[He]=(W[He]||0)+1)});const X=Object.keys(W).sort((le,ue)=>W[ue]-W[le])[0];if(X&&(l.width=Number(X)),X){const le=Array.from(B.querySelectorAll("table")).find(ue=>{const He=ue.getAttribute("width")||ue.style&&ue.style.width||"";return He&&!String(He).endsWith("%")&&k(He)===Number(X)});if(le){const ue=_(le);ue&&(l.contentBg=ue);const He=k(le.style&&le.style.borderRadius);He>0&&(l.radius=He);const je=le.closest?le.closest("td"):null;if(je&&je.style){const xe=k(je.style.paddingTop),ze=k(je.style.paddingLeft);xe>0&&(l.padY=xe),ze>0&&(l.padX=ze)}}}const J=Array.from(B.querySelectorAll('[style*="font-family"]')).filter(le=>(le.textContent||"").trim()).map(le=>le.style.fontFamily).filter(Boolean),te=J.find(le=>/[,"']/.test(le))||J[0];te&&(l.font=te);const ge=le=>!!(le.style&&(le.style.backgroundColor||le.style.background)||Array.from(le.querySelectorAll("span")).some(ue=>ue.style&&(ue.style.backgroundColor||ue.style.background))),ke={};B.querySelectorAll('a[style*="color"]').forEach(le=>{const ue=le.style.color;!ue||ue==="inherit"||!(le.textContent||"").trim()||ge(le)||(ke[ue]=(ke[ue]||0)+1)});const ye=Object.keys(ke).sort((le,ue)=>ke[ue]-ke[le])[0];return ye&&(l.link=ye),B.style&&B.style.color&&(l.text=B.style.color),l}function Q(b){let l=String(b);const B=U=>'<tr data-mc-logic="'+U.replace(/"/g,""")+'"><td></td></tr>';for(let U=0;U<6;U++){const W=l;if(l=l.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(X,J)=>B(J)),l=l.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(X,J,te)=>J+B(te)),l===W)break}return l}function ie(b){let l;try{l=new DOMParser().parseFromString(Q(b||""),"text/html")}catch{return{rows:[],theme:{}}}try{N(l)}catch{}return{rows:Y(Array.from(l.body.childNodes)),theme:F(l)}}function me(b){return ie(b).rows}Object.assign(K,{htmlToDoc:ie,htmlToRows:me})},re["core/layout-style.js"]=function(se,K,z){const{cssUrl:V}=z("core/sanitize.js");function Z(t){return(t.py||0)+"px "+(t.px||0)+"px"}function ae(t){const g=C=>t[C]!==!1,v=C=>t.bBorder&&g(C)?t.bBorder+"px "+(t.bStyle||"solid")+" "+(t.bLine||"#e2e2e5"):"0";return{background:t.bBg||"transparent",borderTop:v("bTop"),borderRight:v("bRight"),borderBottom:v("bBottom"),borderLeft:v("bLeft"),borderRadius:(t.bRadius||0)+"px",padding:(t.bPad||0)+"px"}}function N(t){const g=[];if(t.bBg&&g.push("background:"+t.bBg),t.bBorder){const v=t.bBorder+"px "+(t.bStyle||"solid")+" "+(t.bLine||"#e2e2e5"),C={top:t.bTop!==!1,right:t.bRight!==!1,bottom:t.bBottom!==!1,left:t.bLeft!==!1};C.top&&C.right&&C.bottom&&C.left?g.push("border:"+v):Object.keys(C).filter(S=>C[S]).forEach(S=>g.push("border-"+S+":"+v))}return t.bRadius&&g.push("border-radius:"+t.bRadius+"px"),t.bPad&&g.push("padding:"+t.bPad+"px"),g.length?g.join(";")+";":"margin:0"}function k(t){const g=t.pt??t.py??0,v=t.pb??t.py??0,C=t.pl??t.px??0,S=t.pr??t.px??0;return g+"px "+S+"px "+v+"px "+C+"px"}function O(t,g){const v=t.mt??t.my??0,C=t.mr??0,S=t.mb??t.my??0,j=t.ml??0,G=g&&!C&&!j;return v+"px "+(G?"auto":C+"px")+" "+S+"px "+(G?"auto":j+"px")}function n(t){return{top:t.bTop!==!1,right:t.bRight!==!1,bottom:t.bBottom!==!1,left:t.bLeft!==!1}}function I(t){if(!t.border)return"";const g=n(t),v=t.border+"px "+(t.borderStyle||"solid")+" "+(t.lineColor||"#e2e2e5");return g.top&&g.right&&g.bottom&&g.left?"border:"+v+";":["top","right","bottom","left"].filter(C=>g[C]).map(C=>"border-"+C+":"+v+";").join("")}function T(t){const g=(t.overlay||0)/100,v=[];t.bgImage&&g&&v.push("linear-gradient(rgba(20,22,24,"+g+"),rgba(20,22,24,"+g+"))"),t.bgImage&&v.push('url("'+V(t.bgImage)+'")');const C=n(t),S=j=>t.border&&j?t.border+"px "+(t.borderStyle||"solid")+" "+(t.lineColor||"#e2e2e5"):"0";return{backgroundColor:t.bg||"transparent",backgroundImage:v.length?v.join(","):"none",backgroundSize:t.bgSize||"cover",backgroundPosition:t.bgPos||"center",backgroundRepeat:t.bgRepeat||"no-repeat",borderTop:S(C.top),borderRight:S(C.right),borderBottom:S(C.bottom),borderLeft:S(C.left),borderRadius:(t.radius||0)+"px",boxShadow:t.shadow||"none",maxWidth:(t.maxW||100)+"%",margin:O(t,!0)}}function d(t){const g=t.gap||0;return t.layout==="grid"?{display:"grid",gridTemplateColumns:"repeat("+(t.gridCols||2)+", minmax(0, 1fr))",gap:g+"px"}:t.layout==="flex"?{display:"flex",flexDirection:t.flexDir||"row",justifyContent:t.justify||"flex-start",alignItems:t.alignItems||"stretch",flexWrap:t.wrap?"wrap":"nowrap",gap:g+"px"}:{display:"flex",alignItems:"stretch",margin:"0 "+-g/2+"px"}}function p(t,g){return t.layout==="grid"?{minWidth:0}:t.layout==="flex"?{flex:(t.flexDir||"row").indexOf("column")===0?"0 0 auto":g.span+" 1 auto",minWidth:0}:{flex:g.span+" 1 0%",minWidth:0,padding:"0 "+(t.gap||0)/2+"px",alignSelf:t.valign==="middle"?"center":t.valign==="bottom"?"flex-end":"flex-start"}}Object.assign(K,{pad:Z,boxStyle:ae,boxCss:N,rowPad:k,rowMargin:O,rowBorderSides:n,rowBorderCss:I,rowBg:T,colsWrap:d,colStyle:p})},re["core/parse.js"]=function(se,K,z){function V(ae){return String(ae||"").split(`
|
|
60
|
+
`).map(N=>N.trim()).filter(Boolean).map(N=>{const k=N.indexOf("|");return k<0?{label:N,href:"#"}:{label:N.slice(0,k).trim(),href:N.slice(k+1).trim()}})}function Z(ae){return String(ae.data||"").split(`
|
|
61
|
+
`).filter(N=>N.trim()).map(N=>N.split("|").map(k=>k.trim()))}Object.assign(K,{parseItems:V,cellsOf:Z})},re["core/placeholder.js"]=function(se,K,z){function V(ae){return encodeURIComponent(ae).replace(/\(/g,"%28").replace(/\)/g,"%29")}function Z(ae,N,k){return"data:image/svg+xml;utf8,"+V('<svg xmlns="http://www.w3.org/2000/svg" width="'+N+'" height="'+k+'"><defs><pattern id="s" width="9" height="9" patternTransform="rotate(45)" patternUnits="userSpaceOnUse"><rect width="9" height="9" fill="#ececed"/><line x1="0" y1="0" x2="0" y2="9" stroke="#cfd3d8" stroke-width="3"/></pattern></defs><rect width="100%" height="100%" fill="url(#s)"/><rect x="0.5" y="0.5" width="'+(N-1)+'" height="'+(k-1)+'" fill="none" stroke="#9aa2ab"/><text x="50%" y="50%" dy="4" text-anchor="middle" font-family="ui-monospace,monospace" font-size="'+Math.max(11,Math.round(N/40))+'" fill="#5b6672">'+ae+"</text></svg>")}Object.assign(K,{PH:Z})},re["core/sanitize.js"]=function(se,K,z){const V=(t,g)=>{const v=String(t||"");let C="",S=0;const j=G=>G.split(",").map(A=>{const D=A.trim();return D?/^(from|to|\d+%)$/i.test(D)||D.startsWith("@")?D:/^(html|body|:root)\b/i.test(D)?g+D.replace(/^(html|body|:root)/i,""):g+" "+D:""}).filter(Boolean).join(", ");for(;S<v.length;){const G=v.indexOf("{",S);if(G<0){C+=v.slice(S);break}const A=v.slice(S,G).trim();let D=1,e=G+1;for(;e<v.length&&D>0;)v[e]==="{"?D++:v[e]==="}"&&D--,e++;const u=v.slice(G+1,e-1);A.startsWith("@")?C+=A+"{"+(/^@(media|supports|layer|container)/i.test(A)?V(u,g):u)+"}":C+=j(A)+"{"+u+"}",S=e}return C},Z=t=>String(t).replace(/\[\[\s*([\w.]+)\s*\]\]/g,"{{ $1 }}"),ae={A:1,B:1,STRONG:1,I:1,EM:1,U:1,S:1,STRIKE:1,BR:1,P:1,UL:1,OL:1,LI:1,H1:1,H2:1,H3:1,H4:1,H5:1,H6:1,BLOCKQUOTE:1,CODE:1,SUP:1,SUB:1},N=t=>{const g=new DOMParser().parseFromString(String(t||""),"text/html");g.querySelectorAll("style,script,meta,link,title,head").forEach(C=>C.remove());const v=C=>{Array.from(C.children).forEach(S=>{if(v(S),!ae[S.tagName]){const j=S.parentNode;for(;S.firstChild;)j.insertBefore(S.firstChild,S);j.removeChild(S);return}Array.from(S.attributes).forEach(j=>{S.tagName==="A"&&["href","target","rel"].indexOf(j.name)>-1||S.removeAttribute(j.name)})})};return v(g.body),g.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},k=Object.assign({SPAN:1,IMG:1},ae),O=["font-size","font-weight","font-style","font-family","color","line-height","letter-spacing","text-align","text-decoration","text-transform","background-color","border-radius","padding","margin","word-break","width","max-width","height"],n=t=>{const g=new DOMParser().parseFromString(String(t||""),"text/html");g.querySelectorAll("style,script,meta,link,title,head").forEach(C=>C.remove());const v=C=>{Array.from(C.children).forEach(S=>{if(v(S),!k[S.tagName]){const G=S.parentNode;for(;S.firstChild;)G.insertBefore(S.firstChild,S);G.removeChild(S);return}const j=[];O.forEach(G=>{const A=S.style.getPropertyValue(G);A&&j.push(G+":"+A)}),Array.from(S.attributes).forEach(G=>{S.tagName==="A"&&["href","target","rel"].indexOf(G.name)>-1||S.tagName==="IMG"&&["src","alt","width","height"].indexOf(G.name)>-1||S.removeAttribute(G.name)}),j.length&&S.setAttribute("style",j.join(";"))})};return v(g.body),g.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},I={'"':"%22","'":"%27","(":"%28",")":"%29","\\":"%5C"},T=t=>{const g=String(t??"").trim();if(!g)return"";const v=g.match(/^([a-z][a-z0-9+.-]*):/i);return v&&!/^(https?|blob)$/i.test(v[1])&&!/^data:image\//i.test(g)?"":g.replace(/["'()\\]|\s/g,C=>I[C]||"%20")},d=t=>String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");Object.assign(K,{scopeCss:V,migrateTokens:Z,cleanHtml:N,cleanImportHtml:n,cssUrl:T,escHtml:d,hl:t=>d(t).replace(/([\w-]+)="([^&]*)"/g,'<span style="color:#a8763e">$1</span>=<span style="color:#4a8a6a">"$2"</span>').replace(/([\w-]+)="([^"]*)"/g,'<span style="color:#a8763e">$1</span>=<span style="color:#4a8a6a">"$2"</span>').replace(/(<\/?)([a-zA-Z][\w-]*)/g,'$1<span style="color:#5980a6;font-weight:600">$2</span>').replace(/(\{\{[^{}]*\}\})/g,'<span style="background:rgba(89,128,166,0.18);color:#2c455d;border-radius:2px">$1</span>')})},re["core/storage-limits.js"]=function(se,K,z){const{KB:V}=z("core/assets.js"),Z=(d,p,t)=>t.split("").every((g,v)=>d[p+v]===g.charCodeAt(0));function ae(d){if(d.length<12)return null;if(d[0]===255&&d[1]===216&&d[2]===255)return"image/jpeg";if(d[0]===137&&Z(d,1,"PNG"))return"image/png";if(Z(d,0,"GIF8"))return"image/gif";if(Z(d,0,"RIFF")&&Z(d,8,"WEBP"))return"image/webp";if(Z(d,0,"BM"))return"image/bmp";if(Z(d,0,"II")&&d[2]===42&&d[3]===0||Z(d,0,"MM")&&d[2]===0&&d[3]===42)return"image/tiff";if(d[0]===0&&d[1]===0&&d[2]===1&&d[3]===0)return"image/x-icon";if(Z(d,4,"ftyp")){const t=String.fromCharCode(d[8],d[9],d[10],d[11]);return t==="avif"||t==="avis"?"image/avif":"image/heic"}let p=0;for(d[0]===239&&d[1]===187&&d[2]===191&&(p=3);p<d.length&&(d[p]===32||d[p]===9||d[p]===10||d[p]===13);)p++;return d[p]===60?"image/svg+xml":null}function N(d){const p=d.slice(0,32);return typeof p.arrayBuffer=="function"?p.arrayBuffer().then(t=>new Uint8Array(t)).catch(()=>null):new Promise(t=>{const g=new FileReader;g.onload=()=>t(new Uint8Array(g.result)),g.onerror=()=>t(null),g.readAsArrayBuffer(p)})}function k(d){return new Promise(p=>{const t=URL.createObjectURL(d),g=new Image,v=C=>{URL.revokeObjectURL(t),p(C)};g.onload=()=>v({w:g.naturalWidth||g.width,ht:g.naturalHeight||g.height}),g.onerror=()=>v(null),g.src=t})}function O(d){const p=String(d||"file").replace(/[\\/]/g,"-").replace(/[<>:"|?*]/g,"").split("").filter(v=>v.charCodeAt(0)>31).join("").trim().replace(/^\.+/,"")||"file";if(p.length<=120)return p;const t=p.lastIndexOf("."),g=t>0&&p.length-t<=8?p.slice(t):"";return p.slice(0,120-g.length)+g}function n(d){return d?Number(d.maxBytes)>0?null:"storage.errNoMaxBytes":"storage.errNoLimits"}async function I(d,p){const t=Array.from(d||[]),g=[],v=[];if(!t.length)return{accepted:g,rejected:v};const C=n(p);if(C)return{accepted:g,rejected:t.map(u=>({name:u.name,key:C,params:{}}))};const S=Array.isArray(p.accept)&&p.accept.length?p.accept.map(u=>String(u).toLowerCase()):null,j=Number(p.maxBytes),G=Number(p.maxWidth)||0,A=Number(p.maxHeight)||0,D=Number(p.maxFilesPerDrop)||0,e=D&&t.length>D?t.slice(0,D):t;e.length<t.length&&t.slice(e.length).forEach(u=>v.push({name:u.name,key:"storage.errTooMany",params:{max:D}}));for(const u of e){const y=O(u.name);if(u.size>j){v.push({name:y,key:"storage.errTooLarge",params:{name:y,size:V(u.size),max:V(j)}});continue}const f=await N(u),x=f&&ae(f);if(!x){v.push({name:y,key:"storage.errUnreadable",params:{name:y}});continue}if(S&&!S.includes(x)){v.push({name:y,key:"storage.errFormat",params:{name:y,type:x.replace(/^image\//,"").toUpperCase()}});continue}if(x==="image/svg+xml"&&!p.allowSvg){v.push({name:y,key:"storage.errSvg",params:{name:y}});continue}let M={w:0,ht:0};if(x!=="image/svg+xml"){const P=await k(u);if(!P){v.push({name:y,key:"storage.errUnreadable",params:{name:y}});continue}if(M=P,G&&M.w>G||A&&M.ht>A){v.push({name:y,key:"storage.errDimensions",params:{name:y,w:M.w,ht:M.ht,maxW:G||M.w,maxH:A||M.ht}});continue}}g.push({file:u,name:y,type:x,size:u.size,w:M.w,ht:M.ht})}return{accepted:g,rejected:v}}function T(d){return!d||!Array.isArray(d.accept)||!d.accept.length?"image/*":d.accept.join(",")}Object.assign(K,{sanitizeName:O,limitsProblem:n,validateFiles:I,acceptAttribute:T})},re["core/storage.js"]=function(se,K,z){function Z(k,O){const n=k||{};return{id:String(n.id??n.itemId??""),name:String(n.name??(O&&O.name)??"file"),url:String(n.url??""),folder:String(n.folder??""),folderId:n.folderId!=null?String(n.folderId):void 0,w:Number(n.w??(O&&O.w)??0)||0,ht:Number(n.ht??(O&&O.ht)??0)||0,size:Number(n.size??(O&&O.size)??0)||0}}function ae(k,O){return!k&&!O?null:Object.assign({},O||{},k||{})}function N(k){if(!k||typeof k!="object")return["storageProvider must be an object"];const O=["list","upload"].filter(n=>typeof k[n]!="function");return O.length?[`storageProvider is missing ${O.join(" and ")}`]:[]}Object.assign(K,{ALL_FOLDER_ID:"",normalizeAsset:Z,resolveLimits:ae,providerProblems:N})},re["core/theme.js"]=function(se,K,z){Object.assign(K,{THEME:()=>({bg:"#eef2f7",contentBg:"#ffffff",width:620,padY:0,padX:0,radius:0,font:'"Helvetica Neue", Helvetica, Arial, sans-serif',text:"#172033",link:"#0065b3"})})},re["core/toolbar.js"]=function(se,K,z){const V=["logo","status","device","undo","redo","theme","ai","code","preview","export"],Z=["none","hidden","off","false"];function ae(k){if(k===!1||typeof k=="string"&&Z.indexOf(k.trim().toLowerCase())>=0)return null;const O={};if(V.forEach(n=>{O[n]=!0}),k&&typeof k=="object")V.forEach(n=>{k[n]===!1&&(O[n]=!1)});else if(typeof k=="string"&&k.trim()&&k.trim().toLowerCase()!=="all"){const n=k.split(",").map(I=>I.trim()).filter(Boolean);V.forEach(I=>{O[I]=n.indexOf(I)>=0})}return V.some(n=>O[n])?O:null}function N(k){return k?V.map(O=>k[O]?"1":"0").join(""):"none"}Object.assign(K,{TOOLBAR_ITEMS:V,resolveToolbar:ae,toolbarKey:N})},re["core/variables.js"]=function(se,K,z){const V=`first_name
|
|
62
62
|
last_name
|
|
63
63
|
email
|
|
64
64
|
company
|
|
@@ -66,13 +66,13 @@ city
|
|
|
66
66
|
order_id
|
|
67
67
|
plan
|
|
68
68
|
discount
|
|
69
|
-
unsubscribe_url`,q=k=>"{{ "+k+" }}";function ie(k){return(Array.isArray(k)?k:String(k??W).split(/[\n,]/)).map(b=>String(b).trim().replace(/^\{\{\s*|\s*\}\}$/g,"")).filter(Boolean)}Object.assign(V,{DEFAULT_VARS:W,TOKEN:q,vars:ie,INSERT_KEYS:{text:"html",heading:"text",button:"label",html:"code",codeblock:"code",quote:"text",list:"items",table:"data"}})},re["create-editor.js"]=function(ne,V,A){const{MailCraftEditor:W}=A("mailcraft-editor.js"),q={variables:"variables",locale:"locale",dir:"dir",theme:"theme",uiFont:"ui-font",accent:"accent"},ie=["storageProvider","storageLimits","aiProvider","iconProvider","messages","footer"],K=["exportHtml","importHtml","loadTemplate","undo","redo","screenshotPng","previewScreenshot","downloadScreenshot","copyScreenshot"];function k(z){const d=typeof z=="string"?document.querySelector(z):z;if(!d||d.nodeType!==1)throw new Error("[mailcraft] createEditor: no element matched "+JSON.stringify(z));return d}const O=z=>typeof z=="number"?z+"px":z;function b(z,d){const p=d||{},a=k(z),g=document.createElement("mailcraft-editor");Object.keys(q).forEach(C=>{p[C]!=null&&g.setAttribute(q[C],Array.isArray(p[C])?p[C].join(","):String(p[C]))}),p.toolbar!==void 0&&(g.toolbar=p.toolbar),ie.forEach(C=>{p[C]!==void 0&&(g[C]=p[C])});const v=p.onChange?C=>p.onChange(C.detail):null,H=p.onExport?C=>p.onExport(C.detail):null;v&&g.addEventListener("change",v),H&&g.addEventListener("export",H),p.replace&&(a.textContent=""),p.height&&(a.style.height=O(p.height)),a.appendChild(g),typeof p.html=="string"&&p.html.trim()&&g.loadTemplate({name:p.name||"",html:p.html});const S={element:g,destroy(){v&&g.removeEventListener("change",v),H&&g.removeEventListener("export",H),g.parentNode&&g.parentNode.removeChild(g)}};return K.forEach(C=>{S[C]=(...$)=>g[C](...$)}),S}function N(){return typeof customElements<"u"&&customElements.get("mailcraft-editor")===W}Object.assign(V,{createEditor:b,isReady:N})},re["index.js"]=function(ne,V,A){const{MailCraftEditor:W}=A("mailcraft-editor.js"),{createEditor:q,isReady:ie}=A("create-editor.js"),{EditorCore:K}=A("core/editor-core.js"),{renderDoc:k}=A("render/canvas.js"),{BLOCKS:O,GROUPS:b,LAYOUTS:N,PALETTE:z}=A("core/blocks.js"),{createTranslator:d,defineMessages:p,missingKeys:a,LOCALES:g,isRtl:v,EN:H,MESSAGE_KEYS:S}=A("core/i18n/index.js"),{LOCALE_TABLES:C}=A("core/i18n/tables.js"),{ALL_FOLDER_ID:$,normalizeAsset:E,resolveLimits:D}=A("core/storage.js"),{validateFiles:e,sanitizeName:m,acceptAttribute:y,limitsProblem:f}=A("core/storage-limits.js");Object.assign(V,{MailCraftEditor:W,createEditor:q,isReady:ie,EditorCore:K,renderDoc:k,BLOCKS:O,GROUPS:b,LAYOUTS:N,PALETTE:z,createTranslator:d,defineMessages:p,missingKeys:a,LOCALES:g,isRtl:v,EN:H,MESSAGE_KEYS:S,LOCALE_TABLES:C,ALL_FOLDER_ID:$,normalizeAsset:E,resolveLimits:D,validateFiles:e,sanitizeName:m,acceptAttribute:y,limitsProblem:f})},re["mailcraft-editor.js"]=function(ne,V,A){const{EditorCore:W,AI_GOALS:q,AI_TONES:ie}=A("core/editor-core.js"),{GROUPS:K,LAYOUTS:k,DEF:O,PALETTE:b}=A("core/blocks.js"),{KB:N}=A("core/assets.js"),{acceptAttribute:z}=A("core/storage-limits.js"),{renderDoc:d}=A("render/canvas.js"),{renderRte:p}=A("render/rte.js"),{renderField:a,renderFieldCards:g,typeCommit:v}=A("render/fields.js"),{icon:H}=A("core/icons.js"),{TOKEN:S}=A("core/variables.js"),{hl:C,cssUrl:$}=A("core/sanitize.js"),{decorateLogicTags:E}=A("core/export.js"),{withFocusPreserved:D}=A("render/focus-preserve.js"),{captureTemplatePng:e}=A("render/screenshot.js"),{resolveToolbar:m,toolbarKey:y}=A("core/toolbar.js"),{resolveFooter:f}=A("core/footer.js"),{createStoryViewer:w}=A("render/story.js"),{STYLE:L}=A("render/style.js"),{createTranslator:F,isRtl:Y}=A("core/i18n/index.js"),{ACCENT_VARS:Q,accentTokens:R,parseColor:_}=A("core/accent.js"),{LOCALE_TABLES:ae}=A("core/i18n/tables.js");function l(de,t,h={},...x){const M=document.createElement(de);t&&(M.style.cssText=t);for(const[j,P]of Object.entries(h))if(P!==void 0)if(j==="text")M.textContent=P;else if(j==="html")M.innerHTML=P;else if(j==="on")for(const[o,r]of Object.entries(P))M.addEventListener(o,r);else M.setAttribute(j,P);return x.flat().forEach(j=>{j!=null&&j!==!1&&M.appendChild(typeof j=="string"?document.createTextNode(j):j)}),M}function ce(de){return[{key:"design",label:de("tab.design"),title:de("tab.designHint"),iconName:"paint"},{key:"blocks",label:de("tab.blocks"),title:de("tab.blocksHint"),iconName:"grid"},{key:"rows",label:de("tab.rows"),title:de("tab.rowsHint"),iconName:"table"},{key:"files",label:de("tab.files"),title:de("tab.filesHint"),iconName:"image"},{key:"layers",label:de("tab.layers"),title:de("tab.layersHint"),iconName:"list"},{key:"theme",label:de("tab.settings"),title:de("tab.settingsHint"),iconName:"sliders"},{key:"data",label:de("tab.data"),title:de("tab.dataHint"),iconName:"data"}]}function ee(de,t,h,x){de.style.position=de.style.position||"relative",de.setAttribute("data-tip","1"),de.hasAttribute("aria-label")||de.setAttribute("aria-label",t),de.removeAttribute("title");const M=h||"down";return de.tipNode=l("span","",{class:`mc-tooltip mc-tooltip-${M}${M==="down"?" mc-tab-tooltip":""}${x==="end"?" mc-tooltip-end":""}`,text:t}),de.appendChild(de.tipNode),de}const me=typeof HTMLElement<"u"?HTMLElement:class{};class pe extends me{static get observedAttributes(){return["variables","locale","dir","theme","ui-font","accent","toolbar","footer"]}constructor(){super(),this.attachShadow({mode:"open"}),this.core=new W({variables:this.hasAttribute("variables")?this.getAttribute("variables"):void 0})}connectedCallback(){this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this._toolbarKey=y(this.toolbarConfig()),this.core.mount(this.shadowRoot),this.applyTheme(),this.refreshTranslator(),this.core.mountKeyboard(t=>{const h=(t&&t.tagName||"").toLowerCase();return h==="input"||h==="textarea"||t&&t.isContentEditable}),this.core.onFormatChange=()=>this.scheduleRteRefresh(),this.core.onCodeSourceChange=()=>this.refreshCodeSource(),this.core.onSavedChange=()=>this.refreshSavedLabel(),this.core.onToast=()=>this.refreshToast(),this.core.onTick=()=>this.refreshCountdowns(),this.unsubscribe=this.core.subscribe(()=>{D(this.shadowRoot,()=>this.render()),this.dispatchEvent(new CustomEvent("change",{detail:this.core.state.doc}))}),this.render()}disconnectedCallback(){this.unsubscribe?.(),this.core.onFormatChange=null,this.core.onCodeSourceChange=null,this.core.onSavedChange=null,this.core.onToast=null,this.core.onTick=null,this._rteFrame!=null&&cancelAnimationFrame(this._rteFrame),this._rteFrame=null,this.core.unmount()}attributeChangedCallback(t,h,x){this.core&&(t==="variables"&&(this.core.variablesRaw=x,this.core.emit()),(t==="locale"||t==="dir")&&this.applyDir(),t==="locale"&&this.refreshTranslator(),t==="theme"&&this.applyTheme(),t==="ui-font"&&this.applyUiFont(),t==="accent"&&this.applyAccent(!0),t==="toolbar"&&this.applyToolbar(),t==="footer"&&this.applyFooter())}applyUiFont(){if(!this.mc)return;const t=(this.getAttribute("ui-font")||"").trim();if(!t){this.mc.style.removeProperty("--ed-font");return}const h=t.toLowerCase()==="inherit"?getComputedStyle(this).fontFamily:t;this.mc.style.setProperty("--ed-font",h||"inherit")}resolveAccentValue(t){if(typeof getComputedStyle!="function")return t;const h=getComputedStyle(this);if(t.toLowerCase()==="inherit"){const M=(h.accentColor||"").trim();return!M||M==="auto"?"":M}const x=/^var\(\s*(--[\w-]+)\s*(?:,\s*([^)]+))?\)$/.exec(t);return x?(h.getPropertyValue(x[1])||"").trim()||(x[2]||"").trim():t}applyAccent(t){if(!this.mc)return;const h=(this.getAttribute("accent")||"").trim(),x=this.core.state?.chrome||"light",M=h+"|"+x;if(!t&&M===this._accentKey)return;this._accentKey=M;const j=()=>Q.forEach(s=>this.mc.style.removeProperty(s));if(!h){j();return}const P=this.resolveAccentValue(h),o=_(P)||_(this.probeColor(P));if(!o){j(),console.warn('[mailcraft] accent="'+h+'" is not a usable color -- keeping the built-in accent.');return}const r=R(o,x);for(const[s,c]of Object.entries(r))this.mc.style.setProperty(s,c)}probeColor(t){if(!t||typeof getComputedStyle!="function"||typeof document>"u")return"";const h=document.createElement("span");if(h.style.display="none",h.style.color=t,!h.style.color)return"";this.mc.appendChild(h);const x=(getComputedStyle(h).color||"").trim();return h.remove(),x}applyTheme(){const t=this.getAttribute("theme");t?this.core.setState({chrome:t==="dark"?"dark":"light"}):this.core.state&&this.core.emit()}refreshTranslator(){const t=ae[this.getAttribute("locale")]||null,h=this.core.messages;this.core.t=F(t?Object.assign({},t,h||{}):h),this.story?.retranslate(),this.core.emit()}applyDir(){if(!this.mc)return;const t=this.getAttribute("dir");this.mc.setAttribute("dir",t||(Y(this.getAttribute("locale"))?"rtl":"ltr"))}getContent(){return JSON.parse(JSON.stringify(this.core.state.doc))}setContent(t){this.core.loadDoc(t)}importHtml(t){return this.core.importHtml(t)}get variables(){return this.core.vars()}set variables(t){this.core.variablesRaw=t,this.core.emit()}get toolbar(){return this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar")||""}set toolbar(t){this._toolbar=t,this.applyToolbar()}toolbarConfig(){return m(this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar"))}applyToolbar(){if(!this.core||!this.shadowRoot.firstChild)return;const t=y(this.toolbarConfig());t!==this._toolbarKey&&(this._toolbarKey=t,this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this.applyTheme(),this.render())}get footer(){return this._footer!==void 0?this._footer:this.getAttribute("footer")||""}set footer(t){this._footer=t,this.applyFooter()}get uiFont(){return this.getAttribute("ui-font")||""}set uiFont(t){t==null||String(t).trim()===""?this.removeAttribute("ui-font"):this.setAttribute("ui-font",String(t))}get accent(){return this.getAttribute("accent")||""}set accent(t){t==null||String(t).trim()===""?this.removeAttribute("accent"):this.setAttribute("accent",String(t))}get aiProvider(){return this.core.aiProvider}set aiProvider(t){this.core.aiProvider=t}get messages(){return this.core.messages}set messages(t){this.core.messages=t,this.refreshTranslator()}get iconProvider(){return this.core.iconProvider}set iconProvider(t){this.core.iconProvider=t,this.core.emit()}get storageProvider(){return this.core.storageProvider}set storageProvider(t){this.core.setStorageProvider(t)}get storageLimits(){return this.core.storageLimits}set storageLimits(t){this.core.setStorageLimits(t)}loadTemplate(t){this.core.loadTemplate(t)}exportHtml(){const t=this.core.buildHtml();return this.dispatchEvent(new CustomEvent("export",{detail:t})),t}screenshotPng(){return e(this.core,this.mc)}previewScreenshot(){this.story.open()}async downloadScreenshot(t){const h=this.core.t;try{const x=t||await this.screenshotPng(),M=document.createElement("a");M.href=URL.createObjectURL(x),M.download="email.png",M.click(),setTimeout(()=>URL.revokeObjectURL(M.href),1500),this.core.flash(h("toast.pngSaved"))}catch{this.core.flash(h("toast.pngFailed"))}}async copyScreenshot(t){const h=this.core.t;try{const x=t||await this.screenshotPng();await navigator.clipboard.write([new ClipboardItem({"image/png":x})]),this.core.flash(h("toast.pngCopied"))}catch{this.core.flash(h("toast.pngCopyFailed"))}}undo(){this.core.undo()}redo(){this.core.redo()}buildShell(){const t=this.shadowRoot;t.innerHTML="",t.appendChild(l("style","",{text:L})),this._accentKey=null,this.mc=l("div","height: 100%; padding: 16px; box-sizing: border-box; background: radial-gradient(circle at 8% 0%, var(--ed-soft), transparent 28%), var(--ed-bg); color: var(--ed-text); font-family: var(--ed-font); font-size: 14px; overflow-x: auto; overflow-y: hidden;",{id:"mc"}),t.appendChild(this.mc);const h=l("div","position: relative; height: 100%; min-width: 1180px;");this.mc.appendChild(h),this.savedLabel=this.savedDot=this.deviceSeg=null,this.undoBtn=this.redoBtn=this.chromeBtn=null,this.aiBtn=this.codeBtn=this.previewBtn=this.exportBtn=null;const x=this.toolbarConfig();this.frame=l("div","position: relative; height: 100%; border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); background: var(--ed-panel); display: grid; grid-template-rows: "+(x?"54px minmax(0, 1fr)":"minmax(0, 1fr)")+"; overflow: hidden; box-shadow: var(--ed-shadow-sm), var(--ed-shadow-md);",{class:"mc-shell"+(x?"":" mc-no-header")}),h.appendChild(this.frame),x&&this.frame.appendChild(this.buildHeader(x)),this.footerBar=this.footerText=this.footerLink=null,this.body=l("div","display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; background: var(--ed-work);",{class:"mc-layout"}),this.frame.appendChild(this.body),this.body.appendChild(this.buildMain()),this.body.appendChild(this.buildAside()),this.body.appendChild(this.buildFooter()),this.libraryModal=this.buildLibraryModal(),this.exportModal=this.buildExportModal(),this.codeModal=this.buildCodeModal(),this.aiModal=this.buildAiModal(),this.previewModal=this.buildPreviewModal(),this.story=w(this.core,{capture:()=>this.screenshotPng(),download:M=>this.downloadScreenshot(M),copy:M=>this.copyScreenshot(M)}),this.toastEl=l("div","position: absolute; bottom: 74px; left: 50%; transform: translateX(-50%); z-index: 80; background: var(--ed-text); color: var(--ed-bg); padding: 9px 16px; border-radius: var(--ed-radius-sm); font-family: ui-monospace, monospace; font-size: 10.5px; letter-spacing: 0.08em; box-shadow: var(--ed-shadow-md); animation: mcIn 0.18s ease; display: none;",{class:"mc-toast"}),h.append(this.libraryModal,this.exportModal,this.codeModal,this.aiModal,this.previewModal,this.story.node,this.toastEl),this.fileInput=l("input","display: none;",{type:"file",accept:"image/*",multiple:"true"}),this.fileInput.addEventListener("change",M=>{this.core.addFiles(M.target.files),M.target.value=""}),h.appendChild(this.fileInput)}buildHeader(t){const h=this.core.t,x=l("header","display: flex; align-items: center; gap: 14px; padding: 0 16px; border-bottom: 1px solid var(--ed-line); background: linear-gradient(to bottom, var(--ed-panel), var(--ed-panel-2)); position: relative; z-index: 30;",{class:"mc-header"}),M=l("span","",{class:"mc-brand-mark"}),j=H("mailSpark",20);j.setAttribute("stroke-width","1.8"),M.appendChild(j);const P=l("div","display: flex; align-items: center; gap: 9px;");P.append(M,l("span","font-family: var(--ed-font); font-weight: 600; font-size: 15px; letter-spacing: -0.01em; line-height: 1;",{text:"MailCraft",class:"mc-brand-name"})),t.logo&&x.append(P,l("div","width: 1px; height: 22px; background: var(--ed-line);")),this.savedLabel=l("span","display: flex; align-items: center; gap: 6px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ed-faint); white-space: nowrap;"),this.savedDot=l("span","width: 5px; height: 5px; border-radius: 50%; background: var(--ed-accent);"),this.savedLabel.appendChild(this.savedDot),this.savedLabel.appendChild(document.createTextNode("")),t.status?x.appendChild(this.savedLabel):this.savedLabel=this.savedDot=null,x.appendChild(l("div","flex: 1;")),t.device&&(this.deviceSeg=l("div","",{class:"mc-segment mc-device-segment"}),x.appendChild(this.deviceSeg));const o=l("div","display: flex; align-items: center; gap: 3px;");t.undo&&(this.undoBtn=this.iconBtn("undo",h("action.undoHint"),()=>this.core.undo(),"action.undoHint")),t.redo&&(this.redoBtn=this.iconBtn("redo",h("action.redoHint"),()=>this.core.redo(),"action.redoHint")),t.theme&&(this.chromeBtn=this.labelIconBtn("moon",h("action.chromeToDark"),h("action.chromeHint"),()=>{const s=this.core.state.chrome==="light"?"dark":"light";this.core.setState({chrome:s},()=>this.core.persist(null,null,s))},"action.chromeHint")),this.chromeBtn&&(this.chromeBtn.i18nTipKey=this.core.state.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=h(this.chromeBtn.i18nTipKey)),t.ai&&(this.aiBtn=this.labelIconBtn("spark",h("action.aiDraft"),h("action.aiDraftHint"),()=>this.core.setState({aiOpen:!0}),"action.aiDraftHint","action.aiDraft")),t.code&&(this.codeBtn=this.labelIconBtn("code",h("action.code"),h("action.codeHint"),()=>this.core.openCode(),"action.codeHint","action.code")),t.preview&&(this.previewBtn=this.labelIconBtn("eye",h("action.preview"),h("action.previewHint")||"",()=>this.core.setState({previewOpen:!0}),"action.previewHint","action.preview")),t.export&&(this.exportBtn=this.labelIconBtn("download",h("action.export"),h("action.exportHint"),()=>this.core.openExport(),"action.exportHint","action.export"));const r=[this.undoBtn,this.redoBtn,this.chromeBtn,this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].filter(Boolean);return r.length&&(o.append(...r),x.appendChild(o)),x}iconBtn(t,h,x,M){const j=l("button","border: 1px solid var(--ed-line); background: var(--ed-panel); color: var(--ed-text); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:h,"data-i18n-title":M||void 0,class:"mc-icon-button"});return j.appendChild(H(t,15)),j.addEventListener("mouseenter",()=>{j.disabled||(j.style.borderColor="var(--ed-accent)",j.style.background="var(--ed-soft)")}),j.addEventListener("mouseleave",()=>{j.style.borderColor="var(--ed-line)",j.style.background="var(--ed-panel)"}),j.addEventListener("click",x),ee(j,h,"down"),j}labelIconBtn(t,h,x,M,j,P){const o=l("button","border: 1px solid var(--ed-line); background: var(--ed-panel); color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 10px; display: flex; align-items: center; gap: 6px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; transition: border-color 0.16s, background 0.16s;",{type:"button",title:x,class:"mc-icon-label"});return o.i18nTitleKey=j||null,o.i18nLabelKey=P||null,t&&(o.iconNode=H(t,14),o.iconName=t,o.appendChild(o.iconNode)),o.labelNode=document.createTextNode(h||""),o.appendChild(o.labelNode),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)",o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)",o.style.background="var(--ed-panel)"}),o.addEventListener("click",M),ee(o,x,"down")}sectionBar(t,h){const x=l("div","display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 14px; background: var(--ed-panel-2); border-top: 1px solid var(--ed-line); border-bottom: 1px solid var(--ed-line); user-select: none;",{class:"mc-section-bar"});return x.appendChild(l("span","font-family: var(--ed-font); font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ed-muted);",{text:t,class:"mc-section-label"})),h&&x.appendChild(typeof h=="string"?l("span","font-size: 10px; font-weight: 600; color: var(--ed-faint); flex: none;",{text:h}):h),x}sectionBody(t){return l("div","padding: 12px 14px 16px; background: var(--ed-panel);"+(t||""),{class:"mc-section-body"})}tabSurface(){return l("div","background: var(--ed-panel); min-height: 100%; padding-bottom: 28px;",{class:"mc-tab-surface"})}softBtn(t,h,x){const M=l("button","width: 100%; border: 0; border-radius: 8px; background: var(--ed-soft); color: var(--ed-accent); cursor: pointer; padding: 8px 10px; display: flex; align-items: center; justify-content: center; gap: 6px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, color 0.16s;",{type:"button"});return h&&M.appendChild(H(h,13)),M.appendChild(l("span","",{text:t})),M.addEventListener("mouseenter",()=>{M.style.background="var(--ed-accent)",M.style.color="var(--ed-accent-ink)"}),M.addEventListener("mouseleave",()=>{M.style.background="var(--ed-soft)",M.style.color="var(--ed-accent)"}),M.addEventListener("click",x),M}refreshToast(){const t=this.core.state;this.toastEl.style.display=t.toast?"block":"none",this.toastEl.textContent=t.toast||""}refreshCountdowns(){const t=this.core.state.now;this.canvasSlot.querySelectorAll("[data-mc-countdown]").forEach(h=>{const x=Math.max(0,new Date(h.getAttribute("data-mc-countdown")).getTime()-t),M={days:Math.floor(x/864e5),hrs:Math.floor(x/36e5)%24,min:Math.floor(x/6e4)%60,sec:Math.floor(x/1e3)%60};h.querySelectorAll("[data-mc-count]").forEach(j=>{j.textContent=String(M[j.getAttribute("data-mc-count")]??0).padStart(2,"0")})})}refreshSavedLabel(){if(!this.savedLabel)return;const t=this.core.state,h=this.core.t;this.savedLabel.lastChild.textContent=t.savedStatus==="error"?h("status.saveFailed"):t.savedStatus==="saved"?h("status.saved",{time:t.savedAt}):h("status.autosaveOn"),this.savedDot.style.background=t.savedStatus==="error"?"var(--ed-danger)":t.savedStatus==="saved"?"var(--ed-success)":"var(--ed-accent)",this.savedLabel.style.color=t.savedStatus==="error"?"var(--ed-danger)":"var(--ed-faint)"}scheduleRteRefresh(){this._rteFrame==null&&(this._rteFrame=requestAnimationFrame(()=>{if(this._rteFrame=null,this.core.rendering||!this.core.state.editing)return;const t=this.canvasSlot?.querySelector('[data-mc-rte="1"]'),h=this.core.find(this.core.state.doc,this.core.state.editing);if(!t||!h.block)return;const x=this.core.formatFingerprint(h.block);x!==this._rtePrint&&(this._rtePrint=x,t.replaceWith(p(this.core,h.block)))}))}buildFooter(){return this.footerBar=l("div","display: flex; grid-column: 1; grid-row: 2; justify-self: center; align-items: center; justify-content: center; gap: 4px; max-width: calc(100% - 32px); padding: 6px 14px; background: transparent; color: var(--ed-panel-meta); font-family: var(--ed-font); font-size: var(--ed-panel-meta-size); letter-spacing: 0.06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",{class:"mc-footer"}),this.footerText=l("span","",{class:"mc-footer-text"}),this.footerLink=l("a","color: inherit; text-decoration: none;",{class:"mc-footer-link"}),this.footerBar.appendChild(this.footerText),this.footerBar.appendChild(this.footerLink),this.footerBar}footerConfig(){return f(this._footer!==void 0?this._footer:this.getAttribute("footer"))}refreshFooter(){if(!this.footerBar)return;const t=this.footerConfig();if(!t){this.footerBar.style.display="none";return}this.footerBar.style.display="flex",this.footerBar.style.width=(this.core.state.device==="mobile"?375:this.core.state.doc.theme.width)+"px";const h=t.text==null?this.core.t("footer.poweredBy"):t.text,x=!!t.href;this.footerText.style.display=x?"none":"inline",this.footerLink.style.display=x?"inline":"none",this.footerText.textContent=x?"":h,this.footerLink.textContent=x?h:"",x&&(this.footerLink.setAttribute("href",t.href),this.footerLink.setAttribute("target",t.target||"_blank"),this.footerLink.setAttribute("rel","noopener noreferrer"))}applyFooter(){this.refreshFooter()}buildMain(){const t=l("main","",{class:"mc-workspace"});this.mainEl=t,t.style.cssText="grid-column: 1; grid-row: 1; position: relative; overflow-y: auto; min-height: 0;",t.addEventListener("click",()=>{this.core.state.sel&&this.core.setState({sel:null})});const h=l("div","padding: 28px 40px 150px; display: flex; justify-content: center;",{class:"mc-canvas-stage"});this.zoomFrame=l("div","position: relative; transform-origin: top center; transition: transform 0.22s cubic-bezier(0.22,0.61,0.36,1);"),this.canvasSlot=l("div","",{class:"mc-sheet-wrap"}),this.zoomFrame.appendChild(this.canvasSlot),h.appendChild(this.zoomFrame),t.appendChild(h);const x=l("div","position: sticky; bottom: 0; display: flex; justify-content: center; pointer-events: none; padding-bottom: 16px;"),M=l("div","pointer-events: auto; display: flex; align-items: center; gap: 12px; border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); background: var(--ed-panel); padding: 6px 8px 6px 12px; box-shadow: var(--ed-shadow-md);",{class:"mc-zoom"});return this.canvasMetaEl=l("span","font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ed-faint); white-space: nowrap;"),this.zoomSeg=l("div","display: flex; gap: 1px;"),M.append(this.canvasMetaEl,l("span","width: 1px; height: 18px; background: var(--ed-line);"),this.zoomSeg),x.appendChild(M),t.appendChild(x),t}buildAside(){const t=l("aside","grid-column: 2; grid-row: 1 / span 2; border-left: 1px solid var(--ed-line); background: var(--ed-panel); display: grid; grid-template-rows: auto 1fr; min-height: 0;",{class:"mc-inspector"});return this.tabBar=l("div","display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);",{class:"mc-tabbar",role:"tablist"}),t.appendChild(this.tabBar),this.tabBody=l("div","overflow-y: auto; overflow-x: hidden; min-height: 0;"),t.appendChild(this.tabBody),t}render(){this.syncLiveEdit(),this.core.rendering=!0,this._rtePrint=null;const t=this.mainEl?this.mainEl.scrollTop:0,h=this.mainEl?this.mainEl.scrollLeft:0,x=this._renderedTab,M=this.tabBody?this.tabBody.scrollTop:0;try{this.renderInner()}finally{this.core.rendering=!1}this.mainEl&&(this.mainEl.scrollTop!==t&&(this.mainEl.scrollTop=t),this.mainEl.scrollLeft!==h&&(this.mainEl.scrollLeft=h)),this.tabBody&&this.core.state.tab===x&&this.tabBody.scrollTop!==M&&(this.tabBody.scrollTop=M),this._renderedTab=this.core.state.tab}syncLiveEdit(){const t=this.core;if(!t.state.editing||!t.editEl||!t.editEl.isConnected||!t.editKey)return;const h=t.find(t.state.doc,t.state.editing);if(!h.block)return;const x=t.editPlain?t.editEl.textContent:t.editEl.innerHTML;x!==h.block.props[t.editKey]&&(h.block.props[t.editKey]=x)}refreshStrings(){const t=this.core.t,h=this.shadowRoot;h.querySelectorAll("[data-i18n]").forEach(x=>{x.textContent=t(x.getAttribute("data-i18n"))}),h.querySelectorAll("[data-i18n-title]").forEach(x=>{x.title=t(x.getAttribute("data-i18n-title"))}),h.querySelectorAll("[data-i18n-placeholder]").forEach(x=>{x.placeholder=t(x.getAttribute("data-i18n-placeholder"))}),[this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].forEach(x=>{x&&(x.i18nTitleKey&&(x.title=t(x.i18nTitleKey)),x.i18nLabelKey&&(x.labelNode.textContent=t(x.i18nLabelKey)),x.i18nTitleKey&&x.tipNode&&(x.tipNode.textContent=t(x.i18nTitleKey)))}),this.chromeBtn?.i18nTitleKey&&(this.chromeBtn.title=t(this.chromeBtn.i18nTitleKey))}renderInner(){const t=this.core.state,h=this.core.t;if(this.refreshStrings(),this.mc.dataset.chrome=t.chrome,this.applyAccent(),this.refreshFooter(),this.refreshSavedLabel(),this.undoBtn&&(this.undoBtn.disabled=!t.history.length),this.redoBtn&&(this.redoBtn.disabled=!t.future.length),this.chromeBtn){this.chromeBtn.style.setProperty("display",this.hasAttribute("theme")?"none":"flex","important"),this.chromeBtn.labelNode.textContent=t.chrome==="light"?h("action.chromeToDark"):h("action.chromeToLight"),this.chromeBtn.i18nTipKey=t.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=h(this.chromeBtn.i18nTipKey),this.chromeBtn.setAttribute("aria-label",h(this.chromeBtn.i18nTipKey)),this.chromeBtn.title=h(this.chromeBtn.i18nTipKey);const M=t.chrome==="light"?"moon":"sun";if(this.chromeBtn.iconName!==M){const j=H(M,14);this.chromeBtn.iconNode.replaceWith(j),this.chromeBtn.iconNode=j,this.chromeBtn.iconName=M}}this.renderDeviceSeg(),this.renderZoomSeg(),this.zoomFrame.style.transform=`scale(${t.zoom})`,this.canvasSlot.replaceChildren(d(this.core,!0));const x=t.doc.rows.reduce((M,j)=>M+j.cols.reduce((P,o)=>P+o.blocks.length,0),0);this.canvasMetaEl.textContent=h("canvas.meta",{rows:t.doc.rows.length,blocks:x,width:t.device==="mobile"?375:t.doc.theme.width}),this.renderTabs(),this.renderTabBody(),this.renderLibraryModal(),this.renderExportModal(),this.renderCodeModal(),this.renderAiModal(),this.renderPreviewModal(!1),this.refreshToast()}segBg(t){return t?"var(--ed-accent)":"transparent"}segFg(t){return t?"var(--ed-accent-ink)":"var(--ed-muted)"}renderDeviceSeg(){if(!this.deviceSeg)return;const t=this.core.state,h=this.core.t;this.deviceSeg.innerHTML="",[{label:h("device.desktop"),title:h("device.desktopHint"),v:"desktop",iconName:"monitor"},{label:h("device.mobile"),title:h("device.mobileHint"),v:"mobile",iconName:"phone"}].forEach(x=>{const M=t.device===x.v,j=l("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(M)}; color: ${this.segFg(M)}; transition: background 0.16s, color 0.16s;`,{type:"button",title:x.title,"aria-pressed":String(M)});j.appendChild(H(x.iconName,15)),j.addEventListener("mouseenter",()=>{M?j.style.background="var(--ed-accent-strong)":(j.style.background="var(--ed-soft)",j.style.color="var(--ed-accent)")}),j.addEventListener("mouseleave",()=>{j.style.background=this.segBg(M),j.style.color=this.segFg(M)}),j.addEventListener("click",()=>this.core.setState({device:x.v})),ee(j,x.label,"down"),this.deviceSeg.appendChild(j)})}renderZoomSeg(){const t=this.core.state;this.zoomSeg.innerHTML="",[.75,1,1.25].forEach(h=>{const x=t.zoom===h,M=l("button",`border: 0; border-radius: 7px; cursor: pointer; background: ${this.segBg(x)}; color: ${this.segFg(x)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 5px 9px; transition: background 0.16s, color 0.16s;`,{type:"button",text:`${Math.round(h*100)}%`,"aria-pressed":String(x)});M.addEventListener("click",()=>this.core.setState({zoom:h})),this.zoomSeg.appendChild(M)})}renderTabs(){const t=this.core.state;this.tabBar.innerHTML="",ce(this.core.t).forEach(h=>{const x=t.tab===h.key,M=l("button",`border: 0; border-radius: 8px 8px 0 0; border-bottom: 2px solid ${x?"var(--ed-accent)":"transparent"}; background: ${x?"var(--ed-panel)":"transparent"}; color: ${x?"var(--ed-accent)":"var(--ed-muted)"}; cursor: pointer; height: 39px; display: flex; align-items: center; justify-content: center; transition: color 0.16s, background 0.16s;`,{type:"button",title:h.title,role:"tab","aria-selected":String(x)});M.appendChild(H(h.iconName,16)),M.addEventListener("mouseenter",()=>{x||(M.style.color="var(--ed-accent)",M.style.background="var(--ed-soft)")}),M.addEventListener("mouseleave",()=>{M.style.color=x?"var(--ed-accent)":"var(--ed-muted)",M.style.background=x?"var(--ed-panel)":"transparent"}),M.addEventListener("click",()=>this.core.setState({tab:h.key})),ee(M,h.label,"down"),this.tabBar.appendChild(M)})}renderTabBody(){this.tabBody.innerHTML="";const t=this.core.state.tab;t==="design"?this.tabBody.appendChild(this.renderDesignTab()):t==="blocks"?this.tabBody.appendChild(this.renderBlocksTab()):t==="rows"?this.tabBody.appendChild(this.renderRowsTab()):t==="files"?this.tabBody.appendChild(this.renderFilesTab()):t==="layers"?this.tabBody.appendChild(this.renderLayersTab()):t==="theme"?this.tabBody.appendChild(this.renderThemeTab()):t==="data"&&this.tabBody.appendChild(this.renderDataTab())}renderDesignTab(){const t=this.core.state,h=this.core.t,x=this.core.selObj(),M=l("div","min-height: 100%; display: flex; flex-direction: column;",{class:"mc-tab-surface mc-design-panel"}),j=l("div","padding: 12px 14px; border-bottom: 1px solid var(--ed-line); display: flex; align-items: center; gap: 10px; position: sticky; top: 0; background: var(--ed-panel); z-index: 5;",{class:"mc-inspector-head"});if(t.sel){const s=l("div","width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--ed-soft); color: var(--ed-accent); display: flex; align-items: center; justify-content: center;");s.appendChild(H(x.block?x.block.type:"product",18)),j.appendChild(s)}const P=l("div","flex: 1; min-width: 0;");if(P.append(l("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:x.block?O(x.block.type).label:x.row?h("inspector.sectionLabel"):h("inspector.nothingSelected")}),l("div","font-size: 11px; color: var(--ed-muted); margin-top: 1px;",{text:x.block?h("inspector.blockProperties"):x.row?h("inspector.sectionProperties"):h("inspector.title")})),j.appendChild(P),t.sel){const s=l("div","display: flex; gap: 4px;"),c=l("button","border: 0; border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-muted); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: background 0.16s, color 0.16s;",{type:"button",title:h("action.duplicateHint"),class:"mc-icon-button"});c.appendChild(H("copy",14)),c.addEventListener("mouseenter",()=>{c.style.background="var(--ed-soft)",c.style.color="var(--ed-accent)"}),c.addEventListener("mouseleave",()=>{c.style.background="var(--ed-panel-2)",c.style.color="var(--ed-muted)"}),c.addEventListener("click",()=>this.core.dupSel()),ee(c,h("action.duplicateHint"),"down","end");const i=l("button","border: 0; border-radius: 8px; background: var(--ed-danger-soft); color: var(--ed-danger); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: filter 0.16s;",{type:"button",title:h("action.deleteHint"),class:"mc-icon-button"});i.appendChild(H("trash",14)),i.addEventListener("mouseenter",()=>{i.style.filter="brightness(0.94)"}),i.addEventListener("mouseleave",()=>{i.style.filter=""}),i.addEventListener("click",()=>this.core.delSel()),ee(i,h("action.deleteHint"),"down","end"),s.append(c,i),j.appendChild(s)}M.appendChild(j);const o=l("div","background: var(--ed-panel); flex: 1; padding-bottom: 28px;",{class:"mc-panel-content"});if(!t.sel){const s=l("div","margin: 12px 14px; background: var(--ed-panel); border: 1px solid var(--ed-line); border-radius: 12px; padding: 14px; font-size: 12.5px; color: var(--ed-muted); line-height: 1.6;"),c=l("p","margin: 0 0 14px;");c.innerHTML=h("inspector.emptyBody"),s.appendChild(c);const i=l("div","position: relative; border: 1px solid var(--ed-line); border-radius: 10px; padding: 12px;",{class:"mc-shortcuts"});i.appendChild(l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); margin-bottom: 8px;",{text:h("inspector.shortcuts")}));const T=l("div","display: grid; gap: 5px; font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--ed-muted);");[h("shortcut.undoRedo"),h("shortcut.duplicate"),h("shortcut.delete"),h("shortcut.export"),h("shortcut.escape")].forEach(G=>T.appendChild(l("div","",{text:G}))),i.appendChild(T),s.appendChild(i),o.appendChild(s)}const r=this.core.fields().concat(this.core.boxFields());return g(o,r),M.appendChild(o),M}renderBlocksTab(){const t=this.core.t,h=this.tabSurface();h.appendChild(this.sectionBar(t("blocks.dragHint"),t("blocks.count",{count:b.length})));const x=this.sectionBody(),M=l("div","display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;");return he(this.core).forEach(j=>{const P=l("div","border: 1px solid var(--ed-line); border-radius: 10px; background: var(--ed-panel-2); cursor: grab; padding: 11px 4px 8px; display: flex; flex-direction: column; align-items: center; gap: 7px; user-select: none; transition: border-color 0.16s, transform 0.16s, background 0.16s, box-shadow 0.16s;",{draggable:"true",title:j.hint}),o=()=>{P.style.borderColor="var(--ed-accent)",P.style.background="var(--ed-soft)",P.style.transform="translateY(-2px)",P.style.boxShadow="var(--ed-shadow-sm)"};P.addEventListener("mouseenter",o),P.addEventListener("mouseleave",()=>{P.style.borderColor="var(--ed-line)",P.style.background="var(--ed-panel-2)",P.style.transform="",P.style.boxShadow=""}),P.addEventListener("mousedown",()=>{P.style.cursor="grabbing",P.style.transform=""}),P.addEventListener("mouseup",()=>{P.style.cursor="grab",o()}),P.addEventListener("dragstart",j.onDragStart),P.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),P.addEventListener("dblclick",j.onAdd);const r=l("span","color: var(--ed-accent); display: block;");r.appendChild(j.icon()),P.appendChild(r),P.appendChild(l("span","font-size: 10.5px; color: var(--ed-muted); text-align: center; line-height: 1.2;",{text:j.label})),M.appendChild(P)}),x.appendChild(M),h.appendChild(x),h}renderRowsTab(){const t=this.core.state,h=this.core.t,x=this.tabSurface();x.appendChild(this.sectionBar(h("rows.sectionLayouts")));const M=this.sectionBody(),j=l("div","display: grid; gap: 6px;");k.forEach(G=>{const I=l("div","border: 1px solid var(--ed-line); border-radius: 9px; background: var(--ed-panel-2); cursor: grab; padding: 10px; display: flex; align-items: center; gap: 12px; user-select: none; transition: border-color 0.16s, background 0.16s;",{draggable:"true"});I.addEventListener("mouseenter",()=>{I.style.borderColor="var(--ed-accent)",I.style.background="var(--ed-soft)"}),I.addEventListener("mouseleave",()=>{I.style.borderColor="var(--ed-line)",I.style.background="var(--ed-panel-2)"}),I.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:G.spans})),I.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),I.addEventListener("dblclick",()=>this.core.insertRow(G.spans,t.doc.rows.length));const oe=l("div","display: flex; gap: 3px; flex: 1; height: 26px;");G.spans.forEach(se=>oe.appendChild(l("div",`flex: ${se}; border: 1px solid var(--ed-line-2); background: repeating-linear-gradient(45deg, transparent, transparent 4px, var(--ed-line) 4px, var(--ed-line) 5px);`))),I.append(oe,l("span","font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-muted); white-space: nowrap;",{text:G.label})),j.appendChild(I)}),M.appendChild(j),x.appendChild(M),x.appendChild(this.sectionBar(h("rows.customMarkup")));const P=this.sectionBody(),o=l("div","border: 1px solid var(--ed-line); border-radius: 9px; background: var(--ed-panel-2); cursor: grab; padding: 11px 12px; display: flex; align-items: center; gap: 11px; user-select: none; transition: border-color 0.16s, background 0.16s;",{draggable:"true",title:h("rows.htmlRowHint")});o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)",o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)",o.style.background="var(--ed-panel-2)"}),o.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:[100],html:!0})),o.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),o.addEventListener("click",()=>this.core.insertRow([100],t.doc.rows.length,!0));const r=l("span","color: var(--ed-accent); display: block;");r.appendChild(H("code",20));const s=l("span","flex: 1;");s.append(l("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 13px; line-height: 1.2;",{text:h("rows.rawHtmlSection")}),l("span","display: block; font-size: 11px; color: var(--ed-muted); line-height: 1.4;",{text:h("rows.rawHtmlDesc")})),o.append(r,s),P.appendChild(o),x.appendChild(P),x.appendChild(this.sectionBar(h("rows.canvasModel")));const c=this.sectionBody(),i=l("div","",{class:"mc-segment"});[{label:h("rows.modeRowBased"),v:"rows"},{label:h("rows.modeFreeStack"),v:"stack"}].forEach(G=>{const I=t.mode===G.v,oe=l("button",`flex: 1; background: ${this.segBg(I)}; color: ${this.segFg(I)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 8px 4px; transition: background 0.16s, color 0.16s;`,{type:"button",text:G.label,"aria-pressed":String(I)});oe.addEventListener("click",()=>this.core.setState({mode:G.v})),i.appendChild(oe)}),c.appendChild(i);const T=t.mode==="rows"?h("rows.hintRows"):h("rows.hintStack");return c.appendChild(l("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:T})),x.appendChild(c),x}renderFilesTab(){const t=this.core.state,h=this.core.t,x=this.tabSurface();x.appendChild(this.sectionBar(h("files.libraryCount",{count:t.assets.length})));const M=this.sectionBody(),j=l("button","width: 100%; border: 0; border-radius: 8px; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; padding: 9px 12px; display: flex; align-items: center; justify-content: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});j.append(H("folder",14),l("span","",{text:h("files.openManager")})),j.addEventListener("mouseenter",()=>{j.style.filter="brightness(1.1)"}),j.addEventListener("mouseleave",()=>{j.style.filter=""}),j.addEventListener("click",()=>this.core.openLibrary()),M.appendChild(j);const P=l("div","display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 12px;");return t.assets.slice(0,6).forEach(o=>{const r=l("div","border: 1px solid var(--ed-line); border-radius: 9px; overflow: hidden; cursor: grab; background: var(--ed-panel-2); transition: border-color 0.16s;",{draggable:"true",title:o.name});r.addEventListener("mouseenter",()=>{r.style.borderColor="var(--ed-accent)"}),r.addEventListener("mouseleave",()=>{r.style.borderColor="var(--ed-line)"}),r.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:o.id})),r.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),r.appendChild(l("div",`width: 100%; height: 64px; background-image: url("${o.url}"); background-size: cover; background-position: center; background-color: var(--ed-work);`,{role:"img","aria-label":o.name})),r.appendChild(l("div","font-family: ui-monospace, monospace; font-size: 9px; color: var(--ed-muted); padding: 4px 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:o.name})),P.appendChild(r)}),M.appendChild(P),M.appendChild(l("p","margin: 12px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:h("files.dragToCanvas")})),x.appendChild(M),x}renderLayersTab(){const t=this.core.state,h=this.core.t,x=this.tabSurface();x.appendChild(this.sectionBar(h("layers.structure")));const M=this.sectionBody("display: grid; gap: 0;");return M.classList.add("mc-layer-tree"),t.doc.rows.forEach((j,P)=>{const o=t.sel&&t.sel.id===j.id,r=l("div","background: transparent; padding: 0 0 8px;",{class:`mc-tree-section${o?" is-selected":""}`}),s=j.cols.reduce((T,G)=>T+G.blocks.length,0),c=l("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 6px 7px; border-radius: 7px; background: ${o?"var(--ed-soft)":"transparent"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-section-node"});c.addEventListener("mouseenter",()=>{c.style.background="var(--ed-soft)"}),c.addEventListener("mouseleave",()=>{c.style.background=o?"var(--ed-soft)":"transparent"}),c.addEventListener("click",()=>this.core.select("row",j.id)),c.append(l("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: ui-monospace, monospace; font-size: 10px; font-weight: 600; background: ${o?"var(--ed-accent)":"var(--ed-panel-2)"}; color: ${o?"var(--ed-accent-ink)":"var(--ed-muted)"};`,{text:String(P+1).padStart(2,"0"),class:"mc-tree-index"}),l("span","font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; color: var(--ed-text);",{text:j.cols.length===1?h("layers.sectionSingle"):h("layers.sectionMulti",{count:j.cols.length}),class:"mc-tree-title"}),l("span","flex: 1;"),l("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:h("layers.blockCount",{count:s}),class:"mc-tree-count"})),r.appendChild(c);const i=l("div","",{class:"mc-tree-children mc-tree-columns"});j.cols.forEach((T,G)=>{const I=l("div","",{class:"mc-tree-branch"}),oe=l("div","display: flex; align-items: center; gap: 7px; min-height: 28px; padding: 3px 7px; color: var(--ed-muted);",{class:"mc-tree-node mc-tree-column-node"}),se=l("span","width: 20px; height: 20px; flex: none; border-radius: 5px; display: flex; align-items: center; justify-content: center; background: var(--ed-panel-2); color: var(--ed-faint);");if(se.appendChild(H("table",11)),oe.append(se,l("span","font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{text:h("layers.column",{index:G+1}),class:"mc-tree-title"}),l("span","flex: 1;"),l("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:h("layers.blockCount",{count:T.blocks.length}),class:"mc-tree-count"})),I.appendChild(oe),T.blocks.length){const ke=l("div","",{class:"mc-tree-children mc-tree-blocks"});T.blocks.forEach(u=>{const n=t.sel&&t.sel.id===u.id,B=O(u.type).label,U=u.type==="text"?String(u.props.html||"").replace(/<[^>]+>/g,"").trim().slice(0,34):u.props.label||u.props.title||u.props.caption||"",Z=l("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 4px 7px; border-radius: 8px; background: ${n?"var(--ed-soft)":"transparent"}; box-shadow: ${n?"inset 0 0 0 1px var(--ed-accent)":"none"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-block-node"});Z.addEventListener("mouseenter",()=>{t.sel&&t.sel.id===u.id||(Z.style.background="var(--ed-panel)")}),Z.addEventListener("mouseleave",()=>{Z.style.background=n?"var(--ed-soft)":"transparent"}),Z.addEventListener("click",()=>this.core.select("block",u.id));const J=l("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: ${n?"var(--ed-accent)":"var(--ed-soft)"}; color: ${n?"var(--ed-accent-ink)":"var(--ed-accent)"};`);J.appendChild(H(u.type,12)),Z.append(J,l("span","font-family: var(--ed-font); font-size: 12px; font-weight: 500; color: var(--ed-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:U||B,class:"mc-tree-title",dir:"auto"})),U&&Z.append(l("span","flex: 1; min-width: 8px;"),l("span","flex: none; font-family: var(--ed-font); font-size: 9.5px; font-weight: 600; letter-spacing: 0.035em; text-transform: uppercase; color: var(--ed-muted);",{text:B,class:"mc-tree-type"})),ke.appendChild(Z)}),I.appendChild(ke)}i.appendChild(I)}),r.appendChild(i),M.appendChild(r)}),x.appendChild(M),x}renderThemeTab(){const t=this.tabSurface();return g(t,this.core.themeFields()),t}renderDataTab(){const t=this.core.state,h=this.core.t,x=this.tabSurface();x.appendChild(this.sectionBar(h("vars.title"),h("vars.fromCode",{count:this.core.vars().length})));const M=this.sectionBody();M.appendChild(l("p","margin: 0 0 12px; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:h("vars.declaredNote")}));const j=l("input","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); border-radius: 8px; color: var(--ed-text); font: inherit; font-size: 12.5px; padding: 7px 9px; margin-bottom: 8px;",{placeholder:h("vars.filterPlaceholder"),"data-focus-key":"var-query",dir:"auto"});j.value=t.varQuery||"",j.addEventListener("focus",()=>{j.style.borderColor="var(--ed-accent)",j.style.outline="none"}),j.addEventListener("blur",()=>{j.style.borderColor="var(--ed-line)"});const P=v(c=>this.core.setState({varQuery:c}));j.addEventListener("input",c=>P.call(c.target.value)),M.appendChild(j);const o=this.core.vars(),r=o.filter(c=>!t.varQuery||c.toLowerCase().includes(String(t.varQuery).toLowerCase())),s=l("div","display: grid; gap: 3px;");return r.forEach(c=>{const i=c.replace(/[_.]/g," ").replace(/\b\w/g,I=>I.toUpperCase()),T=l("button","display: flex; align-items: center; gap: 9px; text-align: left; border: 1px solid var(--ed-line); border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-text); cursor: pointer; padding: 8px 10px; transition: border-color 0.16s, background 0.16s;",{type:"button",title:h("vars.insertHint")});T.addEventListener("mouseenter",()=>{T.style.borderColor="var(--ed-accent)",T.style.background="var(--ed-soft)"}),T.addEventListener("mouseleave",()=>{T.style.borderColor="var(--ed-line)",T.style.background="var(--ed-panel-2)"}),T.addEventListener("click",()=>this.core.insertTag(c));const G=l("span","flex: 1; min-width: 0;");G.append(l("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; line-height: 1.2;",{text:i}),l("span","display: block; font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-accent); margin-top: 2px;",{text:S(c),dir:"ltr"})),T.append(G,l("span","font-family: var(--ed-font); font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ed-faint);",{text:h("vars.insert")})),s.appendChild(T)}),M.appendChild(s),r.length||M.appendChild(l("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:o.length?h("vars.noMatch"):h("vars.noneDeclared")})),M.appendChild(l("p","margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--ed-line); font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:h("vars.rteHint")})),x.appendChild(M),x}buildLibraryModal(){const t=this.core.t,h=l("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 34px; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});h.addEventListener("click",i=>{i.target===h&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const x=l("div","width: 100%; height: 100%; max-width: 1000px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});x.addEventListener("click",i=>i.stopPropagation()),h.appendChild(x);const M=l("div","display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);");this.libraryTitleEl=l("div","flex: 1;"),this.libraryTitleEl.append(l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:t("modal.fileManager"),"data-i18n":"modal.fileManager"}),this.libraryTitleText=l("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;")),this.assetSearch=l("input","width: 210px; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 7px 9px;",{placeholder:t("library.searchPlaceholder"),"data-i18n-placeholder":"library.searchPlaceholder","data-focus-key":"asset-query",dir:"auto"}),this.assetSearch.addEventListener("focus",()=>{this.assetSearch.style.borderColor="var(--ed-accent)",this.assetSearch.style.outline="none"}),this.assetSearch.addEventListener("blur",()=>{this.assetSearch.style.borderColor="var(--ed-line)"});const j=v(i=>this.core.setAssetQuery(i));this.assetSearch.addEventListener("input",i=>j.call(i.target.value));const P=l("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 32px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});P.append(H("upload",14),l("span","",{text:t("action.upload"),"data-i18n":"action.upload"})),P.addEventListener("mouseenter",()=>{P.style.filter="brightness(1.1)"}),P.addEventListener("mouseleave",()=>{P.style.filter=""}),P.addEventListener("click",()=>this.fileInput.click());const o=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:t("action.close"),class:"mc-icon-button"});o.appendChild(H("x",14)),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)"}),o.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ee(o,t("action.close"),"down","end"),M.append(this.libraryTitleEl,this.assetSearch,P,o),x.appendChild(M);const r=l("div","display: grid; grid-template-columns: 186px 1fr; min-height: 0;");this.folderList=l("div","border-right: 1px solid var(--ed-line); padding: 14px; overflow-y: auto;");const s=l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); margin-bottom: 10px;",{text:t("library.folders"),"data-i18n":"library.folders"});this.folderGrid=l("div","display: grid; gap: 2px;"),this.folderList.append(s,this.folderGrid),this.assetGridWrap=l("div","overflow-y: auto; padding: 16px; transition: background 0.16s;"),this.assetGridWrap.addEventListener("dragover",i=>{this.core.drag||(i.preventDefault(),this.core.state.libHot||this.core.setState({libHot:!0}))}),this.assetGridWrap.addEventListener("drop",i=>{i.preventDefault(),this.core.setState({libHot:!1}),i.dataTransfer?.files?.length&&this.core.addFiles(i.dataTransfer.files)}),this.assetStatus=l("div","font-size: 12.5px; color: var(--ed-muted); padding: 0 2px 12px;"),this.assetGrid=l("div","display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 14px;"),this.assetEmpty=l("div","padding: 28px 2px; color: var(--ed-muted); font-size: 12.5px;",{text:t("library.empty"),"data-i18n":"library.empty"}),this.assetMore=l("button","margin-top: 16px; border: 0; border-radius: 8px; background: var(--ed-soft); color: var(--ed-accent); cursor: pointer; height: 30px; padding: 0 14px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, color 0.16s;",{type:"button",text:t("library.loadMore"),"data-i18n":"library.loadMore"}),this.assetMore.addEventListener("mouseenter",()=>{this.assetMore.style.background="var(--ed-accent)",this.assetMore.style.color="var(--ed-accent-ink)"}),this.assetMore.addEventListener("mouseleave",()=>{this.assetMore.style.background="var(--ed-soft)",this.assetMore.style.color="var(--ed-accent)"}),this.assetMore.addEventListener("click",()=>this.core.loadMoreAssets()),this.assetGridWrap.append(this.assetStatus,this.assetGrid,this.assetEmpty,this.assetMore),this.assetGridWrap.appendChild(l("div","margin-top: 20px; border: 1px dashed var(--ed-line-2); padding: 22px; text-align: center; color: var(--ed-muted); font-size: 12.5px;",{text:t("library.dropHint"),"data-i18n":"library.dropHint"})),r.append(this.folderList,this.assetGridWrap),x.appendChild(r);const c=l("div","padding: 10px 20px; border-top: 1px solid var(--ed-line); display: flex; justify-content: space-between; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);");return this.libraryHintEl=l("span"),this.storageLabelEl=l("span"),c.append(this.libraryHintEl,this.storageLabelEl),x.appendChild(c),h}renderLibraryModal(){const t=this.core.state,h=this.core.t;if(this.libraryModal.style.display=t.libraryOpen?"flex":"none",!t.libraryOpen)return;this.libraryTitleText.textContent=t.assetTarget?h("modal.replaceImage"):h("modal.assetsTitle"),this.libraryHintEl.textContent=t.assetTarget?h("library.clickToReplace"):h("library.clickToPlace"),this.storageLabelEl.textContent=h("library.storageLabel",{count:t.assets.length,size:N(t.assets.reduce((j,P)=>j+(P.size||0),0))}),this.assetSearch.value!==(t.assetQuery||"")&&(this.assetSearch.value=t.assetQuery||""),this.fileInput.accept=z(this.core.limits()),this.folderGrid.innerHTML="",this.core.folderOptions().forEach(j=>{const P=t.assetFolder===j.id,o=l("button",`text-align: left; border: 0; border-left: 2px solid ${P?"var(--ed-accent)":"transparent"}; background: ${P?"var(--ed-soft)":"transparent"}; color: ${P?"var(--ed-accent)":"var(--ed-text)"}; cursor: pointer; padding: 8px 10px; font-size: 12.5px; display: flex; justify-content: space-between; gap: 8px; transition: background 0.16s;`,{type:"button"});o.addEventListener("mouseenter",()=>{o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.background=P?"var(--ed-soft)":"transparent"}),o.addEventListener("click",()=>this.core.setAssetFolder(j.id)),o.append(l("span","",{text:j.name}),l("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:j.count==null?"":String(j.count)})),this.folderGrid.appendChild(o)});const x=t.uploading?h("storage.uploading",{count:t.uploading}):t.assetsError?h("storage.errLoadFailed",{reason:t.assetsError}):t.assetsLoading?h("storage.loading"):"";this.assetStatus.textContent=x,this.assetStatus.style.display=x?"block":"none",this.assetStatus.style.color=t.assetsError?"var(--ed-danger)":"var(--ed-muted)",this.assetGridWrap.style.background=t.libHot?"var(--ed-soft)":"transparent";const M=this.core.visibleAssets();this.assetGrid.innerHTML="",M.forEach(j=>{const P=l("div","border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); overflow: hidden; background: var(--ed-panel-2); cursor: pointer; transition: border-color 0.16s, transform 0.16s, box-shadow 0.16s;",{draggable:"true"});P.addEventListener("mouseenter",()=>{P.style.borderColor="var(--ed-accent)",P.style.transform="translateY(-1px)",P.style.boxShadow="var(--ed-shadow-md)"}),P.addEventListener("mouseleave",()=>{P.style.borderColor="var(--ed-line)",P.style.transform="",P.style.boxShadow=""}),P.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:j.id})),P.addEventListener("click",()=>this.core.useAsset(j)),P.appendChild(l("div",`width: 100%; height: 120px; background-image: url("${j.url}"); background-size: cover; background-position: center; background-color: var(--ed-work); border-bottom: 1px solid var(--ed-line);`,{role:"img","aria-label":j.name}));const o=l("div","padding: 8px 9px;");o.appendChild(l("div","font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:j.name}));const r=l("div","display: flex; justify-content: space-between; gap: 6px; margin-top: 3px;");r.appendChild(l("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:`${j.w?j.w+"×"+j.ht+" · ":""}${N(j.size||0)}`}));const s=l("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint); cursor: pointer;",{title:h("library.deleteFileHint"),text:h("library.del")});s.addEventListener("mouseenter",()=>{s.style.color="var(--ed-danger)"}),s.addEventListener("mouseleave",()=>{s.style.color="var(--ed-faint)"}),s.addEventListener("click",c=>{c.stopPropagation(),this.core.removeAsset(j)}),r.appendChild(s),o.appendChild(r),P.appendChild(o),this.assetGrid.appendChild(P)}),this.assetEmpty.style.display=!M.length&&!t.assetsLoading&&!t.assetsError?"block":"none",this.assetMore.style.display=t.assetCursor?"block":"none",this.assetMore.disabled=!!t.assetsLoading}buildExportModal(){const t=this.core.t,h=l("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 34px; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});h.addEventListener("click",r=>{r.target===h&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const x=l("div","width: 100%; height: 100%; max-width: 900px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});x.addEventListener("click",r=>r.stopPropagation()),h.appendChild(x);const M=l("div","display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),j=l("div","flex: 1;");j.append(l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:t("modal.export"),"data-i18n":"modal.export"}),l("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:t("modal.exportTitle"),"data-i18n":"modal.exportTitle"})),this.copyBtn=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 32px; padding: 0 11px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 12px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",class:"mc-icon-label"}),this.copyBtn.iconNode=H("copy",14),this.copyBtn.labelNode=l("span"),this.copyBtn.append(this.copyBtn.iconNode,this.copyBtn.labelNode),this.copyBtn.addEventListener("mouseenter",()=>{this.copyBtn.style.borderColor="var(--ed-accent)",this.copyBtn.style.background="var(--ed-soft)"}),this.copyBtn.addEventListener("mouseleave",()=>{this.copyBtn.style.borderColor="var(--ed-line)",this.copyBtn.style.background="transparent"}),this.copyBtn.addEventListener("click",()=>this.core.copyExport()),this.shotBtn=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 32px; padding: 0 11px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 12px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",title:t("action.screenshotHint"),"data-i18n-title":"action.screenshotHint",class:"mc-icon-label"}),this.shotBtn.append(H("image",14),l("span","",{text:t("action.screenshot"),"data-i18n":"action.screenshot"})),this.shotBtn.addEventListener("mouseenter",()=>{this.shotBtn.style.borderColor="var(--ed-accent)",this.shotBtn.style.background="var(--ed-soft)"}),this.shotBtn.addEventListener("mouseleave",()=>{this.shotBtn.style.borderColor="var(--ed-line)",this.shotBtn.style.background="transparent"}),this.shotBtn.addEventListener("click",()=>this.previewScreenshot());const P=l("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 32px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});P.append(H("download",14),l("span","",{text:t("action.download"),"data-i18n":"action.download"})),P.addEventListener("mouseenter",()=>{P.style.filter="brightness(1.1)"}),P.addEventListener("mouseleave",()=>{P.style.filter=""}),P.addEventListener("click",()=>this.core.downloadExport());const o=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:t("action.close"),class:"mc-icon-button"});return o.appendChild(H("x",14)),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)"}),o.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ee(o,t("action.close"),"down","end"),M.append(j,this.copyBtn,this.shotBtn,P,o),x.appendChild(M),this.exportTextarea=l("textarea","width: 100%; height: 100%; box-sizing: border-box; border: 0; background: var(--ed-work); color: var(--ed-text); font-family: ui-monospace, monospace; font-size: 11.5px; line-height: 1.55; padding: 18px 20px; resize: none;",{readonly:"true",dir:"ltr"}),x.appendChild(this.exportTextarea),this.exportMetaEl=l("div","padding: 10px 20px; border-top: 1px solid var(--ed-line); font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);"),x.appendChild(this.exportMetaEl),h}renderExportModal(){const t=this.core.state,h=this.core.t;this.exportModal.style.display=t.exportOpen?"flex":"none",t.exportOpen&&(this.exportTextarea.value!==t.exportCode&&(this.exportTextarea.value=t.exportCode),this.copyBtn.labelNode.textContent=t.copied?h("export.copied"):h("export.copy"),this.exportMetaEl.textContent=h("export.meta",{kb:(t.exportCode.length/1024).toFixed(1)}))}buildCodeModal(){const t=this.core.t,h=l("div","position: absolute; inset: 0; background: var(--ed-panel); z-index: 55; display: grid; grid-template-rows: 58px minmax(0, 1fr) auto; animation: mcFade 0.16s ease; display: none;",{class:"mc-fullscreen-panel mc-code-panel"}),x=l("div","display: flex; align-items: center; gap: 10px; padding: 0 18px; border-bottom: 1px solid var(--ed-line); background: linear-gradient(to bottom, var(--ed-panel), var(--ed-panel-2));",{class:"mc-code-toolbar"}),M=l("span","width: 32px; height: 32px; border-radius: 9px; background: var(--ed-soft); color: var(--ed-accent); display: flex; align-items: center; justify-content: center; flex: none;",{class:"mc-code-badge"});M.appendChild(H("code",17));const j=l("div","flex: 1; min-width: 0;");this.codeStatusEl=l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{class:"mc-code-kicker"}),j.append(this.codeStatusEl,l("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:t("modal.rawHtmlTitle"),"data-i18n":"modal.rawHtmlTitle",class:"mc-code-heading"})),this.codeWidthSeg=l("div","",{class:"mc-segment"});const P=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 11px; display: flex; align-items: center; gap: 6px; font-family: var(--ed-font); font-size: 11px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",title:t("action.reloadHint"),"data-i18n-title":"action.reloadHint"});P.appendChild(H("refresh",14)),P.appendChild(l("span","",{text:t("action.reload"),"data-i18n":"action.reload"})),P.addEventListener("mouseenter",()=>{P.style.borderColor="var(--ed-accent)",P.style.background="var(--ed-soft)"}),P.addEventListener("mouseleave",()=>{P.style.borderColor="var(--ed-line)",P.style.background="transparent"}),P.addEventListener("click",()=>{const oe=this.core.buildHtml();this.core.setState({codeSrc:oe,codeLive:oe,codeDirty:!1}),this.core.flash(this.core.t("toast.sourceReloaded"))});const o=l("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 30px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 11px; transition: filter 0.16s;",{type:"button",title:t("action.applyToCanvasHint"),"data-i18n-title":"action.applyToCanvasHint"});o.appendChild(H("check",14)),o.appendChild(l("span","",{text:t("action.applyToCanvas"),"data-i18n":"action.applyToCanvas"})),o.addEventListener("mouseenter",()=>{o.style.filter="brightness(1.1)"}),o.addEventListener("mouseleave",()=>{o.style.filter=""}),o.addEventListener("click",()=>this.core.applyCode());const r=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s;",{type:"button",title:t("action.closeWithoutApplyingHint"),"data-i18n-title":"action.closeWithoutApplyingHint",class:"mc-icon-button"});r.appendChild(H("x",14)),r.addEventListener("mouseenter",()=>{r.style.borderColor="var(--ed-accent)"}),r.addEventListener("mouseleave",()=>{r.style.borderColor="var(--ed-line)"}),r.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ee(r,t("action.closeWithoutApplyingHint"),"down","end"),x.append(M,j,this.codeWidthSeg,P,o,r),h.appendChild(x);const s=l("div","display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; min-height: 0; background: var(--ed-work);",{class:"mc-code-split"}),c=l("div","display: grid; grid-template-rows: auto 1fr; min-height: 0; border: 1px solid var(--ed-line); border-radius: 12px; overflow: hidden; background: var(--ed-panel);",{class:"mc-code-source"}),i=l("div","padding: 7px 16px; border-bottom: 1px solid var(--ed-line); font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); display: flex; justify-content: space-between;",{class:"mc-pane-label"});this.codeMetaEl=l("span"),i.append(l("span","",{text:t("code.source"),"data-i18n":"code.source"}),this.codeMetaEl),c.appendChild(i);const T=l("div","position: relative; min-height: 0;");T.appendChild(this.buildCodeEditor()),c.appendChild(T),s.appendChild(c);const G=l("div","display: grid; grid-template-rows: auto 1fr; min-height: 0; border: 1px solid var(--ed-line); border-radius: 12px; overflow: hidden; background: var(--ed-panel);",{class:"mc-code-preview"});G.appendChild(l("div","padding: 7px 16px; border-bottom: 1px solid var(--ed-line); background: var(--ed-panel); font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:t("code.livePreview"),"data-i18n":"code.livePreview",class:"mc-pane-label"}));const I=l("div","overflow: auto; padding: 0; display: flex; justify-content: center; background: var(--ed-work);",{class:"mc-code-preview-body"});return this.codePreviewBody=I,this.codeFrame=l("iframe","width: 100%; height: 100%; min-height: 420px; border: 0; background: #ffffff; transition: width 0.24s cubic-bezier(0.22,0.61,0.36,1);",{title:t("code.liveHtmlPreviewTitle"),"data-i18n-title":"code.liveHtmlPreviewTitle",class:"mc-code-frame"}),this.codeFrame.addEventListener("load",()=>this.syncCodePreviewScrollbar()),I.appendChild(this.codeFrame),G.appendChild(I),s.appendChild(G),h.appendChild(s),h.appendChild(l("div","padding: 8px 18px; border-top: 1px solid var(--ed-line); font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);",{text:t("code.applyNote"),"data-i18n":"code.applyNote",class:"mc-code-footer"})),h}buildCodeEditor(){const t="font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 20px; tab-size: 2;",h=l("div","position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; background: var(--ed-work);",{dir:"ltr"}),x=l("div","position: relative; min-height: 100%; width: 100%; min-width: 0;");return this.codePre=l("pre",`${t} margin: 0; padding: 14px 0 80px; width: 100%; min-width: 0; min-height: 100%; white-space: normal; color: var(--ed-text); pointer-events: none; background: linear-gradient(to right, var(--ed-panel-2) 0 52px, var(--ed-work) 52px);`,{"aria-hidden":"true"}),this.codeTextarea=l("textarea",`${t} position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 14px 18px 80px 70px; border: 0; background: transparent; color: transparent; caret-color: var(--ed-accent); white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; overflow: hidden; resize: none; outline: none;`,{spellcheck:"false",wrap:"soft","data-focus-key":"code-src"}),this.codeTextarea.addEventListener("input",M=>this.core.setCodeSrc(M.target.value)),this.codeTextarea.addEventListener("keydown",M=>{if(M.key!=="Tab")return;M.preventDefault();const j=M.target,P=j.selectionStart,o=j.selectionEnd,r=j.value.slice(0,P)+" "+j.value.slice(o);this.core.setCodeSrc(r),j.value=r,j.selectionStart=j.selectionEnd=P+2}),x.append(this.codePre,this.codeTextarea),h.appendChild(x),h}syncCodePreviewScrollbar(){const t=this.codeFrame?.contentDocument;if(!t?.head)return;const x=this.ownerDocument?.defaultView?.getComputedStyle(this.mc).getPropertyValue("--ed-line-2").trim()||"rgba(15,23,42,0.16)";let M=t.head.querySelector("[data-mc-preview-scrollbar]");M||(M=t.createElement("style"),M.setAttribute("data-mc-preview-scrollbar",""),t.head.appendChild(M)),M.textContent=`html { scrollbar-width: thin !important; scrollbar-color: ${x} transparent !important; } *::-webkit-scrollbar { width: 8px !important; height: 8px !important; } *::-webkit-scrollbar-thumb { background: ${x} !important; border-radius: 999px !important; } *::-webkit-scrollbar-track { background: transparent !important; } *::-webkit-scrollbar-button { display: none !important; width: 0 !important; height: 0 !important; }`}renderCodeModal(){const t=this.core.state,h=this.core.t;if(this.codeModal.style.display=t.codeOpen?"grid":"none",!t.codeOpen)return;this.refreshCodeSource(),this._codeFrameSrc!==t.codeLive&&(this.codeFrame.srcdoc=E(t.codeLive),this._codeFrameSrc=t.codeLive),this.syncCodePreviewScrollbar(),this.codeWidthSeg.innerHTML="",[{label:h("device.desktop"),v:"desktop",iconName:"monitor"},{label:h("device.mobile"),v:"mobile",iconName:"phone"}].forEach(M=>{const j=t.codeDevice===M.v,P=l("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(j)}; color: ${this.segFg(j)};`,{type:"button",title:M.label,"aria-pressed":String(j)});P.appendChild(H(M.iconName,15)),P.addEventListener("click",()=>this.core.setState({codeDevice:M.v})),ee(P,M.label,"down"),this.codeWidthSeg.appendChild(P)});const x=t.codeDevice==="mobile";this.codeFrame.style.width=x?"390px":"100%",this.codePreviewBody.classList.toggle("is-device",x)}refreshCodeSource(){if(!this.core.state.codeOpen||!this.codeTextarea)return;const t=this.core.state,h=this.core.t;this.codeStatusEl.textContent=t.codeDirty?h("code.statusEdited"):h("code.statusSynced"),this.codeTextarea.value!==t.codeSrc&&(this.codeTextarea.value=t.codeSrc);const x=t.codeSrc.split(`
|
|
70
|
-
`);this.codePre.innerHTML=x.map((j,P)=>`<span style="display:grid;grid-template-columns:52px minmax(0,1fr);min-height:20px"><span style="padding-right:10px;text-align:right;color:var(--ed-faint);border-right:1px solid var(--ed-line);user-select:none">${P+1}</span><span style="min-width:0;padding:0 18px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word">${C(j)||"​"}</span></span>`).join("");const M=x.length;this.codeMetaEl.textContent=h("code.meta",{kb:(t.codeSrc.length/1024).toFixed(1),lines:M})}buildAiModal(){const t=this.core.t,h=l("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: flex-start; justify-content: center; padding: 34px; overflow-y: auto; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});h.addEventListener("click",G=>{G.target===h&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const x=l("div","width: 100%; max-width: 660px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});x.addEventListener("click",G=>G.stopPropagation()),h.appendChild(x);const M=l("div","display: flex; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),j=l("div","flex: 1;");j.append(l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:t("modal.aiDraft"),"data-i18n":"modal.aiDraft"}),l("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:t("modal.aiDraftTitle"),"data-i18n":"modal.aiDraftTitle"}));const P=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:t("action.close"),class:"mc-icon-button"});P.appendChild(H("x",14)),P.addEventListener("mouseenter",()=>{P.style.borderColor="var(--ed-accent)"}),P.addEventListener("mouseleave",()=>{P.style.borderColor="var(--ed-line)"}),P.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ee(P,t("action.close"),"down","end"),M.append(j,P),x.appendChild(M);const o=l("div","padding: 20px; display: grid; gap: 14px;");o.appendChild(l("p","margin: 0; padding: 10px 12px; border: 1px solid var(--ed-line); border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-muted); font-size: 12px; line-height: 1.5;",{text:t("ai.disclosure"),"data-i18n":"ai.disclosure"}));const r=l("div","display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"),s=l("div");s.appendChild(l("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.goal"),"data-i18n":"ai.goal"})),this.aiGoalSelect=l("select","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 8px;"),this.aiGoalSelect.addEventListener("change",G=>this.core.setState({aiGoal:G.target.value})),q.forEach(G=>{const I=document.createElement("optgroup");I.label=G.group,G.items.forEach(oe=>{const se=document.createElement("option");se.value=oe,se.textContent=oe,I.appendChild(se)}),this.aiGoalSelect.appendChild(I)}),s.appendChild(this.aiGoalSelect);const c=l("div");c.appendChild(l("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.tone"),"data-i18n":"ai.tone"})),this.aiToneSelect=l("select","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 8px;"),this.aiToneSelect.addEventListener("change",G=>this.core.setState({aiTone:G.target.value})),ie.forEach(G=>{const I=document.createElement("option");I.value=G,I.textContent=G,this.aiToneSelect.appendChild(I)}),c.appendChild(this.aiToneSelect),r.append(s,c),o.appendChild(r);const i=l("div");i.appendChild(l("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.briefLabel"),"data-i18n":"ai.briefLabel"})),this.aiBriefInput=l("textarea","width: 100%; min-height: 78px; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 9px; resize: vertical;",{placeholder:t("ai.briefPlaceholder"),"data-i18n-placeholder":"ai.briefPlaceholder","data-focus-key":"ai-brief",dir:"auto"}),this.aiBriefInput.addEventListener("focus",()=>{this.aiBriefInput.style.borderColor="var(--ed-accent)",this.aiBriefInput.style.outline="none"});const T=v(G=>this.core.setState({aiBrief:G}));return this.aiBriefInput.addEventListener("blur",()=>{this.aiBriefInput.style.borderColor="var(--ed-line)",T.flush()}),this.aiBriefInput.addEventListener("input",G=>T.call(G.target.value)),i.appendChild(this.aiBriefInput),o.appendChild(i),this.aiRunBtn=l("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; min-height: 36px; padding: 9px 12px; display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"}),this.aiRunBtn.iconNode=H("spark",14),this.aiRunBtn.labelNode=l("span"),this.aiRunBtn.append(this.aiRunBtn.iconNode,this.aiRunBtn.labelNode),this.aiRunBtn.addEventListener("mouseenter",()=>{this.aiRunBtn.style.filter="brightness(1.1)"}),this.aiRunBtn.addEventListener("mouseleave",()=>{this.aiRunBtn.style.filter=""}),this.aiRunBtn.addEventListener("click",()=>this.core.runAi()),o.appendChild(this.aiRunBtn),this.aiResultsEl=l("div"),o.appendChild(this.aiResultsEl),x.appendChild(o),h}renderAiModal(){const t=this.core.state,h=this.core.t;this.aiModal.style.display=t.aiOpen?"flex":"none",t.aiOpen&&(this.aiGoalSelect.value=t.aiGoal,this.aiToneSelect.value=t.aiTone,this.aiBriefInput.value!==t.aiBrief&&(this.aiBriefInput.value=t.aiBrief),this.aiRunBtn.disabled=t.aiBusy,this.aiRunBtn.labelNode.textContent=t.aiBusy?h("ai.writing"):h("ai.generate"),this.aiResultsEl.innerHTML="",t.aiResults.forEach(x=>{const M=l("div","position: relative; border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); padding: 15px;");M.appendChild(l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-accent); margin-bottom: 7px;",{text:x.kind})),M.appendChild(l("div","font-size: 14px; line-height: 1.55; white-space: pre-wrap;",{text:x.text,dir:"auto"}));const j=l("button","margin-top: 12px; border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; padding: 6px 11px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; transition: background 0.16s, color 0.16s, border-color 0.16s;",{type:"button",text:x.action});j.addEventListener("mouseenter",()=>{j.style.background="var(--ed-accent)",j.style.color="var(--ed-accent-ink)",j.style.borderColor="var(--ed-accent)"}),j.addEventListener("mouseleave",()=>{j.style.background="transparent",j.style.color="var(--ed-text)",j.style.borderColor="var(--ed-line)"}),j.addEventListener("click",x.onUse),M.appendChild(j),this.aiResultsEl.appendChild(M)}))}buildPreviewModal(){const t=this.core.t,h=l("div","",{class:"mc-fullscreen-panel mc-preview-panel"});h.style.cssText="position: absolute; inset: 0; z-index: 60; display: grid; grid-template-rows: 58px minmax(0, 1fr); animation: mcFade 0.16s ease; display: none;";const x=l("div","display: flex; align-items: center; gap: 12px; padding: 0 20px; border-bottom: 1px solid var(--ed-line); background: var(--ed-panel);",{class:"mc-preview-toolbar"}),M=l("div","flex: 1; min-width: 0;");this.previewKickerEl=l("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{class:"mc-preview-kicker"}),M.append(this.previewKickerEl),this.previewDeviceSeg=l("div","",{class:"mc-segment"});const j=l("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 13px; display: flex; align-items: center; gap: 6px; font-family: var(--ed-font); font-size: 11px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button"});j.appendChild(H("x",14)),j.appendChild(l("span","",{text:t("action.close"),"data-i18n":"action.close"})),j.addEventListener("mouseenter",()=>{j.style.borderColor="var(--ed-accent)",j.style.background="var(--ed-soft)"}),j.addEventListener("mouseleave",()=>{j.style.borderColor="var(--ed-line)",j.style.background="transparent"}),j.addEventListener("click",()=>this.core.setState({previewOpen:!1})),x.append(M,this.previewDeviceSeg,j),h.appendChild(x);const P=l("div","overflow-y: auto; padding: 0;",{class:"mc-preview-body"});return this.previewBody=P,this.previewSlot=l("div","",{class:"mc-sheet-wrap"}),this.previewSlot.style.cssText="display: flex; justify-content: center;",P.appendChild(this.previewSlot),h.appendChild(P),h}renderPreviewModal(){const t=this.core.state,h=this.core.t;if(this.previewModal.style.display=t.previewOpen?"grid":"none",!t.previewOpen)return;this.previewKickerEl.textContent=t.device==="mobile"?h("preview.kickerMobile"):h("preview.kickerDesktop",{width:t.doc.theme.width}),this.previewDeviceSeg.innerHTML="",[{label:h("device.desktop"),v:"desktop",iconName:"monitor"},{label:h("device.mobile"),v:"mobile",iconName:"phone"}].forEach(M=>{const j=t.device===M.v,P=l("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(j)}; color: ${this.segFg(j)};`,{type:"button",title:M.label,"aria-pressed":String(j)});P.appendChild(H(M.iconName,15)),P.addEventListener("click",()=>this.core.setState({device:M.v})),ee(P,M.label,"down"),this.previewDeviceSeg.appendChild(P)});const x=t.doc.theme.bg||"";this.previewBody.style.background=/^(transparent|none)$/i.test(x.trim())?"":x,this.previewSlot.innerHTML="",this.previewSlot.appendChild(d(this.core,!1))}}function he(de){const t=()=>de.state.doc.rows.length;return b.map(h=>{if(h.g){const M=K[h.g];return{label:M.label,icon:()=>H(M.icon,20),hint:M.label+" — drops a row of ordinary blocks you can edit and rearrange one by one",onDragStart:de.startDrag({kind:"group",id:h.g}),onAdd:()=>de.insertGroup(h.g,null,0,t())}}const x=O(h.t);return x?{label:x.label,icon:()=>H(x.type,20),hint:x.hint+" — drag onto the canvas, or double-click to append",onDragStart:de.startDrag({kind:"block",type:x.type}),onAdd:()=>de.insertBlock(x.type,null,0,t())}:null}).filter(Boolean)}typeof customElements<"u"&&!customElements.get("mailcraft-editor")&&customElements.define("mailcraft-editor",pe),Object.assign(V,{MailCraftEditor:pe})},re["render/block-body.js"]=function(ne,V,A){const{icon:W,brandIcon:q,socialKey:ie,SOCIAL_BRAND:K,contrastInk:k}=A("core/icons.js"),{pad:O}=A("core/layout-style.js"),{parseItems:b,cellsOf:N}=A("core/parse.js");function z(C,$,E){const D=document.createElement(C);if($&&Object.assign(D.style,$),E)for(const[e,m]of Object.entries(E))e==="html"?D.innerHTML=m:e==="text"?D.textContent=m:m!==void 0&&D.setAttribute(e,m);return D}function d(C){return String(C??"")}const p={"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-lt-active":"false"};function a(C){return C?{contenteditable:"true",spellcheck:"false",...p}:{spellcheck:"false"}}function g(C,$){$&&C.querySelectorAll("[style]").forEach(E=>E.style.removeProperty("font-family"))}function v(C,$,E,D){const e=C.props,m=$,y=E?{"data-mc-content":C.id}:{};switch(C.type){case"text":{const f=E,w=z("div",{padding:O(e),fontSize:e.size+"px",lineHeight:e.lh,textAlign:e.align,fontWeight:e.weight,color:e.color||m.text,outline:"none",fontFamily:e.fontFamily||m.font},{...y,...a(f),html:d(e.html),"data-focus-key":f?"block:"+C.id:void 0});return g(w,e.fontFamily),f&&H(w,C,"html",D,!1),E?S(C,D,f&&D.editingId===C.id,w):w}case"image":{const f=z("div",{padding:O(e),textAlign:e.align,fontSize:"0"},y);if(e.href){const w=z("a",{display:"inline-block",width:e.width+"%"},{href:e.href});w.appendChild(z("img",{width:"100%",borderRadius:e.radius+"px",display:"block",border:"0"},{src:e.src,alt:e.alt})),f.appendChild(w)}else f.appendChild(z("img",{width:e.width+"%",maxWidth:"100%",borderRadius:e.radius+"px",display:"inline-block",border:"0"},{src:e.src,alt:e.alt}));return f}case"button":{const f=z("div",{textAlign:e.align,padding:"4px 0"},y),w=z("a",{display:e.full?"block":"inline-block",background:e.bg,color:e.color,textDecoration:"none",padding:e.py+"px "+e.px+"px",borderRadius:e.radius+"px",fontFamily:e.fontFamily||m.font,fontSize:e.size+"px",fontWeight:"600",letterSpacing:"0.02em",outline:"none",border:e.borderW?e.borderW+"px "+(e.borderStyle||"solid")+" "+(e.borderColor||e.color):"0"},{href:e.href,...a(E),text:e.label});return w.addEventListener("click",L=>L.preventDefault()),E&&w.addEventListener("blur",L=>{L.target.textContent!==e.label&&D.onBlur(C,"label",L.target.textContent)}),f.appendChild(w),f}case"divider":{const f=z("div",{padding:e.py+"px 0"},y);return f.appendChild(z("div",{height:"0",width:e.width+"%",margin:"0 auto",borderTop:e.thickness+"px "+(e.lineStyle||"solid")+" "+e.color})),f}case"spacer":return z("div",{height:e.height+"px"},y);case"social":{const f=e.shape||"outline",w=e.palette||"custom",L=f==="circle"||f==="square",F=Math.round((e.size||20)*1.9),Y=z("div",{textAlign:e.align,padding:"8px 0"},y);return b(e.items).forEach(Q=>{const R=ie(Q.label),_=w==="brand"&&K[R]||e.color,ae=L?k(_):_,l=z("a",{display:"inline-flex",flexDirection:e.showLabel?"column":"row",alignItems:"center",justifyContent:"center",gap:"5px",width:e.showLabel?"auto":F+"px",height:e.showLabel?"auto":F+"px",padding:e.showLabel?"7px 9px":"0",margin:"0 "+(e.gap||12)/2+"px",verticalAlign:"middle",textDecoration:"none",borderRadius:f==="circle"?"50%":f==="square"?Math.round(F*.28)+"px":"0",color:ae,background:L?_:"transparent",border:f==="outline"?"1px solid "+_:"0"},{href:Q.href,title:Q.label});l.addEventListener("click",ee=>ee.preventDefault());let ce=null;if(D&&D.iconProvider)try{ce=D.iconProvider(R,{label:Q.label,size:e.size,color:ae})}catch{ce=null}if(l.appendChild(ce instanceof Node?ce:q(R,e.size)),e.showLabel){const ee=z("span",{fontFamily:e.fontFamily||m.font,fontSize:"10px",letterSpacing:"0.12em",textTransform:"uppercase"},{text:Q.label});l.appendChild(ee)}Y.appendChild(l)}),Y}case"video":{const f=z("div",{padding:"4px 0",textAlign:"center"},y),w=z("a",{display:"block",position:"relative"},{href:e.href});w.addEventListener("click",Y=>Y.preventDefault()),w.appendChild(z("img",{width:"100%",display:"block",border:"0"},{src:e.src,alt:e.caption}));const L=z("span",{position:"absolute",inset:"0",display:"flex",alignItems:"center",justifyContent:"center"}),F=z("span",{width:"54px",height:"54px",borderRadius:"50%",background:e.badge,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"18px",paddingLeft:"4px"},{text:"▶"});return L.appendChild(F),w.appendChild(L),f.appendChild(w),f.appendChild(z("div",{fontFamily:m.font,fontSize:"12.5px",color:e.badge,opacity:"0.7",marginTop:"8px"},{text:e.caption})),f}case"html":{const f=String(e.code||""),w=E&&!/<style|<scr/i.test(f),L=E?f.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,(Y,Q,R)=>"<style"+Q+">"+D.scopeCss(R,"[data-mc-sheet]")+"</style>"):f,F=z("div",{padding:"6px 0",fontFamily:m.font,color:m.text,outline:"none"},{...y,...a(w),html:d(L),"data-focus-key":w?"block:"+C.id:void 0});return w&&H(F,C,"code",D,!1),E?S(C,D,w&&D.editingId===C.id,F):F}case"countdown":{const f=Math.max(0,new Date(e.target).getTime()-D.now),w=[["days",Math.floor(f/864e5)],["hrs",Math.floor(f/36e5)%24],["min",Math.floor(f/6e4)%60],["sec",Math.floor(f/1e3)%60]],L=z("div",{padding:"10px 0",textAlign:"center",fontFamily:e.fontFamily||m.font,color:e.color},E?Object.assign({"data-mc-countdown":e.target},y):y);L.appendChild(z("div",{fontSize:"12px",letterSpacing:"0.14em",textTransform:"uppercase",opacity:"0.6",marginBottom:"10px"},{text:e.label}));const F=z("div",{display:"flex",justifyContent:"center",gap:"10px"});return w.forEach(([Y,Q])=>{const R=z("div",{border:"1px solid "+e.color+"33",padding:"9px 12px",minWidth:"58px"});R.appendChild(z("div",{fontSize:"25px",fontFamily:e.fontFamily||m.font,fontWeight:"700",lineHeight:"1"},E?{text:String(Q).padStart(2,"0"),"data-mc-count":Y}:{text:String(Q).padStart(2,"0")})),R.appendChild(z("div",{fontSize:"9.5px",letterSpacing:"0.16em",textTransform:"uppercase",opacity:"0.55",marginTop:"4px"},{text:Y})),F.appendChild(R)}),L.appendChild(F),L}case"menu":{const f=z("div",{textAlign:e.align,padding:"10px 0"},y);return b(e.items).forEach(w=>{const L=z("a",{color:e.color,fontSize:e.size+"px",fontFamily:e.fontFamily||m.font,textDecoration:"none",margin:"0 "+e.gap/2+"px",letterSpacing:"0.12em",textTransform:"uppercase"},{href:w.href,text:w.label});L.addEventListener("click",F=>F.preventDefault()),f.appendChild(L)}),f}case"heading":{const f=E,w=z(e.level||"h2",{margin:"0",padding:O(e),fontSize:e.size+"px",lineHeight:e.lh,textAlign:e.align,fontWeight:e.weight,letterSpacing:e.font==="condensed"?"0.005em":"-0.01em",color:e.color||m.text,outline:"none",fontFamily:e.fontFamily||(e.font==="condensed"?"'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif":m.font)},{...y,...a(f),text:d(e.text),"data-focus-key":f?"block:"+C.id:void 0});return f&&H(w,C,"text",D,!0),E?S(C,D,D.editingId===C.id,w):w}case"list":{const f=String(e.items||"").split(`
|
|
71
|
-
`).filter(
|
|
72
|
-
`)))},renderRte:y=>p(e,y)}}function D(e,
|
|
73
|
-
`)),
|
|
74
|
-
`).map(R=>R.split("|")),f=Math.max(1,...y.map(R=>R.length));y.forEach(R=>{for(;R.length<f;)R.push("")});const
|
|
75
|
-
`)),L=b("div",{display:"flex",flexDirection:"column",gap:"4px"}),F={border:"0",borderRadius:"5px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",fontSize:"11px",lineHeight:"1",padding:"2px"},Y=R=>{R.addEventListener("mouseenter",()=>{R.style.background="var(--ed-danger-soft)",R.style.color="var(--ed-danger)"}),R.addEventListener("mouseleave",()=>{R.style.background="transparent",R.style.color="var(--ed-faint)"})};if(f>1){const R=b("div",{display:"flex",gap:"4px",paddingRight:y.length>1?"22px":"0"});for(let _=0;_<f;_++){const ae=b("button",Object.assign({flex:"1",minWidth:"0"},F),{type:"button",title:"Remove column "+(_+1),text:"✕"});Y(ae),ae.addEventListener("click",()=>w(y.map(l=>l.filter((ce,ee)=>ee!==_)))),R.appendChild(ae)}L.appendChild(R)}y.forEach((R,_)=>{const ae=b("div",{display:"flex",gap:"4px",alignItems:"center"});if(R.forEach((l,ce)=>{const ee=b("input",{flex:"1",minWidth:"0",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",borderRadius:"6px",color:"var(--ed-text)",font:"inherit",fontSize:"11px",fontWeight:e.header&&_===0?"700":"400",padding:"5px 6px"},{"data-focus-key":`f${e.key}-r${_}c${ce}`,dir:"auto"});ee.value=l;const me=N(pe=>{const he=y.map(de=>de.slice());he[_][ce]=pe,w(he)});ee.addEventListener("input",pe=>me.call(pe.target.value)),ee.addEventListener("focus",()=>{ee.style.borderColor="var(--ed-accent)",ee.style.outline="none"}),ee.addEventListener("blur",()=>{ee.style.borderColor="var(--ed-line)",me.flush()}),ae.appendChild(ee)}),y.length>1){const l=b("button",Object.assign({width:"18px",flex:"none"},F),{type:"button",title:"Remove row "+(_+1),text:"✕"});Y(l),l.addEventListener("click",()=>w(y.filter((ce,ee)=>ee!==_))),ae.appendChild(l)}L.appendChild(ae)});const Q=b("div",{display:"flex",gap:"6px",marginTop:"2px"});return[["+ Row",()=>w(y.concat([new Array(f).fill("")]))],["+ Column",()=>w(y.map(R=>R.concat("")))]].forEach(([R,_])=>{const ae=b("button",{flex:"1",border:"1px dashed var(--ed-line-2)",borderRadius:"8px",background:"transparent",color:"var(--ed-muted)",cursor:"pointer",fontFamily:"var(--ed-font)",fontSize:"11px",fontWeight:"600",padding:"6px"},{type:"button",text:R});ae.addEventListener("mouseenter",()=>{ae.style.borderColor="var(--ed-accent)",ae.style.color="var(--ed-accent)",ae.style.background="var(--ed-soft)"}),ae.addEventListener("mouseleave",()=>{ae.style.borderColor="var(--ed-line-2)",ae.style.color="var(--ed-muted)",ae.style.background="transparent"}),ae.addEventListener("click",_),Q.appendChild(ae)}),L.appendChild(Q),m.appendChild(L),m}function C(e,m){const y=b("div",{display:"flex",alignItems:"stretch",width:m||"100%",height:"32px",flex:"none",boxSizing:"border-box",border:"1px solid var(--ed-line)",borderRadius:"8px",background:"var(--ed-panel)",overflow:"hidden",transition:"border-color 0.16s, box-shadow 0.16s"},{class:"mc-field-control mc-stepper"}),f=(R,_,ae)=>{const l=b("button",{width:"27px",flex:"none",display:"flex",alignItems:"center",justifyContent:"center",padding:"0",border:"0",background:"transparent",color:"var(--ed-muted)",cursor:"pointer",transition:"background 0.14s, color 0.14s"},{type:"button",title:_});return l.appendChild(W(R,11)),l.addEventListener("mouseenter",()=>{l.style.background="var(--ed-soft)",l.style.color="var(--ed-accent)"}),l.addEventListener("mouseleave",()=>{l.style.background="transparent",l.style.color="var(--ed-muted)"}),l.addEventListener("click",ae),l},w=f("minus","Decrease",()=>e.onDec()),L=b("div",{flex:"1",minWidth:"0",display:"flex",alignItems:"baseline",alignSelf:"center",justifyContent:"center",gap:"3px",padding:"0 2px"}),F=b("input",{width:"44px",minWidth:"0",flex:"0 1 auto",textAlign:"center",boxSizing:"border-box",background:"transparent",border:"0",outline:"none",color:"var(--ed-text)",fontFamily:"var(--ed-font)",fontSize:"12.5px",fontWeight:"600",padding:"0"},{type:"text",inputmode:"decimal",class:"mc-stepper-input","data-focus-key":`f${e.key}`});F.value=e.value;const Y=N(e.onInput);F.addEventListener("input",R=>Y.call(R.target.value)),F.addEventListener("blur",R=>{Y.flush(),e.onBlur(R.target.value)}),F.addEventListener("focus",()=>{y.style.borderColor="var(--ed-accent)",y.style.boxShadow="0 0 0 3px var(--ed-soft)"}),F.addEventListener("blur",()=>{y.style.borderColor="var(--ed-line)",y.style.boxShadow="none"}),L.appendChild(F),e.unit&&L.appendChild(b("span",{flex:"none",fontSize:"12px",fontFamily:"var(--ed-font)",fontWeight:"500",color:"var(--ed-text)"},{text:e.unit}));const Q=f("plus","Increase",()=>e.onInc());return y.append(w,L,Q),y}function $(e){const m=b("div");if(e.label||e.toggle){const f=b("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",marginBottom:"9px"});if(f.appendChild(d(e.label||"",!0)),e.toggle){const w=(e.label||"")+"::more",L=b("div",{display:"flex",alignItems:"center",gap:"7px",flex:"none",cursor:"pointer"},{class:"mc-switch-row"});L.addEventListener("click",()=>{z=w,e.toggle.onChange()}),L.appendChild(b("span",{fontFamily:"var(--ed-font)",fontSize:"12.5px",lineHeight:"1.35",fontWeight:"500",color:"var(--ed-text)"},{text:"More options",class:"mc-field-label"}));const F=b("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!e.toggle.on),"aria-label":(e.label?e.label+" — ":"")+"more options"});F.appendChild(b("span",null,{class:"mc-switch-knob"})),z===w&&(F.classList.add("mc-switch-anim"),z=null),L.appendChild(F),f.appendChild(L)}m.appendChild(f)}const y=b("div",{display:"grid",gridTemplateColumns:e.items.length===1?"1fr":"1fr 1fr",gap:"10px 12px"});return e.items.forEach(f=>{const w=b("div");w.appendChild(d(f.label)),w.appendChild(C(f)),y.appendChild(w)}),m.appendChild(y),m}function E(e){const m=b("div",{minWidth:"0"},{class:"mc-field"});if(e.isSocial)return m.appendChild(v(e)),m;if(e.isTableGrid)return m.appendChild(S(e)),m;if(e.isRichLinks)return m.appendChild(H(e)),m;if(e.isArea){const y=b("div");y.appendChild(d(e.label));const f=b("textarea",{width:"100%",minHeight:"76px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"11.5px",lineHeight:"1.5",padding:"7px 8px",resize:"vertical"},{placeholder:e.placeholder,"data-focus-key":`f${e.key}`,dir:"auto"});f.value=e.value;const w=N(e.onChange);return f.addEventListener("input",L=>w.call(L.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",w.flush()}),y.appendChild(f),m.appendChild(y),m}if(e.isBtn){const y=b("button",{width:"100%",border:"0",borderRadius:"8px",background:"var(--ed-soft)",color:"var(--ed-accent)",cursor:"pointer",padding:"8px 10px",fontFamily:"var(--ed-font)",fontSize:"11.5px",fontWeight:"600",transition:"background 0.16s, color 0.16s"},{type:"button",text:e.label});return y.addEventListener("mouseenter",()=>{y.style.background="var(--ed-accent)",y.style.color="var(--ed-accent-ink)"}),y.addEventListener("mouseleave",()=>{y.style.background="var(--ed-soft)",y.style.color="var(--ed-accent)"}),y.addEventListener("click",e.onClick),m.appendChild(y),m}if(e.isSeg){const y=b("div");y.appendChild(d(e.label));const f=b("div",{display:"flex",gap:"3px",padding:"3px",border:"0",borderRadius:"10px",background:"var(--ed-panel-2)"},{class:"mc-segment mc-field-segment"});return e.options.forEach(w=>{const L=w.bg==="var(--ed-accent)",F=b("button",{flex:"1",minWidth:"0",border:"0",borderRadius:"7px",cursor:"pointer",background:w.bg,color:w.fg,fontFamily:"var(--ed-font)",fontSize:"10px",fontWeight:"600",padding:"0 6px",height:"28px",textTransform:"none",letterSpacing:"0.01em",transition:"background 0.16s, color 0.16s"},{type:"button",text:w.label,"aria-pressed":String(L)});F.addEventListener("click",w.onClick),f.appendChild(F)}),y.appendChild(f),m.appendChild(y),m}if(e.isRangeGroup)return m.appendChild($(e)),m;if(e.isSlider){m.classList.add("mc-slider-field");const y=b("div"),f=b("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"});f.appendChild(d(e.label,!0));const w=b("output",{minWidth:"58px",height:"25px",padding:"0 8px",boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--ed-line)",borderRadius:"7px",background:"var(--ed-panel-2)",color:"var(--ed-accent)",fontFamily:"var(--ed-font)",fontSize:"11.5px",fontWeight:"600",whiteSpace:"nowrap"},{"aria-live":"polite"});f.appendChild(w);const L=b("div",{padding:"11px 0 4px"}),F=b("input",{width:"100%",margin:"0",display:"block",boxSizing:"border-box"},{type:"range",min:e.min,max:e.max,step:e.step,class:"mc-slider","aria-label":e.label,"data-focus-key":`f${e.key}`});F.value=e.value;const Y=()=>{const Q=(F.value-e.min)/(e.max-e.min||1);w.textContent=F.value+e.unit,F.style.background=`linear-gradient(to right, var(--ed-accent) ${Q*100}%, var(--ed-line-2) ${Q*100}%)`};return Y(),F.addEventListener("input",Y),F.addEventListener("change",Q=>e.onCommit(Q.target.value)),L.appendChild(F),y.append(f,L),m.appendChild(y),m}if(e.isRange){const y=b("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},{class:"mc-field-row"});return y.appendChild(d(e.label,!0)),y.appendChild(C(e,"132px")),m.appendChild(y),m}if(e.isToggle){const y=b("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",minHeight:"32px",cursor:"pointer"},{class:"mc-switch-row mc-field-row"});y.addEventListener("click",()=>{z=e.label,e.onChange()});const f=d(e.label,!0);f.style.cursor="pointer",y.appendChild(f);const w=b("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!e.on),"aria-label":e.label});return w.appendChild(b("span",null,{class:"mc-switch-knob"})),z===e.label&&(w.classList.add("mc-switch-anim"),z=null),y.appendChild(w),m.appendChild(y),m}if(e.isColor){const y=b("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},{class:"mc-field-row"});y.appendChild(d(e.label,!0));const f=b("div",{display:"flex",alignItems:"center",flex:"none",height:"32px",border:"1px solid var(--ed-line)",borderRadius:"8px",background:"var(--ed-panel)",overflow:"hidden",transition:"border-color 0.16s, box-shadow 0.16s"},{class:"mc-field-control mc-color-control"}),w=b("label",{position:"relative",width:"29px",alignSelf:"stretch",flex:"none",borderRight:"1px solid var(--ed-line)",background:e.swatch,cursor:"pointer"},{title:e.label});e.transparent&&Object.assign(w.style,{backgroundColor:"#ffffff",backgroundImage:"linear-gradient(45deg,#c3c9d2 25%,transparent 25%,transparent 75%,#c3c9d2 75%),linear-gradient(45deg,#c3c9d2 25%,transparent 25%,transparent 75%,#c3c9d2 75%)",backgroundSize:"8px 8px",backgroundPosition:"0 0, 4px 4px"});const L=b("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",cursor:"pointer",padding:"0",border:"0"},{type:"color"});L.value=e.swatch;const F=N(e.onChange);L.addEventListener("input",R=>F.call(R.target.value)),L.addEventListener("change",()=>F.flush()),w.appendChild(L);const Y=b("input",{width:"82px",boxSizing:"border-box",background:"transparent",border:"0",outline:"none",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"11px",padding:"0 9px"},{placeholder:"inherit",class:"mc-stepper-input","data-focus-key":`f${e.key}`,dir:"ltr"});Y.value=e.value;const Q=N(e.onChange);if(Y.addEventListener("input",R=>Q.call(R.target.value)),Y.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.boxShadow="0 0 0 3px var(--ed-soft)"}),Y.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",f.style.boxShadow="none",Q.flush()}),f.append(w,Y),e.clearable){const R=b("button",{flex:"none",alignSelf:"stretch",width:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"0",borderLeft:"1px solid var(--ed-line)",background:e.transparent?"var(--ed-accent)":"transparent",color:e.transparent?"var(--ed-accent-ink)":"var(--ed-muted)",cursor:"pointer",padding:"0"},{type:"button",title:e.transparent?"Transparent — click for a solid colour":"Make transparent (no fill)","aria-pressed":String(!!e.transparent)});R.appendChild(W(e.transparent?"check":"clear",12)),R.addEventListener("click",()=>e.onToggleTransparent()),f.appendChild(R)}return y.appendChild(f),m.appendChild(y),m}if(e.isRow){const y=b("div",{display:"flex",alignItems:"center",gap:"12px",justifyContent:"space-between"},{class:"mc-field-row"});if(y.appendChild(d(e.label,!0)),e.isText){const f=b("input",{width:"168px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{placeholder:e.placeholder,class:"mc-field-control","data-focus-key":`f${e.key}`,dir:"auto"});if(f.value=e.value,e.suggestions){const L=b("datalist",null,{id:`mc-dl-f${e.key}`});e.suggestions.forEach(F=>{const Y=document.createElement("option");Y.value=F,L.appendChild(Y)}),f.setAttribute("list",L.id),y.appendChild(L)}const w=N(e.onChange);f.addEventListener("input",L=>w.call(L.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",w.flush()}),y.appendChild(f)}else if(e.isNum){const f=b("input",{width:"78px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{type:"text",inputmode:"numeric",class:"mc-field-control","data-focus-key":`f${e.key}`});f.value=e.value;const w=N(e.onChange);f.addEventListener("input",L=>w.call(L.target.value)),f.addEventListener("blur",L=>{f.style.borderColor="var(--ed-line)",w.flush(),e.onBlur&&e.onBlur(L.target.value)}),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),y.appendChild(f)}else if(e.isSelect){const f=b("select",{width:"168px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{class:"mc-field-control","data-focus-key":`f${e.key}`});e.options.forEach(w=>{const L=document.createElement("option");L.value=w.value,L.textContent=w.label,f.appendChild(L)}),f.value=e.value==null?"":e.value,f.addEventListener("change",w=>e.onChange(w.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)"}),y.appendChild(f)}return m.appendChild(y),m}return m}function D(e,m){m.forEach(y=>e.appendChild(E(y)))}Object.assign(V,{typeCommit:N,renderFieldCards:a,renderField:E,renderFieldList:D})},re["render/focus-preserve.js"]=function(ne,V,A){function W(O,b){const N=O.activeElement,z=N&&N.dataset?N.dataset.focusKey:null;let d=null,p=null,a=null,g=!1;const v=z&&N.tagName==="INPUT"&&N.type==="range"?N:null;if(!v){if(z&&(N.tagName==="INPUT"||N.tagName==="TEXTAREA")){try{d=N.selectionStart,p=N.selectionEnd}catch{}a=N.scrollTop}else if(z&&N.isContentEditable){g=!0;const S=q(O);if(S&&S.rangeCount&&N.contains(S.anchorNode)){const C=S.getRangeAt(0);d=ie(N,C.startContainer,C.startOffset),p=ie(N,C.endContainer,C.endOffset)}a=N.scrollTop}}if(b(),!z)return;const H=O.querySelector(`[data-focus-key="${k(z)}"]`);if(H){if(v){for(const S of["min","max","step"]){const C=H.getAttribute(S);C===null?v.removeAttribute(S):v.setAttribute(S,C)}H.replaceWith(v);return}if(g){if(d!=null)try{const S=document.createRange();K(S,H,d,!0),K(S,H,p,!1);const C=q(O);C.removeAllRanges(),C.addRange(S)}catch{}H.focus({preventScroll:!0})}else if(H.focus({preventScroll:!0}),d!=null)try{H.setSelectionRange(d,p)}catch{}a!=null&&(H.scrollTop=a)}}function q(O){return typeof O.getSelection=="function"?O.getSelection():window.getSelection()}function ie(O,b,N){if(b.nodeType!==Node.TEXT_NODE){let a=0;const g=document.createTreeWalker(O,NodeFilter.SHOW_TEXT);let v,H=b.childNodes[N];if(!H){for(;g.nextNode();)a+=g.currentNode.nodeValue.length;return a}for(;v=g.nextNode();){if(v===H||H.contains(v))return a;a+=v.nodeValue.length}return a}let z=0;const d=document.createTreeWalker(O,NodeFilter.SHOW_TEXT);let p;for(;p=d.nextNode();){if(p===b)return z+N;z+=p.nodeValue.length}return z}function K(O,b,N,z){const d=document.createTreeWalker(b,NodeFilter.SHOW_TEXT);let p=0,a,g=null;for(;a=d.nextNode();){g=a;const v=a.nodeValue.length;if(p+v>=N){const H=N-p;z?O.setStart(a,H):O.setEnd(a,H);return}p+=v}g?z?O.setStart(g,g.nodeValue.length):O.setEnd(g,g.nodeValue.length):z?O.setStart(b,0):O.setEnd(b,0)}function k(O){return String(O).replace(/["\\]/g,"\\$&")}Object.assign(V,{withFocusPreserved:W,textOffset:ie})},re["render/rte.js"]=function(ne,V,A){const{icon:W}=A("core/icons.js"),{TOKEN:q}=A("core/variables.js"),{typeCommit:ie}=A("render/fields.js");function K(d,p,a){const g=document.createElement(d);if(p&&Object.assign(g.style,p),a)for(const[v,H]of Object.entries(a))v==="text"?g.textContent=H:H!==void 0&&g.setAttribute(v,H);return g}function k(d){try{return document.queryCommandState(d)}catch{return!1}}function O(d,p){return d.style.position="relative",d.hasAttribute("aria-label")||d.setAttribute("aria-label",p),d.appendChild(K("span",{},{class:"mc-rte-tooltip",text:p})),d}function b(d){const p=String(d||"").replace(/[_.]+/g," ").trim();return p.charAt(0).toUpperCase()+p.slice(1)}function N(d,p){const a=d.t,g=(F,Y,Q,R)=>{const _=K("button",{border:"0",borderRadius:"7px",background:R?"var(--ed-accent)":"transparent",color:R?"var(--ed-accent-ink)":"var(--rte-muted)",cursor:"pointer",width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",flex:"none"},{type:"button",title:Y,"data-rte-control":"1","data-active":R?"true":"false"});return _.appendChild(W(F,14)),_.addEventListener("mousedown",ae=>{ae.preventDefault(),ae.stopPropagation()}),_.addEventListener("click",ae=>{ae.preventDefault(),ae.stopPropagation(),Q(),d.onFormatChange&&d.onFormatChange()}),O(_,Y),_},v=()=>K("span",{width:"1px",height:"18px",background:"var(--rte-border)",margin:"0 4px",flex:"none"}),H=(F,Y,Q,R)=>{const _=K("label",{position:"relative",width:"30px",height:"28px",borderRadius:"7px",background:"var(--rte-input)",boxShadow:"inset 0 0 0 1px var(--rte-border)",color:"var(--rte-text)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flex:"none",overflow:"hidden"},{"data-rte-picker":"1",title:R});_.appendChild(W(F,14));const ae=K("span",{position:"absolute",left:"6px",right:"6px",bottom:"4px",height:"3px",borderRadius:"99px",background:Q,pointerEvents:"none"});_.appendChild(ae);const l=K("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",margin:"0",cursor:"pointer"},{type:"color",value:Q.startsWith("#")?Q:"#1d1f20"});return l.addEventListener("mousedown",ce=>ce.stopPropagation()),l.addEventListener("click",ce=>ce.stopPropagation()),l.addEventListener("input",ce=>{ae.style.background=ce.target.value,d.exec(Y,ce.target.value)}),_.appendChild(l),O(_,R),_},S={display:"flex",alignItems:"center",gap:"2px",whiteSpace:"nowrap"},C={background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"7px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",letterSpacing:"0",padding:"5px 24px 5px 27px",height:"28px",cursor:"pointer",maxWidth:"150px",appearance:"none",WebkitAppearance:"none",outline:"none"},$=(F,Y,Q,R,_,ae)=>{const l=K("label",{position:"relative",display:"inline-flex",alignItems:"center",color:"var(--rte-muted)"},{"data-rte-select":"1","aria-label":F}),ce=K("span",{position:"absolute",left:"8px",zIndex:"2",pointerEvents:"none",display:"flex"});ce.appendChild(W(R,13));const ee=K("select",Object.assign({},C,{width:Q}),{title:F});_.forEach(([pe,he])=>{const de=document.createElement("option");de.value=pe,de.textContent=he,ee.appendChild(de)}),ee.value=Y,ee.addEventListener("mousedown",pe=>pe.stopPropagation()),ee.addEventListener("change",ae);const me=K("span",{position:"absolute",right:"7px",pointerEvents:"none",display:"flex"});return me.appendChild(W("chevronDown",12)),l.append(ce,ee,me),l},E=d.vars(),D=K("div",{position:"absolute",top:"-82px",left:"0",zIndex:"30",display:"grid",gap:"5px",background:"var(--rte-bg)",border:"1px solid var(--rte-border)",borderRadius:"8px",padding:"7px 8px",boxShadow:"var(--rte-shadow)"},{class:"mc-rte","data-mc-rte":"1","data-rte-root":"1"});D.addEventListener("pointerdown",()=>{d.rteActive=!0},!0),D.addEventListener("mousedown",F=>F.stopPropagation()),D.addEventListener("click",F=>F.stopPropagation());const e=K("div",S),m=$(a("rte.textStyle"),d.currentTag(),"118px","typeColor",[["",a("rte.textStyle")],["p","Paragraph"],["h1","Heading 1"],["h2","Heading 2"],["h3","Heading 3"],["h4","Heading 4"],["h5","Heading 5"],["h6","Small heading"],["blockquote","Block quote"]],F=>{F.target.value&&(d.exec("formatBlock",F.target.value),d.onFormatChange&&d.onFormatChange())});e.append(m,v(),g("bold","Bold",()=>d.exec("bold"),k("bold")),g("italic","Italic",()=>d.exec("italic"),k("italic")),g("underline","Underline",()=>d.exec("underline"),k("underline")),g("strike","Strikethrough",()=>d.exec("strikeThrough"),k("strikeThrough")),g("inlineCode","Inline code",()=>d.exec("insertHTML",'<code style="font-family:ui-monospace,monospace;font-size:0.92em;background:var(--ed-soft);padding:1px 4px">'+(d.getSelection().toString()||"code")+"</code>")),g("superscript","Superscript",()=>d.exec("superscript"),k("superscript")),g("subscript","Subscript",()=>d.exec("subscript"),k("subscript")),v(),g("minus","Smaller text",()=>d.size(p,-1)),K("span",{fontFamily:"var(--ed-font)",fontSize:"9.5px",color:"var(--rte-muted)",minWidth:"32px",textAlign:"center"},{text:(p.props.size||16)+"px"}),g("plus","Larger text",()=>d.size(p,1)));const y=K("div",S);y.append(g("alignLeft","Align left",()=>d.exec("justifyLeft"),k("justifyLeft")),g("alignCenter","Align center",()=>d.exec("justifyCenter"),k("justifyCenter")),g("alignRight","Align right",()=>d.exec("justifyRight"),k("justifyRight")),g("alignJustify","Justify",()=>d.exec("justifyFull"),k("justifyFull")),v(),g("list","Bullet list",()=>d.exec("insertUnorderedList"),k("insertUnorderedList")),g("listOrdered","Numbered list",()=>d.exec("insertOrderedList"),k("insertOrderedList")),g("outdent","Outdent",()=>d.exec("outdent")),g("indent","Indent",()=>d.exec("indent")),v(),g("link","Link — ⌘K",()=>d.openLink(),!!d.state.linkDraft),g("unlink","Remove link",()=>d.removeLink(p)),g("formatClear",a("rte.clearFormatting"),()=>d.exec("removeFormat")),v(),H("typeColor","foreColor","#172033",a("rte.textColor")),H("highlighter","hiliteColor","#fef08a",a("rte.highlightColor")),g("eraser",a("rte.removeHighlight"),()=>d.exec("hiliteColor","transparent")),v());const f=[["",E.length?a("rte.mergeTags"):a("rte.noMergeTags")]].concat(E.map(F=>[q(F),b(F)]));y.appendChild($(a("rte.mergeTags"),"","132px","data",f,F=>{F.target.value&&(d.exec("insertText",F.target.value),F.target.value="")})),D.appendChild(e),D.appendChild(y),d.state.linkDraft&&D.appendChild(z(d,p,E));const w="calc(100% + 10px)",L=d._rteFlip&&d._rteFlip.id===p.id?d._rteFlip.flip:null;return L===!0?D.style.top=w:L===null&&(D.style.visibility="hidden"),requestAnimationFrame(()=>{if(!D.isConnected)return;const F=d.exportRoot&&d.exportRoot.querySelector(".mc-workspace");if(F&&D.parentElement){const Q=D.parentElement.getBoundingClientRect().top-82<F.getBoundingClientRect().top+4;d._rteFlip={id:p.id,flip:Q},D.style.top=Q?w:"-82px"}D.style.visibility=""}),D}function z(d,p,a){const g=d.t,v=d.state.linkDraft,H=w=>d.setState({linkDraft:Object.assign({},d.state.linkDraft,w)}),S={flex:"1",minWidth:"0",background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"5px",font:"inherit",fontFamily:"ui-monospace, monospace",fontSize:"11px",padding:"5px 7px"},C=(w,L,F)=>{const Y=K("button",{border:L?"0":"1px solid var(--rte-border)",borderRadius:"5px",background:L?"var(--ed-accent)":"transparent",color:L?"var(--ed-accent-ink)":"var(--rte-text)",cursor:"pointer",padding:"5px 10px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"600"},{type:"button",text:w});return Y.addEventListener("mousedown",Q=>Q.preventDefault()),Y.addEventListener("click",Q=>{Q.preventDefault(),F()}),Y},$=K("div",{display:"flex",flexDirection:"column",gap:"6px",borderTop:"1px solid var(--rte-border)",paddingTop:"6px",marginTop:"2px",minWidth:"380px"}),E=K("div",{display:"flex",alignItems:"center",gap:"5px"}),D=K("input",S,{placeholder:"https://example.com"});D.value=v.href,setTimeout(()=>D.focus(),0);const e=ie(w=>H({href:w}));if(D.addEventListener("input",w=>e.call(w.target.value)),D.addEventListener("blur",()=>e.flush()),D.addEventListener("keydown",w=>{w.key==="Enter"&&(w.preventDefault(),e.flush(),d.applyLink(p)),w.key==="Escape"&&d.setState({linkDraft:null})}),E.appendChild(D),a.length){const w=K("select",{background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"5px",fontFamily:"var(--ed-font)",fontSize:"10.5px",padding:"4px",cursor:"pointer",maxWidth:"110px"},{title:g("rte.mergeTags")}),L=document.createElement("option");L.value="",L.textContent=g("rte.mergeTags"),w.appendChild(L),a.forEach(F=>{const Y=document.createElement("option");Y.value=q(F),Y.textContent=b(F),w.appendChild(Y)}),w.addEventListener("change",F=>{F.target.value&&(H({href:(v.href||"")+F.target.value}),F.target.value="")}),E.appendChild(w)}$.appendChild(E);const m=K("div",{display:"flex",alignItems:"center",gap:"8px"}),y=K("label",{display:"flex",alignItems:"center",gap:"5px",color:"var(--rte-muted)",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",cursor:"pointer"}),f=K("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox"});return f.checked=!!v.blank,f.addEventListener("change",w=>H({blank:w.target.checked})),y.append(f,"Open in new tab"),m.appendChild(y),m.appendChild(K("span",{flex:"1"})),v.editing&&m.appendChild(C("Remove",!1,()=>d.removeLink(p))),m.appendChild(C("Cancel",!1,()=>d.setState({linkDraft:null}))),m.appendChild(C(v.editing?"Update":"Apply",!0,()=>{e.flush(),d.applyLink(p)})),$.appendChild(m),$}Object.assign(V,{renderRte:N})},re["render/screenshot.js"]=function(ne,V,A){const{renderDoc:W}=A("render/canvas.js"),q="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function ie(O){return fetch(O,{mode:"cors"}).then(b=>{if(!b.ok)throw new Error("fetch failed: "+b.status);return b.blob()}).then(b=>new Promise((N,z)=>{const d=new FileReader;d.onload=()=>N(d.result),d.onerror=z,d.readAsDataURL(b)}))}async function K(O){const b=[];O.querySelectorAll("img").forEach(N=>{const z=N.getAttribute("src")||"";!z||z.startsWith("data:")||b.push(ie(z).then(d=>{N.setAttribute("src",d)},()=>{N.setAttribute("src",q)}))}),O.querySelectorAll("[style]").forEach(N=>{const z=(N.style.backgroundImage||"").match(/url\(["']?(?!data:)([^"')]+)["']?\)/);z&&b.push(ie(z[1]).then(d=>{N.style.backgroundImage='url("'+d+'")'},()=>{N.style.backgroundImage="none"}))}),await Promise.all(b)}Object.assign(V,{captureTemplatePng:async function(O,b,N=2){const z=O.state.doc.theme,d=32,p=document.createElement("div"),a=z.width+(Number(z.padX)||0)*2;p.style.cssText=`position: fixed; left: -100000px; top: 0; width: ${a+d*2}px; background: ${z.bg}; padding: ${d}px; box-sizing: border-box; display: flex; justify-content: center;`,p.setAttribute("aria-hidden","true");const g=O.state.device;O.state.device="desktop";try{p.appendChild(W(O,!1))}finally{O.state.device=g}b.appendChild(p);try{await K(p),await Promise.all(Array.from(p.querySelectorAll("img")).map(m=>m.decode?m.decode().catch(()=>{}):Promise.resolve()));const v=p.offsetWidth,H=p.offsetHeight,S=p.cloneNode(!0);S.style.position="static",S.style.left="auto";const C=new XMLSerializer().serializeToString(S),$=`<svg xmlns="http://www.w3.org/2000/svg" width="${v}" height="${H}"><foreignObject width="100%" height="100%">${C}</foreignObject></svg>`,E=new Image;await new Promise((m,y)=>{E.onload=m,E.onerror=()=>y(new Error("SVG rasterization failed")),E.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent($)});const D=document.createElement("canvas");return D.width=Math.max(1,Math.round(v*N)),D.height=Math.max(1,Math.round(H*N)),D.getContext("2d").drawImage(E,0,0,D.width,D.height),await new Promise((m,y)=>{D.toBlob(f=>f?m(f):y(new Error("PNG encoding failed")),"image/png")})}finally{p.remove()}}})},re["render/story.js"]=function(ne,V,A){const{icon:W}=A("core/icons.js"),q=3600,ie=560,K=.92;function k(z,d,p={},...a){const g=document.createElement(z);d&&(g.style.cssText=d);for(const[v,H]of Object.entries(p))H!==void 0&&(v==="text"?g.textContent=H:g.setAttribute(v,H));return a.flat().forEach(v=>{v!=null&&v!==!1&&g.appendChild(typeof v=="string"?document.createTextNode(v):v)}),g}const O="border: 1px solid rgba(255,255,255,0.22); background: rgba(255,255,255,0.1); color: #fff; cursor: pointer; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 7px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, border-color 0.16s, opacity 0.16s;";function b(z,d,p,a,g){const v=k("button",O+z,{type:"button",title:d,"aria-label":d});return v.iconSlot=W(p,14),v.labelSlot=g?k("span","",{text:d}):null,v.append(v.iconSlot),v.labelSlot&&v.append(v.labelSlot),v.addEventListener("mouseenter",()=>{v.style.background="rgba(255,255,255,0.16)",v.style.borderColor="rgba(255,255,255,0.4)"}),v.addEventListener("mouseleave",()=>{v.style.background="rgba(255,255,255,0.07)",v.style.borderColor="rgba(255,255,255,0.22)"}),v.addEventListener("click",a),v}Object.assign(V,{createStoryViewer:function(z,d){const p=(I,oe)=>z.t(I,oe),a={open:!1,page:0,pages:1,playing:!0,done:!1,held:!1,remaining:q,startedAt:0,timer:0,token:0,url:"",blob:null,natW:0,natH:0,cardW:0,cardH:0,showH:0},g=k("div","position: absolute; inset: 0; z-index: 78; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 11px; padding: 22px; box-sizing: border-box; background: rgba(9,11,16,0.86); opacity: 0; transition: opacity 0.22s ease;",{class:"mc-story"});g.addEventListener("click",I=>{I.target===g&&T()});const v=k("div","display: none; gap: 4px; height: 3px; flex: none;"),H=k("div","display: flex; align-items: center; gap: 10px; flex: none;"),S=k("div","flex: 1; min-width: 0;"),C=k("div","font-family: ui-monospace, monospace; font-size: 8.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.5);");S.append(C);const $=b("width: 30px; padding: 0;",p("action.close"),"x",()=>T());H.append(S,$);const E=k("div","position: relative; overflow: hidden; border-radius: 16px; background: #fff; flex: none; box-shadow: 0 26px 70px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.09); transform: scale(0.965) translateY(10px); opacity: 0; transition: transform 0.34s cubic-bezier(0.22,0.61,0.36,1), opacity 0.24s ease;"),D=k("img","position: absolute; left: 0; top: 0; width: 100%; display: block; opacity: 0; transform: translate3d(0,0,0); transition: opacity 0.32s ease;",{alt:""});E.appendChild(D);const e=k("div","position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; background: var(--ed-panel); color: var(--ed-faint); transition: opacity 0.28s ease;"),m=k("div","position: absolute; inset: 0; background: linear-gradient(100deg, transparent 22%, var(--ed-soft) 40%, transparent 58%); background-size: 260% 100%; animation: mcStoryShimmer 1.6s linear infinite;"),y=k("div","position: relative; font-family: var(--ed-font); font-size: 12.5px; font-weight: 600; color: var(--ed-text);"),f=k("div","position: relative; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.07em; line-height: 1.7; color: var(--ed-faint); max-width: 76%; text-align: center;"),w=k("button","position: relative; display: none; border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 13px; border-radius: 8px; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{type:"button"});w.append(W("refresh",14),k("span","",{text:p("story.retry")})),w.addEventListener("click",()=>o()),e.append(m,y,f,w),E.appendChild(e);const L=(I,oe)=>{const se=k("div","position: absolute; top: 0; bottom: 0; "+I+" cursor: pointer;");let ke=0;se.addEventListener("pointerdown",()=>{ke=performance.now(),a.playing&&!a.done&&ee(!0)});const u=()=>{if(!ke)return;const n=performance.now()-ke;ke=0,n<220?oe():a.held&&me()};return se.addEventListener("pointerup",u),se.addEventListener("pointerleave",u),se};E.append(L("left: 0; width: 32%;",()=>t(-1)),L("left: 32%; right: 0;",()=>t(1)));const F=k("div","display: flex; align-items: center; gap: 8px; flex: none;"),Y=k("div","flex: 1; min-width: 0; font-family: ui-monospace, monospace; font-size: 9px; letter-spacing: 0.09em; color: rgba(255,255,255,0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),Q=b("width: 30px; padding: 0;",p("story.pause"),"pause",()=>a.playing?ee(!1):me()),R=b("padding: 0 11px;",p("story.copy"),"copy",()=>d.copy(a.blob),!0),_=b("padding: 0 11px; border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.16);",p("action.downloadPng"),"download",()=>d.download(a.blob),!0);F.append(Y,Q,R,_),g.append(v,H,E,F);function ae(){return Array.from(v.children).map(I=>I.firstChild)}function l(I,oe){ae().forEach((se,ke)=>{if(se.style.transition="none",ke<a.page){se.style.transform="scaleX(1)";return}if(ke>a.page){se.style.transform="scaleX(0)";return}se.style.transform="scaleX("+I+")",oe&&(se.offsetWidth,se.style.transition="transform "+Math.max(0,a.remaining)+"ms linear",se.style.transform="scaleX(1)")})}function ce(){clearTimeout(a.timer),!(!a.playing||a.done||a.pages<2)&&(a.startedAt=performance.now(),l(1-a.remaining/q,!0),a.timer=setTimeout(()=>t(1),a.remaining))}function ee(I){a.playing&&(clearTimeout(a.timer),a.remaining=Math.max(0,a.remaining-(performance.now()-a.startedAt)),a.playing=!1,a.held=!!I,l(1-a.remaining/q,!1),pe())}function me(){if(a.held=!1,a.done){de(0);return}a.playing=!0,ce(),pe()}function pe(){const I=a.done?p("story.replay"):a.playing?p("story.pause"):p("story.play"),oe=a.done?"refresh":a.playing?"pause":"play",se=W(oe,14);Q.replaceChild(se,Q.iconSlot),Q.iconSlot=se,Q.title=I,Q.setAttribute("aria-label",I)}function he(I){return a.showH<=a.cardH?Math.round((a.cardH-a.showH)/2):-Math.min(Math.round(I*a.cardH*K),Math.round(a.showH-a.cardH))}function de(I,oe){const se=Math.max(0,Math.min(a.pages-1,I));a.page=se,a.remaining=q,a.done&&(a.done=!1,a.playing=!0),D.style.transition=oe===!1?"opacity 0.32s ease":"transform "+ie+"ms cubic-bezier(0.22,0.61,0.36,1), opacity 0.32s ease",D.style.transform="translate3d(0, "+he(se)+"px, 0)",h(),ce(),pe()}function t(I){if(I>0&&a.page>=a.pages-1){clearTimeout(a.timer),a.done=!0,a.playing=!1,a.held=!1,l(1,!1),pe();return}if(I<0&&a.page===0){de(0);return}de(a.page+I)}function h(){Y.textContent=a.natW?p("story.meta",{w:a.natW,h:a.natH,i:a.page+1,n:a.pages}):""}function x(){if(!a.open)return;const I=Math.max(280,g.clientHeight-44-96),oe=Math.max(240,g.clientWidth-44);a.cardH=I,a.cardW=Math.max(240,Math.min(430,oe,Math.round(I*.75))),E.style.width=a.cardW+"px",E.style.height=a.cardH+"px",[v,H,F].forEach(se=>{se.style.width=a.cardW+"px"}),a.natW&&(a.showH=a.cardW*(a.natH/a.natW),a.pages=a.showH<=a.cardH?1:Math.ceil((a.showH-a.cardH)/(a.cardH*K))+1,M(),de(Math.min(a.page,a.pages-1),!1))}function M(){v.innerHTML="",v.style.display=a.pages>1?"flex":"none";for(let I=0;I<a.pages;I++){const oe=k("div","width: 100%; height: 100%; border-radius: 2px; background: #fff; transform: scaleX(0); transform-origin: left center;");v.appendChild(k("div","flex: 1; height: 100%; border-radius: 2px; background: rgba(255,255,255,0.24); overflow: hidden;",{},oe))}}function j(I){[R,_,Q].forEach(oe=>{oe.disabled=!I,oe.style.opacity=I?"":"0.4",oe.style.pointerEvents=I?"":"none"})}function P(I){e.style.display="flex",e.style.opacity="1",m.style.display=I?"none":"block",y.textContent=p(I?"story.failed":"story.rendering"),f.textContent=p(I?"story.failedHint":"story.renderingHint"),w.style.display=I?"flex":"none",j(!1)}function o(){const I=++a.token;r(),Object.assign(a,{blob:null,natW:0,natH:0,page:0,pages:1,done:!1,playing:!0,held:!1,remaining:q}),clearTimeout(a.timer),D.style.opacity="0",v.style.display="none",h(),P(!1),d.capture().then(oe=>{I!==a.token||!a.open||(a.blob=oe,a.url=URL.createObjectURL(oe),D.onload=()=>{I===a.token&&(a.natW=D.naturalWidth,a.natH=D.naturalHeight,x(),D.style.opacity="1",e.style.opacity="0",setTimeout(()=>{I===a.token&&(e.style.display="none")},300),j(!0),a.pages<2&&(a.done=!0,a.playing=!1),pe(),ce())},D.src=a.url)},()=>{I!==a.token||!a.open||P(!0)})}function r(){a.url&&(URL.revokeObjectURL(a.url),a.url="")}function s(I){if(a.open){if(I.key==="Escape"){I.stopPropagation(),T();return}if(I.key==="ArrowRight"||I.key==="ArrowDown"){I.stopPropagation(),ee(!1),t(1);return}if(I.key==="ArrowLeft"||I.key==="ArrowUp"){I.stopPropagation(),ee(!1),t(-1);return}I.key===" "&&(I.stopPropagation(),I.preventDefault(),a.playing?ee(!1):me())}}let c=0;E.addEventListener("wheel",I=>{I.preventDefault();const oe=performance.now();oe-c<ie*.8||Math.abs(I.deltaY)<6||(c=oe,ee(!1),t(I.deltaY>0?1:-1))},{passive:!1});function i(){a.open||(a.open=!0,g.style.display="flex",g.removeAttribute("aria-hidden"),C.textContent=p("story.kicker"),g.offsetWidth,g.style.opacity="1",E.style.transform="scale(1) translateY(0)",E.style.opacity="1",x(),o(),window.addEventListener("keydown",s,!0),window.addEventListener("resize",x),$.focus({preventScroll:!0}))}function T(){a.open&&(a.open=!1,a.token++,clearTimeout(a.timer),window.removeEventListener("keydown",s,!0),window.removeEventListener("resize",x),g.style.opacity="0",E.style.transform="scale(0.965) translateY(10px)",E.style.opacity="0",setTimeout(()=>{a.open||(g.style.display="none",g.setAttribute("aria-hidden","true"),D.removeAttribute("src"),r(),a.blob=null)},240))}function G(){$.title=p("action.close"),$.setAttribute("aria-label",p("action.close")),R.labelSlot.textContent=p("story.copy"),R.title=p("story.copy"),_.labelSlot.textContent=p("action.downloadPng"),_.title=p("action.downloadPng"),w.lastChild.textContent=p("story.retry"),a.open&&(C.textContent=p("story.kicker"),h()),pe()}return{node:g,open:i,close:T,retranslate:G,isOpen:()=>a.open}}})},re["render/style.js"]=function(ne,V,A){Object.assign(V,{STYLE:`
|
|
69
|
+
unsubscribe_url`,Z=k=>"{{ "+k+" }}";function ae(k){return(Array.isArray(k)?k:String(k??V).split(/[\n,]/)).map(n=>String(n).trim().replace(/^\{\{\s*|\s*\}\}$/g,"")).filter(Boolean)}Object.assign(K,{DEFAULT_VARS:V,TOKEN:Z,vars:ae,INSERT_KEYS:{text:"html",heading:"text",button:"label",html:"code",codeblock:"code",quote:"text",list:"items",table:"data"}})},re["create-editor.js"]=function(se,K,z){const{MailCraftEditor:V}=z("mailcraft-editor.js"),Z={variables:"variables",locale:"locale",dir:"dir",theme:"theme",uiFont:"ui-font",accent:"accent"},ae=["storageProvider","storageLimits","aiProvider","iconProvider","messages","footer"],N=["exportHtml","importHtml","loadTemplate","undo","redo","screenshotPng","previewScreenshot","downloadScreenshot","copyScreenshot"];function k(T){const d=typeof T=="string"?document.querySelector(T):T;if(!d||d.nodeType!==1)throw new Error("[mailcraft] createEditor: no element matched "+JSON.stringify(T));return d}const O=T=>typeof T=="number"?T+"px":T;function n(T,d){const p=d||{},t=k(T),g=document.createElement("mailcraft-editor");Object.keys(Z).forEach(j=>{p[j]!=null&&g.setAttribute(Z[j],Array.isArray(p[j])?p[j].join(","):String(p[j]))}),p.toolbar!==void 0&&(g.toolbar=p.toolbar),ae.forEach(j=>{p[j]!==void 0&&(g[j]=p[j])});const v=p.onChange?j=>p.onChange(j.detail):null,C=p.onExport?j=>p.onExport(j.detail):null;v&&g.addEventListener("change",v),C&&g.addEventListener("export",C),p.replace&&(t.textContent=""),p.height&&(t.style.height=O(p.height)),t.appendChild(g),typeof p.html=="string"&&p.html.trim()&&g.loadTemplate({name:p.name||"",html:p.html});const S={element:g,destroy(){v&&g.removeEventListener("change",v),C&&g.removeEventListener("export",C),g.parentNode&&g.parentNode.removeChild(g)}};return N.forEach(j=>{S[j]=(...G)=>g[j](...G)}),S}function I(){return typeof customElements<"u"&&customElements.get("mailcraft-editor")===V}Object.assign(K,{createEditor:n,isReady:I})},re["index.js"]=function(se,K,z){const{MailCraftEditor:V}=z("mailcraft-editor.js"),{createEditor:Z,isReady:ae}=z("create-editor.js"),{EditorCore:N}=z("core/editor-core.js"),{renderDoc:k}=z("render/canvas.js"),{BLOCKS:O,GROUPS:n,LAYOUTS:I,PALETTE:T}=z("core/blocks.js"),{createTranslator:d,defineMessages:p,missingKeys:t,LOCALES:g,isRtl:v,EN:C,MESSAGE_KEYS:S}=z("core/i18n/index.js"),{LOCALE_TABLES:j}=z("core/i18n/tables.js"),{LOCALE_LOADERS:G,loadLocale:A,localeTable:D}=z("core/i18n/loaders.js"),{ALL_FOLDER_ID:e,normalizeAsset:u,resolveLimits:y}=z("core/storage.js"),{validateFiles:f,sanitizeName:x,acceptAttribute:M,limitsProblem:P}=z("core/storage-limits.js");Object.assign(K,{MailCraftEditor:V,createEditor:Z,isReady:ae,EditorCore:N,renderDoc:k,BLOCKS:O,GROUPS:n,LAYOUTS:I,PALETTE:T,createTranslator:d,defineMessages:p,missingKeys:t,LOCALES:g,isRtl:v,EN:C,MESSAGE_KEYS:S,LOCALE_TABLES:j,LOCALE_LOADERS:G,loadLocale:A,localeTable:D,ALL_FOLDER_ID:e,normalizeAsset:u,resolveLimits:y,validateFiles:f,sanitizeName:x,acceptAttribute:M,limitsProblem:P})},re["mailcraft-editor.js"]=function(se,K,z){const{EditorCore:V,AI_GOALS:Z,AI_TONES:ae}=z("core/editor-core.js"),{GROUPS:N,LAYOUTS:k,DEF:O,PALETTE:n}=z("core/blocks.js"),{KB:I}=z("core/assets.js"),{acceptAttribute:T}=z("core/storage-limits.js"),{renderDoc:d}=z("render/canvas.js"),{renderRte:p}=z("render/rte.js"),{renderField:t,renderFieldCards:g,typeCommit:v}=z("render/fields.js"),{icon:C}=z("core/icons.js"),{TOKEN:S}=z("core/variables.js"),{hl:j,cssUrl:G}=z("core/sanitize.js"),{decorateLogicTags:A}=z("core/export.js"),{withFocusPreserved:D}=z("render/focus-preserve.js"),{captureTemplatePng:e}=z("render/screenshot.js"),{resolveToolbar:u,toolbarKey:y}=z("core/toolbar.js"),{resolveFooter:f}=z("core/footer.js"),{createStoryViewer:x}=z("render/story.js"),{STYLE:M}=z("render/style.js"),{createTranslator:P,isRtl:$}=z("core/i18n/index.js"),{ACCENT_VARS:ee,accentTokens:R,parseColor:q}=z("core/accent.js"),{localeTable:oe,loadLocale:de}=z("core/i18n/loaders.js");function c(_,i,m={},...H){const E=document.createElement(_);i&&(E.style.cssText=i);for(const[L,a]of Object.entries(m))if(a!==void 0)if(L==="text")E.textContent=a;else if(L==="html")E.innerHTML=a;else if(L==="on")for(const[o,s]of Object.entries(a))E.addEventListener(o,s);else E.setAttribute(L,a);return H.flat().forEach(L=>{L!=null&&L!==!1&&E.appendChild(typeof L=="string"?document.createTextNode(L):L)}),E}function ne(_){return[{key:"design",label:_("tab.design"),title:_("tab.designHint"),iconName:"paint"},{key:"blocks",label:_("tab.blocks"),title:_("tab.blocksHint"),iconName:"grid"},{key:"rows",label:_("tab.rows"),title:_("tab.rowsHint"),iconName:"table"},{key:"files",label:_("tab.files"),title:_("tab.filesHint"),iconName:"image"},{key:"layers",label:_("tab.layers"),title:_("tab.layersHint"),iconName:"list"},{key:"theme",label:_("tab.settings"),title:_("tab.settingsHint"),iconName:"sliders"},{key:"data",label:_("tab.data"),title:_("tab.dataHint"),iconName:"data"}]}function ce(_,i,m,H){_.style.position=_.style.position||"relative",_.setAttribute("data-tip","1"),_.hasAttribute("aria-label")||_.setAttribute("aria-label",i),_.removeAttribute("title");const E=m||"down";return _.tipNode=c("span","",{class:`mc-tooltip mc-tooltip-${E}${E==="down"?" mc-tab-tooltip":""}${H==="end"?" mc-tooltip-end":""}`,text:i}),_.appendChild(_.tipNode),_}const pe=typeof HTMLElement<"u"?HTMLElement:class{};class he extends pe{static get observedAttributes(){return["variables","locale","dir","theme","ui-font","accent","toolbar","footer"]}constructor(){super(),this.attachShadow({mode:"open"}),this.core=new V({variables:this.hasAttribute("variables")?this.getAttribute("variables"):void 0})}connectedCallback(){this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this._toolbarKey=y(this.toolbarConfig()),this.core.mount(this.shadowRoot),this.applyTheme(),this.refreshTranslator(),this.core.mountKeyboard(i=>{const m=(i&&i.tagName||"").toLowerCase();return m==="input"||m==="textarea"||i&&i.isContentEditable}),this.core.onFormatChange=()=>this.scheduleRteRefresh(),this.core.onCodeSourceChange=()=>this.refreshCodeSource(),this.core.onSavedChange=()=>this.refreshSavedLabel(),this.core.onToast=()=>this.refreshToast(),this.core.onTick=()=>this.refreshCountdowns(),this.unsubscribe=this.core.subscribe(()=>{D(this.shadowRoot,()=>this.render()),this.dispatchEvent(new CustomEvent("change",{detail:this.core.state.doc}))}),this.render()}disconnectedCallback(){this.unsubscribe?.(),this.core.onFormatChange=null,this.core.onCodeSourceChange=null,this.core.onSavedChange=null,this.core.onToast=null,this.core.onTick=null,this._rteFrame!=null&&cancelAnimationFrame(this._rteFrame),this._rteFrame=null,this.core.unmount()}attributeChangedCallback(i,m,H){this.core&&(i==="variables"&&(this.core.variablesRaw=H,this.core.emit()),(i==="locale"||i==="dir")&&this.applyDir(),i==="locale"&&this.refreshTranslator(),i==="theme"&&this.applyTheme(),i==="ui-font"&&this.applyUiFont(),i==="accent"&&this.applyAccent(!0),i==="toolbar"&&this.applyToolbar(),i==="footer"&&this.applyFooter())}applyUiFont(){if(!this.mc)return;const i=(this.getAttribute("ui-font")||"").trim();if(!i){this.mc.style.removeProperty("--ed-font");return}const m=i.toLowerCase()==="inherit"?getComputedStyle(this).fontFamily:i;this.mc.style.setProperty("--ed-font",m||"inherit")}resolveAccentValue(i){if(typeof getComputedStyle!="function")return i;const m=getComputedStyle(this);if(i.toLowerCase()==="inherit"){const E=(m.accentColor||"").trim();return!E||E==="auto"?"":E}const H=/^var\(\s*(--[\w-]+)\s*(?:,\s*([^)]+))?\)$/.exec(i);return H?(m.getPropertyValue(H[1])||"").trim()||(H[2]||"").trim():i}applyAccent(i){if(!this.mc)return;const m=(this.getAttribute("accent")||"").trim(),H=this.core.state?.chrome||"light",E=m+"|"+H;if(!i&&E===this._accentKey)return;this._accentKey=E;const L=()=>ee.forEach(h=>this.mc.style.removeProperty(h));if(!m){L();return}const a=this.resolveAccentValue(m),o=q(a)||q(this.probeColor(a));if(!o){L(),console.warn('[mailcraft] accent="'+m+'" is not a usable color -- keeping the built-in accent.');return}const s=R(o,H);for(const[h,r]of Object.entries(s))this.mc.style.setProperty(h,r)}probeColor(i){if(!i||typeof getComputedStyle!="function"||typeof document>"u")return"";const m=document.createElement("span");if(m.style.display="none",m.style.color=i,!m.style.color)return"";this.mc.appendChild(m);const H=(getComputedStyle(m).color||"").trim();return m.remove(),H}applyTheme(){const i=this.getAttribute("theme");i?this.core.setState({chrome:i==="dark"?"dark":"light"}):this.core.state&&this.core.emit()}refreshTranslator(){const i=this.getAttribute("locale")||"";let m=i?oe(i):null;m===void 0&&(m=null,de(i).then(()=>{(this.getAttribute("locale")||"")===i&&this.refreshTranslator()}));const H=this.core.messages;this.core.t=P(m?Object.assign({},m,H||{}):H),this.story?.retranslate(),this.core.emit()}applyDir(){if(!this.mc)return;const i=this.getAttribute("dir");this.mc.setAttribute("dir",i||($(this.getAttribute("locale"))?"rtl":"ltr"))}getContent(){return JSON.parse(JSON.stringify(this.core.state.doc))}setContent(i){this.core.loadDoc(i)}importHtml(i){return this.core.importHtml(i)}get variables(){return this.core.vars()}set variables(i){this.core.variablesRaw=i,this.core.emit()}get toolbar(){return this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar")||""}set toolbar(i){this._toolbar=i,this.applyToolbar()}toolbarConfig(){return u(this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar"))}applyToolbar(){if(!this.core||!this.shadowRoot.firstChild)return;const i=y(this.toolbarConfig());i!==this._toolbarKey&&(this._toolbarKey=i,this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this.applyTheme(),this.render())}get footer(){return this._footer!==void 0?this._footer:this.getAttribute("footer")||""}set footer(i){this._footer=i,this.applyFooter()}get uiFont(){return this.getAttribute("ui-font")||""}set uiFont(i){i==null||String(i).trim()===""?this.removeAttribute("ui-font"):this.setAttribute("ui-font",String(i))}get accent(){return this.getAttribute("accent")||""}set accent(i){i==null||String(i).trim()===""?this.removeAttribute("accent"):this.setAttribute("accent",String(i))}get aiProvider(){return this.core.aiProvider}set aiProvider(i){this.core.aiProvider=i}get messages(){return this.core.messages}set messages(i){this.core.messages=i,this.refreshTranslator()}get iconProvider(){return this.core.iconProvider}set iconProvider(i){this.core.iconProvider=i,this.core.emit()}get storageProvider(){return this.core.storageProvider}set storageProvider(i){this.core.setStorageProvider(i)}get storageLimits(){return this.core.storageLimits}set storageLimits(i){this.core.setStorageLimits(i)}loadTemplate(i){this.core.loadTemplate(i)}exportHtml(){const i=this.core.buildHtml();return this.dispatchEvent(new CustomEvent("export",{detail:i})),i}screenshotPng(){return e(this.core,this.mc)}previewScreenshot(){this.story.open()}async downloadScreenshot(i){const m=this.core.t;try{const H=i||await this.screenshotPng(),E=document.createElement("a");E.href=URL.createObjectURL(H),E.download="email.png",E.click(),setTimeout(()=>URL.revokeObjectURL(E.href),1500),this.core.flash(m("toast.pngSaved"))}catch{this.core.flash(m("toast.pngFailed"))}}async copyScreenshot(i){const m=this.core.t;try{const H=i||await this.screenshotPng();await navigator.clipboard.write([new ClipboardItem({"image/png":H})]),this.core.flash(m("toast.pngCopied"))}catch{this.core.flash(m("toast.pngCopyFailed"))}}undo(){this.core.undo()}redo(){this.core.redo()}buildShell(){const i=this.shadowRoot;i.innerHTML="",i.appendChild(c("style","",{text:M})),this._accentKey=null,this.mc=c("div","height: 100%; padding: 16px; box-sizing: border-box; background: radial-gradient(circle at 8% 0%, var(--ed-soft), transparent 28%), var(--ed-bg); color: var(--ed-text); font-family: var(--ed-font); font-size: 14px; overflow-x: auto; overflow-y: hidden;",{id:"mc"}),i.appendChild(this.mc);const m=c("div","position: relative; height: 100%; min-width: 1180px;");this.mc.appendChild(m),this.savedLabel=this.savedDot=this.deviceSeg=null,this.undoBtn=this.redoBtn=this.chromeBtn=null,this.aiBtn=this.codeBtn=this.previewBtn=this.exportBtn=null;const H=this.toolbarConfig();this.frame=c("div","position: relative; height: 100%; border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); background: var(--ed-panel); display: grid; grid-template-rows: "+(H?"54px minmax(0, 1fr)":"minmax(0, 1fr)")+"; overflow: hidden; box-shadow: var(--ed-shadow-sm), var(--ed-shadow-md);",{class:"mc-shell"+(H?"":" mc-no-header")}),m.appendChild(this.frame),H&&this.frame.appendChild(this.buildHeader(H)),this.footerBar=this.footerText=this.footerLink=null,this.body=c("div","display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; background: var(--ed-work);",{class:"mc-layout"}),this.frame.appendChild(this.body),this.body.appendChild(this.buildMain()),this.body.appendChild(this.buildAside()),this.body.appendChild(this.buildFooter()),this.libraryModal=this.buildLibraryModal(),this.exportModal=this.buildExportModal(),this.codeModal=this.buildCodeModal(),this.aiModal=this.buildAiModal(),this.previewModal=this.buildPreviewModal(),this.story=x(this.core,{capture:()=>this.screenshotPng(),download:E=>this.downloadScreenshot(E),copy:E=>this.copyScreenshot(E)}),this.toastEl=c("div","position: absolute; bottom: 74px; left: 50%; transform: translateX(-50%); z-index: 80; background: var(--ed-text); color: var(--ed-bg); padding: 9px 16px; border-radius: var(--ed-radius-sm); font-family: ui-monospace, monospace; font-size: 10.5px; letter-spacing: 0.08em; box-shadow: var(--ed-shadow-md); animation: mcIn 0.18s ease; display: none;",{class:"mc-toast"}),m.append(this.libraryModal,this.exportModal,this.codeModal,this.aiModal,this.previewModal,this.story.node,this.toastEl),this.fileInput=c("input","display: none;",{type:"file",accept:"image/*",multiple:"true"}),this.fileInput.addEventListener("change",E=>{this.core.addFiles(E.target.files),E.target.value=""}),m.appendChild(this.fileInput)}buildHeader(i){const m=this.core.t,H=c("header","display: flex; align-items: center; gap: 14px; padding: 0 16px; border-bottom: 1px solid var(--ed-line); background: linear-gradient(to bottom, var(--ed-panel), var(--ed-panel-2)); position: relative; z-index: 30;",{class:"mc-header"}),E=c("span","",{class:"mc-brand-mark"}),L=C("mailSpark",20);L.setAttribute("stroke-width","1.8"),E.appendChild(L);const a=c("div","display: flex; align-items: center; gap: 9px;");a.append(E,c("span","font-family: var(--ed-font); font-weight: 600; font-size: 15px; letter-spacing: -0.01em; line-height: 1;",{text:"MailCraft",class:"mc-brand-name"})),i.logo&&H.append(a,c("div","width: 1px; height: 22px; background: var(--ed-line);")),this.savedLabel=c("span","display: flex; align-items: center; gap: 6px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ed-faint); white-space: nowrap;"),this.savedDot=c("span","width: 5px; height: 5px; border-radius: 50%; background: var(--ed-accent);"),this.savedLabel.appendChild(this.savedDot),this.savedLabel.appendChild(document.createTextNode("")),i.status?H.appendChild(this.savedLabel):this.savedLabel=this.savedDot=null,H.appendChild(c("div","flex: 1;")),i.device&&(this.deviceSeg=c("div","",{class:"mc-segment mc-device-segment"}),H.appendChild(this.deviceSeg));const o=c("div","display: flex; align-items: center; gap: 3px;");i.undo&&(this.undoBtn=this.iconBtn("undo",m("action.undoHint"),()=>this.core.undo(),"action.undoHint")),i.redo&&(this.redoBtn=this.iconBtn("redo",m("action.redoHint"),()=>this.core.redo(),"action.redoHint")),i.theme&&(this.chromeBtn=this.labelIconBtn("moon",m("action.chromeToDark"),m("action.chromeHint"),()=>{const h=this.core.state.chrome==="light"?"dark":"light";this.core.setState({chrome:h},()=>this.core.persist(null,null,h))},"action.chromeHint")),this.chromeBtn&&(this.chromeBtn.i18nTipKey=this.core.state.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=m(this.chromeBtn.i18nTipKey)),i.ai&&(this.aiBtn=this.labelIconBtn("spark",m("action.aiDraft"),m("action.aiDraftHint"),()=>this.core.setState({aiOpen:!0}),"action.aiDraftHint","action.aiDraft")),i.code&&(this.codeBtn=this.labelIconBtn("code",m("action.code"),m("action.codeHint"),()=>this.core.openCode(),"action.codeHint","action.code")),i.preview&&(this.previewBtn=this.labelIconBtn("eye",m("action.preview"),m("action.previewHint")||"",()=>this.core.setState({previewOpen:!0}),"action.previewHint","action.preview")),i.export&&(this.exportBtn=this.labelIconBtn("download",m("action.export"),m("action.exportHint"),()=>this.core.openExport(),"action.exportHint","action.export"));const s=[this.undoBtn,this.redoBtn,this.chromeBtn,this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].filter(Boolean);return s.length&&(o.append(...s),H.appendChild(o)),H}iconBtn(i,m,H,E){const L=c("button","border: 1px solid var(--ed-line); background: var(--ed-panel); color: var(--ed-text); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:m,"data-i18n-title":E||void 0,class:"mc-icon-button"});return L.appendChild(C(i,15)),L.addEventListener("mouseenter",()=>{L.disabled||(L.style.borderColor="var(--ed-accent)",L.style.background="var(--ed-soft)")}),L.addEventListener("mouseleave",()=>{L.style.borderColor="var(--ed-line)",L.style.background="var(--ed-panel)"}),L.addEventListener("click",H),ce(L,m,"down"),L}labelIconBtn(i,m,H,E,L,a){const o=c("button","border: 1px solid var(--ed-line); background: var(--ed-panel); color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 10px; display: flex; align-items: center; gap: 6px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; transition: border-color 0.16s, background 0.16s;",{type:"button",title:H,class:"mc-icon-label"});return o.i18nTitleKey=L||null,o.i18nLabelKey=a||null,i&&(o.iconNode=C(i,14),o.iconName=i,o.appendChild(o.iconNode)),o.labelNode=document.createTextNode(m||""),o.appendChild(o.labelNode),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)",o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)",o.style.background="var(--ed-panel)"}),o.addEventListener("click",E),ce(o,H,"down")}sectionBar(i,m){const H=c("div","display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 14px; background: var(--ed-panel-2); border-top: 1px solid var(--ed-line); border-bottom: 1px solid var(--ed-line); user-select: none;",{class:"mc-section-bar"});return H.appendChild(c("span","font-family: var(--ed-font); font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ed-muted);",{text:i,class:"mc-section-label"})),m&&H.appendChild(typeof m=="string"?c("span","font-size: 10px; font-weight: 600; color: var(--ed-faint); flex: none;",{text:m}):m),H}sectionBody(i){return c("div","padding: 12px 14px 16px; background: var(--ed-panel);"+(i||""),{class:"mc-section-body"})}tabSurface(){return c("div","background: var(--ed-panel); min-height: 100%; padding-bottom: 28px;",{class:"mc-tab-surface"})}softBtn(i,m,H){const E=c("button","width: 100%; border: 0; border-radius: 8px; background: var(--ed-soft); color: var(--ed-accent); cursor: pointer; padding: 8px 10px; display: flex; align-items: center; justify-content: center; gap: 6px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, color 0.16s;",{type:"button"});return m&&E.appendChild(C(m,13)),E.appendChild(c("span","",{text:i})),E.addEventListener("mouseenter",()=>{E.style.background="var(--ed-accent)",E.style.color="var(--ed-accent-ink)"}),E.addEventListener("mouseleave",()=>{E.style.background="var(--ed-soft)",E.style.color="var(--ed-accent)"}),E.addEventListener("click",H),E}refreshToast(){const i=this.core.state;this.toastEl.style.display=i.toast?"block":"none",this.toastEl.textContent=i.toast||""}refreshCountdowns(){const i=this.core.state.now;(this.core.state.previewOpen&&this.previewSlot?[this.canvasSlot,this.previewSlot]:[this.canvasSlot]).forEach(H=>H.querySelectorAll("[data-mc-countdown]").forEach(E=>{const L=Math.max(0,new Date(E.getAttribute("data-mc-countdown")).getTime()-i),a={days:Math.floor(L/864e5),hrs:Math.floor(L/36e5)%24,min:Math.floor(L/6e4)%60,sec:Math.floor(L/1e3)%60};E.querySelectorAll("[data-mc-count]").forEach(o=>{o.textContent=String(a[o.getAttribute("data-mc-count")]??0).padStart(2,"0")})}))}refreshSavedLabel(){if(!this.savedLabel)return;const i=this.core.state,m=this.core.t;this.savedLabel.lastChild.textContent=i.savedStatus==="error"?m("status.saveFailed"):i.savedStatus==="saved"?m("status.saved",{time:i.savedAt}):m("status.autosaveOn"),this.savedDot.style.background=i.savedStatus==="error"?"var(--ed-danger)":i.savedStatus==="saved"?"var(--ed-success)":"var(--ed-accent)",this.savedLabel.style.color=i.savedStatus==="error"?"var(--ed-danger)":"var(--ed-faint)"}scheduleRteRefresh(){this._rteFrame==null&&(this._rteFrame=requestAnimationFrame(()=>{if(this._rteFrame=null,this.core.rendering||!this.core.state.editing)return;const i=this.canvasSlot?.querySelector('[data-mc-rte="1"]'),m=this.core.find(this.core.state.doc,this.core.state.editing);if(!i||!m.block)return;const H=this.core.formatFingerprint(m.block);H!==this._rtePrint&&(this._rtePrint=H,i.replaceWith(p(this.core,m.block)))}))}buildFooter(){return this.footerBar=c("div","display: flex; grid-column: 1; grid-row: 2; justify-self: center; align-items: center; justify-content: center; gap: 4px; max-width: calc(100% - 32px); padding: 6px 14px; background: transparent; color: var(--ed-panel-meta); font-family: var(--ed-font); font-size: var(--ed-panel-meta-size); letter-spacing: 0.06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",{class:"mc-footer"}),this.footerText=c("span","",{class:"mc-footer-text"}),this.footerLink=c("a","color: inherit; text-decoration: none;",{class:"mc-footer-link"}),this.footerBar.appendChild(this.footerText),this.footerBar.appendChild(this.footerLink),this.footerBar}footerConfig(){return f(this._footer!==void 0?this._footer:this.getAttribute("footer"))}refreshFooter(){if(!this.footerBar)return;const i=this.footerConfig();if(!i){this.footerBar.style.display="none";return}this.footerBar.style.display="flex",this.footerBar.style.width=(this.core.state.device==="mobile"?375:this.core.state.doc.theme.width)+"px";const m=i.text==null?this.core.t("footer.poweredBy"):i.text,H=!!i.href;this.footerText.style.display=H?"none":"inline",this.footerLink.style.display=H?"inline":"none",this.footerText.textContent=H?"":m,this.footerLink.textContent=H?m:"",H&&(this.footerLink.setAttribute("href",i.href),this.footerLink.setAttribute("target",i.target||"_blank"),this.footerLink.setAttribute("rel","noopener noreferrer"))}applyFooter(){this.refreshFooter()}buildMain(){const i=c("main","",{class:"mc-workspace"});this.mainEl=i,i.style.cssText="grid-column: 1; grid-row: 1; position: relative; overflow-y: auto; min-height: 0;",i.addEventListener("click",()=>{this.core.state.sel&&this.core.setState({sel:null})});const m=c("div","padding: 28px 40px 150px; display: flex; justify-content: center;",{class:"mc-canvas-stage"});this.zoomFrame=c("div","position: relative; transform-origin: top center; transition: transform 0.22s cubic-bezier(0.22,0.61,0.36,1);"),this.canvasSlot=c("div","",{class:"mc-sheet-wrap"}),this.zoomFrame.appendChild(this.canvasSlot),m.appendChild(this.zoomFrame),i.appendChild(m);const H=c("div","position: sticky; bottom: 0; display: flex; justify-content: center; pointer-events: none; padding-bottom: 16px;"),E=c("div","pointer-events: auto; display: flex; align-items: center; gap: 12px; border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); background: var(--ed-panel); padding: 6px 8px 6px 12px; box-shadow: var(--ed-shadow-md);",{class:"mc-zoom"});return this.canvasMetaEl=c("span","font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ed-faint); white-space: nowrap;"),this.zoomSeg=c("div","display: flex; gap: 1px;"),E.append(this.canvasMetaEl,c("span","width: 1px; height: 18px; background: var(--ed-line);"),this.zoomSeg),H.appendChild(E),i.appendChild(H),i}buildAside(){const i=c("aside","grid-column: 2; grid-row: 1 / span 2; border-left: 1px solid var(--ed-line); background: var(--ed-panel); display: grid; grid-template-rows: auto 1fr; min-height: 0;",{class:"mc-inspector"});return this.tabBar=c("div","display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);",{class:"mc-tabbar",role:"tablist"}),i.appendChild(this.tabBar),this.tabBody=c("div","overflow-y: auto; overflow-x: hidden; min-height: 0;"),i.appendChild(this.tabBody),i}render(){this.syncLiveEdit(),this.core.rendering=!0,this._rtePrint=null;const i=this.mainEl?this.mainEl.scrollTop:0,m=this.mainEl?this.mainEl.scrollLeft:0,H=this._renderedTab,E=this.tabBody?this.tabBody.scrollTop:0;try{this.renderInner()}finally{this.core.rendering=!1}this.mainEl&&(this.mainEl.scrollTop!==i&&(this.mainEl.scrollTop=i),this.mainEl.scrollLeft!==m&&(this.mainEl.scrollLeft=m)),this.tabBody&&this.core.state.tab===H&&this.tabBody.scrollTop!==E&&(this.tabBody.scrollTop=E),this._renderedTab=this.core.state.tab}syncLiveEdit(){const i=this.core;if(!i.state.editing||!i.editEl||!i.editEl.isConnected||!i.editKey)return;const m=i.find(i.state.doc,i.state.editing);if(!m.block)return;const H=i.editPlain?i.editEl.textContent:i.editEl.innerHTML;H!==m.block.props[i.editKey]&&(m.block.props[i.editKey]=H)}refreshStrings(){const i=this.core.t,m=this.shadowRoot;m.querySelectorAll("[data-i18n]").forEach(H=>{H.textContent=i(H.getAttribute("data-i18n"))}),m.querySelectorAll("[data-i18n-title]").forEach(H=>{H.title=i(H.getAttribute("data-i18n-title"))}),m.querySelectorAll("[data-i18n-placeholder]").forEach(H=>{H.placeholder=i(H.getAttribute("data-i18n-placeholder"))}),[this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].forEach(H=>{H&&(H.i18nTitleKey&&(H.title=i(H.i18nTitleKey)),H.i18nLabelKey&&(H.labelNode.textContent=i(H.i18nLabelKey)),H.i18nTitleKey&&H.tipNode&&(H.tipNode.textContent=i(H.i18nTitleKey)))}),this.chromeBtn?.i18nTitleKey&&(this.chromeBtn.title=i(this.chromeBtn.i18nTitleKey))}renderInner(){const i=this.core.state,m=this.core.t;if(this.refreshStrings(),this.mc.dataset.chrome=i.chrome,this.applyAccent(),this.refreshFooter(),this.refreshSavedLabel(),this.undoBtn&&(this.undoBtn.disabled=!i.history.length),this.redoBtn&&(this.redoBtn.disabled=!i.future.length),this.chromeBtn){this.chromeBtn.style.setProperty("display",this.hasAttribute("theme")?"none":"flex","important"),this.chromeBtn.labelNode.textContent=i.chrome==="light"?m("action.chromeToDark"):m("action.chromeToLight"),this.chromeBtn.i18nTipKey=i.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=m(this.chromeBtn.i18nTipKey),this.chromeBtn.setAttribute("aria-label",m(this.chromeBtn.i18nTipKey)),this.chromeBtn.title=m(this.chromeBtn.i18nTipKey);const E=i.chrome==="light"?"moon":"sun";if(this.chromeBtn.iconName!==E){const L=C(E,14);this.chromeBtn.iconNode.replaceWith(L),this.chromeBtn.iconNode=L,this.chromeBtn.iconName=E}}this.renderDeviceSeg(),this.renderZoomSeg(),this.zoomFrame.style.transform=`scale(${i.zoom})`,this.canvasSlot.replaceChildren(d(this.core,!0));const H=i.doc.rows.reduce((E,L)=>E+L.cols.reduce((a,o)=>a+o.blocks.length,0),0);this.canvasMetaEl.textContent=m("canvas.meta",{rows:i.doc.rows.length,blocks:H,width:i.device==="mobile"?375:i.doc.theme.width}),this.renderTabs(),this.renderTabBody(),this.renderLibraryModal(),this.renderExportModal(),this.renderCodeModal(),this.renderAiModal(),this.renderPreviewModal(),this.refreshToast()}segBg(i){return i?"var(--ed-accent)":"transparent"}segFg(i){return i?"var(--ed-accent-ink)":"var(--ed-muted)"}renderDeviceSeg(){if(!this.deviceSeg)return;const i=this.core.state,m=this.core.t;this.deviceSeg.innerHTML="",[{label:m("device.desktop"),title:m("device.desktopHint"),v:"desktop",iconName:"monitor"},{label:m("device.mobile"),title:m("device.mobileHint"),v:"mobile",iconName:"phone"}].forEach(H=>{const E=i.device===H.v,L=c("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(E)}; color: ${this.segFg(E)}; transition: background 0.16s, color 0.16s;`,{type:"button",title:H.title,"aria-pressed":String(E)});L.appendChild(C(H.iconName,15)),L.addEventListener("mouseenter",()=>{E?L.style.background="var(--ed-accent-strong)":(L.style.background="var(--ed-soft)",L.style.color="var(--ed-accent)")}),L.addEventListener("mouseleave",()=>{L.style.background=this.segBg(E),L.style.color=this.segFg(E)}),L.addEventListener("click",()=>this.core.setState({device:H.v})),ce(L,H.label,"down"),this.deviceSeg.appendChild(L)})}renderZoomSeg(){const i=this.core.state;this.zoomSeg.innerHTML="",[.75,1,1.25].forEach(m=>{const H=i.zoom===m,E=c("button",`border: 0; border-radius: 7px; cursor: pointer; background: ${this.segBg(H)}; color: ${this.segFg(H)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 5px 9px; transition: background 0.16s, color 0.16s;`,{type:"button",text:`${Math.round(m*100)}%`,"aria-pressed":String(H)});E.addEventListener("click",()=>this.core.setState({zoom:m})),this.zoomSeg.appendChild(E)})}renderTabs(){const i=this.core.state;this.tabBar.innerHTML="",ne(this.core.t).forEach(m=>{const H=i.tab===m.key,E=c("button",`border: 0; border-radius: 8px 8px 0 0; border-bottom: 2px solid ${H?"var(--ed-accent)":"transparent"}; background: ${H?"var(--ed-panel)":"transparent"}; color: ${H?"var(--ed-accent)":"var(--ed-muted)"}; cursor: pointer; height: 39px; display: flex; align-items: center; justify-content: center; transition: color 0.16s, background 0.16s;`,{type:"button",title:m.title,role:"tab","aria-selected":String(H)});E.appendChild(C(m.iconName,16)),E.addEventListener("mouseenter",()=>{H||(E.style.color="var(--ed-accent)",E.style.background="var(--ed-soft)")}),E.addEventListener("mouseleave",()=>{E.style.color=H?"var(--ed-accent)":"var(--ed-muted)",E.style.background=H?"var(--ed-panel)":"transparent"}),E.addEventListener("click",()=>this.core.setState({tab:m.key})),ce(E,m.label,"down"),this.tabBar.appendChild(E)})}renderTabBody(){this.tabBody.innerHTML="";const i=this.core.state.tab;i==="design"?this.tabBody.appendChild(this.renderDesignTab()):i==="blocks"?this.tabBody.appendChild(this.renderBlocksTab()):i==="rows"?this.tabBody.appendChild(this.renderRowsTab()):i==="files"?this.tabBody.appendChild(this.renderFilesTab()):i==="layers"?this.tabBody.appendChild(this.renderLayersTab()):i==="theme"?this.tabBody.appendChild(this.renderThemeTab()):i==="data"&&this.tabBody.appendChild(this.renderDataTab())}renderDesignTab(){const i=this.core.state,m=this.core.t,H=this.core.selObj(),E=c("div","min-height: 100%; display: flex; flex-direction: column;",{class:"mc-tab-surface mc-design-panel"}),L=c("div","padding: 12px 14px; border-bottom: 1px solid var(--ed-line); display: flex; align-items: center; gap: 10px; position: sticky; top: 0; background: var(--ed-panel); z-index: 5;",{class:"mc-inspector-head"});if(i.sel){const h=c("div","width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--ed-soft); color: var(--ed-accent); display: flex; align-items: center; justify-content: center;");h.appendChild(C(H.block?H.block.type:"product",18)),L.appendChild(h)}const a=c("div","flex: 1; min-width: 0;");if(a.append(c("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:H.block?O(H.block.type).label:H.row?m("inspector.sectionLabel"):m("inspector.nothingSelected")}),c("div","font-size: 11px; color: var(--ed-muted); margin-top: 1px;",{text:H.block?m("inspector.blockProperties"):H.row?m("inspector.sectionProperties"):m("inspector.title")})),L.appendChild(a),i.sel){const h=c("div","display: flex; gap: 4px;"),r=c("button","border: 0; border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-muted); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: background 0.16s, color 0.16s;",{type:"button",title:m("action.duplicateHint"),class:"mc-icon-button"});r.appendChild(C("copy",14)),r.addEventListener("mouseenter",()=>{r.style.background="var(--ed-soft)",r.style.color="var(--ed-accent)"}),r.addEventListener("mouseleave",()=>{r.style.background="var(--ed-panel-2)",r.style.color="var(--ed-muted)"}),r.addEventListener("click",()=>this.core.dupSel()),ce(r,m("action.duplicateHint"),"down","end");const w=c("button","border: 0; border-radius: 8px; background: var(--ed-danger-soft); color: var(--ed-danger); cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; transition: filter 0.16s;",{type:"button",title:m("action.deleteHint"),class:"mc-icon-button"});w.appendChild(C("trash",14)),w.addEventListener("mouseenter",()=>{w.style.filter="brightness(0.94)"}),w.addEventListener("mouseleave",()=>{w.style.filter=""}),w.addEventListener("click",()=>this.core.delSel()),ce(w,m("action.deleteHint"),"down","end"),h.append(r,w),L.appendChild(h)}E.appendChild(L);const o=c("div","background: var(--ed-panel); flex: 1; padding-bottom: 28px;",{class:"mc-panel-content"});if(!i.sel){const h=c("div","margin: 12px 14px; background: var(--ed-panel); border: 1px solid var(--ed-line); border-radius: 12px; padding: 14px; font-size: 12.5px; color: var(--ed-muted); line-height: 1.6;"),r=c("p","margin: 0 0 14px;");r.innerHTML=m("inspector.emptyBody"),h.appendChild(r);const w=c("div","position: relative; border: 1px solid var(--ed-line); border-radius: 10px; padding: 12px;",{class:"mc-shortcuts"});w.appendChild(c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); margin-bottom: 8px;",{text:m("inspector.shortcuts")}));const Y=c("div","display: grid; gap: 5px; font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--ed-muted);");[m("shortcut.undoRedo"),m("shortcut.duplicate"),m("shortcut.delete"),m("shortcut.export"),m("shortcut.escape")].forEach(F=>Y.appendChild(c("div","",{text:F}))),w.appendChild(Y),h.appendChild(w),o.appendChild(h)}const s=this.core.fields().concat(this.core.boxFields());return g(o,s),E.appendChild(o),E}renderBlocksTab(){const i=this.core.t,m=this.tabSurface();m.appendChild(this.sectionBar(i("blocks.dragHint"),i("blocks.count",{count:n.length})));const H=this.sectionBody(),E=c("div","display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;");return we(this.core).forEach(L=>{const a=c("div","border: 1px solid var(--ed-line); border-radius: 10px; background: var(--ed-panel-2); cursor: grab; padding: 11px 4px 8px; display: flex; flex-direction: column; align-items: center; gap: 7px; user-select: none; transition: border-color 0.16s, transform 0.16s, background 0.16s, box-shadow 0.16s;",{draggable:"true",title:L.hint}),o=()=>{a.style.borderColor="var(--ed-accent)",a.style.background="var(--ed-soft)",a.style.transform="translateY(-2px)",a.style.boxShadow="var(--ed-shadow-sm)"};a.addEventListener("mouseenter",o),a.addEventListener("mouseleave",()=>{a.style.borderColor="var(--ed-line)",a.style.background="var(--ed-panel-2)",a.style.transform="",a.style.boxShadow=""}),a.addEventListener("mousedown",()=>{a.style.cursor="grabbing",a.style.transform=""}),a.addEventListener("mouseup",()=>{a.style.cursor="grab",o()}),a.addEventListener("dragstart",L.onDragStart),a.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),a.addEventListener("dblclick",L.onAdd);const s=c("span","color: var(--ed-accent); display: block;");s.appendChild(L.icon()),a.appendChild(s),a.appendChild(c("span","font-size: 10.5px; color: var(--ed-muted); text-align: center; line-height: 1.2;",{text:L.label})),E.appendChild(a)}),H.appendChild(E),m.appendChild(H),m}renderRowsTab(){const i=this.core.state,m=this.core.t,H=this.tabSurface();H.appendChild(this.sectionBar(m("rows.sectionLayouts")));const E=this.sectionBody(),L=c("div","display: grid; gap: 6px;");k.forEach(F=>{const Q=c("div","border: 1px solid var(--ed-line); border-radius: 9px; background: var(--ed-panel-2); cursor: grab; padding: 10px; display: flex; align-items: center; gap: 12px; user-select: none; transition: border-color 0.16s, background 0.16s;",{draggable:"true"});Q.addEventListener("mouseenter",()=>{Q.style.borderColor="var(--ed-accent)",Q.style.background="var(--ed-soft)"}),Q.addEventListener("mouseleave",()=>{Q.style.borderColor="var(--ed-line)",Q.style.background="var(--ed-panel-2)"}),Q.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:F.spans})),Q.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),Q.addEventListener("dblclick",()=>this.core.insertRow(F.spans,i.doc.rows.length));const ie=c("div","display: flex; gap: 3px; flex: 1; height: 26px;");F.spans.forEach(me=>ie.appendChild(c("div",`flex: ${me}; border: 1px solid var(--ed-line-2); background: repeating-linear-gradient(45deg, transparent, transparent 4px, var(--ed-line) 4px, var(--ed-line) 5px);`))),Q.append(ie,c("span","font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-muted); white-space: nowrap;",{text:F.label})),L.appendChild(Q)}),E.appendChild(L),H.appendChild(E),H.appendChild(this.sectionBar(m("rows.customMarkup")));const a=this.sectionBody(),o=c("div","border: 1px solid var(--ed-line); border-radius: 9px; background: var(--ed-panel-2); cursor: grab; padding: 11px 12px; display: flex; align-items: center; gap: 11px; user-select: none; transition: border-color 0.16s, background 0.16s;",{draggable:"true",title:m("rows.htmlRowHint")});o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)",o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)",o.style.background="var(--ed-panel-2)"}),o.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:[100],html:!0})),o.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),o.addEventListener("click",()=>this.core.insertRow([100],i.doc.rows.length,!0));const s=c("span","color: var(--ed-accent); display: block;");s.appendChild(C("code",20));const h=c("span","flex: 1;");h.append(c("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 13px; line-height: 1.2;",{text:m("rows.rawHtmlSection")}),c("span","display: block; font-size: 11px; color: var(--ed-muted); line-height: 1.4;",{text:m("rows.rawHtmlDesc")})),o.append(s,h),a.appendChild(o),H.appendChild(a),H.appendChild(this.sectionBar(m("rows.canvasModel")));const r=this.sectionBody(),w=c("div","",{class:"mc-segment"});[{label:m("rows.modeRowBased"),v:"rows"},{label:m("rows.modeFreeStack"),v:"stack"}].forEach(F=>{const Q=i.mode===F.v,ie=c("button",`flex: 1; background: ${this.segBg(Q)}; color: ${this.segFg(Q)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 8px 4px; transition: background 0.16s, color 0.16s;`,{type:"button",text:F.label,"aria-pressed":String(Q)});ie.addEventListener("click",()=>this.core.setState({mode:F.v})),w.appendChild(ie)}),r.appendChild(w);const Y=i.mode==="rows"?m("rows.hintRows"):m("rows.hintStack");return r.appendChild(c("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:Y})),H.appendChild(r),H}renderFilesTab(){const i=this.core.state,m=this.core.t,H=this.tabSurface();H.appendChild(this.sectionBar(m("files.libraryCount",{count:i.assets.length})));const E=this.sectionBody(),L=c("button","width: 100%; border: 0; border-radius: 8px; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; padding: 9px 12px; display: flex; align-items: center; justify-content: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});L.append(C("folder",14),c("span","",{text:m("files.openManager")})),L.addEventListener("mouseenter",()=>{L.style.filter="brightness(1.1)"}),L.addEventListener("mouseleave",()=>{L.style.filter=""}),L.addEventListener("click",()=>this.core.openLibrary()),E.appendChild(L);const a=c("div","display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 12px;");return i.assets.slice(0,6).forEach(o=>{const s=c("div","border: 1px solid var(--ed-line); border-radius: 9px; overflow: hidden; cursor: grab; background: var(--ed-panel-2); transition: border-color 0.16s;",{draggable:"true",title:o.name});s.addEventListener("mouseenter",()=>{s.style.borderColor="var(--ed-accent)"}),s.addEventListener("mouseleave",()=>{s.style.borderColor="var(--ed-line)"}),s.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:o.id})),s.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),s.appendChild(c("div",`width: 100%; height: 64px; background-image: url("${o.url}"); background-size: cover; background-position: center; background-color: var(--ed-work);`,{role:"img","aria-label":o.name})),s.appendChild(c("div","font-family: ui-monospace, monospace; font-size: 9px; color: var(--ed-muted); padding: 4px 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:o.name})),a.appendChild(s)}),E.appendChild(a),E.appendChild(c("p","margin: 12px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:m("files.dragToCanvas")})),H.appendChild(E),H}renderLayersTab(){const i=this.core.state,m=this.core.t,H=this.tabSurface();H.appendChild(this.sectionBar(m("layers.structure")));const E=this.sectionBody("display: grid; gap: 0;");return E.classList.add("mc-layer-tree"),i.doc.rows.forEach((L,a)=>{const o=i.sel&&i.sel.id===L.id,s=c("div","background: transparent; padding: 0 0 8px;",{class:`mc-tree-section${o?" is-selected":""}`}),h=L.cols.reduce((Y,F)=>Y+F.blocks.length,0),r=c("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 6px 7px; border-radius: 7px; background: ${o?"var(--ed-soft)":"transparent"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-section-node"});r.addEventListener("mouseenter",()=>{r.style.background="var(--ed-soft)"}),r.addEventListener("mouseleave",()=>{r.style.background=o?"var(--ed-soft)":"transparent"}),r.addEventListener("click",()=>this.core.select("row",L.id)),r.append(c("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: ui-monospace, monospace; font-size: 10px; font-weight: 600; background: ${o?"var(--ed-accent)":"var(--ed-panel-2)"}; color: ${o?"var(--ed-accent-ink)":"var(--ed-muted)"};`,{text:String(a+1).padStart(2,"0"),class:"mc-tree-index"}),c("span","font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; color: var(--ed-text);",{text:L.cols.length===1?m("layers.sectionSingle"):m("layers.sectionMulti",{count:L.cols.length}),class:"mc-tree-title"}),c("span","flex: 1;"),c("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:m("layers.blockCount",{count:h}),class:"mc-tree-count"})),s.appendChild(r);const w=c("div","",{class:"mc-tree-children mc-tree-columns"});L.cols.forEach((Y,F)=>{const Q=c("div","",{class:"mc-tree-branch"}),ie=c("div","display: flex; align-items: center; gap: 7px; min-height: 28px; padding: 3px 7px; color: var(--ed-muted);",{class:"mc-tree-node mc-tree-column-node"}),me=c("span","width: 20px; height: 20px; flex: none; border-radius: 5px; display: flex; align-items: center; justify-content: center; background: var(--ed-panel-2); color: var(--ed-faint);");if(me.appendChild(C("table",11)),ie.append(me,c("span","font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{text:m("layers.column",{index:F+1}),class:"mc-tree-title"}),c("span","flex: 1;"),c("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:m("layers.blockCount",{count:Y.blocks.length}),class:"mc-tree-count"})),Q.appendChild(ie),Y.blocks.length){const b=c("div","",{class:"mc-tree-children mc-tree-blocks"});Y.blocks.forEach(l=>{const B=i.sel&&i.sel.id===l.id,U=O(l.type).label,W=l.type==="text"?String(l.props.html||"").replace(/<[^>]+>/g,"").trim().slice(0,34):l.props.label||l.props.title||l.props.caption||"",X=c("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 4px 7px; border-radius: 8px; background: ${B?"var(--ed-soft)":"transparent"}; box-shadow: ${B?"inset 0 0 0 1px var(--ed-accent)":"none"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-block-node"});X.addEventListener("mouseenter",()=>{i.sel&&i.sel.id===l.id||(X.style.background="var(--ed-panel)")}),X.addEventListener("mouseleave",()=>{X.style.background=B?"var(--ed-soft)":"transparent"}),X.addEventListener("click",()=>this.core.select("block",l.id));const J=c("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: ${B?"var(--ed-accent)":"var(--ed-soft)"}; color: ${B?"var(--ed-accent-ink)":"var(--ed-accent)"};`);J.appendChild(C(l.type,12)),X.append(J,c("span","font-family: var(--ed-font); font-size: 12px; font-weight: 500; color: var(--ed-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:W||U,class:"mc-tree-title",dir:"auto"})),W&&X.append(c("span","flex: 1; min-width: 8px;"),c("span","flex: none; font-family: var(--ed-font); font-size: 9.5px; font-weight: 600; letter-spacing: 0.035em; text-transform: uppercase; color: var(--ed-muted);",{text:U,class:"mc-tree-type"})),b.appendChild(X)}),Q.appendChild(b)}w.appendChild(Q)}),s.appendChild(w),E.appendChild(s)}),H.appendChild(E),H}renderThemeTab(){const i=this.tabSurface();return g(i,this.core.themeFields()),i}renderDataTab(){const i=this.core.state,m=this.core.t,H=this.tabSurface();H.appendChild(this.sectionBar(m("vars.title"),m("vars.fromCode",{count:this.core.vars().length})));const E=this.sectionBody();E.appendChild(c("p","margin: 0 0 12px; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:m("vars.declaredNote")}));const L=c("input","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); border-radius: 8px; color: var(--ed-text); font: inherit; font-size: 12.5px; padding: 7px 9px; margin-bottom: 8px;",{placeholder:m("vars.filterPlaceholder"),"data-focus-key":"var-query",dir:"auto"});L.value=i.varQuery||"",L.addEventListener("focus",()=>{L.style.borderColor="var(--ed-accent)",L.style.outline="none"}),L.addEventListener("blur",()=>{L.style.borderColor="var(--ed-line)"});const a=v(r=>this.core.setState({varQuery:r}));L.addEventListener("input",r=>a.call(r.target.value)),E.appendChild(L);const o=this.core.vars(),s=o.filter(r=>!i.varQuery||r.toLowerCase().includes(String(i.varQuery).toLowerCase())),h=c("div","display: grid; gap: 3px;");return s.forEach(r=>{const w=r.replace(/[_.]/g," ").replace(/\b\w/g,Q=>Q.toUpperCase()),Y=c("button","display: flex; align-items: center; gap: 9px; text-align: left; border: 1px solid var(--ed-line); border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-text); cursor: pointer; padding: 8px 10px; transition: border-color 0.16s, background 0.16s;",{type:"button",title:m("vars.insertHint")});Y.addEventListener("mouseenter",()=>{Y.style.borderColor="var(--ed-accent)",Y.style.background="var(--ed-soft)"}),Y.addEventListener("mouseleave",()=>{Y.style.borderColor="var(--ed-line)",Y.style.background="var(--ed-panel-2)"}),Y.addEventListener("click",()=>this.core.insertTag(r));const F=c("span","flex: 1; min-width: 0;");F.append(c("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; line-height: 1.2;",{text:w}),c("span","display: block; font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-accent); margin-top: 2px;",{text:S(r),dir:"ltr"})),Y.append(F,c("span","font-family: var(--ed-font); font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ed-faint);",{text:m("vars.insert")})),h.appendChild(Y)}),E.appendChild(h),s.length||E.appendChild(c("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:o.length?m("vars.noMatch"):m("vars.noneDeclared")})),E.appendChild(c("p","margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--ed-line); font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:m("vars.rteHint")})),H.appendChild(E),H}buildLibraryModal(){const i=this.core.t,m=c("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 34px; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});m.addEventListener("click",w=>{w.target===m&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const H=c("div","width: 100%; height: 100%; max-width: 1000px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});H.addEventListener("click",w=>w.stopPropagation()),m.appendChild(H);const E=c("div","display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);");this.libraryTitleEl=c("div","flex: 1;"),this.libraryTitleEl.append(c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:i("modal.fileManager"),"data-i18n":"modal.fileManager"}),this.libraryTitleText=c("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;")),this.assetSearch=c("input","width: 210px; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 7px 9px;",{placeholder:i("library.searchPlaceholder"),"data-i18n-placeholder":"library.searchPlaceholder","data-focus-key":"asset-query",dir:"auto"}),this.assetSearch.addEventListener("focus",()=>{this.assetSearch.style.borderColor="var(--ed-accent)",this.assetSearch.style.outline="none"}),this.assetSearch.addEventListener("blur",()=>{this.assetSearch.style.borderColor="var(--ed-line)"});const L=v(w=>this.core.setAssetQuery(w));this.assetSearch.addEventListener("input",w=>L.call(w.target.value));const a=c("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 32px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});a.append(C("upload",14),c("span","",{text:i("action.upload"),"data-i18n":"action.upload"})),a.addEventListener("mouseenter",()=>{a.style.filter="brightness(1.1)"}),a.addEventListener("mouseleave",()=>{a.style.filter=""}),a.addEventListener("click",()=>this.fileInput.click());const o=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:i("action.close"),class:"mc-icon-button"});o.appendChild(C("x",14)),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)"}),o.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ce(o,i("action.close"),"down","end"),E.append(this.libraryTitleEl,this.assetSearch,a,o),H.appendChild(E);const s=c("div","display: grid; grid-template-columns: 186px 1fr; min-height: 0;");this.folderList=c("div","border-right: 1px solid var(--ed-line); padding: 14px; overflow-y: auto;");const h=c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); margin-bottom: 10px;",{text:i("library.folders"),"data-i18n":"library.folders"});this.folderGrid=c("div","display: grid; gap: 2px;"),this.folderList.append(h,this.folderGrid),this.assetGridWrap=c("div","overflow-y: auto; padding: 16px; transition: background 0.16s;"),this.assetGridWrap.addEventListener("dragover",w=>{this.core.drag||(w.preventDefault(),this.core.state.libHot||this.core.setState({libHot:!0}))}),this.assetGridWrap.addEventListener("drop",w=>{w.preventDefault(),this.core.setState({libHot:!1}),w.dataTransfer?.files?.length&&this.core.addFiles(w.dataTransfer.files)}),this.assetStatus=c("div","font-size: 12.5px; color: var(--ed-muted); padding: 0 2px 12px;"),this.assetGrid=c("div","display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 14px;"),this.assetEmpty=c("div","padding: 28px 2px; color: var(--ed-muted); font-size: 12.5px;",{text:i("library.empty"),"data-i18n":"library.empty"}),this.assetMore=c("button","margin-top: 16px; border: 0; border-radius: 8px; background: var(--ed-soft); color: var(--ed-accent); cursor: pointer; height: 30px; padding: 0 14px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, color 0.16s;",{type:"button",text:i("library.loadMore"),"data-i18n":"library.loadMore"}),this.assetMore.addEventListener("mouseenter",()=>{this.assetMore.style.background="var(--ed-accent)",this.assetMore.style.color="var(--ed-accent-ink)"}),this.assetMore.addEventListener("mouseleave",()=>{this.assetMore.style.background="var(--ed-soft)",this.assetMore.style.color="var(--ed-accent)"}),this.assetMore.addEventListener("click",()=>this.core.loadMoreAssets()),this.assetGridWrap.append(this.assetStatus,this.assetGrid,this.assetEmpty,this.assetMore),this.assetGridWrap.appendChild(c("div","margin-top: 20px; border: 1px dashed var(--ed-line-2); padding: 22px; text-align: center; color: var(--ed-muted); font-size: 12.5px;",{text:i("library.dropHint"),"data-i18n":"library.dropHint"})),s.append(this.folderList,this.assetGridWrap),H.appendChild(s);const r=c("div","padding: 10px 20px; border-top: 1px solid var(--ed-line); display: flex; justify-content: space-between; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);");return this.libraryHintEl=c("span"),this.storageLabelEl=c("span"),r.append(this.libraryHintEl,this.storageLabelEl),H.appendChild(r),m}renderLibraryModal(){const i=this.core.state,m=this.core.t;if(this.libraryModal.style.display=i.libraryOpen?"flex":"none",!i.libraryOpen)return;this.libraryTitleText.textContent=i.assetTarget?m("modal.replaceImage"):m("modal.assetsTitle"),this.libraryHintEl.textContent=i.assetTarget?m("library.clickToReplace"):m("library.clickToPlace"),this.storageLabelEl.textContent=m("library.storageLabel",{count:i.assets.length,size:I(i.assets.reduce((L,a)=>L+(a.size||0),0))}),this.assetSearch.value!==(i.assetQuery||"")&&(this.assetSearch.value=i.assetQuery||""),this.fileInput.accept=T(this.core.limits()),this.folderGrid.innerHTML="",this.core.folderOptions().forEach(L=>{const a=i.assetFolder===L.id,o=c("button",`text-align: left; border: 0; border-left: 2px solid ${a?"var(--ed-accent)":"transparent"}; background: ${a?"var(--ed-soft)":"transparent"}; color: ${a?"var(--ed-accent)":"var(--ed-text)"}; cursor: pointer; padding: 8px 10px; font-size: 12.5px; display: flex; justify-content: space-between; gap: 8px; transition: background 0.16s;`,{type:"button"});o.addEventListener("mouseenter",()=>{o.style.background="var(--ed-soft)"}),o.addEventListener("mouseleave",()=>{o.style.background=a?"var(--ed-soft)":"transparent"}),o.addEventListener("click",()=>this.core.setAssetFolder(L.id)),o.append(c("span","",{text:L.name}),c("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:L.count==null?"":String(L.count)})),this.folderGrid.appendChild(o)});const H=i.uploading?m("storage.uploading",{count:i.uploading}):i.assetsError?m("storage.errLoadFailed",{reason:i.assetsError}):i.assetsLoading?m("storage.loading"):"";this.assetStatus.textContent=H,this.assetStatus.style.display=H?"block":"none",this.assetStatus.style.color=i.assetsError?"var(--ed-danger)":"var(--ed-muted)",this.assetGridWrap.style.background=i.libHot?"var(--ed-soft)":"transparent";const E=this.core.visibleAssets();this.assetGrid.innerHTML="",E.forEach(L=>{const a=c("div","border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); overflow: hidden; background: var(--ed-panel-2); cursor: pointer; transition: border-color 0.16s, transform 0.16s, box-shadow 0.16s;",{draggable:"true"});a.addEventListener("mouseenter",()=>{a.style.borderColor="var(--ed-accent)",a.style.transform="translateY(-1px)",a.style.boxShadow="var(--ed-shadow-md)"}),a.addEventListener("mouseleave",()=>{a.style.borderColor="var(--ed-line)",a.style.transform="",a.style.boxShadow=""}),a.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:L.id})),a.addEventListener("click",()=>this.core.useAsset(L)),a.appendChild(c("div",`width: 100%; height: 120px; background-image: url("${L.url}"); background-size: cover; background-position: center; background-color: var(--ed-work); border-bottom: 1px solid var(--ed-line);`,{role:"img","aria-label":L.name}));const o=c("div","padding: 8px 9px;");o.appendChild(c("div","font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:L.name}));const s=c("div","display: flex; justify-content: space-between; gap: 6px; margin-top: 3px;");s.appendChild(c("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:`${L.w?L.w+"×"+L.ht+" · ":""}${I(L.size||0)}`}));const h=c("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint); cursor: pointer;",{title:m("library.deleteFileHint"),text:m("library.del")});h.addEventListener("mouseenter",()=>{h.style.color="var(--ed-danger)"}),h.addEventListener("mouseleave",()=>{h.style.color="var(--ed-faint)"}),h.addEventListener("click",r=>{r.stopPropagation(),this.core.removeAsset(L)}),s.appendChild(h),o.appendChild(s),a.appendChild(o),this.assetGrid.appendChild(a)}),this.assetEmpty.style.display=!E.length&&!i.assetsLoading&&!i.assetsError?"block":"none",this.assetMore.style.display=i.assetCursor?"block":"none",this.assetMore.disabled=!!i.assetsLoading}buildExportModal(){const i=this.core.t,m=c("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 34px; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});m.addEventListener("click",s=>{s.target===m&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const H=c("div","width: 100%; height: 100%; max-width: 900px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});H.addEventListener("click",s=>s.stopPropagation()),m.appendChild(H);const E=c("div","display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),L=c("div","flex: 1;");L.append(c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:i("modal.export"),"data-i18n":"modal.export"}),c("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:i("modal.exportTitle"),"data-i18n":"modal.exportTitle"})),this.copyBtn=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 32px; padding: 0 11px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 12px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",class:"mc-icon-label"}),this.copyBtn.iconNode=C("copy",14),this.copyBtn.labelNode=c("span"),this.copyBtn.append(this.copyBtn.iconNode,this.copyBtn.labelNode),this.copyBtn.addEventListener("mouseenter",()=>{this.copyBtn.style.borderColor="var(--ed-accent)",this.copyBtn.style.background="var(--ed-soft)"}),this.copyBtn.addEventListener("mouseleave",()=>{this.copyBtn.style.borderColor="var(--ed-line)",this.copyBtn.style.background="transparent"}),this.copyBtn.addEventListener("click",()=>this.core.copyExport()),this.shotBtn=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 32px; padding: 0 11px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 12px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",title:i("action.screenshotHint"),"data-i18n-title":"action.screenshotHint",class:"mc-icon-label"}),this.shotBtn.append(C("image",14),c("span","",{text:i("action.screenshot"),"data-i18n":"action.screenshot"})),this.shotBtn.addEventListener("mouseenter",()=>{this.shotBtn.style.borderColor="var(--ed-accent)",this.shotBtn.style.background="var(--ed-soft)"}),this.shotBtn.addEventListener("mouseleave",()=>{this.shotBtn.style.borderColor="var(--ed-line)",this.shotBtn.style.background="transparent"}),this.shotBtn.addEventListener("click",()=>this.previewScreenshot());const a=c("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 32px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"});a.append(C("download",14),c("span","",{text:i("action.download"),"data-i18n":"action.download"})),a.addEventListener("mouseenter",()=>{a.style.filter="brightness(1.1)"}),a.addEventListener("mouseleave",()=>{a.style.filter=""}),a.addEventListener("click",()=>this.core.downloadExport());const o=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:i("action.close"),class:"mc-icon-button"});return o.appendChild(C("x",14)),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)"}),o.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ce(o,i("action.close"),"down","end"),E.append(L,this.copyBtn,this.shotBtn,a,o),H.appendChild(E),this.exportTextarea=c("textarea","width: 100%; height: 100%; box-sizing: border-box; border: 0; background: var(--ed-work); color: var(--ed-text); font-family: ui-monospace, monospace; font-size: 11.5px; line-height: 1.55; padding: 18px 20px; resize: none;",{readonly:"true",dir:"ltr"}),H.appendChild(this.exportTextarea),this.exportMetaEl=c("div","padding: 10px 20px; border-top: 1px solid var(--ed-line); font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);"),H.appendChild(this.exportMetaEl),m}renderExportModal(){const i=this.core.state,m=this.core.t;this.exportModal.style.display=i.exportOpen?"flex":"none",i.exportOpen&&(this.exportTextarea.value!==i.exportCode&&(this.exportTextarea.value=i.exportCode),this.copyBtn.labelNode.textContent=i.copied?m("export.copied"):m("export.copy"),this.exportMetaEl.textContent=m("export.meta",{kb:(i.exportCode.length/1024).toFixed(1)}))}buildCodeModal(){const i=this.core.t,m=c("div","position: absolute; inset: 0; background: var(--ed-panel); z-index: 55; display: grid; grid-template-rows: 58px minmax(0, 1fr) auto; animation: mcFade 0.16s ease; display: none;",{class:"mc-fullscreen-panel mc-code-panel"}),H=c("div","display: flex; align-items: center; gap: 10px; padding: 0 18px; border-bottom: 1px solid var(--ed-line); background: linear-gradient(to bottom, var(--ed-panel), var(--ed-panel-2));",{class:"mc-code-toolbar"}),E=c("span","width: 32px; height: 32px; border-radius: 9px; background: var(--ed-soft); color: var(--ed-accent); display: flex; align-items: center; justify-content: center; flex: none;",{class:"mc-code-badge"});E.appendChild(C("code",17));const L=c("div","flex: 1; min-width: 0;");this.codeStatusEl=c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{class:"mc-code-kicker"}),L.append(this.codeStatusEl,c("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:i("modal.rawHtmlTitle"),"data-i18n":"modal.rawHtmlTitle",class:"mc-code-heading"})),this.codeWidthSeg=c("div","",{class:"mc-segment"});const a=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 11px; display: flex; align-items: center; gap: 6px; font-family: var(--ed-font); font-size: 11px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button",title:i("action.reloadHint"),"data-i18n-title":"action.reloadHint"});a.appendChild(C("refresh",14)),a.appendChild(c("span","",{text:i("action.reload"),"data-i18n":"action.reload"})),a.addEventListener("mouseenter",()=>{a.style.borderColor="var(--ed-accent)",a.style.background="var(--ed-soft)"}),a.addEventListener("mouseleave",()=>{a.style.borderColor="var(--ed-line)",a.style.background="transparent"}),a.addEventListener("click",()=>{const ie=this.core.buildHtml();this.core.setState({codeSrc:ie,codeLive:ie,codeDirty:!1}),this.core.flash(this.core.t("toast.sourceReloaded"))});const o=c("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; height: 30px; padding: 0 12px; display: flex; align-items: center; gap: 7px; font-family: var(--ed-font); font-weight: 600; font-size: 11px; transition: filter 0.16s;",{type:"button",title:i("action.applyToCanvasHint"),"data-i18n-title":"action.applyToCanvasHint"});o.appendChild(C("check",14)),o.appendChild(c("span","",{text:i("action.applyToCanvas"),"data-i18n":"action.applyToCanvas"})),o.addEventListener("mouseenter",()=>{o.style.filter="brightness(1.1)"}),o.addEventListener("mouseleave",()=>{o.style.filter=""}),o.addEventListener("click",()=>this.core.applyCode());const s=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s;",{type:"button",title:i("action.closeWithoutApplyingHint"),"data-i18n-title":"action.closeWithoutApplyingHint",class:"mc-icon-button"});s.appendChild(C("x",14)),s.addEventListener("mouseenter",()=>{s.style.borderColor="var(--ed-accent)"}),s.addEventListener("mouseleave",()=>{s.style.borderColor="var(--ed-line)"}),s.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ce(s,i("action.closeWithoutApplyingHint"),"down","end"),H.append(E,L,this.codeWidthSeg,a,o,s),m.appendChild(H);const h=c("div","display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; min-height: 0; background: var(--ed-work);",{class:"mc-code-split"}),r=c("div","display: grid; grid-template-rows: auto 1fr; min-height: 0; border: 1px solid var(--ed-line); border-radius: 12px; overflow: hidden; background: var(--ed-panel);",{class:"mc-code-source"}),w=c("div","padding: 7px 16px; border-bottom: 1px solid var(--ed-line); font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted); display: flex; justify-content: space-between;",{class:"mc-pane-label"});this.codeMetaEl=c("span"),w.append(c("span","",{text:i("code.source"),"data-i18n":"code.source"}),this.codeMetaEl),r.appendChild(w);const Y=c("div","position: relative; min-height: 0;");Y.appendChild(this.buildCodeEditor()),r.appendChild(Y),h.appendChild(r);const F=c("div","display: grid; grid-template-rows: auto 1fr; min-height: 0; border: 1px solid var(--ed-line); border-radius: 12px; overflow: hidden; background: var(--ed-panel);",{class:"mc-code-preview"});F.appendChild(c("div","padding: 7px 16px; border-bottom: 1px solid var(--ed-line); background: var(--ed-panel); font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:i("code.livePreview"),"data-i18n":"code.livePreview",class:"mc-pane-label"}));const Q=c("div","overflow: auto; display: flex; justify-content: center; background: var(--ed-work);",{class:"mc-code-preview-body"});return this.codePreviewBody=Q,this.codeFrame=c("iframe","width: 100%; height: 100%; min-height: 420px; border: 0; background: #ffffff; transition: width 0.24s cubic-bezier(0.22,0.61,0.36,1);",{title:i("code.liveHtmlPreviewTitle"),"data-i18n-title":"code.liveHtmlPreviewTitle",class:"mc-code-frame"}),this.codeFrame.addEventListener("load",()=>this.syncCodePreviewScrollbar()),Q.appendChild(this.codeFrame),F.appendChild(Q),h.appendChild(F),m.appendChild(h),m.appendChild(c("div","padding: 8px 18px; border-top: 1px solid var(--ed-line); font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.06em; color: var(--ed-faint);",{text:i("code.applyNote"),"data-i18n":"code.applyNote",class:"mc-code-footer"})),m}buildCodeEditor(){const i="font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 20px; tab-size: 2;",m=c("div","position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; background: var(--ed-work);",{dir:"ltr"}),H=c("div","position: relative; min-height: 100%; width: 100%; min-width: 0;");return this.codePre=c("pre",`${i} margin: 0; padding: 14px 0 80px; width: 100%; min-width: 0; min-height: 100%; white-space: normal; color: var(--ed-text); pointer-events: none; background: linear-gradient(to right, var(--ed-panel-2) 0 52px, var(--ed-work) 52px);`,{"aria-hidden":"true"}),this.codeTextarea=c("textarea",`${i} position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 14px 18px 80px 70px; border: 0; background: transparent; color: transparent; caret-color: var(--ed-accent); white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; overflow: hidden; resize: none; outline: none;`,{spellcheck:"false",wrap:"soft","data-focus-key":"code-src"}),this.codeTextarea.addEventListener("input",E=>this.core.setCodeSrc(E.target.value)),this.codeTextarea.addEventListener("keydown",E=>{if(E.key!=="Tab")return;E.preventDefault();const L=E.target,a=L.selectionStart,o=L.selectionEnd,s=L.value.slice(0,a)+" "+L.value.slice(o);this.core.setCodeSrc(s),L.value=s,L.selectionStart=L.selectionEnd=a+2}),H.append(this.codePre,this.codeTextarea),m.appendChild(H),m}syncCodePreviewScrollbar(){const i=this.codeFrame?.contentDocument;if(!i?.head)return;const H=this.ownerDocument?.defaultView?.getComputedStyle(this.mc).getPropertyValue("--ed-line-2").trim()||"rgba(15,23,42,0.16)";let E=i.head.querySelector("[data-mc-preview-scrollbar]");E||(E=i.createElement("style"),E.setAttribute("data-mc-preview-scrollbar",""),i.head.appendChild(E)),E.textContent=`html { scrollbar-width: thin !important; scrollbar-color: ${H} transparent !important; } *::-webkit-scrollbar { width: 8px !important; height: 8px !important; } *::-webkit-scrollbar-thumb { background: ${H} !important; border-radius: 999px !important; } *::-webkit-scrollbar-track { background: transparent !important; } *::-webkit-scrollbar-button { display: none !important; width: 0 !important; height: 0 !important; }`}renderCodeModal(){const i=this.core.state,m=this.core.t;if(this.codeModal.style.display=i.codeOpen?"grid":"none",!i.codeOpen)return;this.refreshCodeSource(),this._codeFrameSrc!==i.codeLive&&(this.codeFrame.srcdoc=A(i.codeLive),this._codeFrameSrc=i.codeLive),this.syncCodePreviewScrollbar(),this.codeWidthSeg.innerHTML="",[{label:m("device.desktop"),v:"desktop",iconName:"monitor"},{label:m("device.mobile"),v:"mobile",iconName:"phone"}].forEach(E=>{const L=i.codeDevice===E.v,a=c("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(L)}; color: ${this.segFg(L)};`,{type:"button",title:E.label,"aria-pressed":String(L)});a.appendChild(C(E.iconName,15)),a.addEventListener("click",()=>this.core.setState({codeDevice:E.v})),ce(a,E.label,"down"),this.codeWidthSeg.appendChild(a)});const H=i.codeDevice==="mobile";this.codeFrame.style.width=H?"390px":"100%",this.codePreviewBody.classList.toggle("is-device",H)}refreshCodeSource(){if(!this.core.state.codeOpen||!this.codeTextarea)return;const i=this.core.state,m=this.core.t;this.codeStatusEl.textContent=i.codeDirty?m("code.statusEdited"):m("code.statusSynced"),this.codeTextarea.value!==i.codeSrc&&(this.codeTextarea.value=i.codeSrc);const H=i.codeSrc.split(`
|
|
70
|
+
`);this.codePre.innerHTML=H.map((L,a)=>`<span style="display:grid;grid-template-columns:52px minmax(0,1fr);min-height:20px"><span style="padding-right:10px;text-align:right;color:var(--ed-faint);border-right:1px solid var(--ed-line);user-select:none">${a+1}</span><span style="min-width:0;padding:0 18px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word">${j(L)||"​"}</span></span>`).join("");const E=H.length;this.codeMetaEl.textContent=m("code.meta",{kb:(i.codeSrc.length/1024).toFixed(1),lines:E})}buildAiModal(){const i=this.core.t,m=c("div","position: absolute; inset: 0; background: rgba(10,12,14,0.6); z-index: 50; display: flex; align-items: flex-start; justify-content: center; padding: 34px; overflow-y: auto; animation: mcFade 0.16s ease; display: none;",{class:"mc-modal-backdrop"});m.addEventListener("click",F=>{F.target===m&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const H=c("div","width: 100%; max-width: 660px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: var(--ed-radius); overflow: hidden; box-shadow: var(--ed-shadow-lg); animation: mcIn 0.2s cubic-bezier(0.22,0.61,0.36,1);",{class:"mc-modal"});H.addEventListener("click",F=>F.stopPropagation()),m.appendChild(H);const E=c("div","display: flex; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),L=c("div","flex: 1;");L.append(c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:i("modal.aiDraft"),"data-i18n":"modal.aiDraft"}),c("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:i("modal.aiDraftTitle"),"data-i18n":"modal.aiDraftTitle"}));const a=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: border-color 0.16s, background 0.16s;",{type:"button",title:i("action.close"),class:"mc-icon-button"});a.appendChild(C("x",14)),a.addEventListener("mouseenter",()=>{a.style.borderColor="var(--ed-accent)"}),a.addEventListener("mouseleave",()=>{a.style.borderColor="var(--ed-line)"}),a.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),ce(a,i("action.close"),"down","end"),E.append(L,a),H.appendChild(E);const o=c("div","padding: 20px; display: grid; gap: 14px;");o.appendChild(c("p","margin: 0; padding: 10px 12px; border: 1px solid var(--ed-line); border-radius: 8px; background: var(--ed-panel-2); color: var(--ed-muted); font-size: 12px; line-height: 1.5;",{text:i("ai.disclosure"),"data-i18n":"ai.disclosure"}));const s=c("div","display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"),h=c("div");h.appendChild(c("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:i("ai.goal"),"data-i18n":"ai.goal"})),this.aiGoalSelect=c("select","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 8px;"),this.aiGoalSelect.addEventListener("change",F=>this.core.setState({aiGoal:F.target.value})),Z.forEach(F=>{const Q=document.createElement("optgroup");Q.label=F.group,F.items.forEach(ie=>{const me=document.createElement("option");me.value=ie,me.textContent=ie,Q.appendChild(me)}),this.aiGoalSelect.appendChild(Q)}),h.appendChild(this.aiGoalSelect);const r=c("div");r.appendChild(c("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:i("ai.tone"),"data-i18n":"ai.tone"})),this.aiToneSelect=c("select","width: 100%; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 8px;"),this.aiToneSelect.addEventListener("change",F=>this.core.setState({aiTone:F.target.value})),ae.forEach(F=>{const Q=document.createElement("option");Q.value=F,Q.textContent=F,this.aiToneSelect.appendChild(Q)}),r.appendChild(this.aiToneSelect),s.append(h,r),o.appendChild(s);const w=c("div");w.appendChild(c("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:i("ai.briefLabel"),"data-i18n":"ai.briefLabel"})),this.aiBriefInput=c("textarea","width: 100%; min-height: 78px; box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font: inherit; font-size: 13px; padding: 9px; resize: vertical;",{placeholder:i("ai.briefPlaceholder"),"data-i18n-placeholder":"ai.briefPlaceholder","data-focus-key":"ai-brief",dir:"auto"}),this.aiBriefInput.addEventListener("focus",()=>{this.aiBriefInput.style.borderColor="var(--ed-accent)",this.aiBriefInput.style.outline="none"});const Y=v(F=>this.core.setState({aiBrief:F}));return this.aiBriefInput.addEventListener("blur",()=>{this.aiBriefInput.style.borderColor="var(--ed-line)",Y.flush()}),this.aiBriefInput.addEventListener("input",F=>Y.call(F.target.value)),w.appendChild(this.aiBriefInput),o.appendChild(w),this.aiRunBtn=c("button","border: 0; background: var(--ed-accent); color: var(--ed-accent-ink); cursor: pointer; min-height: 36px; padding: 9px 12px; display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--ed-font); font-weight: 600; font-size: 12px; transition: filter 0.16s;",{type:"button",class:"mc-icon-label"}),this.aiRunBtn.iconNode=C("spark",14),this.aiRunBtn.labelNode=c("span"),this.aiRunBtn.append(this.aiRunBtn.iconNode,this.aiRunBtn.labelNode),this.aiRunBtn.addEventListener("mouseenter",()=>{this.aiRunBtn.style.filter="brightness(1.1)"}),this.aiRunBtn.addEventListener("mouseleave",()=>{this.aiRunBtn.style.filter=""}),this.aiRunBtn.addEventListener("click",()=>this.core.runAi()),o.appendChild(this.aiRunBtn),this.aiResultsEl=c("div"),o.appendChild(this.aiResultsEl),H.appendChild(o),m}renderAiModal(){const i=this.core.state,m=this.core.t;this.aiModal.style.display=i.aiOpen?"flex":"none",i.aiOpen&&(this.aiGoalSelect.value=i.aiGoal,this.aiToneSelect.value=i.aiTone,this.aiBriefInput.value!==i.aiBrief&&(this.aiBriefInput.value=i.aiBrief),this.aiRunBtn.disabled=i.aiBusy,this.aiRunBtn.labelNode.textContent=i.aiBusy?m("ai.writing"):m("ai.generate"),this.aiResultsEl.innerHTML="",i.aiResults.forEach(H=>{const E=c("div","position: relative; border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); padding: 15px;");E.appendChild(c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-accent); margin-bottom: 7px;",{text:H.kind})),E.appendChild(c("div","font-size: 14px; line-height: 1.55; white-space: pre-wrap;",{text:H.text,dir:"auto"}));const L=c("button","margin-top: 12px; border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; padding: 6px 11px; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; transition: background 0.16s, color 0.16s, border-color 0.16s;",{type:"button",text:H.action});L.addEventListener("mouseenter",()=>{L.style.background="var(--ed-accent)",L.style.color="var(--ed-accent-ink)",L.style.borderColor="var(--ed-accent)"}),L.addEventListener("mouseleave",()=>{L.style.background="transparent",L.style.color="var(--ed-text)",L.style.borderColor="var(--ed-line)"}),L.addEventListener("click",H.onUse),E.appendChild(L),this.aiResultsEl.appendChild(E)}))}buildPreviewModal(){const i=this.core.t,m=c("div","",{class:"mc-fullscreen-panel mc-preview-panel"});m.style.cssText="position: absolute; inset: 0; z-index: 60; background: var(--ed-work); display: grid; grid-template-rows: 58px minmax(0, 1fr); animation: mcFade 0.16s ease; display: none;";const H=c("div","display: flex; align-items: center; gap: 12px; padding: 0 20px; border-bottom: 1px solid var(--ed-line); background: var(--ed-panel);",{class:"mc-preview-toolbar"}),E=c("div","flex: 1; min-width: 0;");this.previewKickerEl=c("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{class:"mc-preview-kicker"}),E.append(this.previewKickerEl),this.previewDeviceSeg=c("div","",{class:"mc-segment"});const L=c("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 13px; display: flex; align-items: center; gap: 6px; font-family: var(--ed-font); font-size: 11px; font-weight: 600; transition: border-color 0.16s, background 0.16s;",{type:"button"});L.appendChild(C("x",14)),L.appendChild(c("span","",{text:i("action.close"),"data-i18n":"action.close"})),L.addEventListener("mouseenter",()=>{L.style.borderColor="var(--ed-accent)",L.style.background="var(--ed-soft)"}),L.addEventListener("mouseleave",()=>{L.style.borderColor="var(--ed-line)",L.style.background="transparent"}),L.addEventListener("click",()=>this.core.setState({previewOpen:!1})),H.append(E,this.previewDeviceSeg,L),m.appendChild(H);const a=c("div","overflow-y: auto;",{class:"mc-preview-body"});return this.previewBody=a,this.previewSlot=c("div","",{class:"mc-sheet-wrap"}),this.previewSlot.style.cssText="display: flex; justify-content: center;",a.appendChild(this.previewSlot),m.appendChild(a),m}renderPreviewModal(){const i=this.core.state,m=this.core.t;if(this.previewModal.style.display=i.previewOpen?"grid":"none",!i.previewOpen){this._previewDoc=null;return}this.previewKickerEl.textContent=i.device==="mobile"?m("preview.kickerMobile"):m("preview.kickerDesktop",{width:i.doc.theme.width}),this.previewDeviceSeg.innerHTML="",[{label:m("device.desktop"),v:"desktop",iconName:"monitor"},{label:m("device.mobile"),v:"mobile",iconName:"phone"}].forEach(E=>{const L=i.device===E.v,a=c("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(L)}; color: ${this.segFg(L)};`,{type:"button",title:E.label,"aria-pressed":String(L)});a.appendChild(C(E.iconName,15)),a.addEventListener("click",()=>this.core.setState({device:E.v})),ce(a,E.label,"down"),this.previewDeviceSeg.appendChild(a)});const H=i.doc.theme.bg||"";this.previewBody.style.background=/^(transparent|none)$/i.test(H.trim())?"":H,(i.doc!==this._previewDoc||i.device!==this._previewDevice||m!==this._previewT)&&(this._previewDoc=i.doc,this._previewDevice=i.device,this._previewT=m,this.previewSlot.replaceChildren(d(this.core,!1)))}}function we(_){const i=()=>_.state.doc.rows.length;return n.map(m=>{if(m.g){const E=N[m.g];return{label:E.label,icon:()=>C(E.icon,20),hint:E.label+" — drops a row of ordinary blocks you can edit and rearrange one by one",onDragStart:_.startDrag({kind:"group",id:m.g}),onAdd:()=>_.insertGroup(m.g,null,0,i())}}const H=O(m.t);return H?{label:H.label,icon:()=>C(H.type,20),hint:H.hint+" — drag onto the canvas, or double-click to append",onDragStart:_.startDrag({kind:"block",type:H.type}),onAdd:()=>_.insertBlock(H.type,null,0,i())}:null}).filter(Boolean)}typeof customElements<"u"&&!customElements.get("mailcraft-editor")&&customElements.define("mailcraft-editor",he),Object.assign(K,{MailCraftEditor:he})},re["render/block-body.js"]=function(se,K,z){const{icon:V,brandIcon:Z,socialKey:ae,SOCIAL_BRAND:N,contrastInk:k}=z("core/icons.js"),{pad:O}=z("core/layout-style.js"),{parseItems:n,cellsOf:I}=z("core/parse.js");function T(j,G,A){const D=document.createElement(j);if(G&&Object.assign(D.style,G),A)for(const[e,u]of Object.entries(A))e==="html"?D.innerHTML=u:e==="text"?D.textContent=u:u!==void 0&&D.setAttribute(e,u);return D}function d(j){return String(j??"")}const p={"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-lt-active":"false"};function t(j){return j?{contenteditable:"true",spellcheck:"false",...p}:{spellcheck:"false"}}function g(j,G){G&&j.querySelectorAll("[style]").forEach(A=>A.style.removeProperty("font-family"))}function v(j,G,A,D){const e=j.props,u=G,y=A?{"data-mc-content":j.id}:{};switch(j.type){case"text":{const f=A,x=T("div",{padding:O(e),fontSize:e.size+"px",lineHeight:e.lh,textAlign:e.align,fontWeight:e.weight,color:e.color||u.text,outline:"none",fontFamily:e.fontFamily||u.font},{...y,...t(f),html:d(e.html),"data-focus-key":f?"block:"+j.id:void 0});return g(x,e.fontFamily),f&&C(x,j,"html",D,!1),A?S(j,D,f&&D.editingId===j.id,x):x}case"image":{const f=T("div",{padding:O(e),textAlign:e.align,fontSize:"0"},y);if(e.href){const x=T("a",{display:"inline-block",width:e.width+"%"},{href:e.href});x.appendChild(T("img",{width:"100%",borderRadius:e.radius+"px",display:"block",border:"0"},{src:e.src,alt:e.alt})),f.appendChild(x)}else f.appendChild(T("img",{width:e.width+"%",maxWidth:"100%",borderRadius:e.radius+"px",display:"inline-block",border:"0"},{src:e.src,alt:e.alt}));return f}case"button":{const f=T("div",{textAlign:e.align,padding:"4px 0"},y),x=T("a",{display:e.full?"block":"inline-block",background:e.bg,color:e.color,textDecoration:"none",padding:e.py+"px "+e.px+"px",borderRadius:e.radius+"px",fontFamily:e.fontFamily||u.font,fontSize:e.size+"px",fontWeight:"600",letterSpacing:"0.02em",outline:"none",border:e.borderW?e.borderW+"px "+(e.borderStyle||"solid")+" "+(e.borderColor||e.color):"0"},{href:e.href,...t(A),text:e.label});return x.addEventListener("click",M=>M.preventDefault()),A&&x.addEventListener("blur",M=>{M.target.textContent!==e.label&&D.onBlur(j,"label",M.target.textContent)}),f.appendChild(x),f}case"divider":{const f=T("div",{padding:e.py+"px 0"},y);return f.appendChild(T("div",{height:"0",width:e.width+"%",margin:"0 auto",borderTop:e.thickness+"px "+(e.lineStyle||"solid")+" "+e.color})),f}case"spacer":return T("div",{height:e.height+"px"},y);case"social":{const f=e.shape||"outline",x=e.palette||"custom",M=f==="circle"||f==="square",P=Math.round((e.size||20)*1.9),$=T("div",{textAlign:e.align,padding:"8px 0"},y);return n(e.items).forEach(ee=>{const R=ae(ee.label),q=x==="brand"&&N[R]||e.color,oe=M?k(q):q,de=T("a",{display:"inline-flex",flexDirection:e.showLabel?"column":"row",alignItems:"center",justifyContent:"center",gap:"5px",width:e.showLabel?"auto":P+"px",height:e.showLabel?"auto":P+"px",padding:e.showLabel?"7px 9px":"0",margin:"0 "+(e.gap||12)/2+"px",verticalAlign:"middle",textDecoration:"none",borderRadius:f==="circle"?"50%":f==="square"?Math.round(P*.28)+"px":"0",color:oe,background:M?q:"transparent",border:f==="outline"?"1px solid "+q:"0"},{href:ee.href,title:ee.label});de.addEventListener("click",ne=>ne.preventDefault());let c=null;if(D&&D.iconProvider)try{c=D.iconProvider(R,{label:ee.label,size:e.size,color:oe})}catch{c=null}if(de.appendChild(c instanceof Node?c:Z(R,e.size)),e.showLabel){const ne=T("span",{fontFamily:e.fontFamily||u.font,fontSize:"10px",letterSpacing:"0.12em",textTransform:"uppercase"},{text:ee.label});de.appendChild(ne)}$.appendChild(de)}),$}case"video":{const f=T("div",{padding:"4px 0",textAlign:"center"},y),x=T("a",{display:"block",position:"relative"},{href:e.href});x.addEventListener("click",$=>$.preventDefault()),x.appendChild(T("img",{width:"100%",display:"block",border:"0"},{src:e.src,alt:e.caption}));const M=T("span",{position:"absolute",inset:"0",display:"flex",alignItems:"center",justifyContent:"center"}),P=T("span",{width:"54px",height:"54px",borderRadius:"50%",background:e.badge,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"18px",paddingLeft:"4px"},{text:"▶"});return M.appendChild(P),x.appendChild(M),f.appendChild(x),f.appendChild(T("div",{fontFamily:u.font,fontSize:"12.5px",color:e.badge,opacity:"0.7",marginTop:"8px"},{text:e.caption})),f}case"html":{const f=String(e.code||""),x=A&&!/<style|<scr/i.test(f),M=A?f.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,($,ee,R)=>"<style"+ee+">"+D.scopeCss(R,"[data-mc-sheet]")+"</style>"):f,P=T("div",{padding:"6px 0",fontFamily:u.font,color:u.text,outline:"none"},{...y,...t(x),html:d(M),"data-focus-key":x?"block:"+j.id:void 0});return x&&C(P,j,"code",D,!1),A?S(j,D,x&&D.editingId===j.id,P):P}case"countdown":{const f=Math.max(0,new Date(e.target).getTime()-D.now),x=[["days",Math.floor(f/864e5)],["hrs",Math.floor(f/36e5)%24],["min",Math.floor(f/6e4)%60],["sec",Math.floor(f/1e3)%60]],M=T("div",{padding:"10px 0",textAlign:"center",fontFamily:e.fontFamily||u.font,color:e.color},A?Object.assign({"data-mc-countdown":e.target},y):y);M.appendChild(T("div",{fontSize:"12px",letterSpacing:"0.14em",textTransform:"uppercase",opacity:"0.6",marginBottom:"10px"},{text:e.label}));const P=T("div",{display:"flex",justifyContent:"center",gap:"10px"});return x.forEach(([$,ee])=>{const R=T("div",{border:"1px solid "+e.color+"33",padding:"9px 12px",minWidth:"58px"});R.appendChild(T("div",{fontSize:"25px",fontFamily:e.fontFamily||u.font,fontWeight:"700",lineHeight:"1"},A?{text:String(ee).padStart(2,"0"),"data-mc-count":$}:{text:String(ee).padStart(2,"0")})),R.appendChild(T("div",{fontSize:"9.5px",letterSpacing:"0.16em",textTransform:"uppercase",opacity:"0.55",marginTop:"4px"},{text:$})),P.appendChild(R)}),M.appendChild(P),M}case"menu":{const f=T("div",{textAlign:e.align,padding:"10px 0"},y);return n(e.items).forEach(x=>{const M=T("a",{color:e.color,fontSize:e.size+"px",fontFamily:e.fontFamily||u.font,textDecoration:"none",margin:"0 "+e.gap/2+"px",letterSpacing:"0.12em",textTransform:"uppercase"},{href:x.href,text:x.label});M.addEventListener("click",P=>P.preventDefault()),f.appendChild(M)}),f}case"heading":{const f=A,x=T(e.level||"h2",{margin:"0",padding:O(e),fontSize:e.size+"px",lineHeight:e.lh,textAlign:e.align,fontWeight:e.weight,letterSpacing:e.font==="condensed"?"0.005em":"-0.01em",color:e.color||u.text,outline:"none",fontFamily:e.fontFamily||(e.font==="condensed"?"'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif":u.font)},{...y,...t(f),text:d(e.text),"data-focus-key":f?"block:"+j.id:void 0});return f&&C(x,j,"text",D,!0),A?S(j,D,D.editingId===j.id,x):x}case"list":{const f=String(e.items||"").split(`
|
|
71
|
+
`).filter(M=>M.trim()),x=T(e.ordered?"ol":"ul",{margin:"0",padding:(e.py||0)+"px 0 "+(e.py||0)+"px 22px",fontFamily:e.fontFamily||u.font,fontSize:e.size+"px",lineHeight:e.lh,color:e.color||u.text},y);return f.forEach(M=>{const P=T("li",{marginBottom:e.gap+"px"},{html:d(M)});x.appendChild(P)}),g(x,e.fontFamily),x}case"table":{const f=I(e),x=A,M=e.borders?(e.borderWidth||1)+"px "+(e.borderStyle||"solid")+" "+e.lineColor:"0",P=T("table",{width:e.width+"%",borderCollapse:"collapse",fontFamily:e.fontFamily||u.font,fontSize:e.size+"px",color:u.text,border:M},{...y,cellpadding:"0",cellspacing:"0"}),$=T("tbody");return f.forEach((ee,R)=>{const q=e.header&&R===0,oe=T("tr",{background:q?e.headBg:e.striped&&R%2===0?"rgba(29,31,32,0.028)":"transparent"});ee.forEach((de,c)=>{const ne=T(q?"th":"td",{border:M,padding:e.pad+"px "+Math.round(e.pad*1.2)+"px",textAlign:c===0||q?e.align:"left",fontWeight:q?"600":"400",outline:"none",fontFamily:e.fontFamily||u.font,letterSpacing:q?"0.06em":"normal",textTransform:q?"uppercase":"none",fontSize:q?e.size+1+"px":e.size+"px"},{...t(x),text:d(de),"data-focus-key":x?"block:"+j.id+":c"+R+"-"+c:void 0});x&&(ne.addEventListener("click",ce=>ce.stopPropagation()),ne.addEventListener("focus",()=>{D.selectBlock&&D.selectBlock(j)}),ne.addEventListener("blur",()=>D.onTableCellBlur(j,R,c,ne.textContent))),oe.appendChild(ne)}),$.appendChild(oe)}),P.appendChild($),P}case"embed":{const f=T("div",{padding:e.py+"px 0"},y);return f.appendChild(T("iframe",{width:"100%",height:e.height+"px",border:"1px solid rgba(29,31,32,0.14)",background:"#fff",display:"block"},{src:e.src,title:e.label})),f}case"css":{const f=T("div",{fontSize:"0",lineHeight:"0"},y);return f.appendChild(T("style",{},{html:A?D.scopeCss(e.code,"[data-mc-sheet]"):e.code})),A&&f.appendChild(T("div",{fontFamily:"ui-monospace, monospace",fontSize:"10px",lineHeight:"1.5",letterSpacing:"0.06em",textTransform:"uppercase",color:"#7d8791",border:"1px dashed rgba(89,128,166,0.5)",padding:"8px 10px"},{text:"style block — "+(e.code||"").length+" chars, hidden when sent"})),f}case"box":{const f=A,x=P=>e.border&&P!==!1?e.border+"px "+(e.borderStyle||"solid")+" "+e.lineColor:"0",M=T("div",{background:e.bgImage?'linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0)), url("'+e.bgImage+'")':e.bg,backgroundSize:"cover",backgroundPosition:"center",borderTop:x(e.topBorder),borderRight:x(e.rightBorder),borderBottom:x(e.bottomBorder),borderLeft:x(e.leftBorder),borderRadius:e.radius+"px",padding:e.pad+"px",textAlign:e.align,minHeight:e.minH?e.minH+"px":"auto",maxWidth:e.maxW+"%",margin:e.align==="center"?"0 auto":"0",boxShadow:e.shadow?"0 10px 30px rgba(29,31,32,0.12)":"none",fontFamily:u.font,color:u.text,fontSize:"15px",lineHeight:"1.6"},{...y,...t(f),html:d(e.html),"data-focus-key":f?"block:"+j.id:void 0});return f&&C(M,j,"html",D,!1),A?S(j,D,D.editingId===j.id,M):M}case"svg":return T("div",{padding:e.py+"px 0",textAlign:e.align},{...y,html:'<span style="display:inline-block;width:'+e.width+'%">'+e.code+"</span>"});case"condition":case"loop":{const f=j.type==="loop",x=f?"#7c3aed":"#0e7490",M=e.end?f?"end loop":"end if":f?"repeat each":"show if",P=T("div",{display:"flex",alignItems:"center",gap:"8px",boxSizing:"border-box",border:"1.5px dashed "+x,borderRadius:"7px",background:x+"14",padding:"6px 12px",margin:"2px 0",color:x},y);return P.appendChild(T("span",{fontFamily:"ui-monospace,monospace",fontSize:"9.5px",fontWeight:"700",letterSpacing:"0.12em",textTransform:"uppercase",flex:"none"},{text:(e.end?"⏶ ":"⏷ ")+M})),e.end||P.appendChild(T("span",{fontFamily:"ui-monospace,monospace",fontSize:"11.5px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},{text:"{{ "+(e.expr||"…")+" }}"})),P}case"codeblock":return T("pre",{margin:"0",padding:e.pad+"px",background:e.bg,color:e.color,fontFamily:"ui-monospace, Menlo, monospace",fontSize:e.size+"px",lineHeight:"1.6",overflowX:"auto",whiteSpace:"pre"},{...y,text:d(e.code)});default:return T("div")}}function C(j,G,A,D,e){j.addEventListener("paste",u=>D.onPaste(u,e)),j.addEventListener("focus",u=>D.onFocus(G,u.currentTarget,A,e)),j.addEventListener("blur",u=>{if(D.rteActiveRef&&D.rteActiveRef.current)return;const y=e?u.target.textContent:u.target.innerHTML;D.onBlur(G,A,y)})}function S(j,G,A,D){const e=T("div",{position:"relative"});return A&&e.appendChild(G.renderRte(j)),e.appendChild(D),e}Object.assign(K,{blockBody:v})},re["render/canvas.js"]=function(se,K,z){const{DEF:V}=z("core/blocks.js"),{boxStyle:Z,rowBg:ae,rowPad:N,colsWrap:k,colStyle:O}=z("core/layout-style.js"),{scopeCss:n}=z("core/sanitize.js"),{cellsOf:I}=z("core/parse.js"),{icon:T}=z("core/icons.js"),{blockBody:d}=z("render/block-body.js"),{renderRte:p}=z("render/rte.js");function t(e,u,y){const f=document.createElement(e);if(u&&Object.assign(f.style,u),y)for(const[x,M]of Object.entries(y))x==="text"?f.textContent=M:M!==void 0&&f.setAttribute(x,M);return f}function g(){return t("div",{height:"0",background:"var(--ed-accent-sheet)",margin:"0",transition:"height 0.1s",boxShadow:"none"})}function v(e,u){e.active&&e.active!==u&&C(e.active),u.style.height="3px",u.style.margin="3px 0",u.style.boxShadow="0 0 0 1px var(--ed-accent-sheet)",e.active=u}function C(e){e.style.height="0",e.style.margin="0",e.style.boxShadow="none"}function S(e){e.active&&(C(e.active),e.active=null)}function j(e,u,y,f){const x=(P,$,ee,R)=>{const q=t("button",{position:"relative",border:"0",background:"transparent",color:R?"#ffdad8":"#fff",cursor:"pointer",width:"23px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center"},{type:"button",title:$,"aria-label":$,"data-tip":"1"});return q.appendChild(T(P,13)),q.appendChild(t("span",{},{class:"mc-tooltip mc-tooltip-up",text:$})),q.addEventListener("mousedown",oe=>oe.stopPropagation()),q.addEventListener("click",oe=>{oe.stopPropagation(),ee()}),q},M=t("div",{position:"absolute",top:"-12px",right:"6px",display:"flex",alignItems:"center",gap:"1px",background:y==="row"?"#172033":"var(--ed-accent-sheet)",borderRadius:"6px",padding:"2px 3px",zIndex:"6",boxShadow:"0 3px 10px rgba(15,23,42,0.28)"});return M.appendChild(t("span",{fontFamily:"ui-monospace,monospace",fontSize:"8.5px",letterSpacing:"0.14em",color:y==="row"?"#fff":"var(--ed-accent-sheet-ink)",opacity:"0.7",padding:"0 5px"},{text:f})),M.appendChild(x("up","Move up",()=>e.nudge(u,-1))),M.appendChild(x("down","Move down",()=>e.nudge(u,1))),M.appendChild(x("copy","Duplicate",()=>{e.setState({sel:{type:y,id:u}},()=>e.dupSel())})),M.appendChild(x("trash","Delete",()=>{e.setState({sel:{type:y,id:u}},()=>e.delSel())},!0)),M}function G(e,u){const y=(x,M,P)=>{const $=t("button",{position:"relative",border:"0",background:"var(--ed-accent-sheet)",color:"var(--ed-accent-sheet-ink)",cursor:"pointer",width:"26px",height:"26px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",boxShadow:"0 2px 6px rgba(15,23,42,0.3)"},{type:"button",title:M,"aria-label":M,"data-tip":"1"});return $.appendChild(T(x,14)),$.appendChild(t("span",{},{class:"mc-tooltip mc-tooltip-up",text:M})),$.addEventListener("mousedown",ee=>ee.stopPropagation()),$.addEventListener("click",ee=>{ee.stopPropagation(),P()}),$},f=t("div",{position:"absolute",top:"6px",right:"6px",display:"flex",gap:"4px",zIndex:"6"});return f.appendChild(y("trash","Delete",()=>{e.setState({sel:{type:"row",id:u}},()=>e.delSel())})),f.appendChild(y("copy","Duplicate",()=>{e.setState({sel:{type:"row",id:u}},()=>e.dupSel())})),f}function A(e,u){return{editingId:u,now:e.state.now,scopeCss:n,iconProvider:e.iconProvider,rteActiveRef:{get current(){return e.rteActive}},onFocus:(y,f,x,M)=>{e.editEl=f,e.editKey=x,e.editPlain=!!M,!(e.state.editing===y.id&&e.state.sel&&e.state.sel.type==="block"&&e.state.sel.id===y.id)&&(e.editOriginal=y.props[x],e.setState({editing:y.id,sel:{type:"block",id:y.id},tab:"design"}))},onBlur:(y,f,x)=>{e.rendering||e.rteActive||(x!==e.editOriginal&&e.setProp(y.id,f,x),e.state.editing===y.id&&e.setState({editing:null,linkDraft:null}))},onPaste:(y,f)=>e.pasteClean(f)(y),selectBlock:y=>{e.state.sel&&e.state.sel.type==="block"&&e.state.sel.id===y.id||e.select("block",y.id)},onTableCellBlur:(y,f,x,M)=>{const P=I(e.find(e.state.doc,y.id).block.props);P[f]&&P[f][x]!==M&&(P[f][x]=M,e.setProp(y.id,"data",P.map($=>$.join("|")).join(`
|
|
72
|
+
`)))},renderRte:y=>p(e,y)}}function D(e,u){const y=e.state.doc,f=y.theme,x=e.state.device==="mobile"?375:f.width,M=e.state.sel,P=A(e,e.state.editing),$={active:null},ee=Number(f.radius)||0,R=t("div",{width:x+"px",maxWidth:"100%",background:f.contentBg||"transparent",color:f.text,fontFamily:f.font,borderRadius:ee?ee+"px":"",overflow:!u&&ee?"hidden":"",transition:"width 0.28s cubic-bezier(0.22,0.61,0.36,1), background 0.2s, border-radius 0.2s"},{"data-mc-sheet":"1",dir:"ltr"}),q=Number(f.padY)||0,oe=Number(f.padX)||0,de=t("div",{background:f.bg||"transparent",padding:q+"px "+oe+"px",boxSizing:"border-box",maxWidth:"100%",display:"flex",justifyContent:"center",transition:"background 0.2s, padding 0.22s cubic-bezier(0.22,0.61,0.36,1)"},{"data-mc-page":"1",class:"mc-page"+(q||oe?" is-padded":""),dir:"ltr"}),c=[];if(u&&(de.addEventListener("dragover",ne=>{if(!e.drag)return;ne.preventDefault();const pe=e.indexFromPoint(R,ne.clientY);v($,c[pe])}),de.addEventListener("dragleave",ne=>{(ne.target===R||ne.target===de)&&S($)}),de.addEventListener("drop",ne=>{S($),e.canvasDrop(ne)})),y.rows.forEach((ne,ce)=>{if(u){const _=g();c.push(_),R.appendChild(_)}const pe=u&&M&&M.id===ne.id,he=t("div",Object.assign({position:"relative",padding:N(ne.props)},ae(ne.props)),{"data-mc-slot":"1",class:u?`mc-row-el${pe?" is-selected":""}`:void 0});if(u&&he.addEventListener("click",_=>{_.stopPropagation(),e.select("row",ne.id)}),pe&&he.appendChild(G(e,ne.id)),u){const _=t("div",{position:"absolute",left:"-14px",top:"0",bottom:"0",width:"28px",flexDirection:"column",alignItems:"center",justifyContent:"center",cursor:"grab",zIndex:"6"},{draggable:"true",title:"Drag to reorder section","aria-label":"Drag to reorder section",class:"mc-row-grip"}),i=t("div",{display:"flex",alignItems:"center",justifyContent:"center",flex:"none",width:"28px",height:"28px",borderRadius:"50%"},{class:"mc-row-grip-handle"});i.appendChild(T("move",15)),_.appendChild(i),_.addEventListener("dragstart",e.startDrag({kind:"move-row",id:ne.id})),_.addEventListener("dragend",()=>{e.drag=null,S($)}),_.addEventListener("click",m=>{m.stopPropagation(),e.select("row",ne.id)}),he.appendChild(_)}const we=t("div",k(ne.props));ne.cols.forEach((_,i)=>{const m=[],H=[];_.blocks.forEach((s,h)=>{if(u){const Y=g();m.push(Y),H.push(Y)}const r=u&&M&&M.id===s.id,w=t("div",Object.assign({position:"relative"},Z(s.props)),{"data-mc-slot":"1",draggable:u?"true":void 0,class:u?`mc-block-el${r?" is-selected":""}`:void 0});u&&(w.addEventListener("dragstart",e.startDrag({kind:"move-block",id:s.id})),w.addEventListener("dragend",()=>{e.drag=null,S($),S(E)}),w.addEventListener("click",Y=>{Y.stopPropagation(),e.select("block",s.id)}),w.addEventListener("mousedown",Y=>{const F=Y.target;if(!F||F.nodeType!==1||!F.closest('[contenteditable="true"]'))return;w.draggable=!1;const Q=w.ownerDocument.defaultView;Q&&Q.addEventListener("mouseup",()=>{w.draggable=!0},{once:!0})})),r&&P.editingId!==s.id&&w.appendChild(j(e,s.id,"block",V(s.type).code)),w.appendChild(d(s,f,u,P)),H.push(w)});let E;if(u){const s=g();m.push(s),H.push(s),E={active:null}}u&&!_.blocks.length&&H.push(t("div",{border:"1px dashed var(--ed-accent-sheet-line)",borderRadius:"var(--ed-radius-sm)",color:"var(--ed-faint)",fontFamily:"ui-monospace,monospace",fontSize:"9.5px",letterSpacing:"0.14em",textTransform:"uppercase",padding:"24px 8px",textAlign:"center"},{text:"drop block"}));const L=t("div",O(ne.props,_)),o=_.bg||_.border||_.radius||_.padY||_.padX?t("div",{background:_.bg||"transparent",border:_.border?_.border+"px "+(_.borderStyle||"solid")+" "+(_.lineColor||"#e2e2e5"):"0",borderRadius:(_.radius||0)+"px",padding:(_.padY||0)+"px "+(_.padX||0)+"px",height:"100%",boxSizing:"border-box"}):L;u&&(o.addEventListener("dragover",s=>{const h=e.drag;if(!h||(s.preventDefault(),s.stopPropagation(),h.kind==="row"||h.kind==="move-row"))return;const r=e.indexFromPoint(o,s.clientY);v(E,m[r])}),o.addEventListener("dragleave",s=>{s.target===o&&S(E)}),o.addEventListener("drop",s=>{s.stopPropagation(),S(E),e.colDrop(ne.id,i)(s)})),H.forEach(s=>o.appendChild(s)),o!==L&&L.appendChild(o),we.appendChild(L)}),he.appendChild(we),R.appendChild(he)}),u){const ne=g();c.push(ne),R.appendChild(ne)}return u&&!y.rows.length&&R.appendChild(t("div",{border:"1px dashed var(--ed-accent-sheet-line)",padding:"90px 20px",textAlign:"center",fontFamily:"ui-monospace,monospace",fontSize:"10.5px",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--ed-faint)"},{text:"drag a row or block here"})),de.appendChild(R),de}Object.assign(K,{renderDoc:D})},re["render/fields.js"]=function(se,K,z){const{icon:V,brandIcon:Z,socialKey:ae,SOCIAL_BRAND:N,contrastInk:k}=z("core/icons.js"),{parseItems:O}=z("core/parse.js");function n(e,u,y){const f=document.createElement(e);if(u&&Object.assign(f.style,u),y)for(const[x,M]of Object.entries(y))x==="text"?f.textContent=M:M!==void 0&&f.setAttribute(x,M);return f}function I(e){let u=null,y;const f=()=>{u=null,e(y)};return{call(x){y=x,u&&clearTimeout(u),u=setTimeout(f,120)},flush(){u&&(clearTimeout(u),f())}}}let T=null;function d(e,u){return n("label",Object.assign({fontFamily:"var(--ed-font)",fontSize:"12.5px",lineHeight:"1.35",fontWeight:"500",color:"var(--ed-text)"},u?{flex:"1",minWidth:"0"}:{display:"block",marginBottom:"6px"}),{text:e,class:"mc-field-label"})}const p=Object.create(null);function t(e,u){let y=null;const f=x=>{if(x){const M=x.label,P=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"11px 14px",background:"var(--ed-panel-2)",borderTop:"1px solid var(--ed-line)",borderBottom:"1px solid var(--ed-line)",cursor:"pointer",userSelect:"none"},{role:"button",tabindex:"0","aria-expanded":String(!p[M]),class:"mc-section-bar"});P.appendChild(n("span",{fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"700",letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--ed-muted)"},{text:M,class:"mc-section-label"}));const $=n("span",{display:"flex",color:"var(--ed-faint)",transition:"transform 0.16s",transform:p[M]?"rotate(-90deg)":"none"},{class:"mc-section-chevron"});$.appendChild(V("chevronDown",13)),P.appendChild($);const ee=y=n("div",{padding:"12px 14px 16px",background:"var(--ed-panel)"},{class:"mc-section-body mc-field-list"});p[M]&&(ee.hidden=!0);const R=()=>{p[M]=!p[M],ee.hidden=!!p[M],$.style.transform=p[M]?"rotate(-90deg)":"none",P.setAttribute("aria-expanded",String(!p[M]))};P.addEventListener("click",R),P.addEventListener("keydown",q=>{(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),R())}),e.appendChild(P),e.appendChild(ee);return}y=n("div",{padding:"12px 14px 16px",background:"var(--ed-panel)"},{class:"mc-section-body mc-field-list"}),e.appendChild(y)};u.forEach(x=>{if(x.isHead){f(x);return}y||f(null);const M=A(x);M.style.margin="0",y.appendChild(M)})}const g=[["Instagram","https://instagram.com/"],["X","https://x.com/"],["Facebook","https://facebook.com/"],["LinkedIn","https://linkedin.com/company/"],["YouTube","https://youtube.com/@"],["TikTok","https://tiktok.com/@"],["Pinterest","https://pinterest.com/"],["WhatsApp","https://wa.me/"],["Telegram","https://t.me/"],["Threads","https://threads.net/@"],["Snapchat","https://snapchat.com/add/"],["Discord","https://discord.gg/"],["Reddit","https://reddit.com/r/"],["Spotify","https://open.spotify.com/"],["Behance","https://behance.net/"],["Dribbble","https://dribbble.com/"],["Email","mailto:hello@example.com"],["Website","https://example.com"]];function v(e){const u=n("div");u.appendChild(d(e.label));const y=O(e.value||""),f=R=>e.onChange(R.map(q=>(q.label||"")+"|"+(q.href||"")).join(`
|
|
73
|
+
`)),x=n("div",{display:"flex",flexDirection:"column",gap:"6px"});y.forEach((R,q)=>{const oe=n("div",{display:"flex",alignItems:"center",gap:"7px",padding:"6px 7px",border:"1px solid var(--ed-line)",borderRadius:"9px",background:"var(--ed-panel-2)"}),de=ae(R.label),c=N[de]||"",ne=n("span",{display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",flex:"none",borderRadius:"7px",background:c||"var(--ed-soft)",color:c?k(c):"var(--ed-accent)"});ne.appendChild(Z(de,13));const ce=n("input",{width:"70px",flex:"none",boxSizing:"border-box",background:"transparent",border:"1px solid transparent",borderRadius:"5px",color:"var(--ed-text)",font:"inherit",fontSize:"11.5px",fontWeight:"600",padding:"3px 4px"},{"data-focus-key":`f${e.key}-n${q}`,title:"Network name",dir:"auto"});ce.value=R.label;const pe=I(i=>{const m=y.slice();m[q]={label:i,href:R.href},f(m)});ce.addEventListener("input",i=>pe.call(i.target.value)),ce.addEventListener("focus",()=>{ce.style.borderColor="var(--ed-accent)",ce.style.background="var(--ed-panel)",ce.style.outline="none"}),ce.addEventListener("blur",()=>{ce.style.borderColor="transparent",ce.style.background="transparent",pe.flush()});const he=n("input",{flex:"1",minWidth:"0",boxSizing:"border-box",background:"var(--ed-panel)",border:"1px solid var(--ed-line)",borderRadius:"6px",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"10.5px",padding:"4px 6px"},{placeholder:"https://","data-focus-key":`f${e.key}-u${q}`,title:R.href,dir:"ltr"});he.value=R.href;const we=I(i=>{const m=y.slice();m[q]={label:R.label,href:i},f(m)});he.addEventListener("input",i=>we.call(i.target.value)),he.addEventListener("focus",()=>{he.style.borderColor="var(--ed-accent)",he.style.outline="none"}),he.addEventListener("blur",()=>{he.style.borderColor="var(--ed-line)",we.flush()});const _=n("button",{width:"22px",height:"22px",flex:"none",border:"0",borderRadius:"6px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",fontSize:"13px",lineHeight:"1"},{type:"button",title:"Remove "+(R.label||"network"),text:"✕"});_.addEventListener("mouseenter",()=>{_.style.background="var(--ed-danger-soft)",_.style.color="var(--ed-danger)"}),_.addEventListener("mouseleave",()=>{_.style.background="transparent",_.style.color="var(--ed-faint)"}),_.addEventListener("click",()=>f(y.filter((i,m)=>m!==q))),oe.append(ne,ce,he,_),x.appendChild(oe)}),y.length||x.appendChild(n("div",{fontSize:"11px",color:"var(--ed-faint)",padding:"8px 2px"},{text:"No networks yet — add one below."}));const M=new Set(y.map(R=>ae(R.label))),P=n("select",{width:"100%",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px dashed var(--ed-line-2)",borderRadius:"9px",color:"var(--ed-muted)",font:"inherit",fontSize:"11.5px",fontWeight:"600",padding:"7px 8px",cursor:"pointer"},{title:"Add network"}),$=document.createElement("option");$.value="",$.textContent="+ Add network…",P.appendChild($),g.filter(([R])=>!M.has(ae(R))).forEach(([R,q])=>{const oe=document.createElement("option");oe.value=R+"|"+q,oe.textContent=R,P.appendChild(oe)});const ee=document.createElement("option");return ee.value="Link|https://",ee.textContent="Custom link…",P.appendChild(ee),P.addEventListener("change",R=>{if(!R.target.value)return;const[q,oe]=R.target.value.split("|");f(y.concat([{label:q,href:oe}]))}),P.addEventListener("focus",()=>{P.style.borderColor="var(--ed-accent)",P.style.outline="none"}),P.addEventListener("blur",()=>{P.style.borderColor="var(--ed-line-2)"}),x.appendChild(P),u.appendChild(x),u}function C(e){const u=n("div");u.appendChild(d(e.label));const y=n("div");y.innerHTML=e.html||"";const f=Array.from(y.querySelectorAll("a")),x=n("div",{display:"flex",flexDirection:"column",gap:"7px"}),M=(P,$)=>{const ee=n("div");ee.innerHTML=e.html||"";const R=ee.querySelectorAll("a")[P];R&&($(R),e.onChange(ee.innerHTML))};return f.forEach((P,$)=>{const ee=n("div",{padding:"8px",border:"1px solid var(--ed-line)",borderRadius:"9px",background:"var(--ed-panel-2)"}),R=n("div",{display:"flex",alignItems:"center",gap:"8px",marginBottom:"7px"}),q=n("span",{flex:"1",minWidth:"0",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--ed-font)",fontSize:"11.5px",fontWeight:"600",color:"var(--ed-text)"},{text:(P.textContent||"").trim()||"Link "+($+1),title:(P.textContent||"").trim(),dir:"auto"}),oe=n("button",{flex:"none",border:"0",borderRadius:"6px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",padding:"3px 6px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"600"},{type:"button",text:"Remove",title:"Remove link","aria-label":"Remove link from "+((P.textContent||"").trim()||"text"),"data-focus-key":`f${e.key}-link-remove-${$}`});oe.addEventListener("mouseenter",()=>{oe.style.background="var(--ed-danger-soft)",oe.style.color="var(--ed-danger)"}),oe.addEventListener("mouseleave",()=>{oe.style.background="transparent",oe.style.color="var(--ed-faint)"}),oe.addEventListener("click",()=>M($,pe=>pe.replaceWith(...pe.childNodes))),R.append(q,oe);const de=n("input",{width:"100%",boxSizing:"border-box",background:"var(--ed-panel)",border:"1px solid var(--ed-line)",borderRadius:"7px",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"11px",padding:"6px 8px"},{placeholder:"https://","aria-label":"Link destination for "+((P.textContent||"").trim()||"link "+($+1)),"data-focus-key":`f${e.key}-link-url-${$}`,dir:"ltr"});de.value=P.getAttribute("href")||"";const c=I(pe=>M($,he=>he.setAttribute("href",pe)));de.addEventListener("input",pe=>c.call(pe.target.value)),de.addEventListener("focus",()=>{de.style.borderColor="var(--ed-accent)",de.style.outline="none"}),de.addEventListener("blur",()=>{de.style.borderColor="var(--ed-line)",c.flush()});const ne=n("label",{display:"flex",alignItems:"center",gap:"6px",marginTop:"7px",width:"fit-content",color:"var(--ed-muted)",cursor:"pointer",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500"}),ce=n("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox","data-focus-key":`f${e.key}-link-target-${$}`});ce.checked=P.target==="_blank",ce.addEventListener("change",pe=>M($,he=>{pe.target.checked?(he.setAttribute("target","_blank"),he.setAttribute("rel","noopener")):(he.removeAttribute("target"),he.removeAttribute("rel"))})),ne.append(ce,"Open in new tab"),ee.append(R,de,ne),x.appendChild(ee)}),u.appendChild(x),u}function S(e){const u=n("div");u.appendChild(d(e.label));const y=String(e.value||"").split(`
|
|
74
|
+
`).map(R=>R.split("|")),f=Math.max(1,...y.map(R=>R.length));y.forEach(R=>{for(;R.length<f;)R.push("")});const x=R=>e.onChange(R.map(q=>q.map(oe=>String(oe).replace(/\|/g,"/")).join("|")).join(`
|
|
75
|
+
`)),M=n("div",{display:"flex",flexDirection:"column",gap:"4px"}),P={border:"0",borderRadius:"5px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",fontSize:"11px",lineHeight:"1",padding:"2px"},$=R=>{R.addEventListener("mouseenter",()=>{R.style.background="var(--ed-danger-soft)",R.style.color="var(--ed-danger)"}),R.addEventListener("mouseleave",()=>{R.style.background="transparent",R.style.color="var(--ed-faint)"})};if(f>1){const R=n("div",{display:"flex",gap:"4px",paddingRight:y.length>1?"22px":"0"});for(let q=0;q<f;q++){const oe=n("button",Object.assign({flex:"1",minWidth:"0"},P),{type:"button",title:"Remove column "+(q+1),text:"✕"});$(oe),oe.addEventListener("click",()=>x(y.map(de=>de.filter((c,ne)=>ne!==q)))),R.appendChild(oe)}M.appendChild(R)}y.forEach((R,q)=>{const oe=n("div",{display:"flex",gap:"4px",alignItems:"center"});if(R.forEach((de,c)=>{const ne=n("input",{flex:"1",minWidth:"0",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",borderRadius:"6px",color:"var(--ed-text)",font:"inherit",fontSize:"11px",fontWeight:e.header&&q===0?"700":"400",padding:"5px 6px"},{"data-focus-key":`f${e.key}-r${q}c${c}`,dir:"auto"});ne.value=de;const ce=I(pe=>{const he=y.map(we=>we.slice());he[q][c]=pe,x(he)});ne.addEventListener("input",pe=>ce.call(pe.target.value)),ne.addEventListener("focus",()=>{ne.style.borderColor="var(--ed-accent)",ne.style.outline="none"}),ne.addEventListener("blur",()=>{ne.style.borderColor="var(--ed-line)",ce.flush()}),oe.appendChild(ne)}),y.length>1){const de=n("button",Object.assign({width:"18px",flex:"none"},P),{type:"button",title:"Remove row "+(q+1),text:"✕"});$(de),de.addEventListener("click",()=>x(y.filter((c,ne)=>ne!==q))),oe.appendChild(de)}M.appendChild(oe)});const ee=n("div",{display:"flex",gap:"6px",marginTop:"2px"});return[["+ Row",()=>x(y.concat([new Array(f).fill("")]))],["+ Column",()=>x(y.map(R=>R.concat("")))]].forEach(([R,q])=>{const oe=n("button",{flex:"1",border:"1px dashed var(--ed-line-2)",borderRadius:"8px",background:"transparent",color:"var(--ed-muted)",cursor:"pointer",fontFamily:"var(--ed-font)",fontSize:"11px",fontWeight:"600",padding:"6px"},{type:"button",text:R});oe.addEventListener("mouseenter",()=>{oe.style.borderColor="var(--ed-accent)",oe.style.color="var(--ed-accent)",oe.style.background="var(--ed-soft)"}),oe.addEventListener("mouseleave",()=>{oe.style.borderColor="var(--ed-line-2)",oe.style.color="var(--ed-muted)",oe.style.background="transparent"}),oe.addEventListener("click",q),ee.appendChild(oe)}),M.appendChild(ee),u.appendChild(M),u}function j(e,u){const y=n("div",{display:"flex",alignItems:"stretch",width:u||"100%",height:"32px",flex:"none",boxSizing:"border-box",border:"1px solid var(--ed-line)",borderRadius:"8px",background:"var(--ed-panel)",overflow:"hidden",transition:"border-color 0.16s, box-shadow 0.16s"},{class:"mc-field-control mc-stepper"}),f=(R,q,oe)=>{const de=n("button",{width:"27px",flex:"none",display:"flex",alignItems:"center",justifyContent:"center",padding:"0",border:"0",background:"transparent",color:"var(--ed-muted)",cursor:"pointer",transition:"background 0.14s, color 0.14s"},{type:"button",title:q});return de.appendChild(V(R,11)),de.addEventListener("mouseenter",()=>{de.style.background="var(--ed-soft)",de.style.color="var(--ed-accent)"}),de.addEventListener("mouseleave",()=>{de.style.background="transparent",de.style.color="var(--ed-muted)"}),de.addEventListener("click",oe),de},x=f("minus","Decrease",()=>e.onDec()),M=n("div",{flex:"1",minWidth:"0",display:"flex",alignItems:"baseline",alignSelf:"center",justifyContent:"center",gap:"3px",padding:"0 2px"}),P=n("input",{width:"44px",minWidth:"0",flex:"0 1 auto",textAlign:"center",boxSizing:"border-box",background:"transparent",border:"0",outline:"none",color:"var(--ed-text)",fontFamily:"var(--ed-font)",fontSize:"12.5px",fontWeight:"600",padding:"0"},{type:"text",inputmode:"decimal",class:"mc-stepper-input","data-focus-key":`f${e.key}`});P.value=e.value;const $=I(e.onInput);P.addEventListener("input",R=>$.call(R.target.value)),P.addEventListener("blur",R=>{$.flush(),e.onBlur(R.target.value)}),P.addEventListener("focus",()=>{y.style.borderColor="var(--ed-accent)",y.style.boxShadow="0 0 0 3px var(--ed-soft)"}),P.addEventListener("blur",()=>{y.style.borderColor="var(--ed-line)",y.style.boxShadow="none"}),M.appendChild(P),e.unit&&M.appendChild(n("span",{flex:"none",fontSize:"12px",fontFamily:"var(--ed-font)",fontWeight:"500",color:"var(--ed-text)"},{text:e.unit}));const ee=f("plus","Increase",()=>e.onInc());return y.append(x,M,ee),y}function G(e){const u=n("div");if(e.label||e.toggle){const f=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",marginBottom:"9px"});if(f.appendChild(d(e.label||"",!0)),e.toggle){const x=(e.label||"")+"::more",M=n("div",{display:"flex",alignItems:"center",gap:"7px",flex:"none",cursor:"pointer"},{class:"mc-switch-row"});M.addEventListener("click",()=>{T=x,e.toggle.onChange()}),M.appendChild(n("span",{fontFamily:"var(--ed-font)",fontSize:"12.5px",lineHeight:"1.35",fontWeight:"500",color:"var(--ed-text)"},{text:"More options",class:"mc-field-label"}));const P=n("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!e.toggle.on),"aria-label":(e.label?e.label+" — ":"")+"more options"});P.appendChild(n("span",null,{class:"mc-switch-knob"})),T===x&&(P.classList.add("mc-switch-anim"),T=null),M.appendChild(P),f.appendChild(M)}u.appendChild(f)}const y=n("div",{display:"grid",gridTemplateColumns:e.items.length===1?"1fr":"1fr 1fr",gap:"10px 12px"});return e.items.forEach(f=>{const x=n("div");x.appendChild(d(f.label)),x.appendChild(j(f)),y.appendChild(x)}),u.appendChild(y),u}function A(e){const u=n("div",{minWidth:"0"},{class:"mc-field"});if(e.isSocial)return u.appendChild(v(e)),u;if(e.isTableGrid)return u.appendChild(S(e)),u;if(e.isRichLinks)return u.appendChild(C(e)),u;if(e.isArea){const y=n("div");y.appendChild(d(e.label));const f=n("textarea",{width:"100%",minHeight:"76px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"11.5px",lineHeight:"1.5",padding:"7px 8px",resize:"vertical"},{placeholder:e.placeholder,"data-focus-key":`f${e.key}`,dir:"auto"});f.value=e.value;const x=I(e.onChange);return f.addEventListener("input",M=>x.call(M.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",x.flush()}),y.appendChild(f),u.appendChild(y),u}if(e.isBtn){const y=n("button",{width:"100%",border:"0",borderRadius:"8px",background:"var(--ed-soft)",color:"var(--ed-accent)",cursor:"pointer",padding:"8px 10px",fontFamily:"var(--ed-font)",fontSize:"11.5px",fontWeight:"600",transition:"background 0.16s, color 0.16s"},{type:"button",text:e.label});return y.addEventListener("mouseenter",()=>{y.style.background="var(--ed-accent)",y.style.color="var(--ed-accent-ink)"}),y.addEventListener("mouseleave",()=>{y.style.background="var(--ed-soft)",y.style.color="var(--ed-accent)"}),y.addEventListener("click",e.onClick),u.appendChild(y),u}if(e.isSeg){const y=n("div");y.appendChild(d(e.label));const f=n("div",{display:"flex",gap:"3px",padding:"3px",border:"0",borderRadius:"10px",background:"var(--ed-panel-2)"},{class:"mc-segment mc-field-segment"});return e.options.forEach(x=>{const M=x.bg==="var(--ed-accent)",P=n("button",{flex:"1",minWidth:"0",border:"0",borderRadius:"7px",cursor:"pointer",background:x.bg,color:x.fg,fontFamily:"var(--ed-font)",fontSize:"10px",fontWeight:"600",padding:"0 6px",height:"28px",textTransform:"none",letterSpacing:"0.01em",transition:"background 0.16s, color 0.16s"},{type:"button",text:x.label,"aria-pressed":String(M)});P.addEventListener("click",x.onClick),f.appendChild(P)}),y.appendChild(f),u.appendChild(y),u}if(e.isRangeGroup)return u.appendChild(G(e)),u;if(e.isSlider){u.classList.add("mc-slider-field");const y=n("div"),f=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"});f.appendChild(d(e.label,!0));const x=n("output",{minWidth:"58px",height:"25px",padding:"0 8px",boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--ed-line)",borderRadius:"7px",background:"var(--ed-panel-2)",color:"var(--ed-accent)",fontFamily:"var(--ed-font)",fontSize:"11.5px",fontWeight:"600",whiteSpace:"nowrap"},{"aria-live":"polite"});f.appendChild(x);const M=n("div",{padding:"11px 0 4px"}),P=n("input",{width:"100%",margin:"0",display:"block",boxSizing:"border-box"},{type:"range",min:e.min,max:e.max,step:e.step,class:"mc-slider","aria-label":e.label,"data-focus-key":`f${e.key}`});P.value=e.value;const $=()=>{const ee=(P.value-e.min)/(e.max-e.min||1);x.textContent=P.value+e.unit,P.style.background=`linear-gradient(to right, var(--ed-accent) ${ee*100}%, var(--ed-line-2) ${ee*100}%)`};return $(),P.addEventListener("input",$),P.addEventListener("change",ee=>e.onCommit(ee.target.value)),M.appendChild(P),y.append(f,M),u.appendChild(y),u}if(e.isRange){const y=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},{class:"mc-field-row"});return y.appendChild(d(e.label,!0)),y.appendChild(j(e,"132px")),u.appendChild(y),u}if(e.isToggle){const y=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",minHeight:"32px",cursor:"pointer"},{class:"mc-switch-row mc-field-row"});y.addEventListener("click",()=>{T=e.label,e.onChange()});const f=d(e.label,!0);f.style.cursor="pointer",y.appendChild(f);const x=n("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!e.on),"aria-label":e.label});return x.appendChild(n("span",null,{class:"mc-switch-knob"})),T===e.label&&(x.classList.add("mc-switch-anim"),T=null),y.appendChild(x),u.appendChild(y),u}if(e.isColor){const y=n("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},{class:"mc-field-row"});y.appendChild(d(e.label,!0));const f=n("div",{display:"flex",alignItems:"center",flex:"none",height:"32px",border:"1px solid var(--ed-line)",borderRadius:"8px",background:"var(--ed-panel)",overflow:"hidden",transition:"border-color 0.16s, box-shadow 0.16s"},{class:"mc-field-control mc-color-control"}),x=n("label",{position:"relative",width:"29px",alignSelf:"stretch",flex:"none",borderRight:"1px solid var(--ed-line)",background:e.swatch,cursor:"pointer"},{title:e.label});e.transparent&&Object.assign(x.style,{backgroundColor:"#ffffff",backgroundImage:"linear-gradient(45deg,#c3c9d2 25%,transparent 25%,transparent 75%,#c3c9d2 75%),linear-gradient(45deg,#c3c9d2 25%,transparent 25%,transparent 75%,#c3c9d2 75%)",backgroundSize:"8px 8px",backgroundPosition:"0 0, 4px 4px"});const M=n("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",cursor:"pointer",padding:"0",border:"0"},{type:"color"});M.value=e.swatch;const P=I(e.onChange);M.addEventListener("input",R=>P.call(R.target.value)),M.addEventListener("change",()=>P.flush()),x.appendChild(M);const $=n("input",{width:"82px",boxSizing:"border-box",background:"transparent",border:"0",outline:"none",color:"var(--ed-text)",fontFamily:"ui-monospace, monospace",fontSize:"11px",padding:"0 9px"},{placeholder:"inherit",class:"mc-stepper-input","data-focus-key":`f${e.key}`,dir:"ltr"});$.value=e.value;const ee=I(e.onChange);if($.addEventListener("input",R=>ee.call(R.target.value)),$.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.boxShadow="0 0 0 3px var(--ed-soft)"}),$.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",f.style.boxShadow="none",ee.flush()}),f.append(x,$),e.clearable){const R=n("button",{flex:"none",alignSelf:"stretch",width:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"0",borderLeft:"1px solid var(--ed-line)",background:e.transparent?"var(--ed-accent)":"transparent",color:e.transparent?"var(--ed-accent-ink)":"var(--ed-muted)",cursor:"pointer",padding:"0"},{type:"button",title:e.transparent?"Transparent — click for a solid colour":"Make transparent (no fill)","aria-pressed":String(!!e.transparent)});R.appendChild(V(e.transparent?"check":"clear",12)),R.addEventListener("click",()=>e.onToggleTransparent()),f.appendChild(R)}return y.appendChild(f),u.appendChild(y),u}if(e.isRow){const y=n("div",{display:"flex",alignItems:"center",gap:"12px",justifyContent:"space-between"},{class:"mc-field-row"});if(y.appendChild(d(e.label,!0)),e.isText){const f=n("input",{width:"168px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{placeholder:e.placeholder,class:"mc-field-control","data-focus-key":`f${e.key}`,dir:"auto"});if(f.value=e.value,e.suggestions){const M=n("datalist",null,{id:`mc-dl-f${e.key}`});e.suggestions.forEach(P=>{const $=document.createElement("option");$.value=P,M.appendChild($)}),f.setAttribute("list",M.id),y.appendChild(M)}const x=I(e.onChange);f.addEventListener("input",M=>x.call(M.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)",x.flush()}),y.appendChild(f)}else if(e.isNum){const f=n("input",{width:"78px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{type:"text",inputmode:"numeric",class:"mc-field-control","data-focus-key":`f${e.key}`});f.value=e.value;const x=I(e.onChange);f.addEventListener("input",M=>x.call(M.target.value)),f.addEventListener("blur",M=>{f.style.borderColor="var(--ed-line)",x.flush(),e.onBlur&&e.onBlur(M.target.value)}),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),y.appendChild(f)}else if(e.isSelect){const f=n("select",{width:"168px",boxSizing:"border-box",background:"var(--ed-panel-2)",border:"1px solid var(--ed-line)",color:"var(--ed-text)",font:"inherit",fontSize:"12px",padding:"6px 8px"},{class:"mc-field-control","data-focus-key":`f${e.key}`});e.options.forEach(x=>{const M=document.createElement("option");M.value=x.value,M.textContent=x.label,f.appendChild(M)}),f.value=e.value==null?"":e.value,f.addEventListener("change",x=>e.onChange(x.target.value)),f.addEventListener("focus",()=>{f.style.borderColor="var(--ed-accent)",f.style.outline="none"}),f.addEventListener("blur",()=>{f.style.borderColor="var(--ed-line)"}),y.appendChild(f)}return u.appendChild(y),u}return u}function D(e,u){u.forEach(y=>e.appendChild(A(y)))}Object.assign(K,{typeCommit:I,renderFieldCards:t,renderField:A,renderFieldList:D})},re["render/focus-preserve.js"]=function(se,K,z){function V(O,n){const I=O.activeElement,T=I&&I.dataset?I.dataset.focusKey:null;let d=null,p=null,t=null,g=!1;const v=T&&I.tagName==="INPUT"&&I.type==="range"?I:null;if(!v){if(T&&(I.tagName==="INPUT"||I.tagName==="TEXTAREA")){try{d=I.selectionStart,p=I.selectionEnd}catch{}t=I.scrollTop}else if(T&&I.isContentEditable){g=!0;const S=Z(O);if(S&&S.rangeCount&&I.contains(S.anchorNode)){const j=S.getRangeAt(0);d=ae(I,j.startContainer,j.startOffset),p=ae(I,j.endContainer,j.endOffset)}t=I.scrollTop}}if(n(),!T)return;const C=O.querySelector(`[data-focus-key="${k(T)}"]`);if(C){if(v){for(const S of["min","max","step"]){const j=C.getAttribute(S);j===null?v.removeAttribute(S):v.setAttribute(S,j)}C.replaceWith(v);return}if(g){if(d!=null)try{const S=document.createRange();N(S,C,d,!0),N(S,C,p,!1);const j=Z(O);j.removeAllRanges(),j.addRange(S)}catch{}C.focus({preventScroll:!0})}else if(C.focus({preventScroll:!0}),d!=null)try{C.setSelectionRange(d,p)}catch{}t!=null&&(C.scrollTop=t)}}function Z(O){return typeof O.getSelection=="function"?O.getSelection():window.getSelection()}function ae(O,n,I){if(n.nodeType!==Node.TEXT_NODE){let t=0;const g=document.createTreeWalker(O,NodeFilter.SHOW_TEXT);let v,C=n.childNodes[I];if(!C){for(;g.nextNode();)t+=g.currentNode.nodeValue.length;return t}for(;v=g.nextNode();){if(v===C||C.contains(v))return t;t+=v.nodeValue.length}return t}let T=0;const d=document.createTreeWalker(O,NodeFilter.SHOW_TEXT);let p;for(;p=d.nextNode();){if(p===n)return T+I;T+=p.nodeValue.length}return T}function N(O,n,I,T){const d=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);let p=0,t,g=null;for(;t=d.nextNode();){g=t;const v=t.nodeValue.length;if(p+v>=I){const C=I-p;T?O.setStart(t,C):O.setEnd(t,C);return}p+=v}g?T?O.setStart(g,g.nodeValue.length):O.setEnd(g,g.nodeValue.length):T?O.setStart(n,0):O.setEnd(n,0)}function k(O){return String(O).replace(/["\\]/g,"\\$&")}Object.assign(K,{withFocusPreserved:V,textOffset:ae})},re["render/rte.js"]=function(se,K,z){const{icon:V}=z("core/icons.js"),{TOKEN:Z}=z("core/variables.js"),{typeCommit:ae}=z("render/fields.js");function N(d,p,t){const g=document.createElement(d);if(p&&Object.assign(g.style,p),t)for(const[v,C]of Object.entries(t))v==="text"?g.textContent=C:C!==void 0&&g.setAttribute(v,C);return g}function k(d){try{return document.queryCommandState(d)}catch{return!1}}function O(d,p){return d.style.position="relative",d.hasAttribute("aria-label")||d.setAttribute("aria-label",p),d.appendChild(N("span",{},{class:"mc-rte-tooltip",text:p})),d}function n(d){const p=String(d||"").replace(/[_.]+/g," ").trim();return p.charAt(0).toUpperCase()+p.slice(1)}function I(d,p){const t=d.t,g=(P,$,ee,R)=>{const q=N("button",{border:"0",borderRadius:"7px",background:R?"var(--ed-accent)":"transparent",color:R?"var(--ed-accent-ink)":"var(--rte-muted)",cursor:"pointer",width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",flex:"none"},{type:"button",title:$,"data-rte-control":"1","data-active":R?"true":"false"});return q.appendChild(V(P,14)),q.addEventListener("mousedown",oe=>{oe.preventDefault(),oe.stopPropagation()}),q.addEventListener("click",oe=>{oe.preventDefault(),oe.stopPropagation(),ee(),d.onFormatChange&&d.onFormatChange()}),O(q,$),q},v=()=>N("span",{width:"1px",height:"18px",background:"var(--rte-border)",margin:"0 4px",flex:"none"}),C=(P,$,ee,R)=>{const q=N("label",{position:"relative",width:"30px",height:"28px",borderRadius:"7px",background:"var(--rte-input)",boxShadow:"inset 0 0 0 1px var(--rte-border)",color:"var(--rte-text)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flex:"none",overflow:"hidden"},{"data-rte-picker":"1",title:R});q.appendChild(V(P,14));const oe=N("span",{position:"absolute",left:"6px",right:"6px",bottom:"4px",height:"3px",borderRadius:"99px",background:ee,pointerEvents:"none"});q.appendChild(oe);const de=N("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",margin:"0",cursor:"pointer"},{type:"color",value:ee.startsWith("#")?ee:"#1d1f20"});return de.addEventListener("mousedown",c=>c.stopPropagation()),de.addEventListener("click",c=>c.stopPropagation()),de.addEventListener("input",c=>{oe.style.background=c.target.value,d.exec($,c.target.value)}),q.appendChild(de),O(q,R),q},S={display:"flex",alignItems:"center",gap:"2px",whiteSpace:"nowrap"},j={background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"7px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",letterSpacing:"0",padding:"5px 24px 5px 27px",height:"28px",cursor:"pointer",maxWidth:"150px",appearance:"none",WebkitAppearance:"none",outline:"none"},G=(P,$,ee,R,q,oe)=>{const de=N("label",{position:"relative",display:"inline-flex",alignItems:"center",color:"var(--rte-muted)"},{"data-rte-select":"1","aria-label":P}),c=N("span",{position:"absolute",left:"8px",zIndex:"2",pointerEvents:"none",display:"flex"});c.appendChild(V(R,13));const ne=N("select",Object.assign({},j,{width:ee}),{title:P});q.forEach(([pe,he])=>{const we=document.createElement("option");we.value=pe,we.textContent=he,ne.appendChild(we)}),ne.value=$,ne.addEventListener("mousedown",pe=>pe.stopPropagation()),ne.addEventListener("change",oe);const ce=N("span",{position:"absolute",right:"7px",pointerEvents:"none",display:"flex"});return ce.appendChild(V("chevronDown",12)),de.append(c,ne,ce),de},A=d.vars(),D=N("div",{position:"absolute",top:"-82px",left:"0",zIndex:"30",display:"grid",gap:"5px",background:"var(--rte-bg)",border:"1px solid var(--rte-border)",borderRadius:"8px",padding:"7px 8px",boxShadow:"var(--rte-shadow)"},{class:"mc-rte","data-mc-rte":"1","data-rte-root":"1"});D.addEventListener("pointerdown",()=>{d.rteActive=!0},!0),D.addEventListener("mousedown",P=>P.stopPropagation()),D.addEventListener("click",P=>P.stopPropagation());const e=N("div",S),u=G(t("rte.textStyle"),d.currentTag(),"118px","typeColor",[["",t("rte.textStyle")],["p","Paragraph"],["h1","Heading 1"],["h2","Heading 2"],["h3","Heading 3"],["h4","Heading 4"],["h5","Heading 5"],["h6","Small heading"],["blockquote","Block quote"]],P=>{P.target.value&&(d.exec("formatBlock",P.target.value),d.onFormatChange&&d.onFormatChange())});e.append(u,v(),g("bold","Bold",()=>d.exec("bold"),k("bold")),g("italic","Italic",()=>d.exec("italic"),k("italic")),g("underline","Underline",()=>d.exec("underline"),k("underline")),g("strike","Strikethrough",()=>d.exec("strikeThrough"),k("strikeThrough")),g("inlineCode","Inline code",()=>d.exec("insertHTML",'<code style="font-family:ui-monospace,monospace;font-size:0.92em;background:var(--ed-soft);padding:1px 4px">'+(d.getSelection().toString()||"code")+"</code>")),g("superscript","Superscript",()=>d.exec("superscript"),k("superscript")),g("subscript","Subscript",()=>d.exec("subscript"),k("subscript")),v(),g("minus","Smaller text",()=>d.size(p,-1)),N("span",{fontFamily:"var(--ed-font)",fontSize:"9.5px",color:"var(--rte-muted)",minWidth:"32px",textAlign:"center"},{text:(p.props.size||16)+"px"}),g("plus","Larger text",()=>d.size(p,1)));const y=N("div",S);y.append(g("alignLeft","Align left",()=>d.exec("justifyLeft"),k("justifyLeft")),g("alignCenter","Align center",()=>d.exec("justifyCenter"),k("justifyCenter")),g("alignRight","Align right",()=>d.exec("justifyRight"),k("justifyRight")),g("alignJustify","Justify",()=>d.exec("justifyFull"),k("justifyFull")),v(),g("list","Bullet list",()=>d.exec("insertUnorderedList"),k("insertUnorderedList")),g("listOrdered","Numbered list",()=>d.exec("insertOrderedList"),k("insertOrderedList")),g("outdent","Outdent",()=>d.exec("outdent")),g("indent","Indent",()=>d.exec("indent")),v(),g("link","Link — ⌘K",()=>d.openLink(),!!d.state.linkDraft),g("unlink","Remove link",()=>d.removeLink(p)),g("formatClear",t("rte.clearFormatting"),()=>d.exec("removeFormat")),v(),C("typeColor","foreColor","#172033",t("rte.textColor")),C("highlighter","hiliteColor","#fef08a",t("rte.highlightColor")),g("eraser",t("rte.removeHighlight"),()=>d.exec("hiliteColor","transparent")),v());const f=[["",A.length?t("rte.mergeTags"):t("rte.noMergeTags")]].concat(A.map(P=>[Z(P),n(P)]));y.appendChild(G(t("rte.mergeTags"),"","132px","data",f,P=>{P.target.value&&(d.exec("insertText",P.target.value),P.target.value="")})),D.appendChild(e),D.appendChild(y),d.state.linkDraft&&D.appendChild(T(d,p,A));const x="calc(100% + 10px)",M=d._rteFlip&&d._rteFlip.id===p.id?d._rteFlip.flip:null;return M===!0?D.style.top=x:M===null&&(D.style.visibility="hidden"),requestAnimationFrame(()=>{if(!D.isConnected)return;const P=d.exportRoot&&d.exportRoot.querySelector(".mc-workspace");if(P&&D.parentElement){const ee=D.parentElement.getBoundingClientRect().top-82<P.getBoundingClientRect().top+4;d._rteFlip={id:p.id,flip:ee},D.style.top=ee?x:"-82px"}D.style.visibility=""}),D}function T(d,p,t){const g=d.t,v=d.state.linkDraft,C=x=>d.setState({linkDraft:Object.assign({},d.state.linkDraft,x)}),S={flex:"1",minWidth:"0",background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"5px",font:"inherit",fontFamily:"ui-monospace, monospace",fontSize:"11px",padding:"5px 7px"},j=(x,M,P)=>{const $=N("button",{border:M?"0":"1px solid var(--rte-border)",borderRadius:"5px",background:M?"var(--ed-accent)":"transparent",color:M?"var(--ed-accent-ink)":"var(--rte-text)",cursor:"pointer",padding:"5px 10px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"600"},{type:"button",text:x});return $.addEventListener("mousedown",ee=>ee.preventDefault()),$.addEventListener("click",ee=>{ee.preventDefault(),P()}),$},G=N("div",{display:"flex",flexDirection:"column",gap:"6px",borderTop:"1px solid var(--rte-border)",paddingTop:"6px",marginTop:"2px",minWidth:"380px"}),A=N("div",{display:"flex",alignItems:"center",gap:"5px"}),D=N("input",S,{placeholder:"https://example.com"});D.value=v.href,setTimeout(()=>D.focus(),0);const e=ae(x=>C({href:x}));if(D.addEventListener("input",x=>e.call(x.target.value)),D.addEventListener("blur",()=>e.flush()),D.addEventListener("keydown",x=>{x.key==="Enter"&&(x.preventDefault(),e.flush(),d.applyLink(p)),x.key==="Escape"&&d.setState({linkDraft:null})}),A.appendChild(D),t.length){const x=N("select",{background:"var(--rte-input)",color:"var(--rte-text)",border:"1px solid var(--rte-border)",borderRadius:"5px",fontFamily:"var(--ed-font)",fontSize:"10.5px",padding:"4px",cursor:"pointer",maxWidth:"110px"},{title:g("rte.mergeTags")}),M=document.createElement("option");M.value="",M.textContent=g("rte.mergeTags"),x.appendChild(M),t.forEach(P=>{const $=document.createElement("option");$.value=Z(P),$.textContent=n(P),x.appendChild($)}),x.addEventListener("change",P=>{P.target.value&&(C({href:(v.href||"")+P.target.value}),P.target.value="")}),A.appendChild(x)}G.appendChild(A);const u=N("div",{display:"flex",alignItems:"center",gap:"8px"}),y=N("label",{display:"flex",alignItems:"center",gap:"5px",color:"var(--rte-muted)",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",cursor:"pointer"}),f=N("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox"});return f.checked=!!v.blank,f.addEventListener("change",x=>C({blank:x.target.checked})),y.append(f,"Open in new tab"),u.appendChild(y),u.appendChild(N("span",{flex:"1"})),v.editing&&u.appendChild(j("Remove",!1,()=>d.removeLink(p))),u.appendChild(j("Cancel",!1,()=>d.setState({linkDraft:null}))),u.appendChild(j(v.editing?"Update":"Apply",!0,()=>{e.flush(),d.applyLink(p)})),G.appendChild(u),G}Object.assign(K,{renderRte:I})},re["render/screenshot.js"]=function(se,K,z){const{renderDoc:V}=z("render/canvas.js"),Z="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function ae(O){return fetch(O,{mode:"cors"}).then(n=>{if(!n.ok)throw new Error("fetch failed: "+n.status);return n.blob()}).then(n=>new Promise((I,T)=>{const d=new FileReader;d.onload=()=>I(d.result),d.onerror=T,d.readAsDataURL(n)}))}async function N(O){const n=[];O.querySelectorAll("img").forEach(I=>{const T=I.getAttribute("src")||"";!T||T.startsWith("data:")||n.push(ae(T).then(d=>{I.setAttribute("src",d)},()=>{I.setAttribute("src",Z)}))}),O.querySelectorAll("[style]").forEach(I=>{const T=(I.style.backgroundImage||"").match(/url\(["']?(?!data:)([^"')]+)["']?\)/);T&&n.push(ae(T[1]).then(d=>{I.style.backgroundImage='url("'+d+'")'},()=>{I.style.backgroundImage="none"}))}),await Promise.all(n)}Object.assign(K,{captureTemplatePng:async function(O,n,I=2){const T=O.state.doc.theme,d=32,p=document.createElement("div"),t=T.width+(Number(T.padX)||0)*2;p.style.cssText=`position: fixed; left: -100000px; top: 0; width: ${t+d*2}px; background: ${T.bg}; padding: ${d}px; box-sizing: border-box; display: flex; justify-content: center;`,p.setAttribute("aria-hidden","true");const g=O.state.device;O.state.device="desktop";try{p.appendChild(V(O,!1))}finally{O.state.device=g}n.appendChild(p);try{await N(p),await Promise.all(Array.from(p.querySelectorAll("img")).map(u=>u.decode?u.decode().catch(()=>{}):Promise.resolve()));const v=p.offsetWidth,C=p.offsetHeight,S=p.cloneNode(!0);S.style.position="static",S.style.left="auto";const j=new XMLSerializer().serializeToString(S),G=`<svg xmlns="http://www.w3.org/2000/svg" width="${v}" height="${C}"><foreignObject width="100%" height="100%">${j}</foreignObject></svg>`,A=new Image;await new Promise((u,y)=>{A.onload=u,A.onerror=()=>y(new Error("SVG rasterization failed")),A.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(G)});const D=document.createElement("canvas");return D.width=Math.max(1,Math.round(v*I)),D.height=Math.max(1,Math.round(C*I)),D.getContext("2d").drawImage(A,0,0,D.width,D.height),await new Promise((u,y)=>{D.toBlob(f=>f?u(f):y(new Error("PNG encoding failed")),"image/png")})}finally{p.remove()}}})},re["render/story.js"]=function(se,K,z){const{icon:V}=z("core/icons.js"),Z=3600,ae=560,N=.92;function k(T,d,p={},...t){const g=document.createElement(T);d&&(g.style.cssText=d);for(const[v,C]of Object.entries(p))C!==void 0&&(v==="text"?g.textContent=C:g.setAttribute(v,C));return t.flat().forEach(v=>{v!=null&&v!==!1&&g.appendChild(typeof v=="string"?document.createTextNode(v):v)}),g}const O="border: 1px solid rgba(255,255,255,0.22); background: rgba(255,255,255,0.1); color: #fff; cursor: pointer; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 7px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600; transition: background 0.16s, border-color 0.16s, opacity 0.16s;";function n(T,d,p,t,g){const v=k("button",O+T,{type:"button",title:d,"aria-label":d});return v.iconSlot=V(p,14),v.labelSlot=g?k("span","",{text:d}):null,v.append(v.iconSlot),v.labelSlot&&v.append(v.labelSlot),v.addEventListener("mouseenter",()=>{v.style.background="rgba(255,255,255,0.16)",v.style.borderColor="rgba(255,255,255,0.4)"}),v.addEventListener("mouseleave",()=>{v.style.background="rgba(255,255,255,0.07)",v.style.borderColor="rgba(255,255,255,0.22)"}),v.addEventListener("click",t),v}Object.assign(K,{createStoryViewer:function(T,d){const p=(F,Q)=>T.t(F,Q),t={open:!1,page:0,pages:1,playing:!0,done:!1,held:!1,remaining:Z,startedAt:0,timer:0,token:0,url:"",blob:null,natW:0,natH:0,cardW:0,cardH:0,showH:0},g=k("div","position: absolute; inset: 0; z-index: 78; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 11px; padding: 22px; box-sizing: border-box; background: rgba(9,11,16,0.86); opacity: 0; transition: opacity 0.22s ease;",{class:"mc-story"});g.addEventListener("click",F=>{F.target===g&&w()});const v=k("div","display: none; gap: 4px; height: 3px; flex: none;"),C=k("div","display: flex; align-items: center; gap: 10px; flex: none;"),S=k("div","flex: 1; min-width: 0;"),j=k("div","font-family: ui-monospace, monospace; font-size: 8.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.5);");S.append(j);const G=n("width: 30px; padding: 0;",p("action.close"),"x",()=>w());C.append(S,G);const A=k("div","position: relative; overflow: hidden; border-radius: 16px; background: #fff; flex: none; box-shadow: 0 26px 70px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.09); transform: scale(0.965) translateY(10px); opacity: 0; transition: transform 0.34s cubic-bezier(0.22,0.61,0.36,1), opacity 0.24s ease;"),D=k("img","position: absolute; left: 0; top: 0; width: 100%; display: block; opacity: 0; transform: translate3d(0,0,0); transition: opacity 0.32s ease;",{alt:""});A.appendChild(D);const e=k("div","position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; background: var(--ed-panel); color: var(--ed-faint); transition: opacity 0.28s ease;"),u=k("div","position: absolute; inset: 0; background: linear-gradient(100deg, transparent 22%, var(--ed-soft) 40%, transparent 58%); background-size: 260% 100%; animation: mcStoryShimmer 1.6s linear infinite;"),y=k("div","position: relative; font-family: var(--ed-font); font-size: 12.5px; font-weight: 600; color: var(--ed-text);"),f=k("div","position: relative; font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: 0.07em; line-height: 1.7; color: var(--ed-faint); max-width: 76%; text-align: center;"),x=k("button","position: relative; display: none; border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 30px; padding: 0 13px; border-radius: 8px; align-items: center; gap: 7px; font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{type:"button"});x.append(V("refresh",14),k("span","",{text:p("story.retry")})),x.addEventListener("click",()=>a()),e.append(u,y,f,x),A.appendChild(e);const M=(F,Q)=>{const ie=k("div","position: absolute; top: 0; bottom: 0; "+F+" cursor: pointer;");let me=0;ie.addEventListener("pointerdown",()=>{me=performance.now(),t.playing&&!t.done&&ne(!0)});const b=()=>{if(!me)return;const l=performance.now()-me;me=0,l<220?Q():t.held&&ce()};return ie.addEventListener("pointerup",b),ie.addEventListener("pointerleave",b),ie};A.append(M("left: 0; width: 32%;",()=>_(-1)),M("left: 32%; right: 0;",()=>_(1)));const P=k("div","display: flex; align-items: center; gap: 8px; flex: none;"),$=k("div","flex: 1; min-width: 0; font-family: ui-monospace, monospace; font-size: 9px; letter-spacing: 0.09em; color: rgba(255,255,255,0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),ee=n("width: 30px; padding: 0;",p("story.pause"),"pause",()=>t.playing?ne(!1):ce()),R=n("padding: 0 11px;",p("story.copy"),"copy",()=>d.copy(t.blob),!0),q=n("padding: 0 11px; border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.16);",p("action.downloadPng"),"download",()=>d.download(t.blob),!0);P.append($,ee,R,q),g.append(v,C,A,P);function oe(){return Array.from(v.children).map(F=>F.firstChild)}function de(F,Q){oe().forEach((ie,me)=>{if(ie.style.transition="none",me<t.page){ie.style.transform="scaleX(1)";return}if(me>t.page){ie.style.transform="scaleX(0)";return}ie.style.transform="scaleX("+F+")",Q&&(ie.offsetWidth,ie.style.transition="transform "+Math.max(0,t.remaining)+"ms linear",ie.style.transform="scaleX(1)")})}function c(){clearTimeout(t.timer),!(!t.playing||t.done||t.pages<2)&&(t.startedAt=performance.now(),de(1-t.remaining/Z,!0),t.timer=setTimeout(()=>_(1),t.remaining))}function ne(F){t.playing&&(clearTimeout(t.timer),t.remaining=Math.max(0,t.remaining-(performance.now()-t.startedAt)),t.playing=!1,t.held=!!F,de(1-t.remaining/Z,!1),pe())}function ce(){if(t.held=!1,t.done){we(0);return}t.playing=!0,c(),pe()}function pe(){const F=t.done?p("story.replay"):t.playing?p("story.pause"):p("story.play"),Q=t.done?"refresh":t.playing?"pause":"play",ie=V(Q,14);ee.replaceChild(ie,ee.iconSlot),ee.iconSlot=ie,ee.title=F,ee.setAttribute("aria-label",F)}function he(F){return t.showH<=t.cardH?Math.round((t.cardH-t.showH)/2):-Math.min(Math.round(F*t.cardH*N),Math.round(t.showH-t.cardH))}function we(F,Q){const ie=Math.max(0,Math.min(t.pages-1,F));t.page=ie,t.remaining=Z,t.done&&(t.done=!1,t.playing=!0),D.style.transition=Q===!1?"opacity 0.32s ease":"transform "+ae+"ms cubic-bezier(0.22,0.61,0.36,1), opacity 0.32s ease",D.style.transform="translate3d(0, "+he(ie)+"px, 0)",i(),c(),pe()}function _(F){if(F>0&&t.page>=t.pages-1){clearTimeout(t.timer),t.done=!0,t.playing=!1,t.held=!1,de(1,!1),pe();return}if(F<0&&t.page===0){we(0);return}we(t.page+F)}function i(){$.textContent=t.natW?p("story.meta",{w:t.natW,h:t.natH,i:t.page+1,n:t.pages}):""}function m(){if(!t.open)return;const F=Math.max(280,g.clientHeight-44-96),Q=Math.max(240,g.clientWidth-44);t.cardH=F,t.cardW=Math.max(240,Math.min(430,Q,Math.round(F*.75))),A.style.width=t.cardW+"px",A.style.height=t.cardH+"px",[v,C,P].forEach(ie=>{ie.style.width=t.cardW+"px"}),t.natW&&(t.showH=t.cardW*(t.natH/t.natW),t.pages=t.showH<=t.cardH?1:Math.ceil((t.showH-t.cardH)/(t.cardH*N))+1,H(),we(Math.min(t.page,t.pages-1),!1))}function H(){v.innerHTML="",v.style.display=t.pages>1?"flex":"none";for(let F=0;F<t.pages;F++){const Q=k("div","width: 100%; height: 100%; border-radius: 2px; background: #fff; transform: scaleX(0); transform-origin: left center;");v.appendChild(k("div","flex: 1; height: 100%; border-radius: 2px; background: rgba(255,255,255,0.24); overflow: hidden;",{},Q))}}function E(F){[R,q,ee].forEach(Q=>{Q.disabled=!F,Q.style.opacity=F?"":"0.4",Q.style.pointerEvents=F?"":"none"})}function L(F){e.style.display="flex",e.style.opacity="1",u.style.display=F?"none":"block",y.textContent=p(F?"story.failed":"story.rendering"),f.textContent=p(F?"story.failedHint":"story.renderingHint"),x.style.display=F?"flex":"none",E(!1)}function a(){const F=++t.token;o(),Object.assign(t,{blob:null,natW:0,natH:0,page:0,pages:1,done:!1,playing:!0,held:!1,remaining:Z}),clearTimeout(t.timer),D.style.opacity="0",v.style.display="none",i(),L(!1),d.capture().then(Q=>{F!==t.token||!t.open||(t.blob=Q,t.url=URL.createObjectURL(Q),D.onload=()=>{F===t.token&&(t.natW=D.naturalWidth,t.natH=D.naturalHeight,m(),D.style.opacity="1",e.style.opacity="0",setTimeout(()=>{F===t.token&&(e.style.display="none")},300),E(!0),t.pages<2&&(t.done=!0,t.playing=!1),pe(),c())},D.src=t.url)},()=>{F!==t.token||!t.open||L(!0)})}function o(){t.url&&(URL.revokeObjectURL(t.url),t.url="")}function s(F){if(t.open){if(F.key==="Escape"){F.stopPropagation(),w();return}if(F.key==="ArrowRight"||F.key==="ArrowDown"){F.stopPropagation(),ne(!1),_(1);return}if(F.key==="ArrowLeft"||F.key==="ArrowUp"){F.stopPropagation(),ne(!1),_(-1);return}F.key===" "&&(F.stopPropagation(),F.preventDefault(),t.playing?ne(!1):ce())}}let h=0;A.addEventListener("wheel",F=>{F.preventDefault();const Q=performance.now();Q-h<ae*.8||Math.abs(F.deltaY)<6||(h=Q,ne(!1),_(F.deltaY>0?1:-1))},{passive:!1});function r(){t.open||(t.open=!0,g.style.display="flex",g.removeAttribute("aria-hidden"),j.textContent=p("story.kicker"),g.offsetWidth,g.style.opacity="1",A.style.transform="scale(1) translateY(0)",A.style.opacity="1",m(),a(),window.addEventListener("keydown",s,!0),window.addEventListener("resize",m),G.focus({preventScroll:!0}))}function w(){t.open&&(t.open=!1,t.token++,clearTimeout(t.timer),window.removeEventListener("keydown",s,!0),window.removeEventListener("resize",m),g.style.opacity="0",A.style.transform="scale(0.965) translateY(10px)",A.style.opacity="0",setTimeout(()=>{t.open||(g.style.display="none",g.setAttribute("aria-hidden","true"),D.removeAttribute("src"),o(),t.blob=null)},240))}function Y(){G.title=p("action.close"),G.setAttribute("aria-label",p("action.close")),R.labelSlot.textContent=p("story.copy"),R.title=p("story.copy"),q.labelSlot.textContent=p("action.downloadPng"),q.title=p("action.downloadPng"),x.lastChild.textContent=p("story.retry"),t.open&&(j.textContent=p("story.kicker"),i()),pe()}return{node:g,open:r,close:w,retranslate:Y,isOpen:()=>t.open}}})},re["render/style.js"]=function(se,K,z){Object.assign(K,{STYLE:`
|
|
76
76
|
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
|
|
77
77
|
:host { display: block; height: 100%; }
|
|
78
78
|
#mc, #mc *, #mc *::before, #mc *::after { box-sizing: border-box; }
|
|
@@ -288,8 +288,10 @@ unsubscribe_url`,q=k=>"{{ "+k+" }}";function ie(k){return(Array.isArray(k)?k:Str
|
|
|
288
288
|
#mc[data-chrome="dark"] .mc-workspace [data-mc-sheet="1"] { border-color: rgba(148,163,184,0.4); box-shadow: 0 0 0 1px rgba(15,23,42,0.4), 0 22px 58px rgba(0,0,0,0.36); }
|
|
289
289
|
/* The preview body is the *sent* email's page: the theme's own page
|
|
290
290
|
background paints it edge to edge (set inline by renderPreviewModal) and
|
|
291
|
-
the sheet
|
|
292
|
-
|
|
291
|
+
the sheet itself carries no frame -- no dotted grid, no border, no shadow.
|
|
292
|
+
The body's mat (below, .mc-preview-body) is container padding painted in
|
|
293
|
+
that same page background; the sheet is what exportHtml() gives the
|
|
294
|
+
recipient. */
|
|
293
295
|
.mc-preview-body [data-mc-sheet="1"] { border: 0; border-radius: 0; box-shadow: none; }
|
|
294
296
|
#mc[data-chrome="dark"] .mc-preview-body [data-mc-sheet="1"] { border: 0; box-shadow: none; }
|
|
295
297
|
|
|
@@ -470,18 +472,27 @@ unsubscribe_url`,q=k=>"{{ "+k+" }}";function ie(k){return(Array.isArray(k)?k:Str
|
|
|
470
472
|
#mc .mc-code-split { gap: 12px; padding: 12px; background: var(--ed-work); }
|
|
471
473
|
#mc .mc-code-source, #mc .mc-code-preview { border: 1px solid var(--ed-line) !important; border-radius: 12px; overflow: hidden; background: var(--ed-panel) !important; }
|
|
472
474
|
#mc .mc-pane-label { padding: 8px 13px !important; background: var(--ed-panel-2) !important; font-size: 9.5px !important; letter-spacing: .025em !important; text-transform: none !important; }
|
|
473
|
-
/* The live preview
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
is what reads as a device. */
|
|
477
|
-
#mc .mc-code-preview-body { padding:
|
|
478
|
-
#mc .mc-code-preview-body.is-device { padding:
|
|
475
|
+
/* The live preview keeps breathing room on the *container* -- padding on the
|
|
476
|
+
pane, never markup or spacing inside the template: the iframe's document is
|
|
477
|
+
byte-for-byte what exportHtml() produces. The 390px phone width additionally
|
|
478
|
+
gets the card treatment, where the inset frame is what reads as a device. */
|
|
479
|
+
#mc .mc-code-preview-body { padding: 16px !important; background: var(--ed-work); }
|
|
480
|
+
#mc .mc-code-preview-body.is-device { padding: 16px !important; }
|
|
479
481
|
#mc .mc-code-frame { border: 0 !important; border-radius: 0; box-shadow: none !important; }
|
|
480
482
|
#mc .mc-code-preview-body.is-device .mc-code-frame { border-radius: 9px; box-shadow: 0 5px 20px rgba(15,23,42,.10) !important; }
|
|
481
483
|
#mc .mc-code-footer { padding: 8px 16px !important; background: var(--ed-panel); font-family: var(--ed-font) !important; font-size: 9.5px !important; letter-spacing: 0 !important; }
|
|
482
484
|
#mc .mc-preview-panel { grid-template-rows: 58px minmax(0,1fr) !important; }
|
|
483
485
|
#mc .mc-preview-title { font-family: var(--ed-font); font-size: 12px !important; font-weight: 600; }
|
|
484
|
-
|
|
486
|
+
/* Container-only inner space: the mat around the sheet is padding on the
|
|
487
|
+
preview body, which the theme's page background paints -- exactly the
|
|
488
|
+
breathing room a mail client's viewport gives a message. Nothing is added
|
|
489
|
+
to the document itself; exportHtml() is unchanged. */
|
|
490
|
+
/* The opaque fallback ground for a page with no colour of its own: without
|
|
491
|
+
it a transparent page background left the whole overlay see-through and the
|
|
492
|
+
editor (canvas, inspector, footer) bled into the preview. The dotted grid
|
|
493
|
+
reads as "no page colour" the same way the canvas does; a set page colour
|
|
494
|
+
overrides both properties via the inline background shorthand. */
|
|
495
|
+
#mc .mc-preview-body { padding: 32px 24px 56px !important; background-color: var(--ed-work); background-image: radial-gradient(circle, var(--ed-grid) 1px, transparent 1.2px); background-size: 22px 22px; }
|
|
485
496
|
#mc .mc-toast { border-radius: 10px; box-shadow: 0 12px 34px rgba(16,19,36,.28) !important; }
|
|
486
497
|
#mc[data-chrome="dark"] .mc-shell { box-shadow: 0 24px 70px rgba(0,0,0,.44) !important; }
|
|
487
498
|
#mc[data-chrome="dark"] .mc-header { background: rgba(25,28,41,.88) !important; }
|