@seliseblocks/mailcraft 0.2.14 → 0.2.16
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/CHANGELOG.md +17 -0
- package/DOCS.md +5 -4
- package/README.md +2 -1
- package/README.md.txt +2 -1
- package/dist/mailcraft-editor.bundle.js +71 -71
- package/dist/mailcraft-editor.bundle.js.map +3 -3
- package/examples/templates/back-in-stock.html +1 -8
- package/examples/templates/cart-left-behind.html +1 -8
- package/examples/templates/meet-nova-launch.html +5 -0
- package/examples/templates/rate-your-headphones.html +1 -8
- package/examples/templates/the-sunday-brief.html +5 -0
- package/examples/templates/your-order-shipped.html +1 -0
- package/examples/vanilla.html +14 -24
- package/package.json +1 -1
- package/src/core/i18n/ar.js +2 -1
- package/src/core/i18n/bg.js +2 -1
- package/src/core/i18n/bn.js +2 -1
- package/src/core/i18n/ca.js +2 -1
- package/src/core/i18n/cs.js +2 -1
- package/src/core/i18n/da.js +2 -1
- package/src/core/i18n/de-CH.js +2 -1
- package/src/core/i18n/de.js +2 -1
- package/src/core/i18n/dz.js +2 -1
- package/src/core/i18n/el.js +2 -1
- package/src/core/i18n/en.js +2 -1
- package/src/core/i18n/es.js +2 -1
- package/src/core/i18n/et.js +2 -1
- package/src/core/i18n/fi.js +2 -1
- package/src/core/i18n/fr.js +2 -1
- package/src/core/i18n/hr.js +2 -1
- package/src/core/i18n/hu.js +2 -1
- package/src/core/i18n/index.js +83 -83
- package/src/core/i18n/it.js +2 -1
- package/src/core/i18n/lt.js +2 -1
- package/src/core/i18n/lv.js +2 -1
- package/src/core/i18n/nb.js +2 -1
- package/src/core/i18n/nl.js +2 -1
- package/src/core/i18n/pl.js +2 -1
- package/src/core/i18n/pt.js +2 -1
- package/src/core/i18n/ro.js +2 -1
- package/src/core/i18n/ru.js +2 -1
- package/src/core/i18n/sk.js +2 -1
- package/src/core/i18n/sl.js +2 -1
- package/src/core/i18n/sv.js +2 -1
- package/src/core/i18n/tr.js +2 -1
- package/src/core/i18n/uk.js +2 -1
- package/src/core/ids.js +1 -1
- package/src/core/layout-style.js +100 -100
- package/src/core/parse.js +10 -10
- package/src/core/placeholder.js +15 -15
- package/src/core/variables.js +11 -11
- package/src/mailcraft-editor.js +26 -10
- package/src/render/focus-preserve.js +158 -158
- package/src/render/screenshot.js +95 -7
- package/src/render/story.js +541 -415
- package/src/render/style.js +1 -1
- package/types/index.d.ts +22 -7
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
var ft=Object.defineProperty;var vt=(
|
|
1
|
+
var ft=Object.defineProperty;var vt=(ge,$e,Xe)=>$e in ge?ft(ge,$e,{enumerable:!0,configurable:!0,writable:!0,value:Xe}):ge[$e]=Xe;var qe=(ge,$e,Xe)=>vt(ge,typeof $e!="symbol"?$e+"":$e,Xe);(function(){var ge={},$e={};function Xe(be){if($e[be])return $e[be].exports;var $={exports:{}};return $e[be]=$,ge[be]($,$.exports,Xe),$.exports}ge["core/accent.js"]=function(be,$,F){const G={r:255,g:255,b:255},X={r:17,g:24,b:39},pe={r:255,g:255,b:255},W={r:11,g:17,b:32},y=4.5,K=E=>Math.max(0,Math.min(255,Math.round(E)));function S(E){const A=E/255;return A<=.04045?A/12.92:Math.pow((A+.055)/1.055,2.4)}function D(E){return .2126*S(E.r)+.7152*S(E.g)+.0722*S(E.b)}function Q(E,A){const H=D(E),L=D(A);return(Math.max(H,L)+.05)/(Math.min(H,L)+.05)}function m(E,A,H){return{r:K(E.r+(A.r-E.r)*H),g:K(E.g+(A.g-E.g)*H),b:K(E.b+(A.b-E.b)*H)}}const g=E=>"#"+[E.r,E.g,E.b].map(A=>K(A).toString(16).padStart(2,"0")).join(""),p=(E,A)=>`rgba(${K(E.r)},${K(E.g)},${K(E.b)},${A})`;function h(E,A,H){const L=(E%360+360)%360/60,s=(1-Math.abs(2*H-1))*A,t=s*(1-Math.abs(L%2-1)),v=H-s/2,[x,C,I]=L<1?[s,t,0]:L<2?[t,s,0]:L<3?[0,s,t]:L<4?[0,t,s]:L<5?[t,0,s]:[s,0,t];return{r:K((x+v)*255),g:K((C+v)*255),b:K((I+v)*255)}}function u(E){const A=String(E??"").trim().toLowerCase();if(!A)return null;const H=/^#([0-9a-f]{3,8})$/.exec(A);if(H){const x=H[1];return x.length===3||x.length===4?{r:parseInt(x[0]+x[0],16),g:parseInt(x[1]+x[1],16),b:parseInt(x[2]+x[2],16)}:x.length===6||x.length===8?{r:parseInt(x.slice(0,2),16),g:parseInt(x.slice(2,4),16),b:parseInt(x.slice(4,6),16)}:null}const L=/^(rgba?|hsla?)\(([^)]*)\)$/.exec(A);if(!L)return null;const s=L[2].replace(/\//g," ").split(/[\s,]+/).filter(Boolean);if(s.length<3)return null;const t=x=>parseFloat(x);let v;if(L[1].startsWith("rgb")){const x=C=>C.endsWith("%")?t(C)/100*255:t(C);v={r:K(x(s[0])),g:K(x(s[1])),b:K(x(s[2]))}}else{const x=I=>I.endsWith("%")?t(I)/100:t(I),C=I=>Math.max(0,Math.min(1,x(I)));v=h(t(s[0]),C(s[1]),C(s[2]))}return Number.isNaN(v.r+v.g+v.b)?null:v}function B(E,A){const H=D(A)>.5?W:pe;let L=E;for(let s=1;s<=20&&Q(L,A)<y;s+=1)L=m(E,H,s/20);return L}const f=E=>Q(E,pe)>=Q(E,W)?pe:W;function z(E,A){const H=A==="dark",L=B(E,H?X:G),s=H?m(L,pe,.22):m(L,W,.2),t=H?B(E,G):L;return{"--ed-accent":g(L),"--ed-accent-strong":g(s),"--ed-accent-ink":g(f(L)),"--ed-accent-tint":g(m(L,pe,.34)),"--ed-soft":p(L,H?.13:.09),"--ed-glow":p(L,.28),"--ed-select":p(L,H?.3:.22),"--ed-accent-sheet":g(t),"--ed-accent-sheet-strong":g(m(t,W,.22)),"--ed-accent-sheet-ink":g(f(t)),"--ed-accent-sheet-line":p(t,.5)}}const N=Object.keys(z({r:0,g:0,b:0},"light"));Object.assign($,{contrast:Q,toHex:g,parseColor:u,accentTokens:z,ACCENT_VARS:N})},ge["core/assets.js"]=function(be,$,F){Object.assign($,{KB:X=>X>1048576?(X/1048576).toFixed(1)+" MB":Math.round(X/1024)+" KB"})},ge["core/binder.js"]=function(be,$,F){function G(W,y,K){return{head:S=>({kind:"head",label:S}),text:(S,D,Q,m)=>({kind:"text",label:S,value:W()[D]??"",placeholder:Q||"",suggestions:Array.isArray(m)&&m.length?m:null,onChange:g=>y(D,g)}),area:(S,D,Q)=>({kind:"area",label:S,value:W()[D]??"",placeholder:Q||"",onChange:m=>y(D,m)}),num:(S,D,Q,m)=>({kind:"num",label:S,value:W()[D]??0,min:Q,max:m,onChange:g=>{const p=parseFloat(g);Number.isFinite(p)&&y(D,p)},onBlur:g=>{if(K&&K.rendering)return;const p=parseFloat(g);y(D,Math.min(m,Math.max(Q,Number.isFinite(p)?p:W()[D]??Q)))}}),color:(S,D,Q)=>{const m=W()[D]??"",g=String(m).trim(),p=/^(transparent|none)$/i.test(g)||/^rgba\([^)]*,\s*0*(?:\.0+)?\s*\)$/i.test(g);return{kind:"color",label:S,value:m,swatch:/^#/.test(m||"")?m:"#ffffff",transparent:p,clearable:!!(Q&&Q.transparent),onChange:h=>y(D,h),onToggleTransparent:()=>y(D,p?Q&&Q.solid||"#ffffff":"transparent")}},range:(S,D,Q,m,g,p)=>{const h=W()[D]??Q,u=g||1,B=(String(u).split(".")[1]||"").length,f=E=>Math.min(m,Math.max(Q,E)),z=E=>Number(E.toFixed(B)),N=E=>y(D,z(f(E)));return{kind:"range",label:S,value:h,min:Q,max:m,step:u,unit:p||"",display:h+(p||""),onDec:()=>N(h-u),onInc:()=>N(h+u),onInput:E=>{const A=parseFloat(E);Number.isNaN(A)||y(D,A)},onBlur:E=>{if(K&&K.rendering)return;const A=parseFloat(E);N(Number.isNaN(A)?h:A)}}},slider:(S,D,Q,m,g,p)=>({kind:"slider",label:S,value:W()[D]??Q,min:Q,max:m,step:g||1,unit:p||"",onCommit:h=>{const u=parseFloat(h);Number.isFinite(u)&&y(D,Math.min(m,Math.max(Q,u)))}}),sel:(S,D,Q)=>{const m=Q.map(p=>typeof p=="string"?{value:p,label:p}:p),g=W()[D];return{kind:"select",label:S,value:g??m[0]?.value??"",options:m,onChange:p=>y(D,p)}},seg:(S,D,Q)=>({kind:"seg",label:S,options:Q.map(m=>{const g=typeof m=="string"?m:m.value,p=typeof m=="string"?m:m.label,h=W()[D]===g;return{label:p,bg:h?"var(--ed-accent)":"transparent",fg:h?"var(--ed-accent-ink)":"var(--ed-muted)",onClick:()=>y(D,g)}})}),tog:(S,D,Q)=>{const m=W()[D],g=m===void 0?!!Q:!!m;return{kind:"toggle",label:S,on:g,onChange:()=>y(D,!g)}},btn:(S,D)=>({kind:"btn",label:S,onClick:D})}}function X(W,y,K){return{kind:"rangeGroup",label:W,items:y,toggle:K||null}}function pe(W){return W.filter(Boolean).map((y,K)=>{const S=Object.assign({},y,{key:K,isHead:y.kind==="head",isArea:y.kind==="area",isBtn:y.kind==="btn",isSeg:y.kind==="seg",isRange:y.kind==="range",isToggle:y.kind==="toggle",isSocial:y.kind==="social",isTableGrid:y.kind==="tablegrid",isRichLinks:y.kind==="richLinks",isRangeGroup:y.kind==="rangeGroup",isSlider:y.kind==="slider",isRow:["text","num","color","select"].indexOf(y.kind)>-1,isField:["text","num","color","select"].indexOf(y.kind)>-1,isText:y.kind==="text",isNum:y.kind==="num",isColor:y.kind==="color",isSelect:y.kind==="select"});return S.isRangeGroup&&(S.items=y.items.map((D,Q)=>Object.assign({},D,{key:K+"g"+Q,isRange:!0}))),S})}Object.assign($,{binder:G,group:X,decorate:pe})},ge["core/blocks.js"]=function(be,$,F){const{uid:G}=F("core/ids.js"),{PH:X}=F("core/placeholder.js"),{THEME:pe}=F("core/theme.js"),W=[{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:X("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:X("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"})}];W.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:"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})}),Z.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})}),Z.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 b=S=>Z.find(j=>j.type===S),K=S=>({id:q(),type:S,props:b(S).make()}),x=(S,j)=>{const N=K(S);return Object.assign(N.props,j||{}),N},M=[{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"}],V=(S,j)=>({id:q(),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",mobileCols:1,mobileOrder:"normal"},cols:S.map((N,E)=>({id:q(),span:N,blocks:E===0&&j?j:[]}))}),u=S=>m[S]?m[S].build():[],m={hero:{label:"Hero",icon:"hero",build:()=>{const S=V([100]);return Object.assign(S.props,{py:56,px:36,bgImage:Y("hero background 1200 × 560",1200,560),overlay:46,gap:0}),S.cols[0].blocks=[x("text",{html:"AUTUMN 2026",size:11,align:"center",color:"#ffffff",py:0}),x("heading",{text:"Built for the long haul",size:44,align:"center",color:"#ffffff",py:10}),x("text",{html:"Waxed cotton, storm cuffs, and a repair promise that outlives the season.",size:15,align:"center",color:"#ffffff",py:4}),x("button",{label:"Shop the drop",align:"center",bg:"#ffffff",color:"#172033",radius:8})],[S]}},card:{label:"Card",icon:"card",build:()=>{const S=V([100]);return Object.assign(S.props,{bg:"#f8fafc",border:1,lineColor:"#e2e8f0",radius:12,py:0,px:0,gap:0}),S.cols[0].blocks=[x("image",{src:Y("card image 520 × 300",520,300),alt:"Inside the workshop",py:0,px:0}),x("heading",{text:"Inside the workshop",size:22,py:16,px:20}),x("text",{html:"Three benches, two machines, and a rule about finishing what you start.",size:13.5,py:0,px:20}),x("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=V([45,55]);return Object.assign(S.props,{valign:"middle",py:16}),S.cols[0].blocks=[x("image",{src:Y("product shot 520 × 520",520,520),alt:"Field Jacket 03",py:0,px:0})],S.cols[1].blocks=[x("heading",{text:"Field Jacket 03",size:26,py:0}),x("text",{html:"<strong>$248</strong> — waxed cotton, storm cuffs, cut and sewn in Portugal.",size:14,py:8}),x("button",{label:"View product"})],[S]}},stats:{label:"Stats",icon:"stats",build:()=>{const S=V([33,34,33]);return Object.assign(S.props,{py:22,gap:8}),[["12k","Subscribers"],["41%","Open rate"],["8.2%","Click rate"]].forEach((j,N)=>{S.cols[N].blocks=[x("heading",{text:j[0],size:32,align:"center",color:"#0065b3",py:0}),x("text",{html:j[1].toUpperCase(),size:11,align:"center",py:4})]}),[S]}},quote:{label:"Quote",icon:"quote",build:()=>{const S=V([100]);return Object.assign(S.props,{py:18,gap:0}),S.cols[0].blocks=[x("text",{html:"<em>“It shipped in a week and nobody asked me for a spec.”</em>",size:19,lh:1.45,py:0}),x("text",{html:"RAE OKONKWO, FOUNDRY SUPPLY",size:11,py:6})],[S]}},gallery:{label:"Gallery",icon:"gallery",build:()=>{const S=V([50,50]);return Object.assign(S.props,{py:10,gap:10}),S.cols[0].blocks=[x("image",{src:Y("image 01",400,300),alt:"",py:0,px:0}),x("image",{src:Y("image 03",400,300),alt:"",py:10,px:0})],S.cols[1].blocks=[x("image",{src:Y("image 02",400,300),alt:"",py:0,px:0}),x("image",{src:Y("image 04",400,300),alt:"",py:10,px:0})],[S]}},footer:{label:"Footer",icon:"footer",build:()=>{const S=V([100]);return Object.assign(S.props,{py:22,gap:0}),S.cols[0].blocks=[x("divider",{py:0}),x("social",{align:"center",size:18,shape:"bare"}),x("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}),x("text",{html:'<a href="{{ unsubscribe_url }}">Unsubscribe</a> · <a href="#">Update preferences</a>',size:11.5,align:"center",py:0})],[S]}}},o=[{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:"menu"},{g:"footer"},{t:"html"},{t:"css"},{t:"svg"},{t:"codeblock"},{t:"countdown"},{t:"condition"},{t:"loop"}],f=()=>({theme:de(),rows:[V([100])]});function P(S){const j=V([100]).props,N=[];return(S.rows||[]).forEach(E=>{const A=E.cols.some(L=>L.blocks.length),w=E.props.my??0;E.props.mt===void 0&&(E.props.mt=w),E.props.mr===void 0&&(E.props.mr=0),E.props.mb===void 0&&(E.props.mb=w),E.props.ml===void 0&&(E.props.ml=0),E.cols.forEach(L=>{L.blocks.forEach(d=>{if(d.type!=="embed")return;const a=d.props||{};d.type="html",d.props={code:'<div style="padding:'+(a.py||0)+'px 0"><iframe src="'+(a.src||"")+'" title="'+(a.label||"")+'" style="width:100%;height:'+(a.height||320)+'px;border:1px solid rgba(29,31,32,0.14);background:#fff;display:block"></iframe></div>'}}),L.blocks=L.blocks.filter(d=>b(d.type)),L.blocks.forEach(d=>{d.type==="social"&&d.props.shape==="solid"&&(d.props.shape="square")})}),E.props.mobileCols===void 0&&E.props.stackMobile!==void 0&&(E.props.mobileCols=E.props.stackMobile===!1?"keep":1),Object.keys(j).forEach(L=>{E.props[L]===void 0&&(E.props[L]=j[L])}),A&&!E.cols.some(L=>L.blocks.length)&&N.push(E.id)}),S.rows=(S.rows||[]).filter(E=>N.indexOf(E.id)<0),S}function I(S){if(!S||typeof S!="object"||Array.isArray(S))return null;const j=V([100]).props,N=(Array.isArray(S.rows)?S.rows:[]).filter(A=>A&&typeof A=="object"),E={theme:Object.assign(de(),S.theme||{}),rows:N.map(A=>{const w=Array.isArray(A.cols)&&A.cols.length?A.cols.filter(a=>a&&typeof a=="object"):[{}],L=w.length?w:[{}],d=Math.round(100/L.length);return{id:A.id||q(),props:Object.assign({},j,A.props||{}),cols:L.map(a=>{const g={id:a.id||q(),span:Number(a.span)>0?Number(a.span):d,blocks:(Array.isArray(a.blocks)?a.blocks:[]).filter(v=>v&&typeof v=="object"&&v.type).map(v=>b(v.type)?{id:v.id||q(),type:v.type,props:Object.assign(b(v.type).make(),v.props||{})}:{id:v.id||q(),type:v.type,props:v.props||{}})};return["bg","radius","padY","padX","border","borderStyle","lineColor"].forEach(v=>{a[v]!==void 0&&a[v]!==""&&a[v]!==0&&(g[v]=a[v])}),g})}})};return E.rows.length?P(E):null}Object.assign($,{BLOCKS:Z,DEF:b,mk:K,blk:x,LAYOUTS:M,mkRow:V,groupRows:u,GROUPS:m,PALETTE:o,blankDoc:f,migrateDoc:P,normalizeDoc:I})},ue["core/brand.js"]=function(he,$,D){const q="http://www.w3.org/2000/svg",Y=["M245.455 68.1627V129.877L168.982 156.67V93.9638L245.455 68.1627Z","M240.389 62.3805L165.49 87.6573L5.30933 24.2563L85.3314 0L240.389 62.3805Z","M161.797 93.8295V156.43L81.1141 122.607V188.07L0 152.738V29.6846L161.797 93.8295Z","M76.4728 266.036L0 291.837V230.123L76.4728 203.329V266.036Z","M160.123 360L5.07178 297.619L79.964 272.343L240.145 335.744L160.123 360Z","M245.454 330.315L83.657 266.17V203.57L164.34 237.393V171.93L245.454 207.262V330.315Z"],de=["M137 38.4761V73.3121L94.3168 88.4361V53.0401L137 38.4761Z","M134.173 35.212L92.368 49.48L2.9635 13.692L47.6276 0L134.173 35.212Z","M90.3067 52.9639V88.2999L45.2737 69.2079V106.16L0 86.2159V16.7559L90.3067 52.9639Z","M42.6832 146.96L0 161.524V126.688L42.6832 111.564V146.96Z","M89.3723 200L2.83105 164.788L44.632 150.52L134.036 186.308L89.3723 200Z","M137 183.244L46.6932 147.036V111.7L91.7263 130.792V93.8398L137 113.784V183.244Z"],Z=["M198.375 79.4375H210.781C214.323 79.4375 216.896 78.7708 218.5 77.4375C220.125 76.1042 220.938 74.2188 220.938 71.7812V71.6875C220.938 70.0208 220.635 68.5938 220.031 67.4062C219.448 66.1979 218.521 65.2708 217.25 64.625C215.979 63.9792 214.344 63.6562 212.344 63.6562H198.375V58.6875H212.344C214.99 58.6875 216.979 58.0833 218.312 56.875C219.667 55.6667 220.344 53.875 220.344 51.5C220.344 49.0208 219.604 47.1667 218.125 45.9375C216.646 44.7083 214.427 44.0938 211.469 44.0938H198.375V39.0625H212.531C215.469 39.0625 217.927 39.5625 219.906 40.5625C221.885 41.5625 223.365 42.9792 224.344 44.8125C225.323 46.6458 225.812 48.8333 225.812 51.375C225.812 52.9167 225.51 54.375 224.906 55.75C224.302 57.1042 223.375 58.2708 222.125 59.25C220.896 60.2292 219.365 60.8854 217.531 61.2188C219.365 61.4896 220.948 62.1458 222.281 63.1875C223.615 64.2083 224.635 65.4896 225.344 67.0312C226.052 68.5729 226.406 70.2396 226.406 72.0312V72.125C226.406 74.5833 225.865 76.75 224.781 78.625C223.698 80.5 222.146 81.9479 220.125 82.9688C218.104 83.9896 215.75 84.5 213.062 84.5H198.375V79.4375ZM194.625 39.0625H200.062V84.5H194.625V39.0625ZM240.11 76.0312C240.11 77.1146 240.36 77.9583 240.86 78.5625C241.381 79.1458 242.1 79.4375 243.016 79.4375H246.016V84.5625H242.266C239.85 84.5625 237.975 83.8125 236.641 82.3125C235.329 80.8125 234.673 78.6979 234.673 75.9688V39.0625H240.11V76.0312ZM265.033 84.9688C262.22 84.9688 259.814 84.4167 257.814 83.3125C255.814 82.2083 254.283 80.6042 253.22 78.5C252.178 76.375 251.658 73.8229 251.658 70.8438V65.5625C251.658 62.625 252.178 60.1146 253.22 58.0312C254.283 55.9271 255.814 54.3333 257.814 53.25C259.814 52.1458 262.22 51.5938 265.033 51.5938C267.845 51.5938 270.251 52.1458 272.251 53.25C274.251 54.3333 275.772 55.9271 276.814 58.0312C277.876 60.1146 278.408 62.625 278.408 65.5625V70.9375C278.408 73.8958 277.876 76.4271 276.814 78.5312C275.772 80.6146 274.251 82.2083 272.251 83.3125C270.251 84.4167 267.845 84.9688 265.033 84.9688ZM265.033 79.8438C267.553 79.8438 269.501 79.0625 270.876 77.5C272.272 75.9375 272.97 73.75 272.97 70.9375V65.5625C272.97 62.75 272.272 60.5729 270.876 59.0312C269.501 57.4896 267.553 56.7188 265.033 56.7188C262.512 56.7188 260.553 57.4896 259.158 59.0312C257.783 60.5729 257.095 62.75 257.095 65.5625V70.9375C257.095 73.75 257.783 75.9375 259.158 77.5C260.553 79.0625 262.512 79.8438 265.033 79.8438ZM299.924 84.9688C296.882 84.9688 294.32 84.4375 292.236 83.375C290.153 82.2917 288.57 80.7083 287.486 78.625C286.424 76.5208 285.893 73.9375 285.893 70.875V65.5312C285.893 62.5104 286.424 59.9688 287.486 57.9062C288.57 55.8229 290.153 54.25 292.236 53.1875C294.32 52.125 296.882 51.5938 299.924 51.5938C301.653 51.5938 303.257 51.7917 304.736 52.1875C306.215 52.5833 307.538 53.1667 308.705 53.9375C309.872 54.6875 310.861 55.6354 311.674 56.7812L307.705 60.3125C306.705 59.125 305.549 58.2292 304.236 57.625C302.924 57.0208 301.518 56.7188 300.018 56.7188C297.184 56.7188 295.028 57.4688 293.549 58.9688C292.07 60.4479 291.33 62.6354 291.33 65.5312V70.875C291.33 73.8125 292.07 76.0417 293.549 77.5625C295.028 79.0833 297.184 79.8438 300.018 79.8438C301.58 79.8438 303.028 79.5417 304.361 78.9375C305.715 78.3125 306.903 77.4062 307.924 76.2188L311.674 79.875C310.84 80.9792 309.84 81.9167 308.674 82.6875C307.507 83.4375 306.184 84.0104 304.705 84.4062C303.247 84.7812 301.653 84.9688 299.924 84.9688ZM321.065 72.8125L338.596 52.0625H345.003L320.409 79.75L321.065 72.8125ZM318.065 39.0625H323.503V84.5H318.065V39.0625ZM329.409 66.3438L332.784 62.0938L346.596 84.5H340.409L329.409 66.3438ZM362.613 84.9688C360.779 84.9688 359.029 84.7917 357.363 84.4375C355.717 84.0625 354.165 83.5208 352.706 82.8125C351.269 82.1042 349.967 81.2396 348.8 80.2188L351.988 76.3125C353.758 77.5625 355.55 78.5208 357.363 79.1875C359.175 79.8542 360.925 80.1875 362.613 80.1875C365.425 80.1875 367.571 79.7292 369.05 78.8125C370.529 77.875 371.269 76.5312 371.269 74.7812C371.269 73.5521 370.894 72.6354 370.144 72.0312C369.394 71.4062 368.446 70.9896 367.3 70.7812C366.175 70.5729 364.592 70.3854 362.55 70.2188C362.363 70.2188 362.165 70.2188 361.956 70.2188C361.748 70.1979 361.55 70.1771 361.363 70.1562C361.279 70.1562 361.196 70.1562 361.113 70.1562C361.029 70.1354 360.946 70.125 360.863 70.125C358.738 69.9375 356.946 69.625 355.488 69.1875C354.05 68.75 352.842 67.9375 351.863 66.75C350.904 65.5625 350.425 63.8542 350.425 61.625C350.425 59.4375 350.915 57.6042 351.894 56.125C352.873 54.625 354.31 53.5 356.206 52.75C358.102 51.9792 360.435 51.5938 363.206 51.5938C364.748 51.5938 366.258 51.7396 367.738 52.0312C369.217 52.3229 370.623 52.7604 371.956 53.3438C373.31 53.9062 374.581 54.6146 375.769 55.4688L372.55 59.3438C370.967 58.3646 369.363 57.625 367.738 57.125C366.133 56.625 364.592 56.375 363.113 56.375C360.654 56.375 358.779 56.8125 357.488 57.6875C356.196 58.5625 355.55 59.8333 355.55 61.5C355.55 62.5833 355.904 63.3958 356.613 63.9375C357.342 64.4792 358.248 64.8438 359.331 65.0312C360.415 65.1979 361.935 65.3333 363.894 65.4375C363.998 65.4583 364.102 65.4688 364.206 65.4688C364.331 65.4688 364.446 65.4792 364.55 65.5C364.613 65.5 364.675 65.5 364.738 65.5C364.8 65.5 364.863 65.5104 364.925 65.5312C367.196 65.6562 369.123 65.9479 370.706 66.4062C372.31 66.8438 373.654 67.7292 374.738 69.0625C375.821 70.375 376.363 72.2812 376.363 74.7812C376.363 77.0104 375.842 78.875 374.8 80.375C373.758 81.875 372.217 83.0208 370.175 83.8125C368.133 84.5833 365.613 84.9688 362.613 84.9688Z","M194.6250 164.5000V113.3830H209.2415L222.2737 149.9422H220.4842L233.5164 113.3830H248.1109V164.5000H238.1148V125.0732L239.0389 125.2493L226.2267 159.9677H216.5312L203.6970 125.2493L204.6211 125.0732V164.5000ZM278.3938 164.5000 277.6457 159.3443V141.6330Q277.6457 138.5822 275.6693 137.1301Q273.6928 135.6780 270.4293 135.6780Q267.5470 135.6780 264.5182 136.7854Q261.4893 137.8928 259.2231 139.8289L254.5954 133.2431Q258.5264 130.1849 262.5417 128.8941Q266.5570 127.6033 271.2286 127.6033Q278.7532 127.6033 282.9738 131.3473Q287.1945 135.0912 287.1945 141.6330V164.5000ZM267.6717 165.2407Q263.7188 165.2407 260.5725 163.7593Q257.4263 162.2778 255.6222 159.5570Q253.8180 156.8361 253.8180 153.2572Q253.8180 150.1476 255.1308 147.8778Q256.4436 145.6080 258.6071 144.3832Q260.3599 143.3418 262.5857 142.8908Q264.8115 142.4397 267.3197 142.4397H278.4378V149.5463H268.7131Q267.6130 149.5463 266.5973 149.7370Q265.5816 149.9276 264.8262 150.4703Q264.1808 150.9470 263.8105 151.6621Q263.4401 152.3771 263.4401 153.2792Q263.4401 155.2153 264.9766 156.3630Q266.5130 157.5108 269.0798 157.5108Q271.4193 157.5108 273.3628 156.5024Q275.3062 155.4940 276.4760 153.7302Q277.6457 151.9664 277.6457 149.7076L280.0586 154.8634Q278.9511 158.6476 277.0187 160.9358Q275.0862 163.2239 272.6807 164.2323Q270.2752 165.2407 267.6717 165.2407ZM293.5324 164.5000V128.3441H303.1324V164.5000ZM293.3050 122.8950V113.3830H303.4111V122.8950ZM318.5276 165.2407Q314.7654 165.2407 312.2498 162.9562Q309.7343 160.6717 309.7343 155.6847V113.3830H319.2831V153.7925Q319.2831 155.2006 319.9835 155.7947Q320.6838 156.3887 321.7912 156.3887Q322.3999 156.3887 323.0270 156.2677Q323.6540 156.1467 324.3287 155.9560V164.1113Q322.7740 164.7274 321.2522 164.9840Q319.7304 165.2407 318.5276 165.2407ZM351.5828 165.6881Q344.2856 165.6881 338.7376 162.3365Q333.1895 158.9849 330.0909 152.9565Q326.9924 146.9281 326.9924 138.9048Q326.9924 130.8816 330.0909 124.8898Q333.1895 118.8981 338.7376 115.5465Q344.2856 112.1949 351.5828 112.1949Q359.7967 112.1949 365.7518 116.2909Q371.7069 120.3868 374.3031 127.5960L364.9011 130.9990Q363.3023 126.6280 359.8811 124.1858Q356.4598 121.7436 351.5828 121.7436Q347.1458 121.7436 343.8493 123.8265Q340.5527 125.9093 338.7706 129.7265Q336.9885 133.5438 336.9885 138.9048Q336.9885 144.2659 338.7706 148.1198Q340.5527 151.9737 343.8493 154.0565Q347.1458 156.1393 351.5828 156.1393Q356.4598 156.1393 359.8811 153.6862Q363.3023 151.2330 364.9011 146.8840L374.3031 150.2650Q371.7069 157.4008 365.7518 161.5445Q359.7967 165.6881 351.5828 165.6881ZM378.8149 164.5000V128.3441H388.4883V138.1788L387.0802 138.2888Q387.2856 135.1646 388.9210 132.7554Q390.5564 130.3462 393.0060 128.9748Q395.4555 127.6033 398.0003 127.6033Q399.8411 127.6033 401.5096 128.0984Q403.1780 128.5934 404.9968 129.7302L400.3765 138.3842Q399.5991 137.8928 398.3120 137.5225Q397.0249 137.1521 395.7708 137.1521Q394.3700 137.1521 393.0573 137.6581Q391.7445 138.1642 390.7361 139.2239Q389.7277 140.2836 389.1484 141.9631Q388.8037 142.9898 388.6203 144.5886Q388.4370 146.1874 388.4370 149.2016V164.5000ZM430.7987 164.5000 430.0507 159.3443V141.6330Q430.0507 138.5822 428.0742 137.1301Q426.0977 135.6780 422.8342 135.6780Q419.9520 135.6780 416.9231 136.7854Q413.8942 137.8928 411.6280 139.8289L407.0004 133.2431Q410.9313 130.1849 414.9466 128.8941Q418.9619 127.6033 423.6336 127.6033Q431.1581 127.6033 435.3788 131.3473Q439.5994 135.0912 439.5994 141.6330V164.5000ZM420.0767 165.2407Q416.1237 165.2407 412.9775 163.7593Q409.8313 162.2778 408.0271 159.5570Q406.2230 156.8361 406.2230 153.2572Q406.2230 150.1476 407.5358 147.8778Q408.8485 145.6080 411.0120 144.3832Q412.7648 143.3418 414.9906 142.8908Q417.2164 142.4397 419.7246 142.4397H430.8427V149.5463H421.1181Q420.0180 149.5463 419.0023 149.7370Q417.9865 149.9276 417.2312 150.4703Q416.5858 150.9470 416.2154 151.6621Q415.8451 152.3771 415.8451 153.2792Q415.8451 155.2153 417.3815 156.3630Q418.9179 157.5108 421.4848 157.5108Q423.8243 157.5108 425.7677 156.5024Q427.7112 155.4940 428.8809 153.7302Q430.0507 151.9664 430.0507 149.7076L432.4635 154.8634Q431.3561 158.6476 429.4236 160.9358Q427.4911 163.2239 425.0857 164.2323Q422.6802 165.2407 420.0767 165.2407ZM448.7902 164.5000V135.8027H442.3877V128.3441H448.8635V124.6772Q448.8635 119.9028 450.4403 117.2883Q452.0171 114.6738 454.6353 113.6580Q457.2535 112.6423 460.3190 112.6423Q462.6072 112.6423 464.3013 113.0603Q465.9954 113.4783 467.5429 114.2117L464.4627 121.5236Q463.7586 121.1349 462.9849 120.8782Q462.2112 120.6216 461.3898 120.6216Q459.7103 120.6216 459.0613 121.7546Q458.4123 122.8877 458.4123 124.7285V128.3441H465.9735V135.8027H458.4123V164.5000ZM483.8475 165.2407Q480.9213 165.2407 478.3435 164.1223Q475.7656 163.0039 474.2071 160.4700Q472.6487 157.9362 472.6487 153.6679V120.1522L482.3441 114.9378V150.9763Q482.3441 154.1372 483.1948 155.7617Q484.0456 157.3861 486.4877 157.3861Q487.2211 157.3861 488.1452 157.2284Q489.0693 157.0708 490.1400 156.7774V164.1333Q488.5925 164.6980 487.0341 164.9694Q485.4757 165.2407 483.8475 165.2407ZM466.1949 135.8027V128.3441H490.1400V135.8027Z"];function b(V,u,m){const o=document.createElementNS(q,"svg");return o.setAttribute("viewBox",V),o.setAttribute("width",String(Math.round(u))),o.setAttribute("height",String(Math.round(m))),o.setAttribute("fill","none"),o.style.display="block",o.style.flex="none",o}function K(V,u,m){u.forEach(o=>{const f=document.createElementNS(q,"path");f.setAttribute("d",o),f.setAttribute("fill",m),V.appendChild(f)})}function x(V){const u=V||22,m=b("0 0 245.455 360",u*245.455/360,u);return m.setAttribute("role","img"),m.setAttribute("aria-label","Blocks"),K(m,Y,"var(--ed-logo-mark)"),m}function M(V){const u=V||34,m=b("0 0 557 200",u*557/200,u);return m.setAttribute("role","img"),m.setAttribute("aria-label","Blocks MailCraft"),K(m,de,"var(--ed-logo-mark)"),K(m,Z,"var(--ed-logo-text)"),m}Object.assign($,{brandMark:x,brandLockup:M})},ue["core/code-tools.js"]=function(he,$,D){const q=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Y=new Set(["style","script","textarea","title"]),de=new Set(["html","head","body","meta","title","link","style","script","table","thead","tbody","tfoot","tr","td","th","ul","ol","li"]),Z=new Set(["pre","textarea"]);function b(S,j){let N="";for(let E=j;E<S.length;E++){const A=S[E];if(N)A===N&&(N="");else if(A==='"'||A==="'")N=A;else if(A===">")return E}return-1}const K=/^[a-zA-Z][a-zA-Z0-9-]*/;function x(S){const j=String(S??""),N=j.toLowerCase(),E=j.length,A=[],w=(a,g)=>{g>a&&A.push({kind:"text",text:j.slice(a,g)})};let L=0,d=0;for(;d<E;){const a=j.indexOf("<",d);if(a===-1)break;const g=j[a+1];if(g==="!"||g==="?"){let v,C="decl";if(j.startsWith("<!--",a)){const F=j.indexOf("-->",a+4);v=F===-1?E:F+3,C="comment"}else{const F=b(j,a+1);v=F===-1?E:F+1}w(L,a),A.push({kind:C,text:j.slice(a,v)}),L=d=v;continue}if(g==="/"&&K.test(j.slice(a+2,a+3))){const v=b(j,a+2),C=v===-1?E:v+1,F=K.exec(N.slice(a+2,a+32))[0];w(L,a),A.push({kind:"close",tag:F,text:j.slice(a,C)}),L=d=C;continue}if(g&&K.test(g)){const v=b(j,a+1),C=v===-1?E:v+1,F=K.exec(N.slice(a+1,a+32))[0],W=j[C-2]==="/";if(w(L,a),A.push({kind:"tag",tag:F,text:j.slice(a,C),selfClose:W}),L=d=C,Y.has(F)&&!W){const ae=N.indexOf("</"+F,C),J=ae===-1?E:ae;J>C&&A.push({kind:"raw",tag:F,text:j.slice(C,J)}),L=d=J}continue}d=a+1}return w(L,E),A}const M=S=>/^\{\{[#/][^{}]*\}\}$/.test(S);function V(S){const j=x(S),N=[];for(const g of j){if(g.kind!=="text"){N.push(g);continue}const v=/^(\s*)([\s\S]*?)(\s*)$/.exec(g.text);if(v[2]===""){N.push({kind:"gap",text:g.text});continue}v[1]&&N.push({kind:"gap",text:v[1]}),N.push({kind:"text",text:v[2]}),v[3]&&N.push({kind:"gap",text:v[3]})}const E=g=>!!g&&((g.kind==="tag"||g.kind==="close")&&de.has(g.tag)||g.kind==="decl"||g.kind==="text"&&M(g.text));let A="",w=!1;const L=[];let d=null,a=null;for(const g of N){if(g.kind==="gap"){a=(a||"")+g.text;continue}if(g.kind==="close"){const F=L.lastIndexOf(g.tag);F!==-1&&(L.length=F)}const v=L.some(F=>Z.has(F)),C=w&&!v&&(a!==null&&a!==""||E(d)&&E(g)||E(d)&&g.kind==="comment"||d&&d.kind==="comment"&&E(g));w&&C?A+=`
|
|
14
|
-
`+" ".repeat(L.length):
|
|
13
|
+
-d campaign=mc-4471`,bg:"#172033",color:"#e8e9ea",size:12.5,pad:14})}),W.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})}),W.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 y=f=>W.find(z=>z.type===f),K=f=>({id:G(),type:f,props:y(f).make()}),S=(f,z)=>{const N=K(f);return Object.assign(N.props,z||{}),N},D=[{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"}],Q=(f,z)=>({id:G(),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",mobileCols:1,mobileOrder:"normal"},cols:f.map((N,E)=>({id:G(),span:N,blocks:E===0&&z?z:[]}))}),m=f=>g[f]?g[f].build():[],g={hero:{label:"Hero",icon:"hero",build:()=>{const f=Q([100]);return Object.assign(f.props,{py:56,px:36,bgImage:X("hero background 1200 × 560",1200,560),overlay:46,gap:0}),f.cols[0].blocks=[S("text",{html:"AUTUMN 2026",size:11,align:"center",color:"#ffffff",py:0}),S("heading",{text:"Built for the long haul",size:44,align:"center",color:"#ffffff",py:10}),S("text",{html:"Waxed cotton, storm cuffs, and a repair promise that outlives the season.",size:15,align:"center",color:"#ffffff",py:4}),S("button",{label:"Shop the drop",align:"center",bg:"#ffffff",color:"#172033",radius:8})],[f]}},card:{label:"Card",icon:"card",build:()=>{const f=Q([100]);return Object.assign(f.props,{bg:"#f8fafc",border:1,lineColor:"#e2e8f0",radius:12,py:0,px:0,gap:0}),f.cols[0].blocks=[S("image",{src:X("card image 520 × 300",520,300),alt:"Inside the workshop",py:0,px:0}),S("heading",{text:"Inside the workshop",size:22,py:16,px:20}),S("text",{html:"Three benches, two machines, and a rule about finishing what you start.",size:13.5,py:0,px:20}),S("button",{label:"Read the story",bg:"#0065b3",color:"#ffffff",size:13,py:10,px:18,align:"left"})],[f]}},product:{label:"Product",icon:"product",build:()=>{const f=Q([45,55]);return Object.assign(f.props,{valign:"middle",py:16}),f.cols[0].blocks=[S("image",{src:X("product shot 520 × 520",520,520),alt:"Field Jacket 03",py:0,px:0})],f.cols[1].blocks=[S("heading",{text:"Field Jacket 03",size:26,py:0}),S("text",{html:"<strong>$248</strong> — waxed cotton, storm cuffs, cut and sewn in Portugal.",size:14,py:8}),S("button",{label:"View product"})],[f]}},stats:{label:"Stats",icon:"stats",build:()=>{const f=Q([33,34,33]);return Object.assign(f.props,{py:22,gap:8}),[["12k","Subscribers"],["41%","Open rate"],["8.2%","Click rate"]].forEach((z,N)=>{f.cols[N].blocks=[S("heading",{text:z[0],size:32,align:"center",color:"#0065b3",py:0}),S("text",{html:z[1].toUpperCase(),size:11,align:"center",py:4})]}),[f]}},quote:{label:"Quote",icon:"quote",build:()=>{const f=Q([100]);return Object.assign(f.props,{py:18,gap:0}),f.cols[0].blocks=[S("text",{html:"<em>“It shipped in a week and nobody asked me for a spec.”</em>",size:19,lh:1.45,py:0}),S("text",{html:"RAE OKONKWO, FOUNDRY SUPPLY",size:11,py:6})],[f]}},gallery:{label:"Gallery",icon:"gallery",build:()=>{const f=Q([50,50]);return Object.assign(f.props,{py:10,gap:10}),f.cols[0].blocks=[S("image",{src:X("image 01",400,300),alt:"",py:0,px:0}),S("image",{src:X("image 03",400,300),alt:"",py:10,px:0})],f.cols[1].blocks=[S("image",{src:X("image 02",400,300),alt:"",py:0,px:0}),S("image",{src:X("image 04",400,300),alt:"",py:10,px:0})],[f]}},footer:{label:"Footer",icon:"footer",build:()=>{const f=Q([100]);return Object.assign(f.props,{py:22,gap:0}),f.cols[0].blocks=[S("divider",{py:0}),S("social",{align:"center",size:18,shape:"bare"}),S("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}),S("text",{html:'<a href="{{ unsubscribe_url }}">Unsubscribe</a> · <a href="#">Update preferences</a>',size:11.5,align:"center",py:0})],[f]}}},p=[{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:"menu"},{g:"footer"},{t:"html"},{t:"css"},{t:"svg"},{t:"codeblock"},{t:"countdown"},{t:"condition"},{t:"loop"}],h=()=>({theme:pe(),rows:[Q([100])]});function u(f){const z=Q([100]).props,N=[];return(f.rows||[]).forEach(E=>{const A=E.cols.some(L=>L.blocks.length),H=E.props.my??0;E.props.mt===void 0&&(E.props.mt=H),E.props.mr===void 0&&(E.props.mr=0),E.props.mb===void 0&&(E.props.mb=H),E.props.ml===void 0&&(E.props.ml=0),E.cols.forEach(L=>{L.blocks.forEach(s=>{if(s.type!=="embed")return;const t=s.props||{};s.type="html",s.props={code:'<div style="padding:'+(t.py||0)+'px 0"><iframe src="'+(t.src||"")+'" title="'+(t.label||"")+'" style="width:100%;height:'+(t.height||320)+'px;border:1px solid rgba(29,31,32,0.14);background:#fff;display:block"></iframe></div>'}}),L.blocks=L.blocks.filter(s=>y(s.type)),L.blocks.forEach(s=>{s.type==="social"&&s.props.shape==="solid"&&(s.props.shape="square")})}),E.props.mobileCols===void 0&&E.props.stackMobile!==void 0&&(E.props.mobileCols=E.props.stackMobile===!1?"keep":1),Object.keys(z).forEach(L=>{E.props[L]===void 0&&(E.props[L]=z[L])}),A&&!E.cols.some(L=>L.blocks.length)&&N.push(E.id)}),f.rows=(f.rows||[]).filter(E=>N.indexOf(E.id)<0),f}function B(f){if(!f||typeof f!="object"||Array.isArray(f))return null;const z=Q([100]).props,N=(Array.isArray(f.rows)?f.rows:[]).filter(A=>A&&typeof A=="object"),E={theme:Object.assign(pe(),f.theme||{}),rows:N.map(A=>{const H=Array.isArray(A.cols)&&A.cols.length?A.cols.filter(t=>t&&typeof t=="object"):[{}],L=H.length?H:[{}],s=Math.round(100/L.length);return{id:A.id||G(),props:Object.assign({},z,A.props||{}),cols:L.map(t=>{const v={id:t.id||G(),span:Number(t.span)>0?Number(t.span):s,blocks:(Array.isArray(t.blocks)?t.blocks:[]).filter(x=>x&&typeof x=="object"&&x.type).map(x=>y(x.type)?{id:x.id||G(),type:x.type,props:Object.assign(y(x.type).make(),x.props||{})}:{id:x.id||G(),type:x.type,props:x.props||{}})};return["bg","radius","padY","padX","border","borderStyle","lineColor"].forEach(x=>{t[x]!==void 0&&t[x]!==""&&t[x]!==0&&(v[x]=t[x])}),v})}})};return E.rows.length?u(E):null}Object.assign($,{BLOCKS:W,DEF:y,mk:K,blk:S,LAYOUTS:D,mkRow:Q,groupRows:m,GROUPS:g,PALETTE:p,blankDoc:h,migrateDoc:u,normalizeDoc:B})},ge["core/brand.js"]=function(be,$,F){const G="http://www.w3.org/2000/svg",X=["M245.455 68.1627V129.877L168.982 156.67V93.9638L245.455 68.1627Z","M240.389 62.3805L165.49 87.6573L5.30933 24.2563L85.3314 0L240.389 62.3805Z","M161.797 93.8295V156.43L81.1141 122.607V188.07L0 152.738V29.6846L161.797 93.8295Z","M76.4728 266.036L0 291.837V230.123L76.4728 203.329V266.036Z","M160.123 360L5.07178 297.619L79.964 272.343L240.145 335.744L160.123 360Z","M245.454 330.315L83.657 266.17V203.57L164.34 237.393V171.93L245.454 207.262V330.315Z"],pe=["M137 38.4761V73.3121L94.3168 88.4361V53.0401L137 38.4761Z","M134.173 35.212L92.368 49.48L2.9635 13.692L47.6276 0L134.173 35.212Z","M90.3067 52.9639V88.2999L45.2737 69.2079V106.16L0 86.2159V16.7559L90.3067 52.9639Z","M42.6832 146.96L0 161.524V126.688L42.6832 111.564V146.96Z","M89.3723 200L2.83105 164.788L44.632 150.52L134.036 186.308L89.3723 200Z","M137 183.244L46.6932 147.036V111.7L91.7263 130.792V93.8398L137 113.784V183.244Z"],W=["M198.375 79.4375H210.781C214.323 79.4375 216.896 78.7708 218.5 77.4375C220.125 76.1042 220.938 74.2188 220.938 71.7812V71.6875C220.938 70.0208 220.635 68.5938 220.031 67.4062C219.448 66.1979 218.521 65.2708 217.25 64.625C215.979 63.9792 214.344 63.6562 212.344 63.6562H198.375V58.6875H212.344C214.99 58.6875 216.979 58.0833 218.312 56.875C219.667 55.6667 220.344 53.875 220.344 51.5C220.344 49.0208 219.604 47.1667 218.125 45.9375C216.646 44.7083 214.427 44.0938 211.469 44.0938H198.375V39.0625H212.531C215.469 39.0625 217.927 39.5625 219.906 40.5625C221.885 41.5625 223.365 42.9792 224.344 44.8125C225.323 46.6458 225.812 48.8333 225.812 51.375C225.812 52.9167 225.51 54.375 224.906 55.75C224.302 57.1042 223.375 58.2708 222.125 59.25C220.896 60.2292 219.365 60.8854 217.531 61.2188C219.365 61.4896 220.948 62.1458 222.281 63.1875C223.615 64.2083 224.635 65.4896 225.344 67.0312C226.052 68.5729 226.406 70.2396 226.406 72.0312V72.125C226.406 74.5833 225.865 76.75 224.781 78.625C223.698 80.5 222.146 81.9479 220.125 82.9688C218.104 83.9896 215.75 84.5 213.062 84.5H198.375V79.4375ZM194.625 39.0625H200.062V84.5H194.625V39.0625ZM240.11 76.0312C240.11 77.1146 240.36 77.9583 240.86 78.5625C241.381 79.1458 242.1 79.4375 243.016 79.4375H246.016V84.5625H242.266C239.85 84.5625 237.975 83.8125 236.641 82.3125C235.329 80.8125 234.673 78.6979 234.673 75.9688V39.0625H240.11V76.0312ZM265.033 84.9688C262.22 84.9688 259.814 84.4167 257.814 83.3125C255.814 82.2083 254.283 80.6042 253.22 78.5C252.178 76.375 251.658 73.8229 251.658 70.8438V65.5625C251.658 62.625 252.178 60.1146 253.22 58.0312C254.283 55.9271 255.814 54.3333 257.814 53.25C259.814 52.1458 262.22 51.5938 265.033 51.5938C267.845 51.5938 270.251 52.1458 272.251 53.25C274.251 54.3333 275.772 55.9271 276.814 58.0312C277.876 60.1146 278.408 62.625 278.408 65.5625V70.9375C278.408 73.8958 277.876 76.4271 276.814 78.5312C275.772 80.6146 274.251 82.2083 272.251 83.3125C270.251 84.4167 267.845 84.9688 265.033 84.9688ZM265.033 79.8438C267.553 79.8438 269.501 79.0625 270.876 77.5C272.272 75.9375 272.97 73.75 272.97 70.9375V65.5625C272.97 62.75 272.272 60.5729 270.876 59.0312C269.501 57.4896 267.553 56.7188 265.033 56.7188C262.512 56.7188 260.553 57.4896 259.158 59.0312C257.783 60.5729 257.095 62.75 257.095 65.5625V70.9375C257.095 73.75 257.783 75.9375 259.158 77.5C260.553 79.0625 262.512 79.8438 265.033 79.8438ZM299.924 84.9688C296.882 84.9688 294.32 84.4375 292.236 83.375C290.153 82.2917 288.57 80.7083 287.486 78.625C286.424 76.5208 285.893 73.9375 285.893 70.875V65.5312C285.893 62.5104 286.424 59.9688 287.486 57.9062C288.57 55.8229 290.153 54.25 292.236 53.1875C294.32 52.125 296.882 51.5938 299.924 51.5938C301.653 51.5938 303.257 51.7917 304.736 52.1875C306.215 52.5833 307.538 53.1667 308.705 53.9375C309.872 54.6875 310.861 55.6354 311.674 56.7812L307.705 60.3125C306.705 59.125 305.549 58.2292 304.236 57.625C302.924 57.0208 301.518 56.7188 300.018 56.7188C297.184 56.7188 295.028 57.4688 293.549 58.9688C292.07 60.4479 291.33 62.6354 291.33 65.5312V70.875C291.33 73.8125 292.07 76.0417 293.549 77.5625C295.028 79.0833 297.184 79.8438 300.018 79.8438C301.58 79.8438 303.028 79.5417 304.361 78.9375C305.715 78.3125 306.903 77.4062 307.924 76.2188L311.674 79.875C310.84 80.9792 309.84 81.9167 308.674 82.6875C307.507 83.4375 306.184 84.0104 304.705 84.4062C303.247 84.7812 301.653 84.9688 299.924 84.9688ZM321.065 72.8125L338.596 52.0625H345.003L320.409 79.75L321.065 72.8125ZM318.065 39.0625H323.503V84.5H318.065V39.0625ZM329.409 66.3438L332.784 62.0938L346.596 84.5H340.409L329.409 66.3438ZM362.613 84.9688C360.779 84.9688 359.029 84.7917 357.363 84.4375C355.717 84.0625 354.165 83.5208 352.706 82.8125C351.269 82.1042 349.967 81.2396 348.8 80.2188L351.988 76.3125C353.758 77.5625 355.55 78.5208 357.363 79.1875C359.175 79.8542 360.925 80.1875 362.613 80.1875C365.425 80.1875 367.571 79.7292 369.05 78.8125C370.529 77.875 371.269 76.5312 371.269 74.7812C371.269 73.5521 370.894 72.6354 370.144 72.0312C369.394 71.4062 368.446 70.9896 367.3 70.7812C366.175 70.5729 364.592 70.3854 362.55 70.2188C362.363 70.2188 362.165 70.2188 361.956 70.2188C361.748 70.1979 361.55 70.1771 361.363 70.1562C361.279 70.1562 361.196 70.1562 361.113 70.1562C361.029 70.1354 360.946 70.125 360.863 70.125C358.738 69.9375 356.946 69.625 355.488 69.1875C354.05 68.75 352.842 67.9375 351.863 66.75C350.904 65.5625 350.425 63.8542 350.425 61.625C350.425 59.4375 350.915 57.6042 351.894 56.125C352.873 54.625 354.31 53.5 356.206 52.75C358.102 51.9792 360.435 51.5938 363.206 51.5938C364.748 51.5938 366.258 51.7396 367.738 52.0312C369.217 52.3229 370.623 52.7604 371.956 53.3438C373.31 53.9062 374.581 54.6146 375.769 55.4688L372.55 59.3438C370.967 58.3646 369.363 57.625 367.738 57.125C366.133 56.625 364.592 56.375 363.113 56.375C360.654 56.375 358.779 56.8125 357.488 57.6875C356.196 58.5625 355.55 59.8333 355.55 61.5C355.55 62.5833 355.904 63.3958 356.613 63.9375C357.342 64.4792 358.248 64.8438 359.331 65.0312C360.415 65.1979 361.935 65.3333 363.894 65.4375C363.998 65.4583 364.102 65.4688 364.206 65.4688C364.331 65.4688 364.446 65.4792 364.55 65.5C364.613 65.5 364.675 65.5 364.738 65.5C364.8 65.5 364.863 65.5104 364.925 65.5312C367.196 65.6562 369.123 65.9479 370.706 66.4062C372.31 66.8438 373.654 67.7292 374.738 69.0625C375.821 70.375 376.363 72.2812 376.363 74.7812C376.363 77.0104 375.842 78.875 374.8 80.375C373.758 81.875 372.217 83.0208 370.175 83.8125C368.133 84.5833 365.613 84.9688 362.613 84.9688Z","M194.6250 164.5000V113.3830H209.2415L222.2737 149.9422H220.4842L233.5164 113.3830H248.1109V164.5000H238.1148V125.0732L239.0389 125.2493L226.2267 159.9677H216.5312L203.6970 125.2493L204.6211 125.0732V164.5000ZM278.3938 164.5000 277.6457 159.3443V141.6330Q277.6457 138.5822 275.6693 137.1301Q273.6928 135.6780 270.4293 135.6780Q267.5470 135.6780 264.5182 136.7854Q261.4893 137.8928 259.2231 139.8289L254.5954 133.2431Q258.5264 130.1849 262.5417 128.8941Q266.5570 127.6033 271.2286 127.6033Q278.7532 127.6033 282.9738 131.3473Q287.1945 135.0912 287.1945 141.6330V164.5000ZM267.6717 165.2407Q263.7188 165.2407 260.5725 163.7593Q257.4263 162.2778 255.6222 159.5570Q253.8180 156.8361 253.8180 153.2572Q253.8180 150.1476 255.1308 147.8778Q256.4436 145.6080 258.6071 144.3832Q260.3599 143.3418 262.5857 142.8908Q264.8115 142.4397 267.3197 142.4397H278.4378V149.5463H268.7131Q267.6130 149.5463 266.5973 149.7370Q265.5816 149.9276 264.8262 150.4703Q264.1808 150.9470 263.8105 151.6621Q263.4401 152.3771 263.4401 153.2792Q263.4401 155.2153 264.9766 156.3630Q266.5130 157.5108 269.0798 157.5108Q271.4193 157.5108 273.3628 156.5024Q275.3062 155.4940 276.4760 153.7302Q277.6457 151.9664 277.6457 149.7076L280.0586 154.8634Q278.9511 158.6476 277.0187 160.9358Q275.0862 163.2239 272.6807 164.2323Q270.2752 165.2407 267.6717 165.2407ZM293.5324 164.5000V128.3441H303.1324V164.5000ZM293.3050 122.8950V113.3830H303.4111V122.8950ZM318.5276 165.2407Q314.7654 165.2407 312.2498 162.9562Q309.7343 160.6717 309.7343 155.6847V113.3830H319.2831V153.7925Q319.2831 155.2006 319.9835 155.7947Q320.6838 156.3887 321.7912 156.3887Q322.3999 156.3887 323.0270 156.2677Q323.6540 156.1467 324.3287 155.9560V164.1113Q322.7740 164.7274 321.2522 164.9840Q319.7304 165.2407 318.5276 165.2407ZM351.5828 165.6881Q344.2856 165.6881 338.7376 162.3365Q333.1895 158.9849 330.0909 152.9565Q326.9924 146.9281 326.9924 138.9048Q326.9924 130.8816 330.0909 124.8898Q333.1895 118.8981 338.7376 115.5465Q344.2856 112.1949 351.5828 112.1949Q359.7967 112.1949 365.7518 116.2909Q371.7069 120.3868 374.3031 127.5960L364.9011 130.9990Q363.3023 126.6280 359.8811 124.1858Q356.4598 121.7436 351.5828 121.7436Q347.1458 121.7436 343.8493 123.8265Q340.5527 125.9093 338.7706 129.7265Q336.9885 133.5438 336.9885 138.9048Q336.9885 144.2659 338.7706 148.1198Q340.5527 151.9737 343.8493 154.0565Q347.1458 156.1393 351.5828 156.1393Q356.4598 156.1393 359.8811 153.6862Q363.3023 151.2330 364.9011 146.8840L374.3031 150.2650Q371.7069 157.4008 365.7518 161.5445Q359.7967 165.6881 351.5828 165.6881ZM378.8149 164.5000V128.3441H388.4883V138.1788L387.0802 138.2888Q387.2856 135.1646 388.9210 132.7554Q390.5564 130.3462 393.0060 128.9748Q395.4555 127.6033 398.0003 127.6033Q399.8411 127.6033 401.5096 128.0984Q403.1780 128.5934 404.9968 129.7302L400.3765 138.3842Q399.5991 137.8928 398.3120 137.5225Q397.0249 137.1521 395.7708 137.1521Q394.3700 137.1521 393.0573 137.6581Q391.7445 138.1642 390.7361 139.2239Q389.7277 140.2836 389.1484 141.9631Q388.8037 142.9898 388.6203 144.5886Q388.4370 146.1874 388.4370 149.2016V164.5000ZM430.7987 164.5000 430.0507 159.3443V141.6330Q430.0507 138.5822 428.0742 137.1301Q426.0977 135.6780 422.8342 135.6780Q419.9520 135.6780 416.9231 136.7854Q413.8942 137.8928 411.6280 139.8289L407.0004 133.2431Q410.9313 130.1849 414.9466 128.8941Q418.9619 127.6033 423.6336 127.6033Q431.1581 127.6033 435.3788 131.3473Q439.5994 135.0912 439.5994 141.6330V164.5000ZM420.0767 165.2407Q416.1237 165.2407 412.9775 163.7593Q409.8313 162.2778 408.0271 159.5570Q406.2230 156.8361 406.2230 153.2572Q406.2230 150.1476 407.5358 147.8778Q408.8485 145.6080 411.0120 144.3832Q412.7648 143.3418 414.9906 142.8908Q417.2164 142.4397 419.7246 142.4397H430.8427V149.5463H421.1181Q420.0180 149.5463 419.0023 149.7370Q417.9865 149.9276 417.2312 150.4703Q416.5858 150.9470 416.2154 151.6621Q415.8451 152.3771 415.8451 153.2792Q415.8451 155.2153 417.3815 156.3630Q418.9179 157.5108 421.4848 157.5108Q423.8243 157.5108 425.7677 156.5024Q427.7112 155.4940 428.8809 153.7302Q430.0507 151.9664 430.0507 149.7076L432.4635 154.8634Q431.3561 158.6476 429.4236 160.9358Q427.4911 163.2239 425.0857 164.2323Q422.6802 165.2407 420.0767 165.2407ZM448.7902 164.5000V135.8027H442.3877V128.3441H448.8635V124.6772Q448.8635 119.9028 450.4403 117.2883Q452.0171 114.6738 454.6353 113.6580Q457.2535 112.6423 460.3190 112.6423Q462.6072 112.6423 464.3013 113.0603Q465.9954 113.4783 467.5429 114.2117L464.4627 121.5236Q463.7586 121.1349 462.9849 120.8782Q462.2112 120.6216 461.3898 120.6216Q459.7103 120.6216 459.0613 121.7546Q458.4123 122.8877 458.4123 124.7285V128.3441H465.9735V135.8027H458.4123V164.5000ZM483.8475 165.2407Q480.9213 165.2407 478.3435 164.1223Q475.7656 163.0039 474.2071 160.4700Q472.6487 157.9362 472.6487 153.6679V120.1522L482.3441 114.9378V150.9763Q482.3441 154.1372 483.1948 155.7617Q484.0456 157.3861 486.4877 157.3861Q487.2211 157.3861 488.1452 157.2284Q489.0693 157.0708 490.1400 156.7774V164.1333Q488.5925 164.6980 487.0341 164.9694Q485.4757 165.2407 483.8475 165.2407ZM466.1949 135.8027V128.3441H490.1400V135.8027Z"];function y(Q,m,g){const p=document.createElementNS(G,"svg");return p.setAttribute("viewBox",Q),p.setAttribute("width",String(Math.round(m))),p.setAttribute("height",String(Math.round(g))),p.setAttribute("fill","none"),p.style.display="block",p.style.flex="none",p}function K(Q,m,g){m.forEach(p=>{const h=document.createElementNS(G,"path");h.setAttribute("d",p),h.setAttribute("fill",g),Q.appendChild(h)})}function S(Q){const m=Q||22,g=y("0 0 245.455 360",m*245.455/360,m);return g.setAttribute("role","img"),g.setAttribute("aria-label","Blocks"),K(g,X,"var(--ed-logo-mark)"),g}function D(Q){const m=Q||34,g=y("0 0 557 200",m*557/200,m);return g.setAttribute("role","img"),g.setAttribute("aria-label","Blocks MailCraft"),K(g,pe,"var(--ed-logo-mark)"),K(g,W,"var(--ed-logo-text)"),g}Object.assign($,{brandMark:S,brandLockup:D})},ge["core/code-tools.js"]=function(be,$,F){const G=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),X=new Set(["style","script","textarea","title"]),pe=new Set(["html","head","body","meta","title","link","style","script","table","thead","tbody","tfoot","tr","td","th","ul","ol","li"]),W=new Set(["pre","textarea"]);function y(f,z){let N="";for(let E=z;E<f.length;E++){const A=f[E];if(N)A===N&&(N="");else if(A==='"'||A==="'")N=A;else if(A===">")return E}return-1}const K=/^[a-zA-Z][a-zA-Z0-9-]*/;function S(f){const z=String(f??""),N=z.toLowerCase(),E=z.length,A=[],H=(t,v)=>{v>t&&A.push({kind:"text",text:z.slice(t,v)})};let L=0,s=0;for(;s<E;){const t=z.indexOf("<",s);if(t===-1)break;const v=z[t+1];if(v==="!"||v==="?"){let x,C="decl";if(z.startsWith("<!--",t)){const I=z.indexOf("-->",t+4);x=I===-1?E:I+3,C="comment"}else{const I=y(z,t+1);x=I===-1?E:I+1}H(L,t),A.push({kind:C,text:z.slice(t,x)}),L=s=x;continue}if(v==="/"&&K.test(z.slice(t+2,t+3))){const x=y(z,t+2),C=x===-1?E:x+1,I=K.exec(N.slice(t+2,t+32))[0];H(L,t),A.push({kind:"close",tag:I,text:z.slice(t,C)}),L=s=C;continue}if(v&&K.test(v)){const x=y(z,t+1),C=x===-1?E:x+1,I=K.exec(N.slice(t+1,t+32))[0],V=z[C-2]==="/";if(H(L,t),A.push({kind:"tag",tag:I,text:z.slice(t,C),selfClose:V}),L=s=C,X.has(I)&&!V){const ee=N.indexOf("</"+I,C),te=ee===-1?E:ee;te>C&&A.push({kind:"raw",tag:I,text:z.slice(C,te)}),L=s=te}continue}s=t+1}return H(L,E),A}const D=f=>/^\{\{[#/][^{}]*\}\}$/.test(f);function Q(f){const z=S(f),N=[];for(const v of z){if(v.kind!=="text"){N.push(v);continue}const x=/^(\s*)([\s\S]*?)(\s*)$/.exec(v.text);if(x[2]===""){N.push({kind:"gap",text:v.text});continue}x[1]&&N.push({kind:"gap",text:x[1]}),N.push({kind:"text",text:x[2]}),x[3]&&N.push({kind:"gap",text:x[3]})}const E=v=>!!v&&((v.kind==="tag"||v.kind==="close")&&pe.has(v.tag)||v.kind==="decl"||v.kind==="text"&&D(v.text));let A="",H=!1;const L=[];let s=null,t=null;for(const v of N){if(v.kind==="gap"){t=(t||"")+v.text;continue}if(v.kind==="close"){const I=L.lastIndexOf(v.tag);I!==-1&&(L.length=I)}const x=L.some(I=>W.has(I)),C=H&&!x&&(t!==null&&t!==""||E(s)&&E(v)||E(s)&&v.kind==="comment"||s&&s.kind==="comment"&&E(v));H&&C?A+=`
|
|
14
|
+
`+" ".repeat(L.length):H&&t&&(A+=t),A+=v.text,v.kind==="tag"&&!v.selfClose&&!G.has(v.tag)&&!X.has(v.tag)&&L.push(v.tag),s=v,t=null,H=!0}return H?A.endsWith(`
|
|
15
15
|
`)?A:A+`
|
|
16
|
-
`:String(
|
|
17
|
-
`))),
|
|
16
|
+
`:String(f??"")}function m(f){const z=String(f??""),N=z.toLowerCase(),E=z.length,A=[],H=Object.create(null),L=[];let s=0;for(;s<E;){const t=z.indexOf("<",s);if(t===-1)break;const v=z[t+1];if(z.startsWith("<!--",t)){const x=z.indexOf("-->",t+4);s=x===-1?E:x+3;continue}if(v==="!"||v==="?"){const x=y(z,t+1);s=x===-1?E:x+1;continue}if(v==="/"&&K.test(z.slice(t+2,t+3))){const x=y(z,t+2),C=x===-1?E:x+1,I=K.exec(N.slice(t+2,t+32))[0];for(let V=L.length-1;V>=0;V--){if(A[L[V]].tag!==I)continue;for(;L.length>V+1;){const te=L.pop();A[te].closeStart=A[te].closeEnd=t}const ee=L.pop();A[ee].closeStart=t,A[ee].closeEnd=C;break}s=C;continue}if(v&&K.test(v)){const x=y(z,t+1),C=x===-1?E:x+1,I=K.exec(N.slice(t+1,t+32))[0],V=z[C-2]==="/",ee=H[I]||(H[I]=[]),te={tag:I,nth:ee.length,openStart:t,openEnd:C,closeStart:C,closeEnd:C,parent:L.length?L[L.length-1]:-1};if(A.push(te),ee.push(te),s=C,V||G.has(I))continue;if(X.has(I)){const _=N.indexOf("</"+I,C);if(_===-1)te.closeStart=te.closeEnd=E,s=E;else{const ie=y(z,_+2);te.closeStart=_,te.closeEnd=ie===-1?E:ie+1,s=te.closeEnd}continue}L.push(A.length-1);continue}s=t+1}for(;L.length;){const t=L.pop();A[t].closeStart=A[t].closeEnd=E}return{els:A,byTag:H}}function g(f,z){let N=null;for(const E of f.els){if(E.openStart>z)break;z<Math.max(E.closeEnd,E.openEnd)&&(N=E)}return N}function p(f,z,N=5e3){const E=[],A=String(f??""),H=String(z??"");if(!H)return E;let L=A.toLowerCase(),s=H.toLowerCase();(L.length!==A.length||s.length!==H.length)&&(L=A,s=H);let t=0;for(;E.length<N;){const v=L.indexOf(s,t);if(v===-1)break;E.push({start:v,end:v+s.length}),t=v+s.length}return E}const h="background:rgba(245,158,11,0.28);border-radius:2px;color:inherit;padding:0;margin:0",u="background:rgba(245,158,11,0.6);outline:1.5px solid rgba(180,83,9,0.85);border-radius:2px;color:inherit;padding:0;margin:0";function B(f,z){if(!z||!z.length||!f)return f;const N=/(<[^>]*>)|(&[a-zA-Z][a-zA-Z0-9]*;|&#[0-9]+;|&#x[0-9a-fA-F]+;)|([\s\S])/g;let E="",A=0,H=null,L;for(;L=N.exec(f);){if(L[1]){H&&(E+="</mark>",H=null),E+=L[1];continue}let s=null;for(const t of z)if(A>=t.start&&A<t.end){s=t;break}H&&H!==s&&(E+="</mark>",H=null),s&&!H&&(E+='<mark style="'+(s.cur?u:h)+'">',H=s),E+=L[0],A+=1}return H&&(E+="</mark>"),E}Object.assign($,{formatHtml:Q,scanElements:m,elementAtOffset:g,findMatches:p,markRanges:B})},ge["core/css-cascade.js"]=function(be,$,F){function G(y){return String(y||"").replace(/\/\*[\s\S]*?\*\//g,"")}function X(y){let K="",S=0;for(;S<y.length;){if(y[S]==="@"){const D=y.indexOf(";",S),Q=y.indexOf("{",S);if(Q===-1||D!==-1&&D<Q){S=D===-1?y.length:D+1;continue}let m=0,g=Q;for(;g<y.length;g++)if(y[g]==="{")m++;else if(y[g]==="}"&&(m--,!m))break;S=g+1;continue}K+=y[S],S++}return K}function pe(y){const K=(y.match(/#[\w-]+/g)||[]).length,S=(y.match(/\.[\w-]+|\[[^\]]*\]/g)||[]).length,D=(y.match(/(^|[\s>+~])[a-zA-Z][\w-]*/g)||[]).length;return K*100+S*10+D}function W(y){const K=Array.from(y.querySelectorAll("style")).filter(h=>!(h.getAttribute&&h.getAttribute("data-mc")));if(!K.length)return;const S=X(G(K.map(h=>h.textContent||"").join(`
|
|
17
|
+
`))),D=[],Q=/([^{}]+)\{([^{}]*)\}/g;let m,g=0;for(;m=Q.exec(S);){const h=[];m[2].split(";").forEach(u=>{const B=u.indexOf(":");if(B<0)return;const f=u.slice(0,B).trim().toLowerCase();let z=u.slice(B+1).trim();if(!f||!z||f.indexOf("--")===0||f.indexOf("mso-")===0)return;const N=/!important\s*$/i.test(z);N&&(z=z.replace(/!important\s*$/i,"").trim()),z&&h.push({prop:f,value:z,important:N})}),h.length&&m[1].split(",").forEach(u=>{const B=u.trim();!B||B==="*"||B.indexOf(":")>-1||D.push({sel:B,decls:h,spec:pe(B),order:g++})})}if(!D.length)return;D.sort((h,u)=>h.spec-u.spec||h.order-u.order);const p=new Map;D.forEach(h=>{let u;try{u=y.querySelectorAll(h.sel)}catch{return}u.forEach(B=>{if(B!==y.body&&!y.body.contains(B))return;let f=p.get(B);f||(f=new Map,p.set(B,f)),h.decls.forEach(z=>{const N=f.get(z.prop);N&&N.important&&!z.important||f.set(z.prop,z)})})}),p.forEach((h,u)=>{u.style&&h.forEach((B,f)=>{if(!(!B.important&&u.style.getPropertyValue(f)))try{u.style.setProperty(f,B.value)}catch{}})})}Object.assign($,{inlineStylesheets:W})},ge["core/editor-core.js"]=function(be,$,F){const{uid:G}=F("core/ids.js"),{mk:X,blk:pe,mkRow:W,GROUPS:y,LAYOUTS:K,migrateDoc:S,normalizeDoc:D,blankDoc:Q}=F("core/blocks.js"),{binder:m,decorate:g,group:p}=F("core/binder.js"),{ALL_FOLDER_ID:h,normalizeAsset:u,resolveLimits:B,providerProblems:f}=F("core/storage.js"),{validateFiles:z,limitsProblem:N}=F("core/storage-limits.js"),{migrateTokens:E,cleanHtml:A,escHtml:H,linkHref:L,scaleInlineSizes:s,stripInlineStyle:t}=F("core/sanitize.js"),{buildHtml:v}=F("core/export.js"),{htmlToDoc:x}=F("core/import-html.js"),{boxCss:C}=F("core/layout-style.js"),{vars:I,TOKEN:V,INSERT_KEYS:ee}=F("core/variables.js"),{createTranslator:te}=F("core/i18n/index.js"),_=R=>JSON.parse(JSON.stringify(R)),ie="mailcraft.v3",de=ie+".tab.",we="mailcraft.tab",xe=10080*60*1e3,me=3,ae=/^data:image\/svg\+xml;utf8,.*%3Cpattern%20id%3D%22s%22/,ze=R=>Array.isArray(R)?R.filter(a=>!ae.test(String(a&&a.url||""))):[],b={text:[8,96],heading:[12,120]},Re={text:"html",list:"items"},Ae={color:"color",lh:"line-height",weight:"font-weight",align:"text-align"};function Pe(R,a,r){const c=Re[R.type];if(!c)return!1;const d=(Y,re)=>c==="items"?String(Y).split(`
|
|
18
18
|
`).map(re).join(`
|
|
19
|
-
`):re(String(Q)),r=R.props[p];if(r==null||r==="")return!1;let T=r;if(e==="size"){const Q=Number(R.props.size),re=Number(i);Q>0&&re>0&&re!==Q&&(T=c(r,ke=>d(ke,re/Q)))}else Me[e]&&(T=c(r,Q=>a(Q,Me[e])));return T===r?!1:(R.props[p]=T,!0)}const Be=[{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"},{value:"double",label:"Double"}];function We(R,e,i){if(e.nodeType!==Node.TEXT_NODE){let T=0;const Q=document.createTreeWalker(R,NodeFilter.SHOW_TEXT);let re;const ke=e.childNodes[i];if(!ke){for(;Q.nextNode();)T+=Q.currentNode.nodeValue.length;return T}for(;re=Q.nextNode();){if(re===ke||ke.contains(re))return T;T+=re.nodeValue.length}return T}let p=0;const c=document.createTreeWalker(R,NodeFilter.SHOW_TEXT);let r;for(;r=c.nextNode();){if(r===e)return p+i;p+=r.nodeValue.length}return p}function me(R){const e=v(R);let i=e.rows;if(!i.length){const p=Z([100],[Y("html")]);p.props.py=0,p.props.px=0;let c=R;try{c=new DOMParser().parseFromString(String(R||""),"text/html").body.innerHTML||R}catch{}p.cols[0].blocks[0].props.code=String(c||"").trim(),i=[p]}return{rows:i,theme:e.theme||{}}}function t(R){const e=V(),{rows:i,theme:p}=me(R);return e.rows=i,Object.assign(e.theme,p),e}const l=[{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"]}],k=["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=l.flatMap(R=>R.items);class y{constructor({variables:e,aiProvider:i,iconProvider:p,messages:c,storageProvider:r,storageLimits:T}={}){qe(this,"openLink",()=>{const e=this.anchorAt();this.rteActive=!0,this.setState({linkDraft:{href:e?e.getAttribute("href")||"":"https://",blank:e?e.target==="_blank":!0,editing:!!e}})});qe(this,"applyLink",e=>{const i=this.state.linkDraft;if(!i)return;const p=L(i.href);this.exec("createLink",p);const c=this.editEl;c&&c.querySelectorAll("a").forEach(r=>{r.getAttribute("href")===p&&(i.blank?(r.setAttribute("target","_blank"),r.setAttribute("rel","noopener")):(r.removeAttribute("target"),r.removeAttribute("rel")))}),this.syncEdit(e),this.setState({linkDraft:null})});qe(this,"removeLink",e=>{this.exec("unlink"),this.syncEdit(e),this.setState({linkDraft:null})});qe(this,"canvasDragOver",(e,i)=>{if(!this.drag)return;e.preventDefault();const c=typeof i=="number"?i:this.indexFromPoint(this.rowSlotHost(e.currentTarget),e.clientY);this.state.rowDrop!==c&&this.setState({rowDrop:c,drop:null})});qe(this,"canvasDrop",(e,i)=>{const p=this.drag;p&&(e.preventDefault(),i=typeof i=="number"?i:this.indexFromPoint(this.rowSlotHost(e.currentTarget),e.clientY),p.kind==="row"?this.insertRow(p.spans,i,p.html):p.kind==="move-row"?this.moveRow(p.id,i):p.kind==="block"?this.insertBlock(p.type,null,0,i):p.kind==="move-block"?this.moveBlockToNewRow(p.id,i):p.kind==="group"?this.insertGroup(p.id,null,0,i):p.kind==="asset"&&this.dropAsset(p.assetId,null,0,i),this.drag=null)});qe(this,"openExport",()=>{this.setState({exportOpen:!0,exportCode:this.buildHtml(),copied:!1,libraryOpen:!1,aiOpen:!1,codeOpen:!1})});qe(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"))});qe(this,"copyCode",()=>{navigator.clipboard&&navigator.clipboard.writeText(this.state.codeSrc).catch(()=>{}),this.flash(this.t("toast.htmlCopied"))});qe(this,"downloadExport",()=>{const e=new Blob([this.state.exportCode],{type:"text/html"}),i=document.createElement("a");i.href=URL.createObjectURL(e),i.download="email.html",i.click(),setTimeout(()=>URL.revokeObjectURL(i.href),1500)});qe(this,"openCode",()=>{const e=this.buildHtml();this.setState({codeOpen:!0,codeSrc:e,codeLive:e,codeDirty:!1,libraryOpen:!1,exportOpen:!1,aiOpen:!1})});qe(this,"setCodeSrc",e=>{this.state.codeSrc=e,this.state.codeDirty=!0,this.onCodeSourceChange&&this.onCodeSourceChange(),clearTimeout(this.codeTimer),this.codeTimer=setTimeout(()=>this.setState({codeLive:this.state.codeSrc}),350)});qe(this,"applyCode",()=>{try{const e=this.importHtml(this.state.codeSrc);this.setState({codeOpen:!1,codeDirty:!1,sel:null}),this.flash(e===1?this.t("toast.sourceAppliedOne"):this.t("toast.sourceAppliedMany",{rows:e}))}catch{this.flash(this.t("toast.parseError"))}});qe(this,"runAi",async()=>{const{aiGoal:e,aiTone:i,aiBrief:p}=this.state;this.setState({aiBusy:!0,aiResults:[]});const c="You write marketing email copy. Goal: "+e+". Tone: "+i+". Brief: "+p+'. 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 Q=await this.aiProvider(c),re=String(Q).match(/\{[\s\S]*\}/);re&&(r=JSON.parse(re[0]))}}catch{r=null}if(!r){const Q=(p||"the new drop").replace(/\.$/,"");r={headline:Q.split(/[,.]/)[0].slice(0,58),body:"Hi {{ first_name }} — "+Q+". We kept it short: one link, one decision, no pressure.",cta:"See it"}}const T=(Q,re,ke)=>{const fe=Y("text");fe.props.html=Q,re&&(fe.props.size=re),this.commit(je=>{je.rows.push(Z([100],[fe]))}),this.setState({aiOpen:!1,sel:{type:"block",id:fe.id},tab:"design"}),this.flash(ke)};this.setState({aiBusy:!1,aiResults:[{kind:this.t("ai.kindHeadline"),text:r.headline,action:this.t("ai.actionInsertHeading"),onUse:()=>T('<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:()=>T(r.body,16,this.t("toast.textBlockAdded"))},{kind:this.t("ai.kindButton"),text:r.cta,action:this.t("ai.actionInsertButton"),onUse:()=>{const Q=Y("button");Q.props.label=r.cta,this.commit(re=>{re.rows.push(Z([100],[Q]))}),this.setState({aiOpen:!1,sel:{type:"block",id:Q.id},tab:"design"}),this.flash(this.t("toast.buttonAdded"))}}]})});this.variablesRaw=e??null,this.aiProvider=i??null,this.iconProvider=p??null,this.storageProvider=r??null,this.storageLimits=T??null,this.messages=c??null,this.t=J(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:V(),sel:null,hover:null,tab:"design",chrome:"light",device:"desktop",mode:"rows",zoom:1,advancedOpen:!1,assets:[],assetFolder:f,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:k[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(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getSelection(){return this.exportRoot&&typeof this.exportRoot.getSelection=="function"?this.exportRoot.getSelection():window.getSelection()}emit(){if(this._emitScheduled)return;this._emitScheduled=!0;const e=typeof requestAnimationFrame=="function"?requestAnimationFrame:i=>setTimeout(i,16);this._emitHandle=e(()=>{this._emitScheduled=!1,this._emitHandle=null;for(const i of this.listeners)i()})}setState(e,i){Object.assign(this.state,typeof e=="function"?e(this.state):e),this.emit(),i&&i()}mount(e){this.exportRoot=e;try{let p=sessionStorage.getItem(be);p||(p=q(),sessionStorage.setItem(be,p)),this.tabKey=ce+p}catch{this.tabKey=null}const i=!this.mounted;this.mounted=!0;try{const p=i&&!this.docSetByHost&&(this.tabKey&&localStorage.getItem(this.tabKey)||localStorage.getItem(ie));if(p){const c=JSON.parse(E(p));c&&c.doc&&(c.doc=M(c.doc)),c&&c.doc&&this.setState({doc:c.doc,assets:Se(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 e=localStorage.length-1;e>=0;e--){const i=localStorage.key(e);if(!i||!i.startsWith(ce)||i===this.tabKey)continue;let p=!0;try{const c=JSON.parse(localStorage.getItem(i));p=!c||!c.t||Date.now()-c.t>ve}catch{}p&&localStorage.removeItem(i)}}catch{}}mountKeyboard(e){this.onKey=i=>{const p=i.composedPath?i.composedPath()[0]:i.target,c=e(p);if(i.key==="Escape"){if(c&&p&&typeof p.blur=="function"){p.blur();return}this.setState({sel:null,libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,previewOpen:!1});return}if((i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="z"){if(c&&!(p&&p.isContentEditable))return;i.preventDefault(),i.shiftKey?this.redo():this.undo();return}if((i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="e"){i.preventDefault(),this.openExport();return}if((i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&this.state.editing){i.preventDefault(),this.openLink();return}if(!c){if((i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="d"){i.preventDefault(),this.dupSel();return}(i.key==="Backspace"||i.key==="Delete")&&this.state.sel&&(i.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 i=this.getSelection();if(!(i&&i.rangeCount&&this.editEl&&this.editEl.contains(i.anchorNode)))return;const p=i.getRangeAt(0),c=We(this.editEl,p.startContainer,p.startOffset),r=We(this.editEl,p.endContainer,p.endOffset);this._lastSelBlock===this.state.editing&&this._lastSelStart===c&&this._lastSelEnd===r||(this._lastSelBlock=this.state.editing,this._lastSelStart=c,this._lastSelEnd=r,this.savedRange=p.cloneRange(),this.onFormatChange&&this.onFormatChange())},document.addEventListener("selectionchange",this.onSelect),this.onOutsideClick=i=>{if(!this.state.editing||this.rendering)return;const p=this.exportRoot&&this.exportRoot.activeElement;if(p&&p===this.editEl)return;const c=i.composedPath?i.composedPath():[];for(const r of c)if(!(!r||r.nodeType!==1)&&(r.getAttribute&&r.getAttribute("data-mc-content")===this.state.editing||r.hasAttribute&&r.hasAttribute("data-rte-root")))return;this.closeEditing()},this.exportRoot&&this.exportRoot.addEventListener("click",this.onOutsideClick)}unmountKeyboard(){window.removeEventListener("keydown",this.onKey),document.removeEventListener("selectionchange",this.onSelect),this.exportRoot&&this.onOutsideClick&&this.exportRoot.removeEventListener("click",this.onOutsideClick),this.onOutsideClick=null}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()}closeEditing(){const e=this.state.editing;if(!e)return;const i=this.editEl,p=i&&i.isConnected&&this.editKey?this.editPlain?i.textContent:i.innerHTML:null;this.rteActive=!0,i&&this.exportRoot&&this.exportRoot.activeElement===i&&i.blur(),this.rteActive=!1,p!==null&&p!==this.editOriginal&&this.setProp(e,this.editKey,p),this.state.editing===e&&this.setState({editing:null,linkDraft:null})}exec(e,i){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(e,!1,i);const p=this.getSelection();p&&p.rangeCount&&this.editEl&&this.editEl.contains(p.anchorNode)&&(this.savedRange=p.getRangeAt(0).cloneRange())}catch{}setTimeout(()=>{this.rteActive=!1},0)}pasteClean(e){return i=>{const p=i.clipboardData;if(!p)return;i.preventDefault();const c=p.getData("text/html"),r=p.getData("text/plain")||"",T=!e&&c?A(c):w(r).replace(/\r?\n/g,"<br />");this.exec("insertHTML",T)}}syncEdit(e){const i=this.editEl;if(!i)return;const p=e.type==="heading"?"text":e.type==="html"?"code":"html",c=e.type==="heading"?i.textContent:i.innerHTML;e.props[p]!==c&&this.setProp(e.id,p,c)}anchorAt(){const e=this.getSelection(),i=e&&e.anchorNode?e.anchorNode.nodeType===1?e.anchorNode:e.anchorNode.parentElement:null;return i&&i.closest?i.closest("a"):null}currentTag(){const e=this.getSelection(),i=e&&e.anchorNode?e.anchorNode.nodeType===1?e.anchorNode:e.anchorNode.parentElement:null,p=i&&i.closest?i.closest("h1,h2,h3,h4,h5,h6,blockquote,p"):null;return p?p.tagName.toLowerCase():""}formatFingerprint(e){let i=e.id+"|"+this.currentTag()+"|"+this.selSize(e)+"|"+(this.state.linkDraft?1:0)+"|";for(const p of["bold","italic","underline","strikeThrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList"]){let c=!1;try{c=document.queryCommandState(p)}catch{}i+=c?"1":"0"}return i}size(e,i){if(e.type==="text"&&this.sizeSelection(e,i))return;const p=this.find(this.state.doc,e.id).block||e,c=Number(p.props.size)||16,[r,T]=h[e.type]||[10,64];this.setProp(e.id,"size",Math.max(r,Math.min(T,c+i)))}inlineSizeAt(e){let i=e&&e.nodeType===1?e:e?e.parentElement:null;for(;i&&i!==this.editEl;){const p=/^([\d.]+)px$/.exec(i.style&&i.style.fontSize||"");if(p)return parseFloat(p[1]);i=i.parentElement}return null}selSize(e){const i=this.find(this.state.doc,e.id).block||e,p=Number(i.props.size)||16;if(e.type!=="text"||this.state.editing!==e.id||!this.editEl)return p;const c=this.getSelection(),r=c&&c.rangeCount&&this.editEl.contains(c.anchorNode)?c.anchorNode:this.savedRange&&this.editEl.contains(this.savedRange.startContainer)?this.savedRange.startContainer:null,T=r?this.inlineSizeAt(r):null;return T==null?p:Math.round(T)}sizeSelection(e,i){const p=this.editEl;if(!p||!p.isConnected||this.state.editing!==e.id)return!1;const c=this.getSelection();let r=c&&c.rangeCount&&p.contains(c.anchorNode)&&p.contains(c.focusNode)?c.getRangeAt(0):null;if(!r&&this.savedRange&&p.contains(this.savedRange.startContainer)&&p.contains(this.savedRange.endContainer)&&(r=this.savedRange),!r||r.collapsed)return!1;const T=r.cloneRange(),Q=p.textContent.length;if(We(p,T.startContainer,T.startOffset)===0&&We(p,T.endContainer,T.endOffset)===Q)return!1;const[re,ke]=h.text,fe=this.find(this.state.doc,e.id).block||e,je=this.inlineSizeAt(T.startContainer)||Number(fe.props.size)||16,Ae=Math.max(re,Math.min(ke,Math.round(je)+i)),He=T.endContainer;He.nodeType===3&&T.endOffset<He.nodeValue.length&&He.splitText(T.endOffset);const Ce=T.startContainer;if(Ce.nodeType===3&&T.startOffset>0){const Ge=Ce.splitText(T.startOffset);T.setStart(Ge,0),He===Ce&&T.setEnd(Ge,Ge.nodeValue.length)}const Ee=We(p,T.startContainer,T.startOffset),De=We(p,T.endContainer,T.endOffset),Ne=document.createTreeWalker(p,NodeFilter.SHOW_TEXT),Ye=[];let at=0,Qe;for(;Qe=Ne.nextNode();){const Ge=Qe.nodeValue.length;if(Ge&&at>=Ee&&at+Ge<=De&&Ye.push(Qe),at+=Ge,at>=De)break}if(!Ye.length)return!0;const et=Ye.map(Ge=>{const _e=Ge.parentElement;if(_e&&_e!==p&&_e.tagName==="SPAN"&&_e.childNodes.length===1)return _e.style.fontSize=Ae+"px",_e;const tt=document.createElement("span");return tt.style.fontSize=Ae+"px",Ge.replaceWith(tt),tt.appendChild(Ge),tt}),nt=et[0].firstChild,st=et[et.length-1].lastChild,ot=document.createRange();return ot.setStart(nt,0),ot.setEnd(st,st.nodeValue.length),c&&(c.removeAllRanges(),c.addRange(ot)),this.savedRange=ot.cloneRange(),!0}hasCountdown(){return this.state.doc.rows.some(e=>e.cols.some(i=>i.blocks.some(p=>p.type==="countdown")))}persist(e,i,p){try{const c=JSON.stringify({doc:e||this.state.doc,assets:this.storageProvider?[]:i||this.state.assets,chrome:p||this.state.chrome,t:Date.now()});this.tabKey&&localStorage.setItem(this.tabKey,c),localStorage.setItem(ie,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(e){const i=JSON.stringify(this.state.doc),p=JSON.parse(i);e(p),this.setState({doc:p,history:this.state.history.slice(-40).concat(i),future:[]}),clearTimeout(this._persistTimer),this._persistTimer=setTimeout(()=>this.persist(p),400)}undo(){const e=this.state.history.slice(),i=e.pop();if(!i)return;this.state.editing&&this.onFoldLiveEdit&&this.onFoldLiveEdit();const p=JSON.parse(i);this.state.editing&&(this.editStale=this.state.editing),this.setState({doc:p,history:e,future:this.state.future.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(p))}redo(){const e=this.state.future.slice(),i=e.pop();if(!i)return;this.state.editing&&this.onFoldLiveEdit&&this.onFoldLiveEdit();const p=JSON.parse(i);this.state.editing&&(this.editStale=this.state.editing),this.setState({doc:p,future:e,history:this.state.history.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(p))}flash(e){this.state.toast=e,this.onToast?this.onToast():this.setState({toast:e}),clearTimeout(this.tt),this.tt=setTimeout(()=>{this.state.toast=null,this.onToast?this.onToast():this.setState({toast:null})},1900)}select(e,i){this.setState({sel:{type:e,id:i},tab:"design"})}find(e,i){for(const p of e.rows){if(p.id===i)return{row:p};for(let c=0;c<p.cols.length;c++){const r=p.cols[c].blocks.findIndex(T=>T.id===i);if(r>-1)return{row:p,col:p.cols[c],ci:c,bi:r,block:p.cols[c].blocks[r]}}}return{}}selObj(){return this.state.sel?this.find(this.state.doc,this.state.sel.id):{}}setProp(e,i,p){this.state.editing===e&&this.onFoldLiveEdit&&this.onFoldLiveEdit();let c=!1;this.commit(r=>{const T=this.find(r,e),Q=T.block?T.block.props:T.row?T.row.props:null;Q&&(T.block&&(c=Re(T.block,i,p)),Q[i]=p)}),c&&(this.editStale=e)}setTheme(e,i){this.commit(p=>{p.theme[e]=i})}setColProp(e,i,p,c){this.commit(r=>{const T=this.find(r,e).row;T&&T.cols[i]&&(T.cols[i][p]=c)})}togglePadSplit(e){this.commit(i=>{const c=this.find(i,e).row;if(!c)return;const r=c.props,T=!r.padSplit;T?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=T})}insertBlock(e,i,p,c){const r=Y(e),T=e==="condition"||e==="loop"?[r,de(e,{expr:"",end:!0})]:[r];this.commit(Q=>{if(this.state.mode==="stack"||!i){const re=typeof c=="number"?c:Q.rows.length;T.slice().reverse().forEach(ke=>{const fe=Z([100],[ke]);T.length>1&&(fe.props.py=4),Q.rows.splice(re,0,fe)})}else{const re=this.find(Q,i),ke=re.row.cols[p]||re.row.cols[0],fe=typeof c=="number"?c:ke.blocks.length;ke.blocks.splice(fe,0,...T)}}),this.setState({sel:{type:"block",id:r.id},tab:"design",drop:null,rowDrop:null})}insertGroup(e,i,p,c){const r=b[e];if(!r)return;const T=r.build();if(i){const Q=T.reduce((re,ke)=>re.concat(ke.cols.reduce((fe,je)=>fe.concat(je.blocks),[])),[]);this.commit(re=>{const ke=this.find(re,i),fe=ke.row.cols[p]||ke.row.cols[0];fe.blocks.splice(typeof c=="number"?c:fe.blocks.length,0,...Q)}),this.setState({sel:Q[0]?{type:"block",id:Q[0].id}:null,tab:"design",drop:null,rowDrop:null});return}this.commit(Q=>{Q.rows.splice(typeof c=="number"?c:Q.rows.length,0,...T)}),this.setState({sel:{type:"row",id:T[0].id},tab:"design",drop:null,rowDrop:null})}insertRow(e,i,p){const c=p?Z([100],[Y("html")]):Z(e);p&&(c.props.py=0,c.props.px=0),this.commit(r=>{r.rows.splice(typeof i=="number"?i:r.rows.length,0,c)}),this.setState({sel:{type:p?"block":"row",id:p?c.cols[0].blocks[0].id:c.id},tab:"design",drop:null,rowDrop:null})}moveBlock(e,i,p,c){this.commit(r=>{const T=this.find(r,e);if(!T.block)return;const[Q]=T.col.blocks.splice(T.bi,1),re=this.find(r,i);if(!re.row){r.rows.push(Z([100],[Q]));return}const ke=re.row.cols[p]||re.row.cols[0];let fe=typeof c=="number"?c:ke.blocks.length;ke===T.col&&T.bi<fe&&fe--,ke.blocks.splice(fe,0,Q)}),this.setState({drop:null,rowDrop:null})}moveRow(e,i){this.commit(p=>{const c=p.rows.findIndex(Q=>Q.id===e);if(c<0)return;const[r]=p.rows.splice(c,1);let T=i;c<T&&T--,p.rows.splice(Math.max(0,Math.min(T,p.rows.length)),0,r)}),this.setState({drop:null,rowDrop:null})}moveBlockToNewRow(e,i){this.commit(p=>{const c=this.find(p,e);if(!c.block)return;const[r]=c.col.blocks.splice(c.bi,1);p.rows.splice(i,0,Z([100],[r]))}),this.setState({drop:null,rowDrop:null})}dupSel(){const e=this.state.sel;e&&(this.commit(i=>{const p=this.find(i,e.id);if(p.block){const c=X(p.block);c.id=q(),p.col.blocks.splice(p.bi+1,0,c)}else if(p.row){const c=X(p.row);c.id=q(),c.cols.forEach(r=>{r.id=q(),r.blocks.forEach(T=>{T.id=q()})}),i.rows.splice(i.rows.indexOf(p.row)+1,0,c)}}),this.flash(this.t("toast.duplicated")))}delSel(){const e=this.state.sel;e&&(this.commit(i=>{const p=this.find(i,e.id);p.block?p.col.blocks.splice(p.bi,1):p.row&&i.rows.splice(i.rows.indexOf(p.row),1)}),this.setState({sel:null}))}nudge(e,i){this.commit(p=>{const c=this.find(p,e);if(c.block){const r=c.bi+i;if(r<0||r>=c.col.blocks.length)return;const[T]=c.col.blocks.splice(c.bi,1);c.col.blocks.splice(r,0,T)}else if(c.row){const r=p.rows.indexOf(c.row),T=r+i;if(T<0||T>=p.rows.length)return;const[Q]=p.rows.splice(r,1);p.rows.splice(T,0,Q)}})}startDrag(e){return i=>{this.drag=e;try{i.dataTransfer.setData("text/plain",JSON.stringify(e)),i.dataTransfer.effectAllowed="copyMove"}catch{}}}indexFromPoint(e,i){if(!e||!e.children)return 0;const p=Array.from(e.children).filter(r=>r.getAttribute&&r.getAttribute("data-mc-slot")==="1");let c=p.length;for(let r=0;r<p.length;r++){const T=p[r].getBoundingClientRect();if(T.height!==0&&i<T.top+T.height/2){c=r;break}}return c}colDragOver(e,i){return p=>{const c=this.drag;if(!c||(p.preventDefault(),p.stopPropagation(),c.kind==="row"||c.kind==="move-row"))return;const r=this.indexFromPoint(p.currentTarget,p.clientY),T=this.state.drop;(!T||T.rowId!==e||T.ci!==i||T.index!==r)&&this.setState({drop:{rowId:e,ci:i,index:r},rowDrop:null})}}colDrop(e,i){return p=>{const c=this.drag;if(!c)return;p.preventDefault(),p.stopPropagation();const r=this.indexFromPoint(p.currentTarget,p.clientY);c.kind==="block"?this.insertBlock(c.type,e,i,r):c.kind==="move-block"?this.moveBlock(c.id,e,i,r):c.kind==="group"?this.insertGroup(c.id,e,i,r):c.kind==="asset"&&this.dropAsset(c.assetId,e,i,r),this.drag=null}}rowSlotHost(e){return!e||!e.getAttribute?e||null:e.getAttribute("data-mc-sheet")==="1"?e:e.querySelector&&e.querySelector('[data-mc-sheet="1"]')||e}dropAsset(e,i,p,c){const r=this.state.assets.find(Q=>Q.id===e);if(!r)return;const T=Y("image");T.props.src=r.url,T.props.alt=r.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," "),this.commit(Q=>{if(!i||this.state.mode==="stack")Q.rows.splice(typeof c=="number"?c:Q.rows.length,0,Z([100],[T]));else{const re=this.find(Q,i),ke=re.row.cols[p]||re.row.cols[0];ke.blocks.splice(typeof c=="number"?c:ke.blocks.length,0,T)}}),this.setState({sel:{type:"block",id:T.id},tab:"design",drop:null,rowDrop:null})}setStorageProvider(e){const i=e?S(e):[];if(i.length){console.warn("[mailcraft] "+i.join("; "));return}if(this.storageProvider=e||null,this.abortAssets("list"),this.abortAssets("upload"),!e){this.setState({assets:[],folders:null,assetFolder:f,assetCursor:null,assetsError:null,assetsLoaded:!1});return}this.setState({assets:[],folders:null,assetFolder:f,assetCursor:null,assetsError:null,assetsLoaded:!1}),clearTimeout(this._limitsWarnTimer),this._limitsWarnTimer=setTimeout(()=>{this.storageProvider&&N(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(e){if(!e)return;const i=typeof e.build=="function"?e.build():e.doc?e.doc:typeof e.html=="string"&&e.html.trim()?t(e.html):null;if(!i)return;const p=M(JSON.parse(JSON.stringify(i)));p&&(this.docSetByHost=!0,this.setState({doc:p,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(p)),this.flash(this.t("toast.templateLoaded",{name:e.name||""})))}setStorageLimits(e){this.storageLimits=e||null,this.emit()}abortAssets(e){const i=e==="upload"?"_uploadAbort":"_listAbort";return this[i]&&this[i].abort(),this[i]=typeof AbortController=="function"?new AbortController:null,this[i]?this[i].signal:void 0}limits(){return I(this.storageLimits,this.storageProvider&&this.storageProvider.limits)}folderOptions(){const e=this.state;return this.storageProvider?[{id:f,name:this.t("library.allFiles"),count:null}].concat((e.folders||[]).map(i=>({id:i.id,name:i.name,count:null}))):[{id:f,name:this.t("library.allFiles"),count:e.assets.length}]}visibleAssets(){const e=this.state;if(this.storageProvider)return e.assets;const i=(e.assetQuery||"").trim().toLowerCase();return i?e.assets.filter(p=>p.name.toLowerCase().includes(i)):e.assets}openLibrary(e){this.setState({libraryOpen:!0,assetTarget:e||null}),this.storageProvider&&!this.state.assetsLoaded&&!this.state.assetsLoading&&this.refreshAssets()}setAssetFolder(e){this.setState({assetFolder:e}),this.storageProvider&&this.refreshAssets()}setAssetQuery(e){this.setState({assetQuery:e}),this.storageProvider&&(clearTimeout(this._searchTimer),this._searchTimer=setTimeout(()=>this.refreshAssets(),320))}async refreshAssets({append:e=!1}={}){const i=this.storageProvider;if(!i)return;const p=this._assetToken=(this._assetToken||0)+1,c=this.abortAssets("list");this.setState({assetsLoading:!0,assetsError:null});try{if(!this.state.folders&&i.folders)try{const Q=await i.folders({signal:c});p===this._assetToken&&this.setState({folders:Q})}catch{}const r=await i.list({folderId:this.folderId(),cursor:e?this.state.assetCursor:null,query:(this.state.assetQuery||"").trim(),signal:c});if(p!==this._assetToken)return;const T=(r&&r.items||[]).map(Q=>P(Q));this.setState({assets:e?this.state.assets.concat(T):T,assetCursor:r&&r.cursor||null,assetsLoading:!1,assetsLoaded:!0})}catch(r){if(p!==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||f}async addFiles(e){const i=Array.from(e||[]);if(!i.length)return;const p=this.storageProvider,c=this.limits();if(!p&&!c){this.addFilesAsDataUrls(i);return}const{accepted:r,rejected:T}=await j(i,c);if(T.forEach((He,Ce)=>{Ce===0?this.flash(this.t(He.key,He.params)):setTimeout(()=>this.flash(this.t(He.key,He.params)),Ce*2100)}),!r.length)return;if(!p){this.addFilesAsDataUrls(r.map(He=>He.file));return}const Q=this.folderId(),re=this.abortAssets("upload"),ke=new Array(r.length);let fe=0;this.setState({uploading:r.length});const je=async()=>{for(let He=fe++;He<r.length;He=fe++){const Ce=r[He];try{const Ee=await p.upload(Ce.file,{folderId:Q,width:Ce.w,height:Ce.ht,signal:re});ke[He]=P(Ee,Ce)}catch(Ee){Ee&&Ee.name==="AbortError"||this.flash(this.t("storage.errUploadFailed",{name:Ce.name,reason:Ee&&Ee.message||""}))}this.setState({uploading:Math.max(0,this.state.uploading-1)})}};await Promise.all(Array.from({length:Math.min(pe,r.length)},je)),this.setState({uploading:0});const Ae=ke.filter(Boolean);Ae.length&&this.finishUpload(Ae)}addFilesAsDataUrls(e){const i=Array.from(e||[]).filter(T=>/^image\//.test(T.type));if(!i.length)return;let p=i.length;const c=[],r=()=>{--p===0&&c.length&&this.finishUpload(c)};i.forEach(T=>{const Q=new FileReader;Q.onload=()=>{const re=new Image;re.onload=()=>{c.push({id:q(),name:T.name,url:Q.result,folder:"",w:re.width,ht:re.height,size:T.size}),r()},re.onerror=()=>{c.push({id:q(),name:T.name,url:Q.result,folder:"",w:0,ht:0,size:T.size}),r()},re.src=Q.result},Q.onerror=r,Q.readAsDataURL(T)})}finishUpload(e){const i=e.concat(this.state.assets);this.setState({assets:i,libHot:!1},()=>{this.storageProvider||this.persist(null,i)}),this.flash(e.length===1?this.t("toast.fileUploadedOne"):this.t("toast.fileUploadedMany",{count:e.length}))}async removeAsset(e){const i=this.storageProvider;if(i&&i.remove)try{await i.remove(e)}catch(c){this.flash(this.t("storage.errDeleteFailed",{name:e.name,reason:c&&c.message||""}));return}const p=this.state.assets.filter(c=>c.id!==e.id);this.setState({assets:p},()=>{i||this.persist(null,p)}),this.flash(this.t("toast.assetDeleted",{name:e.name}))}useAsset(e){const i=this.state.assetTarget;if(i)this.setProp(i.id||i,i.key||"src",e.url),this.setState({libraryOpen:!1,assetTarget:null}),this.flash(this.t("toast.imageReplaced"));else{const p=Y("image");p.props.src=e.url,p.props.alt=e.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," ");const c=this.selObj();this.commit(r=>{c.row&&this.state.mode==="rows"?this.find(r,c.row.id).row.cols[c.ci||0].blocks.push(p):r.rows.push(Z([100],[p]))}),this.setState({libraryOpen:!1,sel:{type:"block",id:p.id},tab:"design"}),this.flash(this.t("toast.imageAdded"))}}buildHtml(e){return g(this.state,this.exportRoot,C,e)}importHtml(e){const{rows:i,theme:p}=me(e);return this.docSetByHost=!0,this.commit(c=>{c.rows=i,Object.assign(c.theme,p)}),i.length}boxFields(){const e=this.selObj();if(!e.block)return[];const i=e.block,p=u(()=>this.find(this.state.doc,i.id).block.props,(c,r)=>this.setProp(i.id,c,r),this);return m([p.head("Box & border"),p.color("Background color","bBg"),p.range("Border thickness","bBorder",0,20,1,"px"),...i.props.bBorder?[p.sel("Border style","bStyle",Be),p.color("Border color","bLine"),p.tog("Top border","bTop",!0),p.tog("Right border","bRight",!0),p.tog("Bottom border","bBottom",!0),p.tog("Left border","bLeft",!0)]:[],p.range("Rounded corners","bRadius",0,100,1,"px"),p.range("Space inside","bPad",0,100,2,"px")])}fields(){if(!this.state.sel)return[];const i=this.selObj(),p=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];if(i.block){const c=i.block,r=u(()=>this.find(this.state.doc,c.id).block.props,(fe,je)=>this.setProp(c.id,fe,je),this),T=[],Q=[r.head("Spacing"),o(null,[r.range("Above & below","py",0,160,2,"px"),r.range("Left & right","px",0,120,2,"px")])],re=[r.head("Visibility"),r.seg("Show on","vis",[{value:"all",label:"All"},{value:"desktop",label:"Desktop"},{value:"mobile",label:"Mobile"}])],ke=(()=>{switch(c.type){case"text":return m(T.concat(/<a(?:\s|>)/i.test(String(c.props.html||""))?[{kind:"richLinks",label:"Links",html:c.props.html||"",onChange:fe=>this.setProp(c.id,"html",fe)}]:[],[r.area("Text","html"),r.sel("Font","fontFamily",this.fontOptions(!0,c.props.fontFamily)),r.range("Text size","size",...h.text,1,"px"),r.range("Line spacing","lh",.8,3,.05,""),r.seg("Align","align",p),r.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"700",label:"Bold"}]),r.color("Text color","color")],Q));case"image":return m(T.concat([r.btn("Choose from library",()=>this.openLibrary({id:c.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",p),r.range("Rounded corners","radius",0,200,1,"px")],Q));case"button":return m(T.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,c.props.fontFamily)),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(c.props.borderW?[r.sel("Outline style","borderStyle",Be),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",p),r.tog("Full width","full")])));case"divider":return m(T.concat([r.range("Thickness","thickness",1,20,1,"px"),r.sel("Line style","lineStyle",Be),r.range("Width","width",5,100,5,"%"),r.color("Color","color"),r.range("Space above & below","py",0,160,2,"px")]));case"spacer":return m(T.concat([r.range("Height","height",0,400,2,"px")]));case"condition":return m(T.concat(c.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 m(T.concat(c.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 m(T.concat([{kind:"social",label:"Networks",value:c.props.items||"",onChange:fe=>this.setProp(c.id,"items",fe)},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,c.props.fontFamily)),r.seg("Align","align",p),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 m(T.concat([r.btn("Choose thumbnail",()=>this.openLibrary({id:c.id,key:"src"})),r.text("Video URL","href","https://"),r.text("Caption","caption"),r.color("Badge color","badge")]));case"html":return m(T.concat([r.area("Raw HTML","code")]));case"countdown":return m(T.concat([r.text("Ends at (YYYY-MM-DDTHH:MM)","target"),r.text("Label","label"),r.sel("Font","fontFamily",this.fontOptions(!0,c.props.fontFamily)),r.color("Color","color")]));case"menu":return m(T.concat([r.area("Items — one per line as Label|URL","items"),r.seg("Align","align",p),r.sel("Font","fontFamily",this.fontOptions(!0,c.props.fontFamily)),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 m(T.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,c.props.fontFamily)),r.range("Text size","size",...h.heading,1,"px"),r.range("Line spacing","lh",.8,2.2,.02,""),r.seg("Align","align",p),r.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"}]),r.color("Text color","color")],Q));case"list":return m(T.concat([r.area("Items — one per line","items"),r.tog("Numbered","ordered"),r.sel("Font","fontFamily",this.fontOptions(!0,c.props.fontFamily)),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")],Q));case"table":return m(T.concat([{kind:"tablegrid",label:"Cells",value:c.props.data||"",header:!!c.props.header,onChange:fe=>this.setProp(c.id,"data",fe)},r.tog("Header row","header"),r.tog("Cell borders","borders"),...c.props.borders?[r.range("Border thickness","borderWidth",1,10,1,"px"),r.sel("Border style","borderStyle",Be)]:[],r.tog("Zebra stripes","striped"),r.sel("Font","fontFamily",this.fontOptions(!0,c.props.fontFamily)),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",p)]));case"css":return m(T.concat([r.area("CSS","code"),r.text("Note to yourself","note")]));case"box":return m(T.concat([r.area("Content (HTML allowed)","html"),r.color("Background color","bg"),r.btn("Choose background image",()=>this.openLibrary({id:c.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(c.props.border?[r.sel("Border style","borderStyle",Be),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",p),r.tog("Drop shadow","shadow")])));case"svg":return m(T.concat([r.area("SVG markup","code"),r.seg("Align","align",p),r.range("Width","width",5,100,5,"%"),r.range("Padding","py",0,120,2,"px")]));case"codeblock":return m(T.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[]}})();return c.type==="condition"||c.type==="loop"?ke:m(ke.concat(re))}if(i.row){const c=i.row,r=c.props,T=u(()=>this.find(this.state.doc,c.id).row.props,(fe,je)=>this.setProp(c.id,fe,je),this),Q=K.findIndex(fe=>fe.spans.length===c.cols.length&&fe.spans.join()===c.cols.map(je=>je.span).join()),re=!!this.state.advancedOpen,ke=(fe,je,Ae)=>({kind:"toggle",label:fe,on:!!je,onChange:Ae});return m([{kind:"select",label:"Columns",value:String(Q>-1?Q:0),options:K.map((fe,je)=>({value:String(je),label:fe.label})),onChange:fe=>{const je=K[Number(fe)].spans;this.commit(Ae=>{const He=this.find(Ae,c.id).row,Ce=He.cols.slice();He.cols=je.map((De,Ne)=>Object.assign({},Ce[Ne]||{},{id:Ce[Ne]&&Ce[Ne].id||q(),span:De,blocks:Ce[Ne]&&Ce[Ne].blocks||[]}));const Ee=Ce.slice(je.length).reduce((De,Ne)=>De.concat(Ne.blocks),[]);Ee.length&&(He.cols[He.cols.length-1].blocks=He.cols[He.cols.length-1].blocks.concat(Ee))})}},...c.cols.length>1?[T.range("Space between columns","gap",0,120,2,"px"),T.head("On mobile"),T.seg("Columns","mobileCols",[{value:1,label:"One"},{value:2,label:"Two"},{value:"keep",label:"Keep"}]),...r.mobileCols!=="keep"?[T.seg("Order","mobileOrder",[{value:"normal",label:"Normal"},{value:"reverse",label:"Reverse"}])]:[]]:[],...c.cols.length>1?c.cols.reduce((fe,je,Ae)=>{const He=u(()=>this.find(this.state.doc,c.id).row.cols[Ae],(Ce,Ee)=>this.setColProp(c.id,Ae,Ce,Ee),this);return fe.concat([T.head("Column "+(Ae+1)),He.color("Background color","bg"),He.range("Border thickness","border",0,20,1,"px"),...je.border?[He.sel("Border style","borderStyle",Be),He.color("Border color","lineColor")]:[],He.range("Rounded corners","radius",0,100,1,"px"),o("Space inside",[He.range("Top & bottom","padY",0,100,2,"px"),He.range("Left & right","padX",0,100,2,"px")])])},[]):[],T.head("Background"),T.color("Background color","bg"),T.btn(r.bgImage?"Change background image":"Add background image",()=>this.openLibrary({id:c.id,key:"bgImage"})),...r.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",Be),...r.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"),ke("Drop shadow",!!r.shadow,()=>this.setProp(c.id,"shadow",r.shadow?"":"0 1px 2px rgba(15,23,42,0.06), 0 8px 24px rgba(15,23,42,0.10)")),T.head("Spacing"),o("Space inside",r.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:!!r.padSplit,onChange:()=>this.togglePadSplit(c.id)}),o("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")]),ke("Advanced options",re,()=>this.setState({advancedOpen:!this.state.advancedOpen})),...re?[T.head("Advanced"),T.seg("Layout engine","layout",[{value:"columns",label:"Columns"},{value:"flex",label:"Flex"},{value:"grid",label:"Grid"}]),...r.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")]:[],...r.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(e,i){const p=[{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"}],c=e?[{value:"",label:"Inherit — theme font"}].concat(p):p,r=T=>String(T||"").replace(/["']/g,"").replace(/\s*,\s*/g,",").replace(/\s+/g," ").trim().toLowerCase();return i&&!c.some(T=>r(T.value)===r(i))&&c.push({value:i,label:String(i).split(",")[0].replace(/["']/g,"").trim()+" — from the email"}),c}themeFields(){const e=u(()=>this.state.doc.theme,(i,p)=>this.setTheme(i,p),this);return m([e.head("Canvas"),e.slider("Content area width","width",280,900,5,"px"),e.color("Page background color","bg",{transparent:!0,solid:"#eef2f7"}),o("Space around content",[e.range("Top & bottom","padY",0,120,2,"px"),e.range("Sides","padX",0,120,2,"px")]),e.head("Content area"),e.color("Content area background color","contentBg",{transparent:!0,solid:"#ffffff"}),e.range("Corner radius","radius",0,48,1,"px"),e.range("Border thickness","borderW",0,12,1,"px"),e.sel("Drop shadow","shadow",[{value:"",label:"None"},{value:"0 2px 8px rgba(23,32,51,0.08)",label:"Soft"},{value:"0 8px 28px rgba(23,32,51,0.14)",label:"Medium"},{value:"0 18px 48px rgba(23,32,51,0.22)",label:"Deep"}])].concat(this.state.doc.theme.borderW?[e.sel("Border style","borderStyle",Be),e.color("Border color","borderColor")]:[]).concat([e.head("Type & color"),e.sel("Default font","font",this.fontOptions(!1,this.state.doc.theme.font)),e.color("Text color","text"),e.color("Link color","link")]))}vars(){return F(this.variablesRaw)}insertSnippet(e,i){const p=this.selObj(),c=p.block?ae[p.block.type]:null;c?(this.setProp(p.block.id,c,(p.block.props[c]||"")+(c==="items"||c==="data"?`
|
|
20
|
-
`:" ")+
|
|
21
|
-
`);return{emit:
|
|
22
|
-
`);const
|
|
23
|
-
`)||" ",
|
|
24
|
-
`+
|
|
25
|
-
</div>`:
|
|
19
|
+
`):re(String(Y)),o=R.props[c];if(o==null||o==="")return!1;let M=o;if(a==="size"){const Y=Number(R.props.size),re=Number(r);Y>0&&re>0&&re!==Y&&(M=d(o,ye=>s(ye,re/Y)))}else Ae[a]&&(M=d(o,Y=>t(Y,Ae[a])));return M===o?!1:(R.props[c]=M,!0)}const Be=[{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"},{value:"double",label:"Double"}];function We(R,a,r){if(a.nodeType!==Node.TEXT_NODE){let M=0;const Y=document.createTreeWalker(R,NodeFilter.SHOW_TEXT);let re;const ye=a.childNodes[r];if(!ye){for(;Y.nextNode();)M+=Y.currentNode.nodeValue.length;return M}for(;re=Y.nextNode();){if(re===ye||ye.contains(re))return M;M+=re.nodeValue.length}return M}let c=0;const d=document.createTreeWalker(R,NodeFilter.SHOW_TEXT);let o;for(;o=d.nextNode();){if(o===a)return c+r;c+=o.nodeValue.length}return c}function he(R){const a=x(R);let r=a.rows;if(!r.length){const c=W([100],[X("html")]);c.props.py=0,c.props.px=0;let d=R;try{d=new DOMParser().parseFromString(String(R||""),"text/html").body.innerHTML||R}catch{}c.cols[0].blocks[0].props.code=String(d||"").trim(),r=[c]}return{rows:r,theme:a.theme||{}}}function e(R){const a=Q(),{rows:r,theme:c}=he(R);return a.rows=r,Object.assign(a.theme,c),a}const l=[{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"]}],k=["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"],T=l.flatMap(R=>R.items);class w{constructor({variables:a,aiProvider:r,iconProvider:c,messages:d,storageProvider:o,storageLimits:M}={}){qe(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}})});qe(this,"applyLink",a=>{const r=this.state.linkDraft;if(!r)return;const c=L(r.href);this.exec("createLink",c);const d=this.editEl;d&&d.querySelectorAll("a").forEach(o=>{o.getAttribute("href")===c&&(r.blank?(o.setAttribute("target","_blank"),o.setAttribute("rel","noopener")):(o.removeAttribute("target"),o.removeAttribute("rel")))}),this.syncEdit(a),this.setState({linkDraft:null})});qe(this,"removeLink",a=>{this.exec("unlink"),this.syncEdit(a),this.setState({linkDraft:null})});qe(this,"canvasDragOver",(a,r)=>{if(!this.drag)return;a.preventDefault();const d=typeof r=="number"?r:this.indexFromPoint(this.rowSlotHost(a.currentTarget),a.clientY);this.state.rowDrop!==d&&this.setState({rowDrop:d,drop:null})});qe(this,"canvasDrop",(a,r)=>{const c=this.drag;c&&(a.preventDefault(),r=typeof r=="number"?r:this.indexFromPoint(this.rowSlotHost(a.currentTarget),a.clientY),c.kind==="row"?this.insertRow(c.spans,r,c.html):c.kind==="move-row"?this.moveRow(c.id,r):c.kind==="block"?this.insertBlock(c.type,null,0,r):c.kind==="move-block"?this.moveBlockToNewRow(c.id,r):c.kind==="group"?this.insertGroup(c.id,null,0,r):c.kind==="asset"&&this.dropAsset(c.assetId,null,0,r),this.drag=null)});qe(this,"openExport",()=>{this.setState({exportOpen:!0,exportCode:this.buildHtml(),copied:!1,libraryOpen:!1,aiOpen:!1,codeOpen:!1})});qe(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"))});qe(this,"copyCode",()=>{navigator.clipboard&&navigator.clipboard.writeText(this.state.codeSrc).catch(()=>{}),this.flash(this.t("toast.htmlCopied"))});qe(this,"downloadExport",()=>{const a=new Blob([this.state.exportCode],{type:"text/html"}),r=document.createElement("a");r.href=URL.createObjectURL(a),r.download="email.html",r.click(),setTimeout(()=>URL.revokeObjectURL(r.href),1500)});qe(this,"openCode",()=>{const a=this.buildHtml();this.setState({codeOpen:!0,codeSrc:a,codeLive:a,codeDirty:!1,libraryOpen:!1,exportOpen:!1,aiOpen:!1})});qe(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)});qe(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"))}});qe(this,"runAi",async()=>{const{aiGoal:a,aiTone:r,aiBrief:c}=this.state;this.setState({aiBusy:!0,aiResults:[]});const d="You write marketing email copy. Goal: "+a+". Tone: "+r+". Brief: "+c+'. Return ONLY JSON: {"headline":"...","body":"...","cta":"..."} — body max 55 words, plain sentences, no emoji, may use {{ first_name }}.';let o=null;try{if(this.aiProvider){const Y=await this.aiProvider(d),re=String(Y).match(/\{[\s\S]*\}/);re&&(o=JSON.parse(re[0]))}}catch{o=null}if(!o){const Y=(c||"the new drop").replace(/\.$/,"");o={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 M=(Y,re,ye)=>{const q=X("text");q.props.html=Y,re&&(q.props.size=re),this.commit(ue=>{ue.rows.push(W([100],[q]))}),this.setState({aiOpen:!1,sel:{type:"block",id:q.id},tab:"design"}),this.flash(ye)};this.setState({aiBusy:!1,aiResults:[{kind:this.t("ai.kindHeadline"),text:o.headline,action:this.t("ai.actionInsertHeading"),onUse:()=>M('<strong style="font-size:27px;line-height:1.15;display:block">'+o.headline+"</strong>",16,this.t("toast.headingAdded"))},{kind:this.t("ai.kindBody"),text:o.body,action:this.t("ai.actionInsertText"),onUse:()=>M(o.body,16,this.t("toast.textBlockAdded"))},{kind:this.t("ai.kindButton"),text:o.cta,action:this.t("ai.actionInsertButton"),onUse:()=>{const Y=X("button");Y.props.label=o.cta,this.commit(re=>{re.rows.push(W([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=r??null,this.iconProvider=c??null,this.storageProvider=o??null,this.storageLimits=M??null,this.messages=d??null,this.t=te(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:Q(),sel:null,hover:null,tab:"design",chrome:"light",device:"desktop",mode:"rows",zoom:1,advancedOpen:!1,assets:[],assetFolder:h,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:T[0],aiTone:k[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:r=>setTimeout(r,16);this._emitHandle=a(()=>{this._emitScheduled=!1,this._emitHandle=null;for(const r of this.listeners)r()})}setState(a,r){Object.assign(this.state,typeof a=="function"?a(this.state):a),this.emit(),r&&r()}mount(a){this.exportRoot=a;try{let c=sessionStorage.getItem(we);c||(c=G(),sessionStorage.setItem(we,c)),this.tabKey=de+c}catch{this.tabKey=null}const r=!this.mounted;this.mounted=!0;try{const c=r&&!this.docSetByHost&&(this.tabKey&&localStorage.getItem(this.tabKey)||localStorage.getItem(ie));if(c){const d=JSON.parse(E(c));d&&d.doc&&(d.doc=D(d.doc)),d&&d.doc&&this.setState({doc:d.doc,assets:ze(d.assets),chrome:d.chrome||"light",device:d.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 r=localStorage.key(a);if(!r||!r.startsWith(de)||r===this.tabKey)continue;let c=!0;try{const d=JSON.parse(localStorage.getItem(r));c=!d||!d.t||Date.now()-d.t>xe}catch{}c&&localStorage.removeItem(r)}}catch{}}mountKeyboard(a){this.onKey=r=>{const c=r.composedPath?r.composedPath()[0]:r.target,d=a(c);if(r.key==="Escape"){if(d&&c&&typeof c.blur=="function"){c.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(d&&!(c&&c.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(!d){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 c=r.getRangeAt(0),d=We(this.editEl,c.startContainer,c.startOffset),o=We(this.editEl,c.endContainer,c.endOffset);this._lastSelBlock===this.state.editing&&this._lastSelStart===d&&this._lastSelEnd===o||(this._lastSelBlock=this.state.editing,this._lastSelStart=d,this._lastSelEnd=o,this.savedRange=c.cloneRange(),this.onFormatChange&&this.onFormatChange())},document.addEventListener("selectionchange",this.onSelect),this.onOutsideClick=r=>{if(!this.state.editing||this.rendering)return;const c=this.exportRoot&&this.exportRoot.activeElement;if(c&&c===this.editEl)return;const d=r.composedPath?r.composedPath():[];for(const o of d)if(!(!o||o.nodeType!==1)&&(o.getAttribute&&o.getAttribute("data-mc-content")===this.state.editing||o.hasAttribute&&o.hasAttribute("data-rte-root")))return;this.closeEditing()},this.exportRoot&&this.exportRoot.addEventListener("click",this.onOutsideClick)}unmountKeyboard(){window.removeEventListener("keydown",this.onKey),document.removeEventListener("selectionchange",this.onSelect),this.exportRoot&&this.onOutsideClick&&this.exportRoot.removeEventListener("click",this.onOutsideClick),this.onOutsideClick=null}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()}closeEditing(){const a=this.state.editing;if(!a)return;const r=this.editEl,c=r&&r.isConnected&&this.editKey?this.editPlain?r.textContent:r.innerHTML:null;this.rteActive=!0,r&&this.exportRoot&&this.exportRoot.activeElement===r&&r.blur(),this.rteActive=!1,c!==null&&c!==this.editOriginal&&this.setProp(a,this.editKey,c),this.state.editing===a&&this.setState({editing:null,linkDraft:null})}exec(a,r){this.rteActive=!0;try{if(this.editEl){this.editEl.focus({preventScroll:!0});const d=this.getSelection();!(d&&d.rangeCount&&this.editEl.contains(d.anchorNode)&&this.editEl.contains(d.focusNode))&&this.savedRange&&d&&(d.removeAllRanges(),d.addRange(this.savedRange))}document.execCommand(a,!1,r);const c=this.getSelection();c&&c.rangeCount&&this.editEl&&this.editEl.contains(c.anchorNode)&&(this.savedRange=c.getRangeAt(0).cloneRange())}catch{}setTimeout(()=>{this.rteActive=!1},0)}pasteClean(a){return r=>{const c=r.clipboardData;if(!c)return;r.preventDefault();const d=c.getData("text/html"),o=c.getData("text/plain")||"",M=!a&&d?A(d):H(o).replace(/\r?\n/g,"<br />");this.exec("insertHTML",M)}}syncEdit(a){const r=this.editEl;if(!r)return;const c=a.type==="heading"?"text":a.type==="html"?"code":"html",d=a.type==="heading"?r.textContent:r.innerHTML;a.props[c]!==d&&this.setProp(a.id,c,d)}anchorAt(){const a=this.getSelection(),r=a&&a.anchorNode?a.anchorNode.nodeType===1?a.anchorNode:a.anchorNode.parentElement:null;return r&&r.closest?r.closest("a"):null}currentTag(){const a=this.getSelection(),r=a&&a.anchorNode?a.anchorNode.nodeType===1?a.anchorNode:a.anchorNode.parentElement:null,c=r&&r.closest?r.closest("h1,h2,h3,h4,h5,h6,blockquote,p"):null;return c?c.tagName.toLowerCase():""}formatFingerprint(a){let r=a.id+"|"+this.currentTag()+"|"+this.selSize(a)+"|"+(this.state.linkDraft?1:0)+"|";for(const c of["bold","italic","underline","strikeThrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList"]){let d=!1;try{d=document.queryCommandState(c)}catch{}r+=d?"1":"0"}return r}size(a,r){if(a.type==="text"&&this.sizeSelection(a,r))return;const c=this.find(this.state.doc,a.id).block||a,d=Number(c.props.size)||16,[o,M]=b[a.type]||[10,64];this.setProp(a.id,"size",Math.max(o,Math.min(M,d+r)))}inlineSizeAt(a){let r=a&&a.nodeType===1?a:a?a.parentElement:null;for(;r&&r!==this.editEl;){const c=/^([\d.]+)px$/.exec(r.style&&r.style.fontSize||"");if(c)return parseFloat(c[1]);r=r.parentElement}return null}selSize(a){const r=this.find(this.state.doc,a.id).block||a,c=Number(r.props.size)||16;if(a.type!=="text"||this.state.editing!==a.id||!this.editEl)return c;const d=this.getSelection(),o=d&&d.rangeCount&&this.editEl.contains(d.anchorNode)?d.anchorNode:this.savedRange&&this.editEl.contains(this.savedRange.startContainer)?this.savedRange.startContainer:null,M=o?this.inlineSizeAt(o):null;return M==null?c:Math.round(M)}sizeSelection(a,r){const c=this.editEl;if(!c||!c.isConnected||this.state.editing!==a.id)return!1;const d=this.getSelection();let o=d&&d.rangeCount&&c.contains(d.anchorNode)&&c.contains(d.focusNode)?d.getRangeAt(0):null;if(!o&&this.savedRange&&c.contains(this.savedRange.startContainer)&&c.contains(this.savedRange.endContainer)&&(o=this.savedRange),!o||o.collapsed)return!1;const M=o.cloneRange(),Y=c.textContent.length;if(We(c,M.startContainer,M.startOffset)===0&&We(c,M.endContainer,M.endOffset)===Y)return!1;const[re,ye]=b.text,q=this.find(this.state.doc,a.id).block||a,ue=this.inlineSizeAt(M.startContainer)||Number(q.props.size)||16,fe=Math.max(re,Math.min(ye,Math.round(ue)+r)),ve=M.endContainer;ve.nodeType===3&&M.endOffset<ve.nodeValue.length&&ve.splitText(M.endOffset);const He=M.startContainer;if(He.nodeType===3&&M.startOffset>0){const Ge=He.splitText(M.startOffset);M.setStart(Ge,0),ve===He&&M.setEnd(Ge,Ge.nodeValue.length)}const Le=We(c,M.startContainer,M.startOffset),De=We(c,M.endContainer,M.endOffset),Oe=document.createTreeWalker(c,NodeFilter.SHOW_TEXT),Ye=[];let at=0,Qe;for(;Qe=Oe.nextNode();){const Ge=Qe.nodeValue.length;if(Ge&&at>=Le&&at+Ge<=De&&Ye.push(Qe),at+=Ge,at>=De)break}if(!Ye.length)return!0;const et=Ye.map(Ge=>{const _e=Ge.parentElement;if(_e&&_e!==c&&_e.tagName==="SPAN"&&_e.childNodes.length===1)return _e.style.fontSize=fe+"px",_e;const tt=document.createElement("span");return tt.style.fontSize=fe+"px",Ge.replaceWith(tt),tt.appendChild(Ge),tt}),nt=et[0].firstChild,st=et[et.length-1].lastChild,ot=document.createRange();return ot.setStart(nt,0),ot.setEnd(st,st.nodeValue.length),d&&(d.removeAllRanges(),d.addRange(ot)),this.savedRange=ot.cloneRange(),!0}hasCountdown(){return this.state.doc.rows.some(a=>a.cols.some(r=>r.blocks.some(c=>c.type==="countdown")))}persist(a,r,c){try{const d=JSON.stringify({doc:a||this.state.doc,assets:this.storageProvider?[]:r||this.state.assets,chrome:c||this.state.chrome,t:Date.now()});this.tabKey&&localStorage.setItem(this.tabKey,d),localStorage.setItem(ie,d),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 r=JSON.stringify(this.state.doc),c=JSON.parse(r);a(c),this.setState({doc:c,history:this.state.history.slice(-40).concat(r),future:[]}),clearTimeout(this._persistTimer),this._persistTimer=setTimeout(()=>this.persist(c),400)}undo(){const a=this.state.history.slice(),r=a.pop();if(!r)return;this.state.editing&&this.onFoldLiveEdit&&this.onFoldLiveEdit();const c=JSON.parse(r);this.state.editing&&(this.editStale=this.state.editing),this.setState({doc:c,history:a,future:this.state.future.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(c))}redo(){const a=this.state.future.slice(),r=a.pop();if(!r)return;this.state.editing&&this.onFoldLiveEdit&&this.onFoldLiveEdit();const c=JSON.parse(r);this.state.editing&&(this.editStale=this.state.editing),this.setState({doc:c,future:a,history:this.state.history.concat(JSON.stringify(this.state.doc)),sel:null},()=>this.persist(c))}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,r){this.setState({sel:{type:a,id:r},tab:"design"})}find(a,r){for(const c of a.rows){if(c.id===r)return{row:c};for(let d=0;d<c.cols.length;d++){const o=c.cols[d].blocks.findIndex(M=>M.id===r);if(o>-1)return{row:c,col:c.cols[d],ci:d,bi:o,block:c.cols[d].blocks[o]}}}return{}}selObj(){return this.state.sel?this.find(this.state.doc,this.state.sel.id):{}}setProp(a,r,c){this.state.editing===a&&this.onFoldLiveEdit&&this.onFoldLiveEdit();let d=!1;this.commit(o=>{const M=this.find(o,a),Y=M.block?M.block.props:M.row?M.row.props:null;Y&&(M.block&&(d=Pe(M.block,r,c)),Y[r]=c)}),d&&(this.editStale=a)}setTheme(a,r){this.commit(c=>{c.theme[a]=r})}setColProp(a,r,c,d){this.commit(o=>{const M=this.find(o,a).row;M&&M.cols[r]&&(M.cols[r][c]=d)})}togglePadSplit(a){this.commit(r=>{const d=this.find(r,a).row;if(!d)return;const o=d.props,M=!o.padSplit;M?o.pt===void 0&&(o.pt=o.py,o.pb=o.py,o.pl=o.px,o.pr=o.px):(o.py=Math.round(((o.pt??o.py)+(o.pb??o.py))/2),o.px=Math.round(((o.pl??o.px)+(o.pr??o.px))/2),delete o.pt,delete o.pb,delete o.pl,delete o.pr),o.padSplit=M})}insertBlock(a,r,c,d){const o=X(a),M=a==="condition"||a==="loop"?[o,pe(a,{expr:"",end:!0})]:[o];this.commit(Y=>{if(this.state.mode==="stack"||!r){const re=typeof d=="number"?d:Y.rows.length;M.slice().reverse().forEach(ye=>{const q=W([100],[ye]);M.length>1&&(q.props.py=4),Y.rows.splice(re,0,q)})}else{const re=this.find(Y,r),ye=re.row.cols[c]||re.row.cols[0],q=typeof d=="number"?d:ye.blocks.length;ye.blocks.splice(q,0,...M)}}),this.setState({sel:{type:"block",id:o.id},tab:"design",drop:null,rowDrop:null})}insertGroup(a,r,c,d){const o=y[a];if(!o)return;const M=o.build();if(r){const Y=M.reduce((re,ye)=>re.concat(ye.cols.reduce((q,ue)=>q.concat(ue.blocks),[])),[]);this.commit(re=>{const ye=this.find(re,r),q=ye.row.cols[c]||ye.row.cols[0];q.blocks.splice(typeof d=="number"?d:q.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 d=="number"?d:Y.rows.length,0,...M)}),this.setState({sel:{type:"row",id:M[0].id},tab:"design",drop:null,rowDrop:null})}insertRow(a,r,c){const d=c?W([100],[X("html")]):W(a);c&&(d.props.py=0,d.props.px=0),this.commit(o=>{o.rows.splice(typeof r=="number"?r:o.rows.length,0,d)}),this.setState({sel:{type:c?"block":"row",id:c?d.cols[0].blocks[0].id:d.id},tab:"design",drop:null,rowDrop:null})}moveBlock(a,r,c,d){this.commit(o=>{const M=this.find(o,a);if(!M.block)return;const[Y]=M.col.blocks.splice(M.bi,1),re=this.find(o,r);if(!re.row){o.rows.push(W([100],[Y]));return}const ye=re.row.cols[c]||re.row.cols[0];let q=typeof d=="number"?d:ye.blocks.length;ye===M.col&&M.bi<q&&q--,ye.blocks.splice(q,0,Y)}),this.setState({drop:null,rowDrop:null})}moveRow(a,r){this.commit(c=>{const d=c.rows.findIndex(Y=>Y.id===a);if(d<0)return;const[o]=c.rows.splice(d,1);let M=r;d<M&&M--,c.rows.splice(Math.max(0,Math.min(M,c.rows.length)),0,o)}),this.setState({drop:null,rowDrop:null})}moveBlockToNewRow(a,r){this.commit(c=>{const d=this.find(c,a);if(!d.block)return;const[o]=d.col.blocks.splice(d.bi,1);c.rows.splice(r,0,W([100],[o]))}),this.setState({drop:null,rowDrop:null})}dupSel(){const a=this.state.sel;a&&(this.commit(r=>{const c=this.find(r,a.id);if(c.block){const d=_(c.block);d.id=G(),c.col.blocks.splice(c.bi+1,0,d)}else if(c.row){const d=_(c.row);d.id=G(),d.cols.forEach(o=>{o.id=G(),o.blocks.forEach(M=>{M.id=G()})}),r.rows.splice(r.rows.indexOf(c.row)+1,0,d)}}),this.flash(this.t("toast.duplicated")))}delSel(){const a=this.state.sel;a&&(this.commit(r=>{const c=this.find(r,a.id);c.block?c.col.blocks.splice(c.bi,1):c.row&&r.rows.splice(r.rows.indexOf(c.row),1)}),this.setState({sel:null}))}nudge(a,r){this.commit(c=>{const d=this.find(c,a);if(d.block){const o=d.bi+r;if(o<0||o>=d.col.blocks.length)return;const[M]=d.col.blocks.splice(d.bi,1);d.col.blocks.splice(o,0,M)}else if(d.row){const o=c.rows.indexOf(d.row),M=o+r;if(M<0||M>=c.rows.length)return;const[Y]=c.rows.splice(o,1);c.rows.splice(M,0,Y)}})}startDrag(a){return r=>{this.drag=a;try{r.dataTransfer.setData("text/plain",JSON.stringify(a)),r.dataTransfer.effectAllowed="copyMove"}catch{}}}indexFromPoint(a,r){if(!a||!a.children)return 0;const c=Array.from(a.children).filter(o=>o.getAttribute&&o.getAttribute("data-mc-slot")==="1");let d=c.length;for(let o=0;o<c.length;o++){const M=c[o].getBoundingClientRect();if(M.height!==0&&r<M.top+M.height/2){d=o;break}}return d}colDragOver(a,r){return c=>{const d=this.drag;if(!d||(c.preventDefault(),c.stopPropagation(),d.kind==="row"||d.kind==="move-row"))return;const o=this.indexFromPoint(c.currentTarget,c.clientY),M=this.state.drop;(!M||M.rowId!==a||M.ci!==r||M.index!==o)&&this.setState({drop:{rowId:a,ci:r,index:o},rowDrop:null})}}colDrop(a,r){return c=>{const d=this.drag;if(!d)return;c.preventDefault(),c.stopPropagation();const o=this.indexFromPoint(c.currentTarget,c.clientY);d.kind==="block"?this.insertBlock(d.type,a,r,o):d.kind==="move-block"?this.moveBlock(d.id,a,r,o):d.kind==="group"?this.insertGroup(d.id,a,r,o):d.kind==="asset"&&this.dropAsset(d.assetId,a,r,o),this.drag=null}}rowSlotHost(a){return!a||!a.getAttribute?a||null:a.getAttribute("data-mc-sheet")==="1"?a:a.querySelector&&a.querySelector('[data-mc-sheet="1"]')||a}dropAsset(a,r,c,d){const o=this.state.assets.find(Y=>Y.id===a);if(!o)return;const M=X("image");M.props.src=o.url,M.props.alt=o.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," "),this.commit(Y=>{if(!r||this.state.mode==="stack")Y.rows.splice(typeof d=="number"?d:Y.rows.length,0,W([100],[M]));else{const re=this.find(Y,r),ye=re.row.cols[c]||re.row.cols[0];ye.blocks.splice(typeof d=="number"?d:ye.blocks.length,0,M)}}),this.setState({sel:{type:"block",id:M.id},tab:"design",drop:null,rowDrop:null})}setStorageProvider(a){const r=a?f(a):[];if(r.length){console.warn("[mailcraft] "+r.join("; "));return}if(this.storageProvider=a||null,this.abortAssets("list"),this.abortAssets("upload"),!a){this.setState({assets:[],folders:null,assetFolder:h,assetCursor:null,assetsError:null,assetsLoaded:!1});return}this.setState({assets:[],folders:null,assetFolder:h,assetCursor:null,assetsError:null,assetsLoaded:!1}),clearTimeout(this._limitsWarnTimer),this._limitsWarnTimer=setTimeout(()=>{this.storageProvider&&N(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 r=typeof a.build=="function"?a.build():a.doc?a.doc:typeof a.html=="string"&&a.html.trim()?e(a.html):null;if(!r)return;const c=D(JSON.parse(JSON.stringify(r)));c&&(this.docSetByHost=!0,this.setState({doc:c,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(c)),this.flash(this.t("toast.templateLoaded",{name:a.name||""})))}setStorageLimits(a){this.storageLimits=a||null,this.emit()}abortAssets(a){const r=a==="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 B(this.storageLimits,this.storageProvider&&this.storageProvider.limits)}folderOptions(){const a=this.state;return this.storageProvider?[{id:h,name:this.t("library.allFiles"),count:null}].concat((a.folders||[]).map(r=>({id:r.id,name:r.name,count:null}))):[{id:h,name:this.t("library.allFiles"),count:a.assets.length}]}visibleAssets(){const a=this.state;if(this.storageProvider)return a.assets;const r=(a.assetQuery||"").trim().toLowerCase();return r?a.assets.filter(c=>c.name.toLowerCase().includes(r)):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 r=this.storageProvider;if(!r)return;const c=this._assetToken=(this._assetToken||0)+1,d=this.abortAssets("list");this.setState({assetsLoading:!0,assetsError:null});try{if(!this.state.folders&&r.folders)try{const Y=await r.folders({signal:d});c===this._assetToken&&this.setState({folders:Y})}catch{}const o=await r.list({folderId:this.folderId(),cursor:a?this.state.assetCursor:null,query:(this.state.assetQuery||"").trim(),signal:d});if(c!==this._assetToken)return;const M=(o&&o.items||[]).map(Y=>u(Y));this.setState({assets:a?this.state.assets.concat(M):M,assetCursor:o&&o.cursor||null,assetsLoading:!1,assetsLoaded:!0})}catch(o){if(c!==this._assetToken||o&&o.name==="AbortError")return;this.setState({assetsLoading:!1,assetsError:o&&o.message||String(o)})}}loadMoreAssets(){this.state.assetCursor&&!this.state.assetsLoading&&this.refreshAssets({append:!0})}folderId(){return this.state.assetFolder||h}async addFiles(a){const r=Array.from(a||[]);if(!r.length)return;const c=this.storageProvider,d=this.limits();if(!c&&!d){this.addFilesAsDataUrls(r);return}const{accepted:o,rejected:M}=await z(r,d);if(M.forEach((ve,He)=>{He===0?this.flash(this.t(ve.key,ve.params)):setTimeout(()=>this.flash(this.t(ve.key,ve.params)),He*2100)}),!o.length)return;if(!c){this.addFilesAsDataUrls(o.map(ve=>ve.file));return}const Y=this.folderId(),re=this.abortAssets("upload"),ye=new Array(o.length);let q=0;this.setState({uploading:o.length});const ue=async()=>{for(let ve=q++;ve<o.length;ve=q++){const He=o[ve];try{const Le=await c.upload(He.file,{folderId:Y,width:He.w,height:He.ht,signal:re});ye[ve]=u(Le,He)}catch(Le){Le&&Le.name==="AbortError"||this.flash(this.t("storage.errUploadFailed",{name:He.name,reason:Le&&Le.message||""}))}this.setState({uploading:Math.max(0,this.state.uploading-1)})}};await Promise.all(Array.from({length:Math.min(me,o.length)},ue)),this.setState({uploading:0});const fe=ye.filter(Boolean);fe.length&&this.finishUpload(fe)}addFilesAsDataUrls(a){const r=Array.from(a||[]).filter(M=>/^image\//.test(M.type));if(!r.length)return;let c=r.length;const d=[],o=()=>{--c===0&&d.length&&this.finishUpload(d)};r.forEach(M=>{const Y=new FileReader;Y.onload=()=>{const re=new Image;re.onload=()=>{d.push({id:G(),name:M.name,url:Y.result,folder:"",w:re.width,ht:re.height,size:M.size}),o()},re.onerror=()=>{d.push({id:G(),name:M.name,url:Y.result,folder:"",w:0,ht:0,size:M.size}),o()},re.src=Y.result},Y.onerror=o,Y.readAsDataURL(M)})}finishUpload(a){const r=a.concat(this.state.assets);this.setState({assets:r,libHot:!1},()=>{this.storageProvider||this.persist(null,r)}),this.flash(a.length===1?this.t("toast.fileUploadedOne"):this.t("toast.fileUploadedMany",{count:a.length}))}async removeAsset(a){const r=this.storageProvider;if(r&&r.remove)try{await r.remove(a)}catch(d){this.flash(this.t("storage.errDeleteFailed",{name:a.name,reason:d&&d.message||""}));return}const c=this.state.assets.filter(d=>d.id!==a.id);this.setState({assets:c},()=>{r||this.persist(null,c)}),this.flash(this.t("toast.assetDeleted",{name:a.name}))}useAsset(a){const r=this.state.assetTarget;if(r)this.setProp(r.id||r,r.key||"src",a.url),this.setState({libraryOpen:!1,assetTarget:null}),this.flash(this.t("toast.imageReplaced"));else{const c=X("image");c.props.src=a.url,c.props.alt=a.name.replace(/\.[a-z]+$/i,"").replace(/[-_]/g," ");const d=this.selObj();this.commit(o=>{d.row&&this.state.mode==="rows"?this.find(o,d.row.id).row.cols[d.ci||0].blocks.push(c):o.rows.push(W([100],[c]))}),this.setState({libraryOpen:!1,sel:{type:"block",id:c.id},tab:"design"}),this.flash(this.t("toast.imageAdded"))}}buildHtml(a){return v(this.state,this.exportRoot,C,a)}importHtml(a){const{rows:r,theme:c}=he(a);return this.docSetByHost=!0,this.commit(d=>{d.rows=r,Object.assign(d.theme,c)}),r.length}boxFields(){const a=this.selObj();if(!a.block)return[];const r=a.block,c=m(()=>this.find(this.state.doc,r.id).block.props,(d,o)=>this.setProp(r.id,d,o),this);return g([c.head("Box & border"),c.color("Background color","bBg"),c.range("Border thickness","bBorder",0,20,1,"px"),...r.props.bBorder?[c.sel("Border style","bStyle",Be),c.color("Border color","bLine"),c.tog("Top border","bTop",!0),c.tog("Right border","bRight",!0),c.tog("Bottom border","bBottom",!0),c.tog("Left border","bLeft",!0)]:[],c.range("Rounded corners","bRadius",0,100,1,"px"),c.range("Space inside","bPad",0,100,2,"px")])}fields(){if(!this.state.sel)return[];const r=this.selObj(),c=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];if(r.block){const d=r.block,o=m(()=>this.find(this.state.doc,d.id).block.props,(q,ue)=>this.setProp(d.id,q,ue),this),M=[],Y=[o.head("Spacing"),p(null,[o.range("Above & below","py",0,160,2,"px"),o.range("Left & right","px",0,120,2,"px")])],re=[o.head("Visibility"),o.seg("Show on","vis",[{value:"all",label:"All"},{value:"desktop",label:"Desktop"},{value:"mobile",label:"Mobile"}])],ye=(()=>{switch(d.type){case"text":return g(M.concat(/<a(?:\s|>)/i.test(String(d.props.html||""))?[{kind:"richLinks",label:"Links",html:d.props.html||"",onChange:q=>this.setProp(d.id,"html",q)}]:[],[o.area("Text","html"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Text size","size",...b.text,1,"px"),o.range("Line spacing","lh",.8,3,.05,""),o.seg("Align","align",c),o.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"700",label:"Bold"}]),o.color("Text color","color")],Y));case"image":return g(M.concat([o.btn("Choose from library",()=>this.openLibrary({id:d.id,key:"src"})),o.text("Alt text","alt","Describe the image"),o.text("Link URL","href","https://"),o.range("Width","width",5,100,1,"%"),o.seg("Align","align",c),o.range("Rounded corners","radius",0,200,1,"px")],Y));case"button":return g(M.concat([o.text("Label","label"),o.text("Link URL","href","https://"),o.color("Button color","bg"),o.color("Text color","color"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Text size","size",8,48,1,"px"),o.range("Rounded corners","radius",0,60,1,"px"),o.range("Outline thickness","borderW",0,6,1,"px")].concat(d.props.borderW?[o.sel("Outline style","borderStyle",Be),o.color("Outline color","borderColor")]:[]).concat([o.range("Button height","py",0,60,1,"px"),o.range("Button width","px",0,120,2,"px"),o.seg("Align","align",c),o.tog("Full width","full")])));case"divider":return g(M.concat([o.range("Thickness","thickness",1,20,1,"px"),o.sel("Line style","lineStyle",Be),o.range("Width","width",5,100,5,"%"),o.color("Color","color"),o.range("Space above & below","py",0,160,2,"px")]));case"spacer":return g(M.concat([o.range("Height","height",0,400,2,"px")]));case"condition":return g(M.concat(d.props.end?[o.head("End of condition — drag it to move the boundary")]:[o.text("Show only if","expr","e.g. is_premium",this.vars())]));case"loop":return g(M.concat(d.props.end?[o.head("End of loop — drag it to move the boundary")]:[o.text("Repeat for each","expr","e.g. order.items",this.vars())]));case"social":return g(M.concat([{kind:"social",label:"Networks",value:d.props.items||"",onChange:q=>this.setProp(d.id,"items",q)},o.seg("Icon palette","palette",[{value:"custom",label:"Custom"},{value:"brand",label:"Brand"}]),o.seg("Icon shape","shape",[{value:"outline",label:"Outline"},{value:"bare",label:"Bare"},{value:"circle",label:"Circle"},{value:"square",label:"Square"}]),o.tog("Show network names","showLabel"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.seg("Align","align",c),o.range("Icon size","size",10,64,1,"px"),o.range("Space between icons","gap",0,80,2,"px"),o.color("Icon color","color")]));case"video":return g(M.concat([o.btn("Choose thumbnail",()=>this.openLibrary({id:d.id,key:"src"})),o.text("Video URL","href","https://"),o.text("Caption","caption"),o.color("Badge color","badge")]));case"html":return g(M.concat([o.area("Raw HTML","code")]));case"countdown":return g(M.concat([o.text("Ends at (YYYY-MM-DDTHH:MM)","target"),o.text("Label","label"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.color("Color","color")]));case"menu":return g(M.concat([o.area("Items — one per line as Label|URL","items"),o.seg("Align","align",c),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Text size","size",8,32,1,"px"),o.range("Space between items","gap",0,80,2,"px"),o.color("Text color","color")]));case"heading":return g(M.concat([o.area("Text","text"),o.sel("Heading level","level",[{value:"h1",label:"H1 — largest"},{value:"h2",label:"H2"},{value:"h3",label:"H3"},{value:"h4",label:"H4 — smallest"}]),o.seg("Font style","font",[{value:"condensed",label:"Condensed"},{value:"body",label:"Body"}]),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Text size","size",...b.heading,1,"px"),o.range("Line spacing","lh",.8,2.2,.02,""),o.seg("Align","align",c),o.sel("Text weight","weight",[{value:"400",label:"Regular"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"}]),o.color("Text color","color")],Y));case"list":return g(M.concat([o.area("Items — one per line","items"),o.tog("Numbered","ordered"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Text size","size",8,48,1,"px"),o.range("Line spacing","lh",.8,3,.05,""),o.range("Space between items","gap",0,60,1,"px"),o.color("Text color","color")],Y));case"table":return g(M.concat([{kind:"tablegrid",label:"Cells",value:d.props.data||"",header:!!d.props.header,onChange:q=>this.setProp(d.id,"data",q)},o.tog("Header row","header"),o.tog("Cell borders","borders"),...d.props.borders?[o.range("Border thickness","borderWidth",1,10,1,"px"),o.sel("Border style","borderStyle",Be)]:[],o.tog("Zebra stripes","striped"),o.sel("Font","fontFamily",this.fontOptions(!0,d.props.fontFamily)),o.range("Space in cells","pad",0,50,1,"px"),o.range("Text size","size",8,32,1,"px"),o.range("Width","width",10,100,5,"%"),o.color("Header color","headBg"),o.color("Line color","lineColor"),o.seg("Align","align",c)]));case"css":return g(M.concat([o.area("CSS","code"),o.text("Note to yourself","note")]));case"box":return g(M.concat([o.area("Content (HTML allowed)","html"),o.color("Background color","bg"),o.btn("Choose background image",()=>this.openLibrary({id:d.id,key:"bgImage"})),o.text("Background image URL","bgImage","https://"),o.range("Space inside","pad",0,160,2,"px"),o.range("Border thickness","border",0,20,1,"px")].concat(d.props.border?[o.sel("Border style","borderStyle",Be),o.color("Border color","lineColor"),o.tog("Top border","topBorder",!0),o.tog("Right border","rightBorder",!0),o.tog("Bottom border","bottomBorder",!0),o.tog("Left border","leftBorder",!0)]:[]).concat([o.range("Rounded corners","radius",0,200,1,"px"),o.range("Min height","minH",0,1200,10,"px"),o.range("Max width","maxW",10,100,5,"%"),o.seg("Align","align",c),o.tog("Drop shadow","shadow")])));case"svg":return g(M.concat([o.area("SVG markup","code"),o.seg("Align","align",c),o.range("Width","width",5,100,5,"%"),o.range("Padding","py",0,120,2,"px")]));case"codeblock":return g(M.concat([o.area("Code","code"),o.color("Background","bg"),o.color("Text color","color"),o.range("Size","size",8,32,.5,"px"),o.range("Padding","pad",0,80,2,"px")]));default:return[]}})();return d.type==="condition"||d.type==="loop"?ye:g(ye.concat(re))}if(r.row){const d=r.row,o=d.props,M=m(()=>this.find(this.state.doc,d.id).row.props,(q,ue)=>this.setProp(d.id,q,ue),this),Y=K.findIndex(q=>q.spans.length===d.cols.length&&q.spans.join()===d.cols.map(ue=>ue.span).join()),re=!!this.state.advancedOpen,ye=(q,ue,fe)=>({kind:"toggle",label:q,on:!!ue,onChange:fe});return g([{kind:"select",label:"Columns",value:String(Y>-1?Y:0),options:K.map((q,ue)=>({value:String(ue),label:q.label})),onChange:q=>{const ue=K[Number(q)].spans;this.commit(fe=>{const ve=this.find(fe,d.id).row,He=ve.cols.slice();ve.cols=ue.map((De,Oe)=>Object.assign({},He[Oe]||{},{id:He[Oe]&&He[Oe].id||G(),span:De,blocks:He[Oe]&&He[Oe].blocks||[]}));const Le=He.slice(ue.length).reduce((De,Oe)=>De.concat(Oe.blocks),[]);Le.length&&(ve.cols[ve.cols.length-1].blocks=ve.cols[ve.cols.length-1].blocks.concat(Le))})}},...d.cols.length>1?[M.range("Space between columns","gap",0,120,2,"px"),M.head("On mobile"),M.seg("Columns","mobileCols",[{value:1,label:"One"},{value:2,label:"Two"},{value:"keep",label:"Keep"}]),...o.mobileCols!=="keep"?[M.seg("Order","mobileOrder",[{value:"normal",label:"Normal"},{value:"reverse",label:"Reverse"}])]:[]]:[],...d.cols.length>1?d.cols.reduce((q,ue,fe)=>{const ve=m(()=>this.find(this.state.doc,d.id).row.cols[fe],(He,Le)=>this.setColProp(d.id,fe,He,Le),this);return q.concat([M.head("Column "+(fe+1)),ve.color("Background color","bg"),ve.range("Border thickness","border",0,20,1,"px"),...ue.border?[ve.sel("Border style","borderStyle",Be),ve.color("Border color","lineColor")]:[],ve.range("Rounded corners","radius",0,100,1,"px"),p("Space inside",[ve.range("Top & bottom","padY",0,100,2,"px"),ve.range("Left & right","padX",0,100,2,"px")])])},[]):[],M.head("Background"),M.color("Background color","bg"),M.btn(o.bgImage?"Change background image":"Add background image",()=>this.openLibrary({id:d.id,key:"bgImage"})),...o.bgImage?[M.btn("Remove background image",()=>this.setProp(d.id,"bgImage","")),M.sel("Image fit","bgSize",[{value:"cover",label:"Fill the section"},{value:"contain",label:"Fit inside"},{value:"auto",label:"Actual size"}]),M.sel("Image position","bgPos",[{value:"center",label:"Center"},{value:"top",label:"Top"},{value:"bottom",label:"Bottom"},{value:"left",label:"Left"},{value:"right",label:"Right"}]),M.range("Darken image","overlay",0,100,1,"%")]:[],M.head("Border & corners"),M.range("Border thickness","border",0,20,1,"px"),M.sel("Border style","borderStyle",Be),...o.border?[M.color("Border color","lineColor"),M.tog("Top border","bTop",!0),M.tog("Right border","bRight",!0),M.tog("Bottom border","bBottom",!0),M.tog("Left border","bLeft",!0)]:[],M.range("Rounded corners","radius",0,200,1,"px"),ye("Drop shadow",!!o.shadow,()=>this.setProp(d.id,"shadow",o.shadow?"":"0 1px 2px rgba(15,23,42,0.06), 0 8px 24px rgba(15,23,42,0.10)")),M.head("Spacing"),p("Space inside",o.padSplit?[M.range("Top","pt",0,200,2,"px"),M.range("Right","pr",0,160,2,"px"),M.range("Bottom","pb",0,200,2,"px"),M.range("Left","pl",0,160,2,"px")]:[M.range("Top & bottom","py",0,200,2,"px"),M.range("Left & right","px",0,160,2,"px")],{on:!!o.padSplit,onChange:()=>this.togglePadSplit(d.id)}),p("Space outside",[M.range("Top","mt",0,160,2,"px"),M.range("Right","mr",0,160,2,"px"),M.range("Bottom","mb",0,160,2,"px"),M.range("Left","ml",0,160,2,"px")]),ye("Advanced options",re,()=>this.setState({advancedOpen:!this.state.advancedOpen})),...re?[M.head("Advanced"),M.seg("Layout engine","layout",[{value:"columns",label:"Columns"},{value:"flex",label:"Flex"},{value:"grid",label:"Grid"}]),...o.layout==="flex"?[M.sel("Flex direction","flexDir",[{value:"row",label:"Row"},{value:"row-reverse",label:"Row reverse"},{value:"column",label:"Column"},{value:"column-reverse",label:"Column reverse"}]),M.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"}]),M.sel("Align items","alignItems",[{value:"stretch",label:"Stretch"},{value:"flex-start",label:"Start"},{value:"center",label:"Center"},{value:"flex-end",label:"End"}]),M.tog("Wrap flex items","wrap")]:[],...o.layout==="grid"?[M.range("Grid columns","gridCols",1,12,1,"")]:[],M.text("Background image URL","bgImage","https://"),M.sel("Image repeat","bgRepeat",[{value:"no-repeat",label:"No repeat"},{value:"repeat",label:"Tile"},{value:"repeat-x",label:"Tile across"}]),M.range("Max width","maxW",10,100,5,"%"),M.seg("Vertical align","valign",[{value:"top",label:"Top"},{value:"middle",label:"Middle"},{value:"bottom",label:"Bottom"}])]:[]])}return[]}fontOptions(a,r){const c=[{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"}],d=a?[{value:"",label:"Inherit — theme font"}].concat(c):c,o=M=>String(M||"").replace(/["']/g,"").replace(/\s*,\s*/g,",").replace(/\s+/g," ").trim().toLowerCase();return r&&!d.some(M=>o(M.value)===o(r))&&d.push({value:r,label:String(r).split(",")[0].replace(/["']/g,"").trim()+" — from the email"}),d}themeFields(){const a=m(()=>this.state.doc.theme,(r,c)=>this.setTheme(r,c),this);return g([a.head("Canvas"),a.slider("Content area width","width",280,900,5,"px"),a.color("Page background color","bg",{transparent:!0,solid:"#eef2f7"}),p("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.range("Border thickness","borderW",0,12,1,"px"),a.sel("Drop shadow","shadow",[{value:"",label:"None"},{value:"0 2px 8px rgba(23,32,51,0.08)",label:"Soft"},{value:"0 8px 28px rgba(23,32,51,0.14)",label:"Medium"},{value:"0 18px 48px rgba(23,32,51,0.22)",label:"Deep"}])].concat(this.state.doc.theme.borderW?[a.sel("Border style","borderStyle",Be),a.color("Border color","borderColor")]:[]).concat([a.head("Type & color"),a.sel("Default font","font",this.fontOptions(!1,this.state.doc.theme.font)),a.color("Text color","text"),a.color("Link color","link")]))}vars(){return I(this.variablesRaw)}insertSnippet(a,r){const c=this.selObj(),d=c.block?ee[c.block.type]:null;d?(this.setProp(c.block.id,d,(c.block.props[d]||"")+(d==="items"||d==="data"?`
|
|
20
|
+
`:" ")+a),this.flash(this.t("toast.snippetInserted",{name:r||this.t("toast.snippetDefaultLabel")}))):(navigator.clipboard&&navigator.clipboard.writeText(a),this.flash(this.t("toast.snippetCopied",{name:r||this.t("toast.snippetDefaultLabel")})))}insertTag(a){this.insertSnippet(V(a),V(a))}loadDoc(a){const r=D(a);r&&(this.docSetByHost=!0,this.setState({doc:r,sel:null,history:this.state.history.concat(JSON.stringify(this.state.doc)),future:[]},()=>this.persist(r)))}}Object.assign($,{AI_GOALS:l,AI_TONES:k,AI_GOAL_VALUES:T,EditorCore:w})},ge["core/export.js"]=function(be,$,F){const{cssUrl:G}=F("core/sanitize.js"),{rowBorderCss:X,rowMargin:pe,rowPad:W}=F("core/layout-style.js"),y={condition:"{{#if ",loop:"{{#each "},K={condition:"{{/if}}",loop:"{{/each}}"};function S(g){const p=f=>String(f||"").replace(/[<>]/g,"").trim(),h=new Map,u=[];g.rows.forEach(f=>f.cols.forEach(z=>z.blocks.forEach(N=>{if(!(N.type!=="condition"&&N.type!=="loop"))if(N.props.end)u[u.length-1]===N.type?(u.pop(),h.set(N.id,K[N.type])):h.set(N.id,"");else{const E=p(N.props.expr);h.set(N.id,E?y[N.type]+E+"}}":""),E&&u.push(N.type)}})));const B=u.reverse().map(f=>K[f]).join(`
|
|
21
|
+
`);return{emit:h,tail:B}}function D(g){return g.replace(/style="([^"]*line-height:[^"]*)"/g,(p,h)=>{if(/mso-line-height-rule/.test(h))return p;const u=h.match(/font-size:\s*([\d.]+)px/),B=u?h.replace(/line-height:\s*([\d.]+)\s*(;|$)/g,(f,z,N)=>"line-height:"+Math.round(parseFloat(u[1])*parseFloat(z))+"px"+N):h;return/line-height:\s*[\d.]+px/.test(B)?'style="'+B+(B.trim().endsWith(";")?"":";")+'mso-line-height-rule:exactly;"':'style="'+B+'"'}).replace(/<table\b([^>]*)>/g,(p,h)=>{if(/mso-table-lspace/.test(h))return p;const u="mso-table-lspace:0pt;mso-table-rspace:0pt;";return/style="/.test(h)?"<table"+h.replace(/style="([^"]*)"/,(B,f)=>'style="'+f+(!f.trim()||f.trim().endsWith(";")?"":";")+u+'"')+">":"<table"+h+' style="'+u+'">'})}function Q(g){const p=z=>String(z).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),h=(z,N,E)=>{const A=z==="each"?"#7c3aed":"#0e7490",H=E?z==="each"?"END LOOP":"END IF":z==="each"?"REPEAT EACH":"SHOW IF";return'<span data-mc-deco="" 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;">'+(E?"⏶ ":"⏷ ")+H+(N?' <span style="font-weight:400;font-size:11px;letter-spacing:0;">{{ '+p(N)+" }}</span>":"")+"</span>"},u=(z,N,E)=>'<tr><td colspan="99" data-mc-deco="" style="padding:2px 8px;">'+h(z,N,E)+"</td></tr>";let B=String(g||"");const f=z=>{const N=z.match(/^#(if|each)\s+(.+)$/);return N?[N[1],N[2].trim(),!1]:[z.slice(1),"",!0]};for(let z=0;z<6;z++){const N=B;if(B=B.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(E,A)=>u(...f(A))),B=B.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(E,A,H)=>A+u(...f(H))),B===N)break}return B=B.replace(/\{\{#(if|each)\s+([^{}]+?)\s*\}\}/gi,(z,N,E)=>h(N.toLowerCase(),E,!1)),B=B.replace(/\{\{\/(if|each)\s*\}\}/gi,(z,N)=>h(N.toLowerCase(),"",!0)),B}function m(g,p,h,u){const B=g.doc,f=B.theme,z=S(B),N=!(u&&u.markers===!1),E=me=>String(me).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<"),A={countdown:1,video:1,box:1,codeblock:1},H=me=>{if(!N||!A[me.type])return"";const ae={...me.props};return me.type==="box"&&delete ae.html,me.type==="codeblock"&&delete ae.code,' data-mc="'+me.type+'" data-mcp="'+E(JSON.stringify(ae))+'"'},L=me=>{const ae=p.querySelector('[data-mc-content="'+me+'"]');return ae?ae.outerHTML.replace(/\scontenteditable="[^"]*"/g,"").replace(/\sdata-focus-key="[^"]*"/g,"").replace(/\sdata-mc-[a-z-]+="[^"]*"/g,"").replace(/\sspellcheck="[^"]*"/g,"").replace(/\sdata-(?:gramm|gramm_editor|enable-grammarly|lt-active)="[^"]*"/g,"").replace(/\sdraggable="[^"]*"/g,""):""},s={stack:!1,twoUp:!1,reverse:!1,hideM:!1,hideD:!1},t=(me,ae)=>{const ze=me.mobileCols===void 0?1:me.mobileCols;if(ae<2)return{row:"",cell:""};if(ze==="keep")return{row:N?"mc-keep":"",cell:""};const b=[];String(ze)==="2"&&(b.push("mc-2up"),s.twoUp=!0),me.mobileOrder==="reverse"&&(b.push("mc-rev"),s.reverse=!0);const Re=String(ze)==="2"?"":"mc-col";return Re&&(s.stack=!0),{row:b.join(" "),cell:Re}},v=me=>me.vis==="desktop"?(s.hideM=!0,' class="mc-only-d"'):me.vis==="mobile"?(s.hideD=!0,' class="mc-only-m"'):"",x=B.rows.map(me=>{const ae=me.props,ze=t(ae,me.cols.length),b=me.cols.reduce((w,R)=>w.concat(R.blocks),[]);if(b.length&&b.every(w=>w.type==="condition"||w.type==="loop"))return b.map(w=>z.emit.get(w.id)||"").filter(Boolean).map(w=>" "+w).join(`
|
|
22
|
+
`);const Re=w=>w.blocks.map(R=>R.type==="css"?"<style"+(N?' data-mc="css"'+(R.props.note?' data-mcn="'+E(R.props.note)+'"':""):"")+">"+(R.props.code||"")+"</style>":R.type==="html"?R.props.code||"":R.type==="svg"?'<div style="text-align:'+R.props.align+";padding:"+R.props.py+'px 0"><span style="display:inline-block;width:'+(R.props.width||100)+'%">'+(R.props.code||"")+"</span></div>":R.type==="condition"||R.type==="loop"?z.emit.get(R.id)||"":"<div"+H(R)+v(R.props)+' style="'+h(R.props)+'">'+L(R.id)+"</div>").filter(Boolean).join(`
|
|
23
|
+
`)||" ",Ae=me.cols.map(w=>{const R=w.bg||w.border||w.radius||w.padY||w.padX?'<div style="background:'+(w.bg||"transparent")+";"+(w.border?"border:"+w.border+"px "+(w.borderStyle||"solid")+" "+(w.lineColor||"#e2e2e5")+";":"")+"border-radius:"+(w.radius||0)+"px;padding:"+(w.padY||0)+"px "+(w.padX||0)+`px">
|
|
24
|
+
`+Re(w)+`
|
|
25
|
+
</div>`:Re(w);return"<td"+(ze.cell?' class="'+ze.cell+'"':"")+' width="'+w.span+'%" valign="'+ae.valign+'" style="padding:0 '+Math.round(ae.gap/2)+`px;">
|
|
26
26
|
`+R+`
|
|
27
27
|
</td>`}).join(`
|
|
28
|
-
`),
|
|
29
|
-
`+
|
|
28
|
+
`),Pe=[ze.cell?"mc-stack":"",ze.row].filter(Boolean).join(" "),Be=Pe?' class="'+Pe+'"':"",We=N&&ae.layout&&ae.layout!=="columns"?' data-mcr="'+E(JSON.stringify({layout:ae.layout,flexDir:ae.flexDir||"row",justify:ae.justify||"flex-start",alignItems:ae.alignItems||"stretch",wrap:ae.wrap!==!1,gridCols:ae.gridCols||2,gap:ae.gap||0,spans:me.cols.map(w=>w.span)}))+'"':"",he=ae.layout==="grid"?"<div"+We+Be+' style="display:grid;grid-template-columns:repeat('+(ae.gridCols||2)+",minmax(0,1fr));gap:"+ae.gap+`px">
|
|
29
|
+
`+me.cols.map(w=>"<div>"+Re(w)+"</div>").join(`
|
|
30
30
|
`)+`
|
|
31
|
-
</div>`:"<div"+We+Be+' style="display:flex;flex-direction:'+(
|
|
32
|
-
`+
|
|
31
|
+
</div>`:"<div"+We+Be+' style="display:flex;flex-direction:'+(ae.flexDir||"row")+";justify-content:"+(ae.justify||"flex-start")+";align-items:"+(ae.alignItems||"stretch")+";flex-wrap:"+(ae.wrap?"wrap":"nowrap")+";gap:"+ae.gap+`px">
|
|
32
|
+
`+me.cols.map(w=>'<div style="flex:'+w.span+' 1 auto;min-width:0">'+Re(w)+"</div>").join(`
|
|
33
33
|
`)+`
|
|
34
|
-
</div>`,
|
|
35
|
-
`+
|
|
36
|
-
</tr></table>`,l=
|
|
34
|
+
</div>`,e=ae.layout&&ae.layout!=="columns"?he:'<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr'+(ze.row?' class="'+ze.row+'"':"")+`>
|
|
35
|
+
`+Ae+`
|
|
36
|
+
</tr></table>`,l=ae.bgImage?"background-color:"+(ae.bg||f.contentBg||"transparent")+";background-image:"+(ae.overlay?"linear-gradient(rgba(20,22,24,"+ae.overlay/100+"),rgba(20,22,24,"+ae.overlay/100+")),":"")+"url(""+G(ae.bgImage)+"");background-size:"+(ae.bgSize||"cover")+";background-position:"+(ae.bgPos||"center")+";background-repeat:"+(ae.bgRepeat||"no-repeat")+";":"background:"+(ae.bg||f.contentBg||"transparent")+";",k=X(ae)+(ae.radius?"border-radius:"+ae.radius+"px;":"")+(ae.shadow?"box-shadow:"+ae.shadow+";":"");if(ae.mt||ae.mr||ae.mb||ae.ml||ae.my||ae.maxW&&ae.maxW<100){const w=ae.maxW&&ae.maxW<100?"max-width:"+ae.maxW+"%;":"";return` <tr>
|
|
37
37
|
<td style="padding:0;">
|
|
38
|
-
<div style="`+
|
|
39
|
-
`+
|
|
38
|
+
<div style="`+w+"margin:"+pe(ae,!!w)+";padding:"+W(ae)+";"+l+k+`">
|
|
39
|
+
`+e+`
|
|
40
40
|
</div>
|
|
41
41
|
</td>
|
|
42
42
|
</tr>`}return` <tr>
|
|
43
|
-
<td style="padding:`+
|
|
44
|
-
`+
|
|
43
|
+
<td style="padding:`+W(ae)+";"+l+k+`">
|
|
44
|
+
`+e+`
|
|
45
45
|
</td>
|
|
46
46
|
</tr>`}).join(`
|
|
47
|
-
`)+(
|
|
48
|
-
`+
|
|
49
|
-
`+
|
|
47
|
+
`)+(z.tail?`
|
|
48
|
+
`+z.tail:""),C=f.bg||"transparent",I=f.padY||f.padX?(f.padY||0)+"px "+(f.padX||0)+"px":"0",V=(f.radius?"border-radius:"+f.radius+"px;overflow:hidden;":"")+(f.borderW?"border:"+f.borderW+"px "+(f.borderStyle||"solid")+" "+(f.borderColor||"#e2e2e5")+";":"")+(f.shadow?"box-shadow:"+f.shadow+";":""),ee='<!--[if mso]><table role="presentation" width="'+f.width+'" cellpadding="0" cellspacing="0" border="0"><tr><td><![endif]-->',te="<!--[if mso]></td></tr></table><![endif]-->",_='<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;max-width:'+f.width+"px;background:"+(f.contentBg||"transparent")+";"+V+`">
|
|
49
|
+
`+x+`
|
|
50
50
|
</table>`,ie=`
|
|
51
51
|
<style>
|
|
52
52
|
/* Apple Mail and iOS auto-detect dates, addresses and phone numbers and
|
|
@@ -54,50 +54,50 @@ Studio|$99|25`,header:!0,borders:!0,borderWidth:1,borderStyle:"solid",striped:!0
|
|
|
54
54
|
surrounding text; links the template actually declares are untouched,
|
|
55
55
|
because they carry their own inline colour. */
|
|
56
56
|
a[x-apple-data-detectors] { color:inherit !important; text-decoration:none !important; }
|
|
57
|
-
`+(
|
|
58
|
-
`:"")+"@media only screen and (max-width:"+
|
|
59
|
-
`+(
|
|
57
|
+
`+(s.hideD?`.mc-only-m, .mc-only-m table { mso-hide:all; display:none; max-height:0; overflow:hidden; }
|
|
58
|
+
`:"")+"@media only screen and (max-width:"+f.width+`px) {
|
|
59
|
+
`+(s.stack?` .mc-col { display:block !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; }
|
|
60
60
|
.mc-stack { display:block !important; }
|
|
61
61
|
.mc-stack > div { width:100% !important; }
|
|
62
|
-
`:"")+(
|
|
62
|
+
`:"")+(s.twoUp?` .mc-2up { display:flex !important; flex-wrap:wrap !important; }
|
|
63
63
|
.mc-2up > td, .mc-2up > div { box-sizing:border-box !important; flex:0 0 50% !important; max-width:50% !important; }
|
|
64
|
-
`:"")+(
|
|
64
|
+
`:"")+(s.reverse?` .mc-rev { display:flex !important; flex-wrap:wrap !important; flex-direction:column-reverse !important; }
|
|
65
65
|
.mc-2up.mc-rev { flex-direction:row-reverse !important; flex-wrap:wrap-reverse !important; }
|
|
66
|
-
`:"")+(
|
|
67
|
-
`:"")+(
|
|
66
|
+
`:"")+(s.hideM?` .mc-only-d, .mc-only-d table { display:none !important; max-height:0 !important; overflow:hidden !important; }
|
|
67
|
+
`:"")+(s.hideD?` .mc-only-m, .mc-only-m table { display:block !important; max-height:none !important; overflow:visible !important; }
|
|
68
68
|
`:"")+` img { max-width:100% !important; height:auto !important; }
|
|
69
69
|
}
|
|
70
|
-
</style>`,
|
|
70
|
+
</style>`,de=`
|
|
71
71
|
<!--[if mso]>
|
|
72
72
|
<xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml>
|
|
73
|
-
<![endif]-->`,
|
|
73
|
+
<![endif]-->`,we=me=>f.link?me.replace(/<a\b([^>]*)>/g,(ae,ze)=>/(?:[;"\s])color\s*:/.test(ze)?ae:/style="/.test(ze)?"<a"+ze.replace(/style="([^"]*)"/,(b,Re)=>'style="'+Re+(!Re.trim()||Re.trim().endsWith(";")?"":";")+"color:"+f.link+';"')+">":"<a"+ze+' style="color:'+f.link+';">'):me,xe="margin:0;padding:0;background:"+C+";font-family:"+f.font.replace(/"/g,"'")+";color:"+f.text+";-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;";return D(we(`<!doctype html>
|
|
74
74
|
<html lang="en" xmlns:o="urn:schemas-microsoft-com:office:office">
|
|
75
75
|
<head>
|
|
76
76
|
<meta charset="utf-8">
|
|
77
77
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
78
78
|
<meta name="color-scheme" content="light">
|
|
79
79
|
<meta name="supported-color-schemes" content="light">
|
|
80
|
-
<title>Email</title>`+
|
|
80
|
+
<title>Email</title>`+de+ie+`
|
|
81
81
|
</head>
|
|
82
|
-
<body style="`+
|
|
82
|
+
<body style="`+xe+`">
|
|
83
83
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="background:`+C+`;">
|
|
84
|
-
<tr><td align="center" style="padding:`+
|
|
85
|
-
`+
|
|
86
|
-
`+
|
|
87
|
-
`+
|
|
84
|
+
<tr><td align="center" style="padding:`+I+`;">
|
|
85
|
+
`+ee+`
|
|
86
|
+
`+_+`
|
|
87
|
+
`+te+`
|
|
88
88
|
</td></tr>
|
|
89
89
|
</table>
|
|
90
90
|
</body>
|
|
91
|
-
</html>`))}Object.assign($,{msoHarden:M,decorateLogicTags:V,buildHtml:u})},ue["core/footer.js"]=function(he,$,D){const q=["none","hidden","off","false"];function Y(Z){const b=String(Z??"").trim();if(!b)return"";const K=b.match(/^([a-z][a-z0-9+.-]*):/i);return K&&!/^(https?|mailto)$/i.test(K[1])?"":b}function de(Z){if(Z===!1)return null;if(Z==null)return{text:null,href:"",target:""};if(typeof Z=="string"){const b=Z.trim();return q.indexOf(b.toLowerCase())>=0?null:{text:b||null,href:"",target:""}}return typeof Z=="object"?Z.show===!1?null:{text:Z.text==null?null:String(Z.text),href:Y(Z.href),target:Z.target?String(Z.target):""}:{text:null,href:"",target:""}}Object.assign($,{resolveFooter:de})},ue["core/i18n/ar.js"]=function(he,$,D){Object.assign($,{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} أسطر","code.format":"تنسيق المصدر (المسافات البادئة فقط)","code.wrap":"التفاف النص","code.find":"بحث","code.replace":"استبدال","code.replaceAll":"استبدال الكل","code.prevMatch":"النتيجة السابقة","code.nextMatch":"النتيجة التالية","code.goToLine":"الانتقال إلى سطر","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"}})},ue["core/i18n/bg.js"]=function(he,$,D){Object.assign($,{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} реда","code.format":"Форматиране на кода (само отстъпи)","code.wrap":"Пренасяне на редове","code.find":"Търсене","code.replace":"Замяна","code.replaceAll":"Замяна на всички","code.prevMatch":"Предишно съвпадение","code.nextMatch":"Следващо съвпадение","code.goToLine":"Към ред","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"}})},ue["core/i18n/bn.js"]=function(he,$,D){Object.assign($,{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}টি লাইন","code.format":"সোর্স ফরম্যাট করুন (শুধু ইন্ডেন্টেশন)","code.wrap":"ওয়ার্ড র্যাপ","code.find":"খুঁজুন","code.replace":"প্রতিস্থাপন","code.replaceAll":"সব প্রতিস্থাপন","code.prevMatch":"আগের মিল","code.nextMatch":"পরের মিল","code.goToLine":"লাইনে যান","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"}})},ue["core/i18n/ca.js"]=function(he,$,D){Object.assign($,{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 la biblioteca multimèdia","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":"Biblioteca multimèdia","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","code.format":"Formata el codi font (només sagnat)","code.wrap":"Ajustament de línia","code.find":"Cerca","code.replace":"Substitueix","code.replaceAll":"Substitueix-ho tot","code.prevMatch":"Coincidència anterior","code.nextMatch":"Coincidència següent","code.goToLine":"Vés a la línia","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"}})},ue["core/i18n/cs.js"]=function(he,$,D){Object.assign($,{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 knihovnu médií","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":"Knihovna médií","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ů","code.format":"Formátovat zdroj (pouze odsazení)","code.wrap":"Zalamování řádků","code.find":"Najít","code.replace":"Nahradit","code.replaceAll":"Nahradit vše","code.prevMatch":"Předchozí shoda","code.nextMatch":"Další shoda","code.goToLine":"Přejít na řádek","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"}})},ue["core/i18n/da.js"]=function(he,$,D){Object.assign($,{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 mediebibliotek","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":"Mediebibliotek","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","code.format":"Formatér kilden (kun indrykning)","code.wrap":"Tekstombrydning","code.find":"Find","code.replace":"Erstat","code.replaceAll":"Erstat alle","code.prevMatch":"Forrige match","code.nextMatch":"Næste match","code.goToLine":"Gå til linje","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"}})},ue["core/i18n/de-CH.js"]=function(he,$,D){Object.assign($,{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":"Medienbibliothek ö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":"Medienbibliothek","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","code.format":"Quelltext formatieren (nur Einrückung)","code.wrap":"Zeilenumbruch","code.find":"Suchen","code.replace":"Ersetzen","code.replaceAll":"Alle ersetzen","code.prevMatch":"Vorheriger Treffer","code.nextMatch":"Nächster Treffer","code.goToLine":"Gehe zu Zeile","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"}})},ue["core/i18n/de.js"]=function(he,$,D){Object.assign($,{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":"Medienbibliothek ö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":"Medienbibliothek","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","code.format":"Quelltext formatieren (nur Einrückung)","code.wrap":"Zeilenumbruch","code.find":"Suchen","code.replace":"Ersetzen","code.replaceAll":"Alle ersetzen","code.prevMatch":"Vorheriger Treffer","code.nextMatch":"Nächster Treffer","code.goToLine":"Gehe zu Zeile","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"}})},ue["core/i18n/dz.js"]=function(he,$,D){Object.assign($,{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}","code.format":"རྩ་འཛིན་བཟོ་རྣམ་སྒྲིག་ནི (ནང་བསྐུམ་རྐྱངམ་གཅིག)","code.wrap":"ཚིག་ཐིག་བསྒྱིར་ནི","code.find":"འཚོལ་ཞིབ","code.replace":"ཚབ་བཙུགས","code.replaceAll":"ཆ་མཉམ་ཚབ་བཙུགས","code.prevMatch":"ཧེ་མའི་མཐུན་པ","code.nextMatch":"ཤུལ་མའི་མཐུན་པ","code.goToLine":"ཐིག་ལུ་འགྱོ","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"}})},ue["core/i18n/el.js"]=function(he,$,D){Object.assign($,{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} γραμμές","code.format":"Μορφοποίηση πηγαίου κώδικα (μόνο εσοχές)","code.wrap":"Αναδίπλωση λέξεων","code.find":"Εύρεση","code.replace":"Αντικατάσταση","code.replaceAll":"Αντικατάσταση όλων","code.prevMatch":"Προηγούμενη αντιστοιχία","code.nextMatch":"Επόμενη αντιστοιχία","code.goToLine":"Μετάβαση στη γραμμή","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"}})},ue["core/i18n/en.js"]=function(he,$,D){const q={"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 media library","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":"Media library","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","code.format":"Format source (indentation only)","code.wrap":"Word wrap","code.find":"Find","code.replace":"Replace","code.replaceAll":"Replace all","code.prevMatch":"Previous match","code.nextMatch":"Next match","code.goToLine":"Go to line","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"},Y=Object.keys(q).sort();Object.assign($,{EN:q,MESSAGE_KEYS:Y})},ue["core/i18n/es.js"]=function(he,$,D){Object.assign($,{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 biblioteca multimedia","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":"Biblioteca multimedia","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","code.format":"Formatear el código (solo sangría)","code.wrap":"Ajuste de línea","code.find":"Buscar","code.replace":"Reemplazar","code.replaceAll":"Reemplazar todo","code.prevMatch":"Coincidencia anterior","code.nextMatch":"Coincidencia siguiente","code.goToLine":"Ir a la línea","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"}})},ue["core/i18n/et.js"]=function(he,$,D){Object.assign($,{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 meediateek","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":"Meediateek","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","code.format":"Vorminda lähtekood (ainult taane)","code.wrap":"Reamurdmine","code.find":"Otsi","code.replace":"Asenda","code.replaceAll":"Asenda kõik","code.prevMatch":"Eelmine vaste","code.nextMatch":"Järgmine vaste","code.goToLine":"Mine reale","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"}})},ue["core/i18n/fi.js"]=function(he,$,D){Object.assign($,{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 mediakirjasto","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":"Mediakirjasto","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ä","code.format":"Muotoile lähdekoodi (vain sisennys)","code.wrap":"Rivitys","code.find":"Etsi","code.replace":"Korvaa","code.replaceAll":"Korvaa kaikki","code.prevMatch":"Edellinen osuma","code.nextMatch":"Seuraava osuma","code.goToLine":"Siirry riville","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"}})},ue["core/i18n/fr.js"]=function(he,$,D){Object.assign($,{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 la médiathèque","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":"Médiathèque","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","code.format":"Formater la source (indentation uniquement)","code.wrap":"Retour à la ligne automatique","code.find":"Rechercher","code.replace":"Remplacer","code.replaceAll":"Tout remplacer","code.prevMatch":"Résultat précédent","code.nextMatch":"Résultat suivant","code.goToLine":"Aller à la ligne","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"}})},ue["core/i18n/hr.js"]=function(he,$,D){Object.assign($,{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 medijsku knjižnicu","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":"Medijska knjižnica","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","code.format":"Oblikuj izvorni kod (samo uvlake)","code.wrap":"Prelamanje teksta","code.find":"Traži","code.replace":"Zamijeni","code.replaceAll":"Zamijeni sve","code.prevMatch":"Prethodno podudaranje","code.nextMatch":"Sljedeće podudaranje","code.goToLine":"Idi na redak","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"}})},ue["core/i18n/hu.js"]=function(he,$,D){Object.assign($,{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":"Médiatár 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":"Médiatár","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","code.format":"Forrás formázása (csak behúzás)","code.wrap":"Sortörés","code.find":"Keresés","code.replace":"Csere","code.replaceAll":"Összes cseréje","code.prevMatch":"Előző találat","code.nextMatch":"Következő találat","code.goToLine":"Ugrás sorra","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"}})},ue["core/i18n/index.js"]=function(he,$,D){const{EN:q}=D("core/i18n/en.js");function Y(V){const u=V||{};return function(o,f){const P=u[o]??q[o]??o;return f?P.replace(/\{(\w+)\}/g,(I,S)=>S in f?String(f[S]):I):P}}function de(V,u){return Object.assign({},V,u)}function Z(V,u){return Object.keys(u||q).filter(o=>V[o]===void 0).sort()}const b=[{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 K(V){const u=b.find(m=>m.tag===V);return u?u.rtl===!0:!1}const{EN:x,MESSAGE_KEYS:M}=D("core/i18n/en.js");Object.assign($,{EN:x,MESSAGE_KEYS:M,createTranslator:Y,defineMessages:de,missingKeys:Z,LOCALES:b,isRtl:K})},ue["core/i18n/it.js"]=function(he,$,D){Object.assign($,{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 libreria multimediale","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":"Libreria multimediale","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","code.format":"Formatta il sorgente (solo rientri)","code.wrap":"A capo automatico","code.find":"Trova","code.replace":"Sostituisci","code.replaceAll":"Sostituisci tutto","code.prevMatch":"Corrispondenza precedente","code.nextMatch":"Corrispondenza successiva","code.goToLine":"Vai alla riga","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"}})},ue["core/i18n/loaders.js"]=function(he,$,D){const{EN:q}=D("core/i18n/en.js"),Y={en:()=>Promise.resolve(D("core/i18n/en.js")).then(x=>x.EN),ar:()=>Promise.resolve(D("core/i18n/ar.js")).then(x=>x.AR),bg:()=>Promise.resolve(D("core/i18n/bg.js")).then(x=>x.BG),bn:()=>Promise.resolve(D("core/i18n/bn.js")).then(x=>x.BN),ca:()=>Promise.resolve(D("core/i18n/ca.js")).then(x=>x.CA),cs:()=>Promise.resolve(D("core/i18n/cs.js")).then(x=>x.CS),da:()=>Promise.resolve(D("core/i18n/da.js")).then(x=>x.DA),de:()=>Promise.resolve(D("core/i18n/de.js")).then(x=>x.DE),"de-CH":()=>Promise.resolve(D("core/i18n/de-CH.js")).then(x=>x.DE_CH),dz:()=>Promise.resolve(D("core/i18n/dz.js")).then(x=>x.DZ),el:()=>Promise.resolve(D("core/i18n/el.js")).then(x=>x.EL),es:()=>Promise.resolve(D("core/i18n/es.js")).then(x=>x.ES),et:()=>Promise.resolve(D("core/i18n/et.js")).then(x=>x.ET),fi:()=>Promise.resolve(D("core/i18n/fi.js")).then(x=>x.FI),fr:()=>Promise.resolve(D("core/i18n/fr.js")).then(x=>x.FR),hr:()=>Promise.resolve(D("core/i18n/hr.js")).then(x=>x.HR),hu:()=>Promise.resolve(D("core/i18n/hu.js")).then(x=>x.HU),it:()=>Promise.resolve(D("core/i18n/it.js")).then(x=>x.IT),lt:()=>Promise.resolve(D("core/i18n/lt.js")).then(x=>x.LT),lv:()=>Promise.resolve(D("core/i18n/lv.js")).then(x=>x.LV),nb:()=>Promise.resolve(D("core/i18n/nb.js")).then(x=>x.NB),nl:()=>Promise.resolve(D("core/i18n/nl.js")).then(x=>x.NL),pl:()=>Promise.resolve(D("core/i18n/pl.js")).then(x=>x.PL),pt:()=>Promise.resolve(D("core/i18n/pt.js")).then(x=>x.PT),ro:()=>Promise.resolve(D("core/i18n/ro.js")).then(x=>x.RO),ru:()=>Promise.resolve(D("core/i18n/ru.js")).then(x=>x.RU),sk:()=>Promise.resolve(D("core/i18n/sk.js")).then(x=>x.SK),sl:()=>Promise.resolve(D("core/i18n/sl.js")).then(x=>x.SL),sv:()=>Promise.resolve(D("core/i18n/sv.js")).then(x=>x.SV),tr:()=>Promise.resolve(D("core/i18n/tr.js")).then(x=>x.TR),uk:()=>Promise.resolve(D("core/i18n/uk.js")).then(x=>x.UK)},de={en:q},Z={};function b(x){return Object.prototype.hasOwnProperty.call(de,x)?de[x]:Y[x]?void 0:null}function K(x){const M=Y[x];return M?(Z[x]||(Z[x]=M().then(V=>(de[x]=V,V))),Z[x]):Promise.resolve(null)}Object.assign($,{LOCALE_LOADERS:Y,localeTable:b,loadLocale:K})},ue["core/i18n/lt.js"]=function(he,$,D){Object.assign($,{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 medijos biblioteką","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":"Medijos biblioteka","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ų","code.format":"Formatuoti šaltinį (tik įtrauką)","code.wrap":"Teksto laužymas","code.find":"Rasti","code.replace":"Pakeisti","code.replaceAll":"Pakeisti viską","code.prevMatch":"Ankstesnis atitikmuo","code.nextMatch":"Kitas atitikmuo","code.goToLine":"Eiti į eilutę","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"}})},ue["core/i18n/lv.js"]=function(he,$,D){Object.assign($,{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 multivides bibliotēku","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":"Multivides bibliotēka","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","code.format":"Formatēt avotu (tikai atkāpes)","code.wrap":"Rindu aplaušana","code.find":"Meklēt","code.replace":"Aizstāt","code.replaceAll":"Aizstāt visu","code.prevMatch":"Iepriekšējā atbilstība","code.nextMatch":"Nākamā atbilstība","code.goToLine":"Pāriet uz rindu","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"}})},ue["core/i18n/nb.js"]=function(he,$,D){Object.assign($,{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 mediebibliotek","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":"Mediebibliotek","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","code.format":"Formater kilden (kun innrykk)","code.wrap":"Tekstbryting","code.find":"Finn","code.replace":"Erstatt","code.replaceAll":"Erstatt alle","code.prevMatch":"Forrige treff","code.nextMatch":"Neste treff","code.goToLine":"Gå til linje","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"}})},ue["core/i18n/nl.js"]=function(he,$,D){Object.assign($,{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":"Mediabibliotheek 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":"Mediabibliotheek","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","code.format":"Bron opmaken (alleen inspringing)","code.wrap":"Regelterugloop","code.find":"Zoeken","code.replace":"Vervangen","code.replaceAll":"Alles vervangen","code.prevMatch":"Vorige overeenkomst","code.nextMatch":"Volgende overeenkomst","code.goToLine":"Ga naar regel","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"}})},ue["core/i18n/pl.js"]=function(he,$,D){Object.assign($,{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 bibliotekę medió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":"Biblioteka medió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","code.format":"Formatuj źródło (tylko wcięcia)","code.wrap":"Zawijanie wierszy","code.find":"Znajdź","code.replace":"Zamień","code.replaceAll":"Zamień wszystko","code.prevMatch":"Poprzednie dopasowanie","code.nextMatch":"Następne dopasowanie","code.goToLine":"Przejdź do wiersza","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"}})},ue["core/i18n/pt.js"]=function(he,$,D){Object.assign($,{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 biblioteca de mídia","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":"Biblioteca de mídia","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","code.format":"Formatar o código (apenas indentação)","code.wrap":"Quebra de linha","code.find":"Localizar","code.replace":"Substituir","code.replaceAll":"Substituir tudo","code.prevMatch":"Correspondência anterior","code.nextMatch":"Correspondência seguinte","code.goToLine":"Ir para a linha","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"}})},ue["core/i18n/ro.js"]=function(he,$,D){Object.assign($,{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 biblioteca media","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":"Biblioteca media","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","code.format":"Formatează sursa (doar indentare)","code.wrap":"Încadrare text","code.find":"Căutare","code.replace":"Înlocuire","code.replaceAll":"Înlocuiește tot","code.prevMatch":"Potrivirea anterioară","code.nextMatch":"Potrivirea următoare","code.goToLine":"Salt la linia","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"}})},ue["core/i18n/ru.js"]=function(he,$,D){Object.assign($,{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} строк","code.format":"Форматировать код (только отступы)","code.wrap":"Перенос строк","code.find":"Найти","code.replace":"Заменить","code.replaceAll":"Заменить всё","code.prevMatch":"Предыдущее совпадение","code.nextMatch":"Следующее совпадение","code.goToLine":"Перейти к строке","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"}})},ue["core/i18n/sk.js"]=function(he,$,D){Object.assign($,{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ť knižnicu médií","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":"Knižnica médií","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","code.format":"Formátovať zdroj (iba odsadenie)","code.wrap":"Zalamovanie riadkov","code.find":"Nájsť","code.replace":"Nahradiť","code.replaceAll":"Nahradiť všetko","code.prevMatch":"Predchádzajúca zhoda","code.nextMatch":"Nasledujúca zhoda","code.goToLine":"Prejsť na riadok","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"}})},ue["core/i18n/sl.js"]=function(he,$,D){Object.assign($,{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 predstavnostno knjižnico","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":"Predstavnostna knjižnica","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","code.format":"Oblikuj izvorno kodo (samo zamiki)","code.wrap":"Prelom vrstic","code.find":"Najdi","code.replace":"Zamenjaj","code.replaceAll":"Zamenjaj vse","code.prevMatch":"Prejšnje ujemanje","code.nextMatch":"Naslednje ujemanje","code.goToLine":"Pojdi na vrstico","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"}})},ue["core/i18n/sv.js"]=function(he,$,D){Object.assign($,{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 mediebiblioteket","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":"Mediebibliotek","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","code.format":"Formatera källan (endast indrag)","code.wrap":"Radbrytning","code.find":"Sök","code.replace":"Ersätt","code.replaceAll":"Ersätt alla","code.prevMatch":"Föregående träff","code.nextMatch":"Nästa träff","code.goToLine":"Gå till rad","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"}})},ue["core/i18n/tables.js"]=function(he,$,D){const{EN:q}=D("core/i18n/en.js"),{AR:Y}=D("core/i18n/ar.js"),{BG:de}=D("core/i18n/bg.js"),{BN:Z}=D("core/i18n/bn.js"),{CA:b}=D("core/i18n/ca.js"),{CS:K}=D("core/i18n/cs.js"),{DA:x}=D("core/i18n/da.js"),{DE:M}=D("core/i18n/de.js"),{DE_CH:V}=D("core/i18n/de-CH.js"),{DZ:u}=D("core/i18n/dz.js"),{EL:m}=D("core/i18n/el.js"),{ES:o}=D("core/i18n/es.js"),{ET:f}=D("core/i18n/et.js"),{FI:P}=D("core/i18n/fi.js"),{FR:I}=D("core/i18n/fr.js"),{HR:S}=D("core/i18n/hr.js"),{HU:j}=D("core/i18n/hu.js"),{IT:N}=D("core/i18n/it.js"),{LT:E}=D("core/i18n/lt.js"),{LV:A}=D("core/i18n/lv.js"),{NB:w}=D("core/i18n/nb.js"),{NL:L}=D("core/i18n/nl.js"),{PL:d}=D("core/i18n/pl.js"),{PT:a}=D("core/i18n/pt.js"),{RO:g}=D("core/i18n/ro.js"),{RU:v}=D("core/i18n/ru.js"),{SK:C}=D("core/i18n/sk.js"),{SL:F}=D("core/i18n/sl.js"),{SV:W}=D("core/i18n/sv.js"),{TR:ae}=D("core/i18n/tr.js"),{UK:J}=D("core/i18n/uk.js");Object.assign($,{LOCALE_TABLES:{en:q,ar:Y,bg:de,bn:Z,ca:b,cs:K,da:x,de:M,"de-CH":V,dz:u,el:m,es:o,et:f,fi:P,fr:I,hr:S,hu:j,it:N,lt:E,lv:A,nb:w,nl:L,pl:d,pt:a,ro:g,ru:v,sk:C,sl:F,sv:W,tr:ae,uk:J}})},ue["core/i18n/tr.js"]=function(he,$,D){Object.assign($,{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":"Medya kitaplığını 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":"Medya kitaplığı","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","code.format":"Kaynağı biçimlendir (yalnızca girinti)","code.wrap":"Sözcük kaydırma","code.find":"Bul","code.replace":"Değiştir","code.replaceAll":"Tümünü değiştir","code.prevMatch":"Önceki eşleşme","code.nextMatch":"Sonraki eşleşme","code.goToLine":"Satıra git","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"}})},ue["core/i18n/uk.js"]=function(he,$,D){Object.assign($,{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} рядків","code.format":"Форматувати код (лише відступи)","code.wrap":"Перенесення рядків","code.find":"Знайти","code.replace":"Замінити","code.replaceAll":"Замінити все","code.prevMatch":"Попередній збіг","code.nextMatch":"Наступний збіг","code.goToLine":"Перейти до рядка","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"}})},ue["core/icons.js"]=function(he,$,D){const q={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]],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"],search:[["circle",11,11,6.5],"M15.8 15.8L21 21"],wrap:["M4 6h16","M4 12h11.5a3.25 3.25 0 0 1 0 6.5H13","M15.5 16l-2.5 2.5 2.5 2.5","M4 18h5"],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"]},Y={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"},de={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 Z(u){const m=String(u||"").replace("#",""),o=m.length===3?m.split("").map(j=>j+j).join(""):m.padEnd(6,"0"),f=parseInt(o.slice(0,2),16)||0,P=parseInt(o.slice(2,4),16)||0,I=parseInt(o.slice(4,6),16)||0;return(.299*f+.587*P+.114*I)/255>.6?"#14171a":"#ffffff"}const b="http://www.w3.org/2000/svg";function K(u,m){const o=q[u]||q.globe,f=document.createElementNS(b,"svg");return f.setAttribute("width",String(m||18)),f.setAttribute("height",String(m||18)),f.setAttribute("viewBox","0 0 24 24"),f.setAttribute("fill","none"),f.setAttribute("stroke","currentColor"),f.setAttribute("stroke-width","1.5"),f.setAttribute("stroke-linecap","round"),f.setAttribute("stroke-linejoin","round"),f.style.display="block",f.style.flex="none",o.forEach(P=>f.appendChild(M(P))),f}function x(u,m){const o=Y[u];if(!o)return K(u,m);const f=document.createElementNS(b,"svg");f.setAttribute("width",String(m||18)),f.setAttribute("height",String(m||18)),f.setAttribute("viewBox","0 0 24 24"),f.setAttribute("fill","currentColor"),f.style.display="block",f.style.flex="none";const P=document.createElementNS(b,"path");return P.setAttribute("d",o),f.appendChild(P),f}function M(u){if(typeof u=="string"){const j=document.createElementNS(b,"path");return j.setAttribute("d",u),j}const[m,...o]=u;if(m==="rect"){const[j,N,E,A]=o,w=document.createElementNS(b,"rect");return w.setAttribute("x",String(j)),w.setAttribute("y",String(N)),w.setAttribute("width",String(E)),w.setAttribute("height",String(A)),w}const[f,P,I]=o,S=document.createElementNS(b,"circle");return S.setAttribute("cx",String(f)),S.setAttribute("cy",String(P)),S.setAttribute("r",String(I)),S}function V(u){const m=String(u||"").toLowerCase();return m.includes("insta")?"instagram":m.includes("linked")?"linkedin":m.includes("face")?"facebook":m.includes("you")||m.includes("tube")?"youtube":m==="x"||m.includes("twitter")?"x":m.includes("tiktok")||m.includes("tik tok")?"tiktok":m.includes("pinterest")?"pinterest":m.includes("snap")?"snapchat":m.includes("whatsapp")?"whatsapp":m.includes("thread")?"threads":m.includes("discord")?"discord":m.includes("telegram")?"telegram":m.includes("reddit")?"reddit":m.includes("spotify")?"spotify":m.includes("behance")?"behance":m.includes("dribbble")||m.includes("dribble")?"dribbble":m.includes("mail")||m.includes("email")?"mail":"globe"}Object.assign($,{SOCIAL_BRAND:de,contrastInk:Z,icon:K,brandIcon:x,socialKey:V})},ue["core/ids.js"]=function(he,$,D){Object.assign($,{uid:()=>Math.random().toString(36).slice(2,9)})},ue["core/import-html.js"]=function(he,$,D){const{mkRow:q,blk:Y}=D("core/blocks.js"),{cleanImportHtml:de}=D("core/sanitize.js"),{inlineStylesheets:Z}=D("core/css-cascade.js");function b(s){const n=parseFloat(s);return Number.isFinite(n)?n:0}function K(s){const n=String(s||"").trim();return!n||n.endsWith("%")||n.endsWith("em")?0:n.endsWith("pt")?Math.round(b(n)*4/3):b(n)}function x(s,n){return s.children.length===1&&s.firstElementChild.tagName===n?s.firstElementChild:null}function M(s){return String(s||"").replace(/["']/g,"").replace(/\s*,\s*/g,",").replace(/\s+/g," ").trim().toLowerCase()}function V(s,n){const z=M(n),B=U=>{const O=M(U);return!!O&&O!==z};return s.style&&B(s.style.fontFamily)?!0:!!s.querySelectorAll&&Array.from(s.querySelectorAll('[style*="font-family"]')).some(U=>U.style&&B(U.style.fontFamily))}const u=M("'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif");function m(s){let n=s;for(;n&&n.nodeType===1;){const z=n.style&&n.style.textAlign||(n.tagName==="TABLE"?"":n.getAttribute("align"));if(z)return z;n=n.parentElement}return"left"}function o(s,n){let z=s;for(;z&&z.nodeType===1;){const B=z.style&&z.style[n];if(B)return B;z=z.parentElement}return""}function f(s){let n=s.parentElement,z=1;for(;n;){if(n.tagName==="TABLE"||n.tagName==="TD"){const B=n.getAttribute("width")||n.style&&n.style.width||"";if(B&&String(B).endsWith("%")){const U=b(B);n.tagName==="TD"&&U>0&&U<100&&(z*=U/100)}else if(B){const U=b(B);if(U>=100)return Math.round(U*z)}}n=n.parentElement}return 0}function P(s){const n=s&&s.getAttribute?b(s.getAttribute("cellpadding")):0;return n?{t:n,b:n,l:n,r:n,py:n,px:n}:null}function I(s){const n=s&&s.getAttribute&&s.getAttribute("class")||"";return n?/\b(?:mc-only-m|mobile_hide|mobile-hide)\b/.test(n)?"mobile":/\b(?:mc-only-d|desktop_hide|desktop-hide)\b/.test(n)?"desktop":"":""}function S(s){if(I(s))return!1;const n=s.style;if(!n)return!1;if(n.display==="none"||n.visibility==="hidden"||n.opacity==="0")return!0;const z=n.maxHeight==="0"||n.maxHeight==="0px",B=n.overflow==="hidden"||n.fontSize==="0"||n.fontSize==="0px";return z&&B}function j(s){if(!s)return"";const n=s.style;if(n){const z=((n.backgroundImage||"")+" "+(n.background||"")).match(/url\(["']?([^"')]+)["']?\)/);if(z)return z[1]}return s.getAttribute&&s.getAttribute("background")||""}function N(s){const n=s.style;if(!n)return 0;const z=((n.backgroundImage||"")+" "+(n.background||"")).match(/linear-gradient\(rgba\(20,\s*22,\s*24,\s*(0?\.\d+|1|0)\s*\)/);return z?Math.round(parseFloat(z[1])*100):0}function E(s,n){const z=j(n);if(!z)return s;const B=n.style||{},U=N(n);return s.forEach(O=>{O.props.bgImage||(O.props.bgImage=z,U&&(O.props.overlay=U),B.backgroundSize&&(O.props.bgSize=B.backgroundSize),B.backgroundPosition&&(O.props.bgPos=B.backgroundPosition),B.backgroundRepeat&&(O.props.bgRepeat=B.backgroundRepeat))}),s}function A(s,n){if(s.length<2||!j(n))return s;const z=s[0].props.bg||"";if(!s.every(O=>O.cols.length===1&&!O.props.bgImage&&!O.props.border&&!O.props.radius&&!O.props.shadow&&(O.props.bg||"")===z))return s;const U=q([100]);return U.props.py=0,U.props.px=0,U.props.gap=0,z&&(U.props.bg=z),U.cols[0].blocks=s.reduce((O,G)=>{const se=G.props.py||G.props.px||G.props.pt!==void 0;return G.cols[0].blocks.forEach(_=>{se&&_.type!=="button"&&"py"in _.props&&(_.props.py=G.props.py,"px"in _.props&&(_.props.px=G.props.px)),O.push(_)}),O},[]),U.cols[0].blocks.length?[U]:s}function w(s){if(!s)return null;const n=b(s.paddingTop),z=b(s.paddingBottom),B=b(s.paddingLeft),U=b(s.paddingRight);return!n&&!z&&!B&&!U?null:{t:n,b:z,l:B,r:U,py:Math.round((n+z)/2),px:Math.round((B+U)/2)}}function L(s,n){s.props.py=n.py,s.props.px=n.px,(n.t!==n.b||n.l!==n.r)&&(s.props.pt=n.t,s.props.pb=n.b,s.props.pl=n.l,s.props.pr=n.r,s.props.padSplit=!0)}function d(s,n){if(!s)return null;const z=n||16;let B;return s.endsWith("%")?B=b(s)/100:s.endsWith("em")?B=b(s):s.endsWith("pt")?B=a(b(s)*4/3,z):s.endsWith("px")?B=a(b(s),z):B=parseFloat(s),Number.isFinite(B)&&B>0&&B<=4?B:null}function a(s,n){if(!n||!s)return s/(n||16);const z=s/n;for(const B of[.1,.05,.01]){const U=Math.round(z/B)*B;if(Math.abs(U*n-s)<.5)return Math.round(U*100)/100}return z}function g(s){const n=document.createElement("div");return n.textContent=s,n.innerHTML}function v(s){let n=null,z="";if(s.tagName==="IMG")n=s;else if(s.tagName==="A")n=x(s,"IMG"),n&&(z=s.getAttribute("href")||"");else if((s.tagName==="DIV"||s.tagName==="TD")&&(n=x(s,"IMG"),!n)){const te=x(s,"A");te&&(n=x(te,"IMG"),n&&(z=te.getAttribute("href")||""))}if(!n)return null;const B=te=>String(te||"").endsWith("%"),U=n.parentElement&&n.parentElement.tagName==="A"?n.parentElement:null,G=[n.style.width,n.getAttribute("width"),n.style.maxWidth,U&&U.style?U.style.width:"",U&&U.style?U.style.maxWidth:"",s!==n&&s.style?s.style.width:"",s!==n&&s.style?s.style.maxWidth:""].find(te=>te&&!B(te)&&b(te)),se=[U&&U.style?U.style.width:"",n.style.width].find(te=>B(te)&&b(te));let _=100;if(G){const te=f(n)||600;_=Math.max(2,Math.min(100,Math.round(b(G)/te*100)))}else se&&(_=b(se));const ne={src:n.getAttribute("src")||"",alt:n.getAttribute("alt")||"",href:z,width:_,align:m(s),radius:b(n.style.borderRadius)||0};if(s!==n&&s.style){const te=w(s.style);te&&(ne.py=te.py,ne.px=te.px)}return Y("image",ne)}function C(s){let n=null,z="",B=null;if(s.tagName==="A")n=s;else if(s.tagName==="DIV"||s.tagName==="TD"){if(n=x(s,"A"),!n){B=x(s,"TABLE");const Te=B?B.querySelectorAll(":scope > tbody > tr > td, :scope > tr > td"):[];Te.length===1&&(n=x(Te[0],"A")),n||(B=null)}n&&(z=s.style.textAlign||s.getAttribute("align")||"")}if(!n||n.querySelector("img,table,div"))return null;const U=Te=>!!(Te.style&&(Te.style.backgroundColor||Te.style.background))||!!(Te.getAttribute&&Te.getAttribute("bgcolor")),O=n.closest?n.closest("td"):null,G=U(n)?n:Array.from(n.querySelectorAll("span")).find(U)||(O&&U(O)?O:null);if(!G)return null;const se=G.style;let _=w(n.style)||w(se)||(O?w(O.style):null);if(!_){const Te=Array.from(G.querySelectorAll("span")).find(Ke=>w(Ke.style));Te&&(_=w(Te.style))}const ne=se.display||n.style.display||"";if(!_&&ne.indexOf("inline-block")<0&&ne!=="block")return null;const te={label:(n.textContent||"").trim()||"Button",href:n.getAttribute("href")||"#",bg:c(se.backgroundColor||se.background||G.getAttribute&&G.getAttribute("bgcolor")||""),color:c(n.style.color||se.color||"#ffffff"),radius:Ee(se),py:_&&_.py||13,px:_&&_.px||26,align:z||m(n.parentElement||n),full:B?/100%/.test(B.style&&B.style.width||B.getAttribute("width")||""):n.style.display==="block"},xe=K(se.fontSize)||K(n.style.fontSize);xe&&(te.size=xe);const oe=n.style.fontFamily||se.fontFamily||o(n,"fontFamily");oe&&(te.fontFamily=oe);const ge=De(se).width?se:O&&O.style&&De(O.style).width?O.style:se,le=De(ge).width;return le&&(te.borderW=le,te.borderStyle=Ce(ge),te.borderColor=He(ge)||te.color),Y("button",te)}const F=/facebook|twitter|x\.com|instagram|linkedin|youtube|tiktok|pinterest|threads|whatsapp|telegram|github|discord|snapchat|medium|dribbble|behance|mastodon|bluesky|bsky/i;function W(s){if(!/^(DIV|TD|TABLE)$/.test(s.tagName))return null;const n=Array.from(s.querySelectorAll("a"));if(n.length<2)return null;const z=we=>String(we||"").replace(/\s+/g,""),B=z(s.textContent);if(B&&B!==z(n.map(we=>we.textContent).join("")))return null;const U=n.map(we=>we.querySelector("img,svg"));if(U.some(we=>!we))return null;const O=U.map(we=>b(we.getAttribute("width")||we.style&&we.style.width)||32);if(O.some(we=>we>64))return null;const G=n.map((we,Fe)=>{const Xe=(U[Fe].getAttribute("alt")||we.getAttribute("title")||we.getAttribute("aria-label")||"").trim();return Xe||(((we.getAttribute("href")||"").match(/\/\/(?:www\.)?([^/?#]+)/)||[])[1]||"").split(".")[0]||"link"});if(n.filter((we,Fe)=>F.test((we.getAttribute("href")||"")+" "+G[Fe])).length<Math.ceil(n.length/2))return null;const _=n[0],ne={items:n.map((we,Fe)=>G[Fe]+"|"+(we.getAttribute("href")||"#")).join(`
|
|
92
|
-
`),align:
|
|
93
|
-
`),align:
|
|
94
|
-
`),
|
|
95
|
-
`),O=
|
|
96
|
-
`).map(B=>B.trim()).filter(Boolean);if(!n.length)return null;const z=[];for(const B of n){let U=B.match(/^\{\{#(if|each)\s+([^{}]+?)\s*\}\}$/);if(U){z.push(Y(U[1]==="if"?"condition":"loop",{expr:U[2],end:!1}));continue}if(U=B.match(/^\{\{\/(if|each)\}\}$/),U){z.push(Y(U[1]==="if"?"condition":"loop",{expr:"",end:!0}));continue}return null}return z}function We(s){if(!s||s.tagName!=="DIV"||!s.style)return null;const n={},z=r(s);z&&z!=="transparent"&&!/^rgba\([^)]*,\s*0\s*\)$/.test(z)&&(n.bBg=z);const B=De(s.style);if(B.width&&(n.bBorder=B.width,n.bStyle=Ce(s.style),n.bLine=He(s.style)||"#e2e2e5",n.bTop=B.sides.top>0,n.bRight=B.sides.right>0,n.bBottom=B.sides.bottom>0,n.bLeft=B.sides.left>0),!n.bBg&&!n.bBorder)return null;const U=Ee(s.style);return U&&(n.bRadius=U),n}function me(s){let n=s;if(n.style&&w(n.style))return!0;for(;n.children&&n.children.length===1&&!Re.test(n.firstElementChild.tagName)&&(n.textContent||"")===(n.firstElementChild.textContent||"");)if(n=n.firstElementChild,n.style&&w(n.style))return!0;return!1}function t(s){const n=[];let z=[],B=null,U=[],O;const G=te=>{let xe=te;for(let oe=0;xe&&oe<4;oe+=1){const ge=I(xe);if(ge)return ge;xe=xe.parentElement}return""};let se=null,_=null;const ne=()=>{const te=z.join(""),xe=de(te);if(xe&&(/<(img|br|hr)\b/i.test(xe)||xe.replace(/<[^>]*>/g,"").replace(/[ \t\r\n\u2009\u200a\u200b]/g,"")!=="")){const ge={html:xe};if(!B&&se){const le=K(o(se,"fontSize"));le&&(ge.size=le);const Te=o(se,"color");Te&&(ge.color=c(Te)),ge.align=m(se);const Ke=o(se,"fontWeight");Ke&&(ge.weight=Ke);const Ie=d(o(se,"lineHeight"),le);Ie&&(ge.lh=Ie);const Ve=o(se,"fontFamily");Ve&&(ge.fontFamily=Ve)}if(B){let le=Re.test(B.tagName)&&B.parentElement||B,Te=w(le.style),Ke=!!le.style&&le.style.paddingTop!=="";for(;le.children.length===1&&!Re.test(le.firstElementChild.tagName)&&(le.textContent||"")===(le.firstElementChild.textContent||"");)le=le.firstElementChild,Te||(Te=w(le.style)),Ke=Ke||le.style.paddingTop!=="";Te?(ge.py=Te.py,ge.px=Te.px):Ke&&(ge.py=0,ge.px=0);const Ie=K(o(le,"fontSize"));Ie&&(ge.size=Ie);const Ve=o(le,"color");Ve&&(ge.color=c(Ve)),ge.align=m(le);const Ue=o(le,"fontWeight");Ue&&(ge.weight=Ue);const we=d(o(le,"lineHeight"),Ie);we&&(ge.lh=we);const Fe=o(le,"fontFamily");Fe&&!U.some(Xe=>V(Xe,Fe))&&(ge.fontFamily=Fe,ge.html=de(te,["font-family"]))}O&&(ge.vis=O),_&&Object.assign(ge,_),n.push(Y("text",ge))}z=[],B=null,se=null,U=[],O=void 0,_=null};return s.forEach(te=>{if(te.nodeType===3){const Ie=Be(te.textContent);if(Ie){ne(),Ie.forEach(Ve=>n.push(Ve));return}if(te.textContent&&te.textContent.trim()){!B&&!se&&(se=te.parentElement);const Ve=G(te.parentElement);O=O===void 0||O===Ve?Ve:"",z.push(g(te.textContent))}return}if(te.nodeType!==1||S(te))return;const xe=ee(te);if(xe){ne();const Ie=G(te);Ie&&(xe.props.vis=Ie),n.push(xe);return}const oe=Me(te),ge=h(oe);if(ge){ne(),n.push(ge);return}if(oe.tagName==="TABLE"&&p(oe)){ne();const Ie=oe.querySelector(":scope > tbody > tr, :scope > tr"),Ve=Array.from(Ie.children).find(Fe=>Fe.tagName==="TD"||Fe.tagName==="TH"),Ue=w(Ve.style)||P(oe),we=t(Array.from(Ve.childNodes));Ue&&we.forEach(Fe=>{Fe.type!=="button"&&("py"in Fe.props&&(Fe.props.py=Ue.py),"px"in Fe.props&&(Fe.props.px=Ue.px))}),n.push(...we);return}if(Pe(oe)){ne(),n.push(Y("html",{code:te.outerHTML}));return}const le=We(oe),Te=te.nodeType===1&&!Re.test(oe.tagName)&&(me(oe)||oe!==te||!!le);Te&&z.length&&ne(),le&&!B&&(_=le),B||(B=oe),U.push(oe);const Ke=G(te);O=O===void 0||O===Ke?Ke:"",z.push(te.outerHTML),Te&&ne()}),ne(),n}function l(s){const n=s.reduce((B,U)=>B+U,0)||1,z=s.map(B=>Math.round(B/n*100));return z[z.length-1]+=100-z.reduce((B,U)=>B+U,0),z}function k(s,n){const z=s.map(O=>{const G=O.style.width||"",se=O.style.maxWidth||"";if(se.endsWith("%")&&(!G||b(G)>=100))return{pct:b(se)};if(G.endsWith("%"))return{pct:b(G)};const _=O.getAttribute("width")||"";if(_.endsWith("%"))return{pct:b(_)};const ne=b(G)||b(_)||(se.endsWith("px")?b(se):0);return ne?{px:ne}:null});if(z.every(O=>O&&O.pct!=null)){const O=z.reduce((G,se)=>G+se.pct,0);if(O>=90&&O<=110)return l(z.map(G=>G.pct))}if(n&&z.every(O=>O&&O.px))return l(z.map(O=>Math.round(O.px/n*100)));const B=Math.floor(100/s.length),U=s.map(()=>B);return U[U.length-1]+=100-B*s.length,U}const H=new WeakMap;function y(s,n){let z=0;for(;z<s.length;){const B=s.indexOf("@",z);if(s.slice(z,B<0?s.length:B).replace(/([^{}]+)\{([^{}]*)\}/g,(ne,te,xe)=>{const oe=xe.match(/(?:^|;)\s*width\s*:\s*([\d.]+)%/i);return oe&&te.split(",").forEach(ge=>{const le=ge.trim().match(/^\.([-\w]+)$/);le&&!n[le[1]]&&(n[le[1]]=parseFloat(oe[1]))}),ne}),B<0)break;const O=s.indexOf("{",B);if(O<0)break;const G=s.slice(B,O);let se=0,_=O;for(;_<s.length;_+=1)if(s[_]==="{")se+=1;else if(s[_]==="}"&&(se-=1,!se))break;/max-width/i.test(G)||y(s.slice(O+1,_),n),z=_+1}}function R(s){if(!s||!s.querySelectorAll)return{};const n=H.get(s);if(n)return n;const z={};return Array.from(s.querySelectorAll("style")).forEach(B=>{y(String(B.textContent||"").replace(/\/\*[\s\S]*?\*\//g,""),z)}),H.set(s,z),z}function e(s){const n=Array.from(s).filter(G=>G.nodeType===8?!1:G.nodeType===3?!!String(G.textContent||"").trim():G.nodeType===1&&!/^(STYLE|SCRIPT)$/.test(G.tagName));if(n.length<2||n.length>6||!n.every(G=>G.nodeType===1&&G.tagName==="DIV"))return null;const z=G=>{const se=G.style||{};return/inline-block|inline-flex/.test(se.display||"")||/^(left|right)$/.test(se.cssFloat||se.float||"")};if(!n.every(z))return null;const B=G=>{const se=G.style||{},_=se.maxWidth||"";if(_.endsWith("%"))return b(_);const ne=se.width||"";if(ne.endsWith("%")&&b(ne)<100)return b(ne);const te=R(G.ownerDocument),xe=(G.getAttribute&&G.getAttribute("class")||"").split(/\s+/);for(let oe=0;oe<xe.length;oe+=1){const ge=te[xe[oe]];if(ge&&ge<100)return ge}return 0},U=n.map(B);if(!U.every(G=>G>0))return null;const O=U.reduce((G,se)=>G+se,0);return O<90||O>110?null:(n.shares=U,n)}function i(s){const n=x(s,"TABLE");if(!n||C(s)||W(n))return null;const z=n.querySelectorAll(":scope > tbody > tr, :scope > tr");if(z.length!==1||n.querySelector(":scope > tbody > tr > th, :scope > tr > th"))return null;const B=Array.from(z[0].children).filter(U=>U.tagName==="TD"||U.tagName==="TH");return B.length?B:null}function p(s){const n=s.querySelectorAll(":scope > tbody > tr, :scope > tr");return n.length!==1||n[0].getAttribute("data-mc-logic")?!1:Array.from(n[0].children).filter(B=>B.tagName==="TD"||B.tagName==="TH").length===1}function c(s){const n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(String(s??"").trim());return n?"#"+[n[1],n[2],n[3]].map(z=>Number(z).toString(16).padStart(2,"0")).join(""):s}function r(s){const n=s.style;if(n&&n.backgroundColor)return c(n.backgroundColor);const z=n&&n.background||"";return z&&z.indexOf("url(")<0&&z.indexOf("gradient(")<0?c(z):c(s.getAttribute&&s.getAttribute("bgcolor")||"")}function T(s){return s.style?w(s.style):null}function Q(s){if(!s||s.nodeType!==1||s.tagName!=="DIV")return!1;const n=s.style||{};return!(/inline-block|inline-flex/.test(n.display||"")||/^(left|right)$/.test(n.cssFloat||n.float||""))||!(n.width||n.maxWidth)?!1:Array.from(s.children).some(B=>B.tagName==="TABLE")}function re(s){return s.reduce((n,z)=>n.concat(z.cols.reduce((B,U)=>B.concat(U.blocks),[])),[])}function ke(s){return Array.from(s.children).some(n=>n.tagName==="TABLE"||n.tagName==="DIV"||n.tagName==="CENTER")}function fe(s){const n=s.cols.reduce((z,B)=>z.concat(B.blocks),[]);return n.length>0&&n.every(z=>z.type==="condition"||z.type==="loop")}function je(s,n){return n&&s.forEach(z=>{!z.props.bg&&!fe(z)&&(z.props.bg=n)}),s}function Ae(s,n){return n&&s.forEach(z=>{!z.props.py&&!z.props.px&&z.props.pt===void 0&&!fe(z)&&L(z,n)}),s}function He(s){const n=z=>z&&z!=="currentcolor"?c(z):"";return n(s.borderTopColor)||n(s.borderLeftColor)||n(s.borderRightColor)||n(s.borderBottomColor)||""}function Ce(s){const n=new Set(["solid","dashed","dotted","double"]);return[s.borderTopStyle,s.borderRightStyle,s.borderBottomStyle,s.borderLeftStyle,s.borderStyle].find(B=>n.has(B))||"solid"}function Ee(s){const n=String(s.borderRadius||"").split(/\s+/).map(b);return n.length?Math.max(0,...n):0}function De(s){const n={top:b(s.borderTopWidth),right:b(s.borderRightWidth),bottom:b(s.borderBottomWidth),left:b(s.borderLeftWidth)};return{width:Math.max(n.top,n.right,n.bottom,n.left)||b(s.borderWidth),sides:n}}function Ne(s,n,z,B,U){s.props.border=n,s.props.borderStyle=U||"solid",s.props.lineColor=B||"#e2e2e5",s.props.bTop=z.top>0,s.props.bRight=z.right>0,s.props.bBottom=z.bottom>0,s.props.bLeft=z.left>0}function Ye(s,n){if(!s.length||!n||!n.style)return s;const z=n.style,{width:B,sides:U}=De(z);if(B){const O=He(z);s.forEach((G,se)=>{G.props.border||Ne(G,B,{top:se===0?U.top:0,bottom:se===s.length-1?U.bottom:0,left:U.left,right:U.right},O,Ce(z))})}if(s.length===1){const O=Ee(z);O&&!s[0].props.radius&&(s[0].props.radius=O),z.boxShadow&&z.boxShadow!=="none"&&!s[0].props.shadow&&(s[0].props.shadow=z.boxShadow)}return s}function at(s){const n=b(s.getAttribute("width")||s.style.width||"0")||null;return Array.from(s.querySelectorAll(":scope > tbody > tr, :scope > tr")).map(B=>{const U=B.getAttribute("data-mc-logic");if(U){const ye=U.match(/^#(if|each)\s+(.+)$/),ze=q([100]);return ze.props.py=4,ze.props.px=0,ze.props.gap=0,ze.cols[0].blocks=[ye?Y(ye[1]==="if"?"condition":"loop",{expr:ye[2].trim(),end:!1}):Y(/\/if$/.test(U)?"condition":"loop",{expr:"",end:!0})],ze}const O=Array.from(B.children).filter(ye=>ye.tagName==="TD"||ye.tagName==="TH");if(!O.length)return null;let G=O[0],se=0;{const ye=x(G,"DIV"),ze=ye&&ye.style.maxWidth||"",Le=String(ze).endsWith("%")&&b(ze)>0&&b(ze)<100;ye&&(Le||b(ye.style.marginTop)||b(ye.style.marginBottom)||b(ye.style.marginLeft)||b(ye.style.marginRight))&&(Le&&(se=b(ze)),G=ye)}let _=O,ne=null,te=x(G,"DIV");if(te&&!(te.getAttribute&&te.getAttribute("data-mcr"))&&(te=null),te){try{ne=JSON.parse(te.getAttribute("data-mcr"))||null}catch{ne=null}const ye=Array.from(te.children).filter(ze=>ze.tagName==="DIV");ne&&ye.length?_=ye:(ne=null,te=null)}if(!ne&&O.length===1){const ye=i(G);if(ye)_=ye;else{const ze=e(G.childNodes);ze&&(_=ze)}_===O&&G!==O[0]&&(_=[G])}let xe=0;if(_.length>2){const ye=Le=>{if((Le.textContent||"").trim()||Le.querySelector("img,a,input,p,h1,h2,h3,h4,h5,h6,ul,ol"))return!1;const Oe=b(Le.getAttribute("width")||Le.style&&Le.style.width||"");return!Oe||Oe<=30},ze=_.filter(Le=>!ye(Le));ze.length>=2&&ze.length<_.length&&(_.filter(ye).forEach(Le=>{const Oe=Le.querySelector("table"),Ze=b(Oe&&(Oe.getAttribute("width")||Oe.style.width)||Le.getAttribute("width")||"");xe=Math.max(xe,Ze||10)}),_=ze)}let oe=!1;if(!xe&&(_.length>1||_[0]!==G)){const ye=_.map(Le=>w(Le.style)),ze=ye[0];oe=!!(ze&&!ze.t&&!ze.b&&ze.l>0&&ze.l===ze.r&&ze.l<=60&&ye.every(Le=>Le&&!Le.t&&!Le.b&&Le.l===ze.l&&Le.r===ze.r)),oe&&(xe=ze.l*2)}if(!xe&&_.length===1&&_[0]===G&&!C(G)){const ye=x(G,"TABLE"),ze=ye?Array.from(ye.querySelectorAll(":scope > tbody > tr > td, :scope > tr > td")):[];if(ze.length===1){const Le=w(ze[0].style);Le&&!Le.t&&!Le.b&&Le.l>0&&Le.l===Le.r&&Le.l<=60&&(xe=Le.l*2)}}const ge=_.length===1?[100]:k(_,n),le=q(ge);le.props.py=0,le.props.px=0,le.props.gap=xe;const Te=_[0].getAttribute&&_[0].getAttribute("valign");if((Te==="middle"||Te==="bottom")&&_.every(ye=>ye.getAttribute("valign")===Te)&&(le.props.valign=Te),_.length>1){const ye=_[0].parentElement&&_[0].parentElement.getAttribute("class")||"";/\bmc-2up\b/.test(ye)&&(le.props.mobileCols=2),/\bmc-rev\b/.test(ye)&&(le.props.mobileOrder="reverse"),/\bmc-keep\b/.test(ye)&&(le.props.mobileCols="keep")}if(ne&&(Object.assign(le.props,{layout:ne.layout==="grid"?"grid":"flex",flexDir:ne.flexDir||"row",justify:ne.justify||"flex-start",alignItems:ne.alignItems||"stretch",wrap:ne.wrap!==!1,gridCols:ne.gridCols||2,gap:ne.gap||0}),Array.isArray(ne.spans)&&ne.spans.length===le.cols.length&&ne.spans.forEach((ye,ze)=>{Number(ye)>0&&(le.cols[ze].span=Number(ye))})),G.style){const ye={mt:b(G.style.marginTop),mr:b(G.style.marginRight),mb:b(G.style.marginBottom),ml:b(G.style.marginLeft)};(ye.mt||ye.mr||ye.mb||ye.ml)&&Object.assign(le.props,ye)}se&&(le.props.maxW=se);const Ke=r(_[0]),Ie=_.every(ye=>r(ye)===Ke),Ve=_.indexOf(G)>-1?"":r(G),Ue=Ie&&Ke||r(B)||Ve||r(s);Ue&&(le.props.bg=Ue),Ie||_.forEach((ye,ze)=>{const Le=le.cols[ze];if(!Le)return;const Oe=r(ye);Oe&&(Le.bg=Oe);const Ze=Ee(ye.style);Ze&&(Le.radius=Ze);const rt=De(ye.style);rt.width&&(Le.border=rt.width,Le.borderStyle=Ce(ye.style),Le.lineColor=He(ye.style)||"#e2e2e5");const it=w(ye.style);it&&(Le.padY=it.py,Le.padX=it.px)});const we=De(G.style),Fe=we.width?G.style:s.style,Xe=we.width?we:De(s.style);Xe.width&&Ne(le,Xe.width,Xe.sides,He(Fe),Ce(Fe));const lt=(Ie?Ee(G.style):0)||Ee(s.style);lt&&(le.props.radius=lt);const dt=(Ie?G.style.boxShadow:"")||s.style.boxShadow||"";dt&&dt!=="none"&&(le.props.shadow=dt);const pt=Ie&&j(G)?G:j(s)?s:null;pt&&E([le],pt);const ut=w(s.style),bt=oe&&_.indexOf(G)>-1,mt=Ie&&!bt?w(G.style):null;if(ut||mt){const ye={t:0,b:0,l:0,r:0},ze=["t","b","l","r"].reduce((Le,Oe)=>(Le[Oe]=((ut||ye)[Oe]||0)+((mt||ye)[Oe]||0),Le),{});ze.py=Math.round((ze.t+ze.b)/2),ze.px=Math.round((ze.l+ze.r)/2),L(le,ze)}return _.forEach((ye,ze)=>{let Le=ye;const Oe=x(ye,"DIV");if(Oe&&(r(Oe)||Ee(Oe.style)||De(Oe.style).width)&&!h(Oe)){const Ze=le.cols[ze];if(Ze){const rt=r(Oe);rt&&!Ze.bg&&(Ze.bg=rt);const it=Ee(Oe.style);it&&!Ze.radius&&(Ze.radius=it);const ht=De(Oe.style);ht.width&&!Ze.border&&(Ze.border=ht.width,Ze.borderStyle=Ce(Oe.style),Ze.lineColor=He(Oe.style)||"#e2e2e5");const ct=w(Oe.style);ct&&Ze.padY===void 0&&(Ze.padY=ct.py,Ze.padX=ct.px)}Le=Oe}le.cols[ze].blocks=t(Array.from(Le.childNodes))}),le}).filter(B=>B&&B.cols.some(U=>U.blocks.length))}function Qe(s){const n=e(s);if(n){const O=q(n.shares?l(n.shares):k(n,0));if(O.props.py=0,O.props.px=0,O.props.gap=0,n.forEach((G,se)=>{O.cols[se].blocks=re(Qe(Array.from(G.childNodes)));const _=r(G);_&&(O.cols[se].bg=_);const ne=Ee(G.style);ne&&(O.cols[se].radius=ne);const te=T(G);te&&(O.cols[se].padY=te.py,O.cols[se].padX=te.px)}),O.cols.some(G=>G.blocks.length))return[O]}const z=[];let B=[];const U=()=>{const O=t(B);if(O.length){const G=q([100]);G.props.py=0,G.props.px=0,G.props.gap=0,G.cols[0].blocks=O,z.push(G)}B=[]};return s.forEach(O=>{if(O.nodeType===8)return;if(O.nodeType===1&&/^(SCRIPT|STYLE)$/.test(O.tagName)){const _=ee(O);if(_){U();const ne=q([100]);ne.props.py=0,ne.props.px=0,ne.props.gap=0,ne.cols[0].blocks=[_],z.push(ne)}return}if(O.nodeType===1&&S(O))return;if(O.nodeType===1&&Q(O)&&!h(Me(O))){U();const _=re(Qe(Array.from(O.childNodes)));if(_.length){const ne=q([100]);ne.props.py=0,ne.props.px=0,ne.props.gap=0,ne.cols[0].blocks=_,z.push(...E(Ye(Ae(je([ne],r(O)),T(O)),O),O));return}}const G=O.nodeType===1&&(O.tagName==="DIV"||O.tagName==="CENTER")?Me(O):null,se=G&&(G.tagName==="DIV"||G.tagName==="CENTER"?ke(G):ke(O));if(G&&se&&!h(G)){U();const _=A(Qe(Array.from(O.childNodes)),O);z.push(...E(Ye(Ae(je(_,r(O)),T(O)),O),O));return}if(O.nodeType===1&&O.tagName==="TABLE"){if(O.closest("form,svg")){B.push(O);return}const _=W(O);if(_){U();const ne=q([100]);ne.props.py=0,ne.props.px=0,ne.props.gap=0;const te=O.querySelector("a"),xe=te&&te.closest?te.closest("td"):null,oe=xe?w(xe.style):null;oe&&L(ne,oe),ne.cols[0].blocks=[_],z.push(ne);return}if(p(O)){const ne=O.querySelector(":scope > tbody > tr, :scope > tr"),te=Array.from(ne.children).find(le=>le.tagName==="TD"||le.tagName==="TH");U();const xe=b(te.style.height);if(xe&&!te.children.length&&!(te.textContent||"").replace(/ /g,"").trim()){const le=q([100]);le.props.py=0,le.props.px=0,le.props.gap=0,le.cols[0].blocks=[Y("spacer",{height:xe})],z.push(le);return}const oe=De(te.style);if(oe.sides.top>0&&oe.sides.top<=10&&!oe.sides.right&&!oe.sides.bottom&&!oe.sides.left&&!r(te)&&!j(te)&&!Array.from(te.children).some(le=>le.tagName!=="SPAN"&&le.tagName!=="BR")&&!(te.textContent||"").replace(/\s/g,"")){const le=String(O.getAttribute("width")||O.style.width||""),Te=q([100]);Te.props.py=0,Te.props.px=0,Te.props.gap=0,Te.cols[0].blocks=[Y("divider",{thickness:oe.sides.top,lineStyle:Ce(te.style),color:He(te.style)||"#d9dade",width:le.endsWith("%")?b(le):100})],z.push(Te);return}const ge=A(A(Qe(Array.from(te.childNodes)),te),O);z.push(...E(E(Ye(Ye(Ae(je(ge,r(te)||r(ne)||r(O)),T(te)||T(O)||P(O)),te),O),te),O));return}U(),z.push(...at(O));return}B.push(O)}),U(),z}function et(s){const n=s.getAttribute("width")||s.style&&s.style.width||"";if(n&&!String(n).endsWith("%"))return b(n);const z=s.style&&s.style.maxWidth;return z&&!String(z).endsWith("%")?b(z):0}function nt(s){if(!s)return!1;const{sides:n}=De(s),z=["top","right","bottom","left"].filter(O=>n[O]>0).length,B=String(s.borderRadius||"").split(/\s+/).map(b),U=B.length>1&&B.some(O=>O>0)&&B.some(O=>!O);return z>0&&z<4||U}function st(s){const n={},z=s.body;let B=c(z.style&&(z.style.backgroundColor||z.style.background)||z.getAttribute("bgcolor")||"");if(!B){const oe=z.querySelector("table");oe&&(B=r(oe)||(oe.querySelector("td")?r(oe.querySelector("td")):""))}B&&(n.bg=B);const U={};z.querySelectorAll("table").forEach(oe=>{const ge=et(oe);ge>=320&&ge<=900&&(U[ge]=(U[ge]||0)+1)});const O=Object.keys(U).sort((oe,ge)=>U[ge]-U[oe])[0];if(O&&(n.width=Number(O)),O){const oe=Array.from(z.querySelectorAll("table")).find(ge=>et(ge)===Number(O));if(oe){const ge=nt(oe.style),le=r(oe);le&&(n.contentBg=le);const Te=b(oe.style&&oe.style.borderRadius);Te>0&&(n.radius=Te);const Ke=oe.style?b(oe.style.borderWidth)||b(oe.style.borderTopWidth):0;Ke>0&&(n.borderW=Ke,n.borderStyle=Ce(oe.style),n.borderColor=He(oe.style)||"");const Ie=oe.style&&oe.style.boxShadow;Ie&&Ie!=="none"&&(n.shadow=Ie),oe.style&&(oe.style.border="",oe.style.borderRadius="",oe.style.boxShadow="");const Ve=oe.closest?oe.closest("td"):null;if(Ve&&Ve.style){const Ue=b(Ve.style.paddingTop),we=b(Ve.style.paddingLeft);Ue>0&&(n.padY=Ue),we>0&&(n.padX=we),Ve.style.padding=""}if(ge){const Ue=Array.from(z.querySelectorAll("table")).filter(we=>we!==oe&&we.style&&et(we)===Number(O));Ue.forEach((we,Fe)=>{nt(we.style)&&(we.style.borderLeft="",we.style.borderRight="",we.style.borderRadius="",we.style.boxShadow="",Fe===Ue.length-1&&(we.style.borderBottom=""))})}}}const G=z.style&&z.style.fontFamily||"",se=Array.from(z.querySelectorAll('[style*="font-family"]')).filter(oe=>(oe.textContent||"").trim()).map(oe=>oe.style.fontFamily).filter(Boolean),_=G||se.find(oe=>/[,"']/.test(oe))||se[0];_&&(n.font=_);const ne=oe=>!!(oe.style&&(oe.style.backgroundColor||oe.style.background)||Array.from(oe.querySelectorAll("span")).some(ge=>ge.style&&(ge.style.backgroundColor||ge.style.background))),te={};z.querySelectorAll('a[style*="color"]').forEach(oe=>{const ge=oe.style.color;!ge||ge==="inherit"||!(oe.textContent||"").trim()||ne(oe)||oe.querySelector("svg,img")||oe.style.textTransform==="uppercase"&&oe.style.letterSpacing||(te[ge]=(te[ge]||0)+1)});const xe=Object.keys(te).sort((oe,ge)=>te[ge]-te[oe])[0];return xe&&(n.link=c(xe)),z.style&&z.style.color&&(n.text=c(z.style.color)),n}function ot(s){let n=String(s);const z=B=>'<tr data-mc-logic="'+B.replace(/"/g,""")+'"><td></td></tr>';for(let B=0;B<6;B++){const U=n;if(n=n.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(O,G)=>z(G)),n=n.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(O,G,se)=>G+z(se)),n===U)break}return n}function Ge(s,n,z){const B=String(s||"");if(!n||B.indexOf("<a")<0||B.indexOf("color")<0)return s;const O=new DOMParser().parseFromString('<div id="mc-fold">'+B+"</div>","text/html").getElementById("mc-fold");if(!O)return s;let G=!1;return O.querySelectorAll("a[style]").forEach(se=>{se.style.color&&z(se.style.color)===n&&(se.style.removeProperty("color"),(se.getAttribute("style")||"").trim()||se.removeAttribute("style"),G=!0)}),G?O.innerHTML:s}function _e(s,n){const z=M(n.font),B=_=>String(c(_)||"").toLowerCase(),U=B(n.text),O=B(n.contentBg),G=B(n.link),se={text:1,heading:1,list:1};s.forEach(_=>{const ne=B(_.props.bg);ne&&ne===O&&(_.props.bg=""),_.cols.forEach(te=>{String(te.bg||"").toLowerCase()==="transparent"&&(te.bg=""),te.blocks.forEach(xe=>{z&&xe.props.fontFamily&&M(xe.props.fontFamily)===z&&(xe.props.fontFamily=""),U&&se[xe.type]&&B(xe.props.color)===U&&(xe.props.color=""),G&&n.link&&typeof xe.props.html=="string"&&(xe.props.html=Ge(xe.props.html,G,B)),G&&n.link&&xe.type==="list"&&xe.props.items&&(xe.props.items=String(xe.props.items).split(`
|
|
97
|
-
`).map(
|
|
98
|
-
`))})})})}function tt(
|
|
99
|
-
`).map(
|
|
100
|
-
`).filter(Z=>Z.trim()).map(Z=>Z.split("|").map(b=>b.trim()))}Object.assign($,{parseItems:q,cellsOf:Y})},ue["core/placeholder.js"]=function(he,$,D){function q(de){return encodeURIComponent(de).replace(/\(/g,"%28").replace(/\)/g,"%29")}function Y(de,Z,b){return"data:image/svg+xml;utf8,"+q('<svg xmlns="http://www.w3.org/2000/svg" width="'+Z+'" height="'+b+'"><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="'+(Z-1)+'" height="'+(b-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(Z/40))+'" fill="#5b6672">'+de+"</text></svg>")}Object.assign($,{PH:Y})},ue["core/sanitize.js"]=function(he,$,D){const q=(S,j)=>{const N=String(S||"");let E="",A=0;const w=L=>L.split(",").map(d=>{const a=d.trim();return a?/^(from|to|\d+%)$/i.test(a)||a.startsWith("@")?a:/^(html|body|:root)\b/i.test(a)?j+a.replace(/^(html|body|:root)/i,""):j+" "+a:""}).filter(Boolean).join(", ");for(;A<N.length;){const L=N.indexOf("{",A);if(L<0){E+=N.slice(A);break}const d=N.slice(A,L).trim();let a=1,g=L+1;for(;g<N.length&&a>0;)N[g]==="{"?a++:N[g]==="}"&&a--,g++;const v=N.slice(L+1,g-1);d.startsWith("@")?E+=d+"{"+(/^@(media|supports|layer|container)/i.test(d)?q(v,j):v)+"}":E+=w(d)+"{"+v+"}",A=g}return E},Y=S=>String(S).replace(/\[\[\s*([\w.]+)\s*\]\]/g,"{{ $1 }}"),de={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},Z=S=>{const j=new DOMParser().parseFromString(String(S||""),"text/html");j.querySelectorAll("style,script,meta,link,title,head").forEach(E=>E.remove());const N=E=>{Array.from(E.children).forEach(A=>{if(N(A),!de[A.tagName]){const w=A.parentNode;for(;A.firstChild;)w.insertBefore(A.firstChild,A);w.removeChild(A);return}Array.from(A.attributes).forEach(w=>{A.tagName==="A"&&["href","target","rel"].indexOf(w.name)>-1||A.removeAttribute(w.name)})})};return N(j.body),j.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},b=Object.assign({SPAN:1,IMG:1},de),K=["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"],x=(S,j,N)=>{const E=new DOMParser().parseFromString(String(S||""),"text/html");E.querySelectorAll("style,script,meta,link,title,head").forEach(w=>w.remove());const A=w=>{Array.from(w.children).forEach(L=>{if(A(L),!b[L.tagName]){const a=L.parentNode;for(;L.firstChild;)a.insertBefore(L.firstChild,L);a.removeChild(L);return}const d=[];K.forEach(a=>{if(j&&j.indexOf(a)>-1)return;const g=L.style.getPropertyValue(a);g&&d.push(a+":"+g)}),(N||[]).forEach(a=>{const g=L.style.getPropertyValue(a);g&&d.push(a+":"+g)}),Array.from(L.attributes).forEach(a=>{L.tagName==="A"&&["href","target","rel"].indexOf(a.name)>-1||L.tagName==="IMG"&&["src","alt","width","height"].indexOf(a.name)>-1||L.removeAttribute(a.name)}),d.length&&L.setAttribute("style",d.join(";"))})};return A(E.body),E.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},M=S=>String(Number(S.toFixed(2))),V=(S,j)=>{const N=String(S??"");if(!N||!Number.isFinite(j)||j<=0||j===1||!/font-size/i.test(N))return N;const E=new DOMParser().parseFromString(N,"text/html");let A=!1;return E.body.querySelectorAll("[style]").forEach(w=>{const L=/^([\d.]+)(px|pt)$/.exec(w.style.fontSize||"");if(!L)return;w.style.fontSize=M(parseFloat(L[1])*j)+L[2];const d=/^([\d.]+)px$/.exec(w.style.lineHeight||"");d&&(w.style.lineHeight=M(parseFloat(d[1])*j)+"px"),A=!0}),A?E.body.innerHTML:N},u=(S,j)=>{const N=String(S??"");if(!N||N.indexOf(j)===-1)return N;const E=new DOMParser().parseFromString(N,"text/html");let A=!1;return E.body.querySelectorAll("[style]").forEach(w=>{w.style.getPropertyValue(j)&&(w.style.removeProperty(j),w.getAttribute("style")||w.removeAttribute("style"),A=!0)}),A?E.body.innerHTML:N},m={'"':"%22","'":"%27","(":"%28",")":"%29","\\":"%5C"},o=S=>{const j=String(S??"").trim();if(!j)return"";const N=j.match(/^([a-z][a-z0-9+.-]*):/i);return N&&!/^(https?|blob)$/i.test(N[1])&&!/^data:image\//i.test(j)?"":j.replace(/["'()\\]|\s/g,E=>m[E]||"%20")},f=S=>{const j=String(S??"").trim();if(!j)return"";const N=j.match(/^([a-z][a-z0-9+.-]*):/i);if(N){if(/^(https?|mailto|tel)$/i.test(N[1]))return j;if(!/^[a-z][a-z0-9+.-]*:\d/i.test(j))return""}return j.startsWith("//")?"https:"+j:/^(?:\{\{|\[|%%|\*\||\$\{)/.test(j)||/^[#/]/.test(j)?j:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(j)?"mailto:"+j:"https://"+j},P=S=>String(S).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");Object.assign($,{scopeCss:q,migrateTokens:Y,cleanHtml:Z,cleanImportHtml:x,scaleInlineSizes:V,stripInlineStyle:u,cssUrl:o,linkHref:f,escHtml:P,hl:S=>P(S).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>')})},ue["core/storage-limits.js"]=function(he,$,D){const{KB:q}=D("core/assets.js"),Y=(u,m,o)=>o.split("").every((f,P)=>u[m+P]===f.charCodeAt(0));function de(u){if(u.length<12)return null;if(u[0]===255&&u[1]===216&&u[2]===255)return"image/jpeg";if(u[0]===137&&Y(u,1,"PNG"))return"image/png";if(Y(u,0,"GIF8"))return"image/gif";if(Y(u,0,"RIFF")&&Y(u,8,"WEBP"))return"image/webp";if(Y(u,0,"BM"))return"image/bmp";if(Y(u,0,"II")&&u[2]===42&&u[3]===0||Y(u,0,"MM")&&u[2]===0&&u[3]===42)return"image/tiff";if(u[0]===0&&u[1]===0&&u[2]===1&&u[3]===0)return"image/x-icon";if(Y(u,4,"ftyp")){const o=String.fromCharCode(u[8],u[9],u[10],u[11]);return o==="avif"||o==="avis"?"image/avif":"image/heic"}let m=0;for(u[0]===239&&u[1]===187&&u[2]===191&&(m=3);m<u.length&&(u[m]===32||u[m]===9||u[m]===10||u[m]===13);)m++;return u[m]===60?"image/svg+xml":null}function Z(u){const m=u.slice(0,32);return typeof m.arrayBuffer=="function"?m.arrayBuffer().then(o=>new Uint8Array(o)).catch(()=>null):new Promise(o=>{const f=new FileReader;f.onload=()=>o(new Uint8Array(f.result)),f.onerror=()=>o(null),f.readAsArrayBuffer(m)})}function b(u){return new Promise(m=>{const o=URL.createObjectURL(u),f=new Image,P=I=>{URL.revokeObjectURL(o),m(I)};f.onload=()=>P({w:f.naturalWidth||f.width,ht:f.naturalHeight||f.height}),f.onerror=()=>P(null),f.src=o})}function K(u){const m=String(u||"file").replace(/[\\/]/g,"-").replace(/[<>:"|?*]/g,"").split("").filter(P=>P.charCodeAt(0)>31).join("").trim().replace(/^\.+/,"")||"file";if(m.length<=120)return m;const o=m.lastIndexOf("."),f=o>0&&m.length-o<=8?m.slice(o):"";return m.slice(0,120-f.length)+f}function x(u){return u?Number(u.maxBytes)>0?null:"storage.errNoMaxBytes":"storage.errNoLimits"}async function M(u,m){const o=Array.from(u||[]),f=[],P=[];if(!o.length)return{accepted:f,rejected:P};const I=x(m);if(I)return{accepted:f,rejected:o.map(L=>({name:L.name,key:I,params:{}}))};const S=Array.isArray(m.accept)&&m.accept.length?m.accept.map(L=>String(L).toLowerCase()):null,j=Number(m.maxBytes),N=Number(m.maxWidth)||0,E=Number(m.maxHeight)||0,A=Number(m.maxFilesPerDrop)||0,w=A&&o.length>A?o.slice(0,A):o;w.length<o.length&&o.slice(w.length).forEach(L=>P.push({name:L.name,key:"storage.errTooMany",params:{max:A}}));for(const L of w){const d=K(L.name);if(L.size>j){P.push({name:d,key:"storage.errTooLarge",params:{name:d,size:q(L.size),max:q(j)}});continue}const a=await Z(L),g=a&&de(a);if(!g){P.push({name:d,key:"storage.errUnreadable",params:{name:d}});continue}if(S&&!S.includes(g)){P.push({name:d,key:"storage.errFormat",params:{name:d,type:g.replace(/^image\//,"").toUpperCase()}});continue}if(g==="image/svg+xml"&&!m.allowSvg){P.push({name:d,key:"storage.errSvg",params:{name:d}});continue}let v={w:0,ht:0};if(g!=="image/svg+xml"){const C=await b(L);if(!C){P.push({name:d,key:"storage.errUnreadable",params:{name:d}});continue}if(v=C,N&&v.w>N||E&&v.ht>E){P.push({name:d,key:"storage.errDimensions",params:{name:d,w:v.w,ht:v.ht,maxW:N||v.w,maxH:E||v.ht}});continue}}f.push({file:L,name:d,type:g,size:L.size,w:v.w,ht:v.ht})}return{accepted:f,rejected:P}}function V(u){return!u||!Array.isArray(u.accept)||!u.accept.length?"image/*":u.accept.join(",")}Object.assign($,{sanitizeName:K,limitsProblem:x,validateFiles:M,acceptAttribute:V})},ue["core/storage.js"]=function(he,$,D){function Y(b,K){const x=b||{};return{id:String(x.id??x.itemId??""),name:String(x.name??(K&&K.name)??"file"),url:String(x.url??""),folder:String(x.folder??""),folderId:x.folderId!=null?String(x.folderId):void 0,w:Number(x.w??(K&&K.w)??0)||0,ht:Number(x.ht??(K&&K.ht)??0)||0,size:Number(x.size??(K&&K.size)??0)||0}}function de(b,K){return!b&&!K?null:Object.assign({},K||{},b||{})}function Z(b){if(!b||typeof b!="object")return["storageProvider must be an object"];const K=["list","upload"].filter(x=>typeof b[x]!="function");return K.length?[`storageProvider is missing ${K.join(" and ")}`]:[]}Object.assign($,{ALL_FOLDER_ID:"",normalizeAsset:Y,resolveLimits:de,providerProblems:Z})},ue["core/theme.js"]=function(he,$,D){Object.assign($,{THEME:()=>({bg:"#eef2f7",contentBg:"#ffffff",width:620,padY:0,padX:0,radius:0,borderW:0,borderStyle:"solid",borderColor:"#e2e2e5",shadow:"",font:'"Helvetica Neue", Helvetica, Arial, sans-serif',text:"#172033",link:"#0065b3"})})},ue["core/toolbar.js"]=function(he,$,D){const q=["logo","status","device","undo","redo","theme","ai","code","preview","export"],Y=["none","hidden","off","false"];function de(b){if(b===!1||typeof b=="string"&&Y.indexOf(b.trim().toLowerCase())>=0)return null;const K={};if(q.forEach(x=>{K[x]=!0}),b&&typeof b=="object")q.forEach(x=>{b[x]===!1&&(K[x]=!1)});else if(typeof b=="string"&&b.trim()&&b.trim().toLowerCase()!=="all"){const x=b.split(",").map(M=>M.trim()).filter(Boolean);q.forEach(M=>{K[M]=x.indexOf(M)>=0})}return q.some(x=>K[x])?K:null}function Z(b){return b?q.map(K=>b[K]?"1":"0").join(""):"none"}Object.assign($,{TOOLBAR_ITEMS:q,resolveToolbar:de,toolbarKey:Z})},ue["core/variables.js"]=function(he,$,D){const q=`first_name
|
|
91
|
+
</html>`))}Object.assign($,{msoHarden:D,decorateLogicTags:Q,buildHtml:m})},ge["core/footer.js"]=function(be,$,F){const G=["none","hidden","off","false"];function X(W){const y=String(W??"").trim();if(!y)return"";const K=y.match(/^([a-z][a-z0-9+.-]*):/i);return K&&!/^(https?|mailto)$/i.test(K[1])?"":y}function pe(W){if(W===!1)return null;if(W==null)return{text:null,href:"",target:""};if(typeof W=="string"){const y=W.trim();return G.indexOf(y.toLowerCase())>=0?null:{text:y||null,href:"",target:""}}return typeof W=="object"?W.show===!1?null:{text:W.text==null?null:String(W.text),href:X(W.href),target:W.target?String(W.target):""}:{text:null,href:"",target:""}}Object.assign($,{resolveFooter:pe})},ge["core/i18n/ar.js"]=function(be,$,F){Object.assign($,{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} أسطر","code.format":"تنسيق المصدر (المسافات البادئة فقط)","code.wrap":"التفاف النص","code.find":"بحث","code.replace":"استبدال","code.replaceAll":"استبدال الكل","code.prevMatch":"النتيجة السابقة","code.nextMatch":"النتيجة التالية","code.goToLine":"الانتقال إلى سطر","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.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.download":"تنزيل {fmt}","story.format":"صيغة الصورة — PNG بلا فقدان، وJPG وWebP ملفات أصغر","story.meta":"{w}×{h} · شاشة {i} من {n}","footer.poweredBy":"مدعوم من SELISE Blocks © 2026"}})},ge["core/i18n/bg.js"]=function(be,$,F){Object.assign($,{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} реда","code.format":"Форматиране на кода (само отстъпи)","code.wrap":"Пренасяне на редове","code.find":"Търсене","code.replace":"Замяна","code.replaceAll":"Замяна на всички","code.prevMatch":"Предишно съвпадение","code.nextMatch":"Следващо съвпадение","code.goToLine":"Към ред","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.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.download":"Изтегляне на {fmt}","story.format":"Формат на изображението — PNG е без загуби, JPG и WebP са по-малки файлове","story.meta":"{w}×{h} · екран {i} от {n}","footer.poweredBy":"С технологията на SELISE Blocks © 2026"}})},ge["core/i18n/bn.js"]=function(be,$,F){Object.assign($,{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}টি লাইন","code.format":"সোর্স ফরম্যাট করুন (শুধু ইন্ডেন্টেশন)","code.wrap":"ওয়ার্ড র্যাপ","code.find":"খুঁজুন","code.replace":"প্রতিস্থাপন","code.replaceAll":"সব প্রতিস্থাপন","code.prevMatch":"আগের মিল","code.nextMatch":"পরের মিল","code.goToLine":"লাইনে যান","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.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.download":"{fmt} ডাউনলোড","story.format":"ছবির ফরম্যাট — PNG লসলেস, JPG ও WebP ফাইল ছোট","story.meta":"{w}×{h} · স্ক্রিন {i} / {n}","footer.poweredBy":"SELISE Blocks দ্বারা পরিচালিত © 2026"}})},ge["core/i18n/ca.js"]=function(be,$,F){Object.assign($,{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 la biblioteca multimèdia","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":"Biblioteca multimèdia","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","code.format":"Formata el codi font (només sagnat)","code.wrap":"Ajustament de línia","code.find":"Cerca","code.replace":"Substitueix","code.replaceAll":"Substitueix-ho tot","code.prevMatch":"Coincidència anterior","code.nextMatch":"Coincidència següent","code.goToLine":"Vés a la línia","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.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.download":"Baixa el {fmt}","story.format":"Format de la imatge — el PNG és sense pèrdues; JPG i WebP són fitxers més petits","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Amb la tecnologia de SELISE Blocks © 2026"}})},ge["core/i18n/cs.js"]=function(be,$,F){Object.assign($,{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 knihovnu médií","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":"Knihovna médií","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ů","code.format":"Formátovat zdroj (pouze odsazení)","code.wrap":"Zalamování řádků","code.find":"Najít","code.replace":"Nahradit","code.replaceAll":"Nahradit vše","code.prevMatch":"Předchozí shoda","code.nextMatch":"Další shoda","code.goToLine":"Přejít na řádek","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.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.download":"Stáhnout {fmt}","story.format":"Formát obrázku — PNG je bezeztrátový, JPG a WebP jsou menší soubory","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Běží na SELISE Blocks © 2026"}})},ge["core/i18n/da.js"]=function(be,$,F){Object.assign($,{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 mediebibliotek","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":"Mediebibliotek","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","code.format":"Formatér kilden (kun indrykning)","code.wrap":"Tekstombrydning","code.find":"Find","code.replace":"Erstat","code.replaceAll":"Erstat alle","code.prevMatch":"Forrige match","code.nextMatch":"Næste match","code.goToLine":"Gå til linje","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.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.download":"Hent {fmt}","story.format":"Billedformat — PNG er tabsfrit, JPG og WebP er mindre filer","story.meta":"{w}×{h} · skærm {i} af {n}","footer.poweredBy":"Drevet af SELISE Blocks © 2026"}})},ge["core/i18n/de-CH.js"]=function(be,$,F){Object.assign($,{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":"Medienbibliothek ö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":"Medienbibliothek","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","code.format":"Quelltext formatieren (nur Einrückung)","code.wrap":"Zeilenumbruch","code.find":"Suchen","code.replace":"Ersetzen","code.replaceAll":"Alle ersetzen","code.prevMatch":"Vorheriger Treffer","code.nextMatch":"Nächster Treffer","code.goToLine":"Gehe zu Zeile","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.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.download":"{fmt} herunterladen","story.format":"Bildformat — PNG ist verlustfrei, JPG und WebP sind kleinere Dateien","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},ge["core/i18n/de.js"]=function(be,$,F){Object.assign($,{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":"Medienbibliothek ö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":"Medienbibliothek","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","code.format":"Quelltext formatieren (nur Einrückung)","code.wrap":"Zeilenumbruch","code.find":"Suchen","code.replace":"Ersetzen","code.replaceAll":"Alle ersetzen","code.prevMatch":"Vorheriger Treffer","code.nextMatch":"Nächster Treffer","code.goToLine":"Gehe zu Zeile","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.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.download":"{fmt} herunterladen","story.format":"Bildformat — PNG ist verlustfrei, JPG und WebP sind kleinere Dateien","story.meta":"{w}×{h} · Ansicht {i} von {n}","footer.poweredBy":"Bereitgestellt von SELISE Blocks © 2026"}})},ge["core/i18n/dz.js"]=function(be,$,F){Object.assign($,{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}","code.format":"རྩ་འཛིན་བཟོ་རྣམ་སྒྲིག་ནི (ནང་བསྐུམ་རྐྱངམ་གཅིག)","code.wrap":"ཚིག་ཐིག་བསྒྱིར་ནི","code.find":"འཚོལ་ཞིབ","code.replace":"ཚབ་བཙུགས","code.replaceAll":"ཆ་མཉམ་ཚབ་བཙུགས","code.prevMatch":"ཧེ་མའི་མཐུན་པ","code.nextMatch":"ཤུལ་མའི་མཐུན་པ","code.goToLine":"ཐིག་ལུ་འགྱོ","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.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.download":"{fmt} ཕབ་ལེན","story.format":"པར་གྱི་རྣམ་གཞག — PNG ཉམས་ཆག་མེད། JPG དང་ WebP ཡིག་སྣོད་ཆུང་ཀུ་ཨིན","story.meta":"{w}×{h} · གསལ་གཞི {i}/{n}","footer.poweredBy":"SELISE Blocks གིས་མཁོ་སྤྲོད © 2026"}})},ge["core/i18n/el.js"]=function(be,$,F){Object.assign($,{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} γραμμές","code.format":"Μορφοποίηση πηγαίου κώδικα (μόνο εσοχές)","code.wrap":"Αναδίπλωση λέξεων","code.find":"Εύρεση","code.replace":"Αντικατάσταση","code.replaceAll":"Αντικατάσταση όλων","code.prevMatch":"Προηγούμενη αντιστοιχία","code.nextMatch":"Επόμενη αντιστοιχία","code.goToLine":"Μετάβαση στη γραμμή","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.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.download":"Λήψη {fmt}","story.format":"Μορφή εικόνας — το PNG είναι χωρίς απώλειες, τα JPG και WebP είναι μικρότερα αρχεία","story.meta":"{w}×{h} · οθόνη {i} από {n}","footer.poweredBy":"Με την υποστήριξη του SELISE Blocks © 2026"}})},ge["core/i18n/en.js"]=function(be,$,F){const G={"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 media library","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":"Media library","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","code.format":"Format source (indentation only)","code.wrap":"Word wrap","code.find":"Find","code.replace":"Replace","code.replaceAll":"Replace all","code.prevMatch":"Previous match","code.nextMatch":"Next match","code.goToLine":"Go to line","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.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.download":"Download {fmt}","story.format":"Image format — PNG is lossless, JPG and WebP are smaller files","story.meta":"{w}×{h} · screen {i} of {n}","footer.poweredBy":"Powered by SELISE Blocks © 2026"},X=Object.keys(G).sort();Object.assign($,{EN:G,MESSAGE_KEYS:X})},ge["core/i18n/es.js"]=function(be,$,F){Object.assign($,{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 biblioteca multimedia","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":"Biblioteca multimedia","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","code.format":"Formatear el código (solo sangría)","code.wrap":"Ajuste de línea","code.find":"Buscar","code.replace":"Reemplazar","code.replaceAll":"Reemplazar todo","code.prevMatch":"Coincidencia anterior","code.nextMatch":"Coincidencia siguiente","code.goToLine":"Ir a la línea","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.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.download":"Descargar {fmt}","story.format":"Formato de imagen — PNG no tiene pérdidas; JPG y WebP son archivos más pequeños","story.meta":"{w}×{h} · pantalla {i} de {n}","footer.poweredBy":"Con la tecnología de SELISE Blocks © 2026"}})},ge["core/i18n/et.js"]=function(be,$,F){Object.assign($,{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 meediateek","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":"Meediateek","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","code.format":"Vorminda lähtekood (ainult taane)","code.wrap":"Reamurdmine","code.find":"Otsi","code.replace":"Asenda","code.replaceAll":"Asenda kõik","code.prevMatch":"Eelmine vaste","code.nextMatch":"Järgmine vaste","code.goToLine":"Mine reale","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.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.download":"Laadi {fmt} alla","story.format":"Pildivorming — PNG on kadudeta, JPG ja WebP on väiksemad failid","story.meta":"{w}×{h} · vaade {i}/{n}","footer.poweredBy":"Töötab SELISE Blocks © 2026 põhjal"}})},ge["core/i18n/fi.js"]=function(be,$,F){Object.assign($,{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 mediakirjasto","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":"Mediakirjasto","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ä","code.format":"Muotoile lähdekoodi (vain sisennys)","code.wrap":"Rivitys","code.find":"Etsi","code.replace":"Korvaa","code.replaceAll":"Korvaa kaikki","code.prevMatch":"Edellinen osuma","code.nextMatch":"Seuraava osuma","code.goToLine":"Siirry riville","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.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.download":"Lataa {fmt}","story.format":"Kuvamuoto — PNG on häviötön, JPG ja WebP ovat pienempiä tiedostoja","story.meta":"{w}×{h} · näkymä {i}/{n}","footer.poweredBy":"Taustalla SELISE Blocks © 2026"}})},ge["core/i18n/fr.js"]=function(be,$,F){Object.assign($,{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 la médiathèque","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":"Médiathèque","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","code.format":"Formater la source (indentation uniquement)","code.wrap":"Retour à la ligne automatique","code.find":"Rechercher","code.replace":"Remplacer","code.replaceAll":"Tout remplacer","code.prevMatch":"Résultat précédent","code.nextMatch":"Résultat suivant","code.goToLine":"Aller à la ligne","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.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.download":"Télécharger le {fmt}","story.format":"Format d’image — le PNG est sans perte, JPG et WebP sont plus légers","story.meta":"{w}×{h} · écran {i} sur {n}","footer.poweredBy":"Propulsé par SELISE Blocks © 2026"}})},ge["core/i18n/hr.js"]=function(be,$,F){Object.assign($,{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 medijsku knjižnicu","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":"Medijska knjižnica","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","code.format":"Oblikuj izvorni kod (samo uvlake)","code.wrap":"Prelamanje teksta","code.find":"Traži","code.replace":"Zamijeni","code.replaceAll":"Zamijeni sve","code.prevMatch":"Prethodno podudaranje","code.nextMatch":"Sljedeće podudaranje","code.goToLine":"Idi na redak","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.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.download":"Preuzmi {fmt}","story.format":"Format slike — PNG je bez gubitaka, JPG i WebP su manje datoteke","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Pokreće SELISE Blocks © 2026"}})},ge["core/i18n/hu.js"]=function(be,$,F){Object.assign($,{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":"Médiatár 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":"Médiatár","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","code.format":"Forrás formázása (csak behúzás)","code.wrap":"Sortörés","code.find":"Keresés","code.replace":"Csere","code.replaceAll":"Összes cseréje","code.prevMatch":"Előző találat","code.nextMatch":"Következő találat","code.goToLine":"Ugrás sorra","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.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.download":"{fmt} letöltése","story.format":"Képformátum — a PNG veszteségmentes, a JPG és a WebP kisebb fájl","story.meta":"{w}×{h} · {i}/{n} képernyő","footer.poweredBy":"Működteti a SELISE Blocks © 2026"}})},ge["core/i18n/index.js"]=function(be,$,F){const{EN:G}=F("core/i18n/en.js");function X(Q){const m=Q||{};return function(p,h){const u=m[p]??G[p]??p;return h?u.replace(/\{(\w+)\}/g,(B,f)=>f in h?String(h[f]):B):u}}function pe(Q,m){return Object.assign({},Q,m)}function W(Q,m){return Object.keys(m||G).filter(p=>Q[p]===void 0).sort()}const y=[{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 K(Q){const m=y.find(g=>g.tag===Q);return m?m.rtl===!0:!1}const{EN:S,MESSAGE_KEYS:D}=F("core/i18n/en.js");Object.assign($,{EN:S,MESSAGE_KEYS:D,createTranslator:X,defineMessages:pe,missingKeys:W,LOCALES:y,isRtl:K})},ge["core/i18n/it.js"]=function(be,$,F){Object.assign($,{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 libreria multimediale","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":"Libreria multimediale","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","code.format":"Formatta il sorgente (solo rientri)","code.wrap":"A capo automatico","code.find":"Trova","code.replace":"Sostituisci","code.replaceAll":"Sostituisci tutto","code.prevMatch":"Corrispondenza precedente","code.nextMatch":"Corrispondenza successiva","code.goToLine":"Vai alla riga","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.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.download":"Scarica {fmt}","story.format":"Formato immagine — PNG è senza perdite, JPG e WebP sono file più piccoli","story.meta":"{w}×{h} · schermata {i} di {n}","footer.poweredBy":"Con tecnologia SELISE Blocks © 2026"}})},ge["core/i18n/loaders.js"]=function(be,$,F){const{EN:G}=F("core/i18n/en.js"),X={en:()=>Promise.resolve(F("core/i18n/en.js")).then(S=>S.EN),ar:()=>Promise.resolve(F("core/i18n/ar.js")).then(S=>S.AR),bg:()=>Promise.resolve(F("core/i18n/bg.js")).then(S=>S.BG),bn:()=>Promise.resolve(F("core/i18n/bn.js")).then(S=>S.BN),ca:()=>Promise.resolve(F("core/i18n/ca.js")).then(S=>S.CA),cs:()=>Promise.resolve(F("core/i18n/cs.js")).then(S=>S.CS),da:()=>Promise.resolve(F("core/i18n/da.js")).then(S=>S.DA),de:()=>Promise.resolve(F("core/i18n/de.js")).then(S=>S.DE),"de-CH":()=>Promise.resolve(F("core/i18n/de-CH.js")).then(S=>S.DE_CH),dz:()=>Promise.resolve(F("core/i18n/dz.js")).then(S=>S.DZ),el:()=>Promise.resolve(F("core/i18n/el.js")).then(S=>S.EL),es:()=>Promise.resolve(F("core/i18n/es.js")).then(S=>S.ES),et:()=>Promise.resolve(F("core/i18n/et.js")).then(S=>S.ET),fi:()=>Promise.resolve(F("core/i18n/fi.js")).then(S=>S.FI),fr:()=>Promise.resolve(F("core/i18n/fr.js")).then(S=>S.FR),hr:()=>Promise.resolve(F("core/i18n/hr.js")).then(S=>S.HR),hu:()=>Promise.resolve(F("core/i18n/hu.js")).then(S=>S.HU),it:()=>Promise.resolve(F("core/i18n/it.js")).then(S=>S.IT),lt:()=>Promise.resolve(F("core/i18n/lt.js")).then(S=>S.LT),lv:()=>Promise.resolve(F("core/i18n/lv.js")).then(S=>S.LV),nb:()=>Promise.resolve(F("core/i18n/nb.js")).then(S=>S.NB),nl:()=>Promise.resolve(F("core/i18n/nl.js")).then(S=>S.NL),pl:()=>Promise.resolve(F("core/i18n/pl.js")).then(S=>S.PL),pt:()=>Promise.resolve(F("core/i18n/pt.js")).then(S=>S.PT),ro:()=>Promise.resolve(F("core/i18n/ro.js")).then(S=>S.RO),ru:()=>Promise.resolve(F("core/i18n/ru.js")).then(S=>S.RU),sk:()=>Promise.resolve(F("core/i18n/sk.js")).then(S=>S.SK),sl:()=>Promise.resolve(F("core/i18n/sl.js")).then(S=>S.SL),sv:()=>Promise.resolve(F("core/i18n/sv.js")).then(S=>S.SV),tr:()=>Promise.resolve(F("core/i18n/tr.js")).then(S=>S.TR),uk:()=>Promise.resolve(F("core/i18n/uk.js")).then(S=>S.UK)},pe={en:G},W={};function y(S){return Object.prototype.hasOwnProperty.call(pe,S)?pe[S]:X[S]?void 0:null}function K(S){const D=X[S];return D?(W[S]||(W[S]=D().then(Q=>(pe[S]=Q,Q))),W[S]):Promise.resolve(null)}Object.assign($,{LOCALE_LOADERS:X,localeTable:y,loadLocale:K})},ge["core/i18n/lt.js"]=function(be,$,F){Object.assign($,{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 medijos biblioteką","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":"Medijos biblioteka","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ų","code.format":"Formatuoti šaltinį (tik įtrauką)","code.wrap":"Teksto laužymas","code.find":"Rasti","code.replace":"Pakeisti","code.replaceAll":"Pakeisti viską","code.prevMatch":"Ankstesnis atitikmuo","code.nextMatch":"Kitas atitikmuo","code.goToLine":"Eiti į eilutę","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.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.download":"Atsisiųsti {fmt}","story.format":"Vaizdo formatas — PNG be nuostolių, JPG ir WebP failai mažesni","story.meta":"{w}×{h} · ekranas {i} iš {n}","footer.poweredBy":"Veikia su SELISE Blocks © 2026"}})},ge["core/i18n/lv.js"]=function(be,$,F){Object.assign($,{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 multivides bibliotēku","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":"Multivides bibliotēka","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","code.format":"Formatēt avotu (tikai atkāpes)","code.wrap":"Rindu aplaušana","code.find":"Meklēt","code.replace":"Aizstāt","code.replaceAll":"Aizstāt visu","code.prevMatch":"Iepriekšējā atbilstība","code.nextMatch":"Nākamā atbilstība","code.goToLine":"Pāriet uz rindu","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.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.download":"Lejupielādēt {fmt}","story.format":"Attēla formāts — PNG ir bezzudumu, JPG un WebP faili ir mazāki","story.meta":"{w}×{h} · ekrāns {i} no {n}","footer.poweredBy":"Darbina SELISE Blocks © 2026"}})},ge["core/i18n/nb.js"]=function(be,$,F){Object.assign($,{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 mediebibliotek","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":"Mediebibliotek","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","code.format":"Formater kilden (kun innrykk)","code.wrap":"Tekstbryting","code.find":"Finn","code.replace":"Erstatt","code.replaceAll":"Erstatt alle","code.prevMatch":"Forrige treff","code.nextMatch":"Neste treff","code.goToLine":"Gå til linje","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.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.download":"Last ned {fmt}","story.format":"Bildeformat — PNG er tapsfritt, JPG og WebP er mindre filer","story.meta":"{w}×{h} · skjerm {i} av {n}","footer.poweredBy":"Drevet av SELISE Blocks © 2026"}})},ge["core/i18n/nl.js"]=function(be,$,F){Object.assign($,{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":"Mediabibliotheek 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":"Mediabibliotheek","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","code.format":"Bron opmaken (alleen inspringing)","code.wrap":"Regelterugloop","code.find":"Zoeken","code.replace":"Vervangen","code.replaceAll":"Alles vervangen","code.prevMatch":"Vorige overeenkomst","code.nextMatch":"Volgende overeenkomst","code.goToLine":"Ga naar regel","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.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.download":"{fmt} downloaden","story.format":"Afbeeldingsformaat — PNG is verliesvrij, JPG en WebP zijn kleinere bestanden","story.meta":"{w}×{h} · scherm {i} van {n}","footer.poweredBy":"Mogelijk gemaakt door SELISE Blocks © 2026"}})},ge["core/i18n/pl.js"]=function(be,$,F){Object.assign($,{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 bibliotekę medió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":"Biblioteka medió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","code.format":"Formatuj źródło (tylko wcięcia)","code.wrap":"Zawijanie wierszy","code.find":"Znajdź","code.replace":"Zamień","code.replaceAll":"Zamień wszystko","code.prevMatch":"Poprzednie dopasowanie","code.nextMatch":"Następne dopasowanie","code.goToLine":"Przejdź do wiersza","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.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.download":"Pobierz {fmt}","story.format":"Format obrazu — PNG jest bezstratny, JPG i WebP to mniejsze pliki","story.meta":"{w}×{h} · ekran {i} z {n}","footer.poweredBy":"Napędzane przez SELISE Blocks © 2026"}})},ge["core/i18n/pt.js"]=function(be,$,F){Object.assign($,{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 biblioteca de mídia","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":"Biblioteca de mídia","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","code.format":"Formatar o código (apenas indentação)","code.wrap":"Quebra de linha","code.find":"Localizar","code.replace":"Substituir","code.replaceAll":"Substituir tudo","code.prevMatch":"Correspondência anterior","code.nextMatch":"Correspondência seguinte","code.goToLine":"Ir para a linha","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.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.download":"Transferir {fmt}","story.format":"Formato da imagem — PNG é sem perdas, JPG e WebP são ficheiros mais pequenos","story.meta":"{w}×{h} · ecrã {i} de {n}","footer.poweredBy":"Com tecnologia SELISE Blocks © 2026"}})},ge["core/i18n/ro.js"]=function(be,$,F){Object.assign($,{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 biblioteca media","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":"Biblioteca media","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","code.format":"Formatează sursa (doar indentare)","code.wrap":"Încadrare text","code.find":"Căutare","code.replace":"Înlocuire","code.replaceAll":"Înlocuiește tot","code.prevMatch":"Potrivirea anterioară","code.nextMatch":"Potrivirea următoare","code.goToLine":"Salt la linia","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.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.download":"Descarcă {fmt}","story.format":"Formatul imaginii — PNG este fără pierderi, JPG și WebP sunt fișiere mai mici","story.meta":"{w}×{h} · ecranul {i} din {n}","footer.poweredBy":"Susținut de SELISE Blocks © 2026"}})},ge["core/i18n/ru.js"]=function(be,$,F){Object.assign($,{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} строк","code.format":"Форматировать код (только отступы)","code.wrap":"Перенос строк","code.find":"Найти","code.replace":"Заменить","code.replaceAll":"Заменить всё","code.prevMatch":"Предыдущее совпадение","code.nextMatch":"Следующее совпадение","code.goToLine":"Перейти к строке","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.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.download":"Скачать {fmt}","story.format":"Формат изображения — PNG без потерь, JPG и WebP — файлы меньше","story.meta":"{w}×{h} · экран {i} из {n}","footer.poweredBy":"Работает на SELISE Blocks © 2026"}})},ge["core/i18n/sk.js"]=function(be,$,F){Object.assign($,{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ť knižnicu médií","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":"Knižnica médií","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","code.format":"Formátovať zdroj (iba odsadenie)","code.wrap":"Zalamovanie riadkov","code.find":"Nájsť","code.replace":"Nahradiť","code.replaceAll":"Nahradiť všetko","code.prevMatch":"Predchádzajúca zhoda","code.nextMatch":"Nasledujúca zhoda","code.goToLine":"Prejsť na riadok","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.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.download":"Stiahnuť {fmt}","story.format":"Formát obrázka — PNG je bezstratový, JPG a WebP sú menšie súbory","story.meta":"{w}×{h} · obrazovka {i} z {n}","footer.poweredBy":"Beží na SELISE Blocks © 2026"}})},ge["core/i18n/sl.js"]=function(be,$,F){Object.assign($,{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 predstavnostno knjižnico","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":"Predstavnostna knjižnica","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","code.format":"Oblikuj izvorno kodo (samo zamiki)","code.wrap":"Prelom vrstic","code.find":"Najdi","code.replace":"Zamenjaj","code.replaceAll":"Zamenjaj vse","code.prevMatch":"Prejšnje ujemanje","code.nextMatch":"Naslednje ujemanje","code.goToLine":"Pojdi na vrstico","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.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.download":"Prenesi {fmt}","story.format":"Oblika slike — PNG je brez izgub, JPG in WebP sta manjši datoteki","story.meta":"{w}×{h} · zaslon {i} od {n}","footer.poweredBy":"Poganja SELISE Blocks © 2026"}})},ge["core/i18n/sv.js"]=function(be,$,F){Object.assign($,{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 mediebiblioteket","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":"Mediebibliotek","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","code.format":"Formatera källan (endast indrag)","code.wrap":"Radbrytning","code.find":"Sök","code.replace":"Ersätt","code.replaceAll":"Ersätt alla","code.prevMatch":"Föregående träff","code.nextMatch":"Nästa träff","code.goToLine":"Gå till rad","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.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.download":"Ladda ner {fmt}","story.format":"Bildformat — PNG är förlustfritt, JPG och WebP är mindre filer","story.meta":"{w}×{h} · skärm {i} av {n}","footer.poweredBy":"Drivs av SELISE Blocks © 2026"}})},ge["core/i18n/tables.js"]=function(be,$,F){const{EN:G}=F("core/i18n/en.js"),{AR:X}=F("core/i18n/ar.js"),{BG:pe}=F("core/i18n/bg.js"),{BN:W}=F("core/i18n/bn.js"),{CA:y}=F("core/i18n/ca.js"),{CS:K}=F("core/i18n/cs.js"),{DA:S}=F("core/i18n/da.js"),{DE:D}=F("core/i18n/de.js"),{DE_CH:Q}=F("core/i18n/de-CH.js"),{DZ:m}=F("core/i18n/dz.js"),{EL:g}=F("core/i18n/el.js"),{ES:p}=F("core/i18n/es.js"),{ET:h}=F("core/i18n/et.js"),{FI:u}=F("core/i18n/fi.js"),{FR:B}=F("core/i18n/fr.js"),{HR:f}=F("core/i18n/hr.js"),{HU:z}=F("core/i18n/hu.js"),{IT:N}=F("core/i18n/it.js"),{LT:E}=F("core/i18n/lt.js"),{LV:A}=F("core/i18n/lv.js"),{NB:H}=F("core/i18n/nb.js"),{NL:L}=F("core/i18n/nl.js"),{PL:s}=F("core/i18n/pl.js"),{PT:t}=F("core/i18n/pt.js"),{RO:v}=F("core/i18n/ro.js"),{RU:x}=F("core/i18n/ru.js"),{SK:C}=F("core/i18n/sk.js"),{SL:I}=F("core/i18n/sl.js"),{SV:V}=F("core/i18n/sv.js"),{TR:ee}=F("core/i18n/tr.js"),{UK:te}=F("core/i18n/uk.js");Object.assign($,{LOCALE_TABLES:{en:G,ar:X,bg:pe,bn:W,ca:y,cs:K,da:S,de:D,"de-CH":Q,dz:m,el:g,es:p,et:h,fi:u,fr:B,hr:f,hu:z,it:N,lt:E,lv:A,nb:H,nl:L,pl:s,pt:t,ro:v,ru:x,sk:C,sl:I,sv:V,tr:ee,uk:te}})},ge["core/i18n/tr.js"]=function(be,$,F){Object.assign($,{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":"Medya kitaplığını 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":"Medya kitaplığı","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","code.format":"Kaynağı biçimlendir (yalnızca girinti)","code.wrap":"Sözcük kaydırma","code.find":"Bul","code.replace":"Değiştir","code.replaceAll":"Tümünü değiştir","code.prevMatch":"Önceki eşleşme","code.nextMatch":"Sonraki eşleşme","code.goToLine":"Satıra git","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.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.download":"{fmt} indir","story.format":"Görsel biçimi — PNG kayıpsızdır, JPG ve WebP daha küçük dosyalardır","story.meta":"{w}×{h} · ekran {i}/{n}","footer.poweredBy":"SELISE Blocks tarafından desteklenir © 2026"}})},ge["core/i18n/uk.js"]=function(be,$,F){Object.assign($,{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} рядків","code.format":"Форматувати код (лише відступи)","code.wrap":"Перенесення рядків","code.find":"Знайти","code.replace":"Замінити","code.replaceAll":"Замінити все","code.prevMatch":"Попередній збіг","code.nextMatch":"Наступний збіг","code.goToLine":"Перейти до рядка","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.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.download":"Завантажити {fmt}","story.format":"Формат зображення — PNG без втрат, JPG і WebP — менші файли","story.meta":"{w}×{h} · екран {i} з {n}","footer.poweredBy":"Працює на SELISE Blocks © 2026"}})},ge["core/icons.js"]=function(be,$,F){const G={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]],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"],search:[["circle",11,11,6.5],"M15.8 15.8L21 21"],wrap:["M4 6h16","M4 12h11.5a3.25 3.25 0 0 1 0 6.5H13","M15.5 16l-2.5 2.5 2.5 2.5","M4 18h5"],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"]},X={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"},pe={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 W(m){const g=String(m||"").replace("#",""),p=g.length===3?g.split("").map(z=>z+z).join(""):g.padEnd(6,"0"),h=parseInt(p.slice(0,2),16)||0,u=parseInt(p.slice(2,4),16)||0,B=parseInt(p.slice(4,6),16)||0;return(.299*h+.587*u+.114*B)/255>.6?"#14171a":"#ffffff"}const y="http://www.w3.org/2000/svg";function K(m,g){const p=G[m]||G.globe,h=document.createElementNS(y,"svg");return h.setAttribute("width",String(g||18)),h.setAttribute("height",String(g||18)),h.setAttribute("viewBox","0 0 24 24"),h.setAttribute("fill","none"),h.setAttribute("stroke","currentColor"),h.setAttribute("stroke-width","1.5"),h.setAttribute("stroke-linecap","round"),h.setAttribute("stroke-linejoin","round"),h.style.display="block",h.style.flex="none",p.forEach(u=>h.appendChild(D(u))),h}function S(m,g){const p=X[m];if(!p)return K(m,g);const h=document.createElementNS(y,"svg");h.setAttribute("width",String(g||18)),h.setAttribute("height",String(g||18)),h.setAttribute("viewBox","0 0 24 24"),h.setAttribute("fill","currentColor"),h.style.display="block",h.style.flex="none";const u=document.createElementNS(y,"path");return u.setAttribute("d",p),h.appendChild(u),h}function D(m){if(typeof m=="string"){const z=document.createElementNS(y,"path");return z.setAttribute("d",m),z}const[g,...p]=m;if(g==="rect"){const[z,N,E,A]=p,H=document.createElementNS(y,"rect");return H.setAttribute("x",String(z)),H.setAttribute("y",String(N)),H.setAttribute("width",String(E)),H.setAttribute("height",String(A)),H}const[h,u,B]=p,f=document.createElementNS(y,"circle");return f.setAttribute("cx",String(h)),f.setAttribute("cy",String(u)),f.setAttribute("r",String(B)),f}function Q(m){const g=String(m||"").toLowerCase();return g.includes("insta")?"instagram":g.includes("linked")?"linkedin":g.includes("face")?"facebook":g.includes("you")||g.includes("tube")?"youtube":g==="x"||g.includes("twitter")?"x":g.includes("tiktok")||g.includes("tik tok")?"tiktok":g.includes("pinterest")?"pinterest":g.includes("snap")?"snapchat":g.includes("whatsapp")?"whatsapp":g.includes("thread")?"threads":g.includes("discord")?"discord":g.includes("telegram")?"telegram":g.includes("reddit")?"reddit":g.includes("spotify")?"spotify":g.includes("behance")?"behance":g.includes("dribbble")||g.includes("dribble")?"dribbble":g.includes("mail")||g.includes("email")?"mail":"globe"}Object.assign($,{SOCIAL_BRAND:pe,contrastInk:W,icon:K,brandIcon:S,socialKey:Q})},ge["core/ids.js"]=function(be,$,F){Object.assign($,{uid:()=>Math.random().toString(36).slice(2,9)})},ge["core/import-html.js"]=function(be,$,F){const{mkRow:G,blk:X}=F("core/blocks.js"),{cleanImportHtml:pe}=F("core/sanitize.js"),{inlineStylesheets:W}=F("core/css-cascade.js");function y(n){const i=parseFloat(n);return Number.isFinite(i)?i:0}function K(n){const i=String(n||"").trim();return!i||i.endsWith("%")||i.endsWith("em")?0:i.endsWith("pt")?Math.round(y(i)*4/3):y(i)}function S(n,i){return n.children.length===1&&n.firstElementChild.tagName===i?n.firstElementChild:null}function D(n){return String(n||"").replace(/["']/g,"").replace(/\s*,\s*/g,",").replace(/\s+/g," ").trim().toLowerCase()}function Q(n,i){const j=D(i),P=U=>{const O=D(U);return!!O&&O!==j};return n.style&&P(n.style.fontFamily)?!0:!!n.querySelectorAll&&Array.from(n.querySelectorAll('[style*="font-family"]')).some(U=>U.style&&P(U.style.fontFamily))}const m=D("'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif");function g(n){let i=n;for(;i&&i.nodeType===1;){const j=i.style&&i.style.textAlign||(i.tagName==="TABLE"?"":i.getAttribute("align"));if(j)return j;i=i.parentElement}return"left"}function p(n,i){let j=n;for(;j&&j.nodeType===1;){const P=j.style&&j.style[i];if(P)return P;j=j.parentElement}return""}function h(n){let i=n.parentElement,j=1;for(;i;){if(i.tagName==="TABLE"||i.tagName==="TD"){const P=i.getAttribute("width")||i.style&&i.style.width||"";if(P&&String(P).endsWith("%")){const U=y(P);i.tagName==="TD"&&U>0&&U<100&&(j*=U/100)}else if(P){const U=y(P);if(U>=100)return Math.round(U*j)}}i=i.parentElement}return 0}function u(n){const i=n&&n.getAttribute?y(n.getAttribute("cellpadding")):0;return i?{t:i,b:i,l:i,r:i,py:i,px:i}:null}function B(n){const i=n&&n.getAttribute&&n.getAttribute("class")||"";return i?/\b(?:mc-only-m|mobile_hide|mobile-hide)\b/.test(i)?"mobile":/\b(?:mc-only-d|desktop_hide|desktop-hide)\b/.test(i)?"desktop":"":""}function f(n){if(B(n))return!1;const i=n.style;if(!i)return!1;if(i.display==="none"||i.visibility==="hidden"||i.opacity==="0")return!0;const j=i.maxHeight==="0"||i.maxHeight==="0px",P=i.overflow==="hidden"||i.fontSize==="0"||i.fontSize==="0px";return j&&P}function z(n){if(!n)return"";const i=n.style;if(i){const j=((i.backgroundImage||"")+" "+(i.background||"")).match(/url\(["']?([^"')]+)["']?\)/);if(j)return j[1]}return n.getAttribute&&n.getAttribute("background")||""}function N(n){const i=n.style;if(!i)return 0;const j=((i.backgroundImage||"")+" "+(i.background||"")).match(/linear-gradient\(rgba\(20,\s*22,\s*24,\s*(0?\.\d+|1|0)\s*\)/);return j?Math.round(parseFloat(j[1])*100):0}function E(n,i){const j=z(i);if(!j)return n;const P=i.style||{},U=N(i);return n.forEach(O=>{O.props.bgImage||(O.props.bgImage=j,U&&(O.props.overlay=U),P.backgroundSize&&(O.props.bgSize=P.backgroundSize),P.backgroundPosition&&(O.props.bgPos=P.backgroundPosition),P.backgroundRepeat&&(O.props.bgRepeat=P.backgroundRepeat))}),n}function A(n,i){if(n.length<2||!z(i))return n;const j=n[0].props.bg||"";if(!n.every(O=>O.cols.length===1&&!O.props.bgImage&&!O.props.border&&!O.props.radius&&!O.props.shadow&&(O.props.bg||"")===j))return n;const U=G([100]);return U.props.py=0,U.props.px=0,U.props.gap=0,j&&(U.props.bg=j),U.cols[0].blocks=n.reduce((O,Z)=>{const le=Z.props.py||Z.props.px||Z.props.pt!==void 0;return Z.cols[0].blocks.forEach(J=>{le&&J.type!=="button"&&"py"in J.props&&(J.props.py=Z.props.py,"px"in J.props&&(J.props.px=Z.props.px)),O.push(J)}),O},[]),U.cols[0].blocks.length?[U]:n}function H(n){if(!n)return null;const i=y(n.paddingTop),j=y(n.paddingBottom),P=y(n.paddingLeft),U=y(n.paddingRight);return!i&&!j&&!P&&!U?null:{t:i,b:j,l:P,r:U,py:Math.round((i+j)/2),px:Math.round((P+U)/2)}}function L(n,i){n.props.py=i.py,n.props.px=i.px,(i.t!==i.b||i.l!==i.r)&&(n.props.pt=i.t,n.props.pb=i.b,n.props.pl=i.l,n.props.pr=i.r,n.props.padSplit=!0)}function s(n,i){if(!n)return null;const j=i||16;let P;return n.endsWith("%")?P=y(n)/100:n.endsWith("em")?P=y(n):n.endsWith("pt")?P=t(y(n)*4/3,j):n.endsWith("px")?P=t(y(n),j):P=parseFloat(n),Number.isFinite(P)&&P>0&&P<=4?P:null}function t(n,i){if(!i||!n)return n/(i||16);const j=n/i;for(const P of[.1,.05,.01]){const U=Math.round(j/P)*P;if(Math.abs(U*i-n)<.5)return Math.round(U*100)/100}return j}function v(n){const i=document.createElement("div");return i.textContent=n,i.innerHTML}function x(n){let i=null,j="";if(n.tagName==="IMG")i=n;else if(n.tagName==="A")i=S(n,"IMG"),i&&(j=n.getAttribute("href")||"");else if((n.tagName==="DIV"||n.tagName==="TD")&&(i=S(n,"IMG"),!i)){const oe=S(n,"A");oe&&(i=S(oe,"IMG"),i&&(j=oe.getAttribute("href")||""))}if(!i)return null;const P=oe=>String(oe||"").endsWith("%"),U=i.parentElement&&i.parentElement.tagName==="A"?i.parentElement:null,Z=[i.style.width,i.getAttribute("width"),i.style.maxWidth,U&&U.style?U.style.width:"",U&&U.style?U.style.maxWidth:"",n!==i&&n.style?n.style.width:"",n!==i&&n.style?n.style.maxWidth:""].find(oe=>oe&&!P(oe)&&y(oe)),le=[U&&U.style?U.style.width:"",i.style.width].find(oe=>P(oe)&&y(oe));let J=100;if(Z){const oe=h(i)||600;J=Math.max(2,Math.min(100,Math.round(y(Z)/oe*100)))}else le&&(J=y(le));const se={src:i.getAttribute("src")||"",alt:i.getAttribute("alt")||"",href:j,width:J,align:g(n),radius:y(i.style.borderRadius)||0};if(n!==i&&n.style){const oe=H(n.style);oe&&(se.py=oe.py,se.px=oe.px)}return X("image",se)}function C(n){let i=null,j="",P=null;if(n.tagName==="A")i=n;else if(n.tagName==="DIV"||n.tagName==="TD"){if(i=S(n,"A"),!i){P=S(n,"TABLE");const Me=P?P.querySelectorAll(":scope > tbody > tr > td, :scope > tr > td"):[];Me.length===1&&(i=S(Me[0],"A")),i||(P=null)}i&&(j=n.style.textAlign||n.getAttribute("align")||"")}if(!i||i.querySelector("img,table,div"))return null;const U=Me=>!!(Me.style&&(Me.style.backgroundColor||Me.style.background))||!!(Me.getAttribute&&Me.getAttribute("bgcolor")),O=i.closest?i.closest("td"):null,Z=U(i)?i:Array.from(i.querySelectorAll("span")).find(U)||(O&&U(O)?O:null);if(!Z)return null;const le=Z.style;let J=H(i.style)||H(le)||(O?H(O.style):null);if(!J){const Me=Array.from(Z.querySelectorAll("span")).find(Ke=>H(Ke.style));Me&&(J=H(Me.style))}const se=le.display||i.style.display||"";if(!J&&se.indexOf("inline-block")<0&&se!=="block")return null;const oe={label:(i.textContent||"").trim()||"Button",href:i.getAttribute("href")||"#",bg:d(le.backgroundColor||le.background||Z.getAttribute&&Z.getAttribute("bgcolor")||""),color:d(i.style.color||le.color||"#ffffff"),radius:Le(le),py:J&&J.py||13,px:J&&J.px||26,align:j||g(i.parentElement||i),full:P?/100%/.test(P.style&&P.style.width||P.getAttribute("width")||""):i.style.display==="block"},Ce=K(le.fontSize)||K(i.style.fontSize);Ce&&(oe.size=Ce);const ne=i.style.fontFamily||le.fontFamily||p(i,"fontFamily");ne&&(oe.fontFamily=ne);const ke=De(le).width?le:O&&O.style&&De(O.style).width?O.style:le,ce=De(ke).width;return ce&&(oe.borderW=ce,oe.borderStyle=He(ke),oe.borderColor=ve(ke)||oe.color),X("button",oe)}const I=/facebook|twitter|x\.com|instagram|linkedin|youtube|tiktok|pinterest|threads|whatsapp|telegram|github|discord|snapchat|medium|dribbble|behance|mastodon|bluesky|bsky/i;function V(n){if(!/^(DIV|TD|TABLE)$/.test(n.tagName))return null;const i=Array.from(n.querySelectorAll("a"));if(i.length<2)return null;const j=Te=>String(Te||"").replace(/\s+/g,""),P=j(n.textContent);if(P&&P!==j(i.map(Te=>Te.textContent).join("")))return null;const U=i.map(Te=>Te.querySelector("img,svg"));if(U.some(Te=>!Te))return null;const O=U.map(Te=>y(Te.getAttribute("width")||Te.style&&Te.style.width)||32);if(O.some(Te=>Te>64))return null;const Z=i.map((Te,Fe)=>{const Je=(U[Fe].getAttribute("alt")||Te.getAttribute("title")||Te.getAttribute("aria-label")||"").trim();return Je||(((Te.getAttribute("href")||"").match(/\/\/(?:www\.)?([^/?#]+)/)||[])[1]||"").split(".")[0]||"link"});if(i.filter((Te,Fe)=>I.test((Te.getAttribute("href")||"")+" "+Z[Fe])).length<Math.ceil(i.length/2))return null;const J=i[0],se={items:i.map((Te,Fe)=>Z[Fe]+"|"+(Te.getAttribute("href")||"#")).join(`
|
|
92
|
+
`),align:g(J),size:Math.round(O.reduce((Te,Fe)=>Te+Fe,0)/O.length)},oe=Te=>{const Fe=Te.style&&(Te.style.backgroundColor||Te.style.background)||"";return Fe==="transparent"||/^rgba\(0,\s*0,\s*0,\s*0\)/.test(Fe)?"":Fe},Ce=oe(J),ne=J.style?y(J.style.borderWidth)||y(J.style.borderTopWidth):0;se.shape=Ce?String(J.style.borderRadius||"").indexOf("50%")>-1?"circle":"square":ne?"outline":"bare",P&&(se.showLabel=!0);const ke=J.querySelector("span");ke&&ke.style.fontFamily&&(se.fontFamily=ke.style.fontFamily);const ce=Te=>d(Ce?oe(Te):Te.style&&Te.style.color||""),Me=i.map(ce).filter(Boolean);Me.length&&Me.some(Te=>Te!==Me[0])?se.palette="brand":Me[0]?se.color=Me[0]:se.palette="brand";const Ke=J.closest?J.closest("td"):null,Ie=Ke&&Ke!==n&&n.contains(Ke)&&Ke.querySelectorAll("a").length===1?y(Ke.style.paddingRight)+y(Ke.style.paddingLeft):0,Ve=J.style?y(J.style.marginRight)+y(J.style.marginLeft):0,Ue=Ie||Ve;return Ue&&(se.gap=Ue),X("social",se)}function ee(n){if(n.tagName!=="DIV"&&n.tagName!=="TD"||n.querySelector("img,svg,table,div,p,input,h1,h2,h3,h4,h5,h6"))return null;const i=Array.from(n.children).filter(J=>J.tagName==="A");if(i.length<2||i.map(J=>J.textContent||"").join("").replace(/\s+/g,"")!==(n.textContent||"").replace(/\s+/g,""))return null;const P={items:i.map(J=>(J.textContent||"").trim()+"|"+(J.getAttribute("href")||"#")).join(`
|
|
93
|
+
`),align:g(n)},U=K(p(i[0],"fontSize"));U&&(P.size=U);const O=p(i[0],"color");O&&(P.color=d(O));const Z=p(i[0],"fontFamily");Z&&(P.fontFamily=Z);const le=y(i[0].style.marginLeft)+y(i[0].style.marginRight);return le&&(P.gap=le),X("menu",P)}function te(n){if(n.tagName==="HR"){const Z=n.style.width||"";return X("divider",{thickness:y(n.style.height)||y(n.style.borderTopWidth)||1,lineStyle:He(n.style),color:d(n.style.backgroundColor||n.style.borderTopColor||n.style.borderColor)||"#d9dade",width:Z.endsWith("%")?y(Z):100})}if(n.tagName!=="DIV"&&n.tagName!=="TD")return null;const i=n.children.length===1?n.firstElementChild:n.children.length?null:n;if(!i||i.tagName!=="DIV"||i.children.length||String(i.textContent||"").trim())return null;const j=y(i.style.height)||y(i.style.borderTopWidth),P=i.style.backgroundColor||i.style.background||i.style.borderTopColor;if(!(j>0&&j<=10&&P))return null;const U=i.style.width||"",O={thickness:j,lineStyle:He(i.style),color:d(P),width:U.endsWith("%")?y(U):100};return i!==n&&n.style&&n.style.paddingTop!==""&&(O.py=y(n.style.paddingTop)),X("divider",O)}function _(n){if(n.tagName!=="DIV"||n.children.length||String(n.textContent||"").trim())return null;const i=y(n.style.height);return!i||n.style.backgroundColor||n.style.background?null:X("spacer",{height:i})}function ie(n){if(!/^H[1-6]$/.test(n.tagName))return null;const i=n.style,j={text:(n.textContent||"").trim(),level:n.tagName.toLowerCase()},P=K(i.fontSize);P&&(j.size=P);const U=i.textAlign||p(n.parentElement,"textAlign");U&&(j.align=U);const O=i.color||p(n.parentElement,"color");O&&(j.color=d(O)),i.fontWeight&&(j.weight=i.fontWeight);const Z=i.fontFamily||p(n.parentElement,"fontFamily");D(Z)===m?j.font="condensed":Z&&(j.fontFamily=Z);const le=s(i.lineHeight||p(n.parentElement,"lineHeight"),P);le&&(j.lh=le);const J=H(i);return J?(j.py=J.py,j.px=J.px):i.paddingTop!==""&&(j.py=0,j.px=0),X("heading",j)}function de(n){if(n.tagName!=="UL"&&n.tagName!=="OL")return null;const i=Array.from(n.children).filter(se=>se.tagName==="LI");if(!i.length)return null;const j={ordered:n.tagName==="OL"},P=n.style,U=K(P.fontSize)||K(p(n.parentElement,"fontSize"));U&&(j.size=U);const O=P.color||p(n.parentElement,"color");O&&(j.color=d(O));const Z=s(P.lineHeight||p(n.parentElement,"lineHeight"),U);Z&&(j.lh=Z);const le=P.fontFamily||p(n.parentElement,"fontFamily");le&&!Q(n,le)&&(j.fontFamily=le),j.items=i.map(se=>pe(se.innerHTML,j.fontFamily?["font-family"]:null).replace(/\n/g," ")).join(`
|
|
94
|
+
`),P.paddingTop!==""&&(j.py=y(P.paddingTop));const J=n.querySelector(":scope > li");return J&&J.style.marginBottom!==""&&(j.gap=y(J.style.marginBottom)),X("list",j)}function we(n){if(n.tagName!=="TABLE")return null;const i=Array.from(n.querySelectorAll(":scope > tbody > tr, :scope > tr"));if(!i.length||n.querySelector("img, table"))return null;const j=i.map(ce=>ce.children.length);if(Math.min(...j)<2)return null;const P=!!n.querySelector("th"),U=i.map(ce=>Array.from(ce.children).map(Me=>(Me.textContent||"").trim().replace(/\|/g,"/")).join("|")).join(`
|
|
95
|
+
`),O=i[0]&&i[0].children[0],Z=O&&O.style,le=Z?De(Z).width:0,se={data:U,header:P,borders:!!le,borderWidth:le||1,borderStyle:Z?He(Z):"solid",lineColor:Z&&ve(Z)||"#e2e8f0"},oe=n.style,Ce=K(oe.fontSize);Ce&&(se.size=Ce),oe.fontFamily&&(se.fontFamily=oe.fontFamily);const ne=oe.width||n.getAttribute("width")||"";if(String(ne).endsWith("%")&&y(ne)&&(se.width=y(ne)),Z&&(Z.paddingTop!==""&&(se.pad=y(Z.paddingTop)),Z.textAlign&&(se.align=Z.textAlign)),P){const ce=o(i[0])||o(O);ce&&ce!=="transparent"&&(se.headBg=ce)}const ke=P?2:0;return i.length>ke&&(se.striped=i.some((ce,Me)=>!(P&&Me===0)&&Me%2===0&&/rgba\(29,\s*31,\s*32/.test(ce.style&&(ce.style.backgroundColor||ce.style.background)||""))),X("table",se)}function xe(n){const i=U=>!!U&&String(U.tagName).toLowerCase()==="svg",j={};let P=n;if(n.tagName==="DIV"&&n.children.length===1&&(n.style.textAlign&&(j.align=n.style.textAlign),n.style.paddingTop!==""&&(j.py=y(n.style.paddingTop)),P=n.firstElementChild,P.tagName==="SPAN"&&P.children.length===1&&i(P.firstElementChild))){const U=P.style.width||"";U.endsWith("%")&&y(U)&&(j.width=y(U)),P=P.firstElementChild}return!i(P)||(n.textContent||"").trim()!==(P.textContent||"").trim()?null:(j.code=P.outerHTML,X("svg",j))}const me={countdown:1,video:1,box:1,codeblock:1};function ae(n){if(!n.getAttribute)return null;const i=n.getAttribute("data-mc")||"";if(i==="css"&&n.tagName==="STYLE"){const U={code:n.textContent||""},O=n.getAttribute("data-mcn");return O&&(U.note=O),X("css",U)}if(!me[i])return null;let j={};try{j=JSON.parse(n.getAttribute("data-mcp")||"{}")||{}}catch{j={}}delete j.html,delete j.code;const P=n.firstElementChild;return i==="box"&&(j.html=pe(P?P.innerHTML:"",null,["display","margin","margin-top","margin-bottom"])),i==="codeblock"&&(j.code=(P?P.textContent:n.textContent)||""),X(i,j)}const ze=[x,C,V,ee,te,_,xe,ie,de,we];function b(n){for(const i of ze){const j=i(n);if(!j)continue;let P=n;for(let U=0;P&&U<4;U+=1){const O=B(P);if(O){j.props.vis=O;break}P=P.parentElement}return j}return null}function Re(n){return/^(TABLE|FORM|IFRAME|SCRIPT|STYLE|VIDEO|OBJECT|EMBED)$/.test(n.tagName)||!!n.querySelector("table,form,iframe,script,video,object,embed")}function Ae(n){if(n.tagName!=="DIV"||n.children.length!==1)return n;const i=B(n)?/^(?:margin|display|max-height|overflow|mso-)/:/^margin/;if(Array.from(n.style).filter(U=>!i.test(U)).length)return n;const P=n.firstElementChild;return(n.textContent||"")!==(P.textContent||"")?n:Ae(P)}const Pe=/^(SPAN|A|B|STRONG|I|EM|U|S|STRIKE|CODE|SUP|SUB|FONT)$/;function Be(n){const i=String(n||"").split(`
|
|
96
|
+
`).map(P=>P.trim()).filter(Boolean);if(!i.length)return null;const j=[];for(const P of i){let U=P.match(/^\{\{#(if|each)\s+([^{}]+?)\s*\}\}$/);if(U){j.push(X(U[1]==="if"?"condition":"loop",{expr:U[2],end:!1}));continue}if(U=P.match(/^\{\{\/(if|each)\}\}$/),U){j.push(X(U[1]==="if"?"condition":"loop",{expr:"",end:!0}));continue}return null}return j}function We(n){if(!n||n.tagName!=="DIV"||!n.style)return null;const i={},j=o(n);j&&j!=="transparent"&&!/^rgba\([^)]*,\s*0\s*\)$/.test(j)&&(i.bBg=j);const P=De(n.style);if(P.width&&(i.bBorder=P.width,i.bStyle=He(n.style),i.bLine=ve(n.style)||"#e2e2e5",i.bTop=P.sides.top>0,i.bRight=P.sides.right>0,i.bBottom=P.sides.bottom>0,i.bLeft=P.sides.left>0),!i.bBg&&!i.bBorder)return null;const U=Le(n.style);return U&&(i.bRadius=U),i}function he(n){let i=n;if(i.style&&H(i.style))return!0;for(;i.children&&i.children.length===1&&!Pe.test(i.firstElementChild.tagName)&&(i.textContent||"")===(i.firstElementChild.textContent||"");)if(i=i.firstElementChild,i.style&&H(i.style))return!0;return!1}function e(n){const i=[];let j=[],P=null,U=[],O;const Z=oe=>{let Ce=oe;for(let ne=0;Ce&&ne<4;ne+=1){const ke=B(Ce);if(ke)return ke;Ce=Ce.parentElement}return""};let le=null,J=null;const se=()=>{const oe=j.join(""),Ce=pe(oe);if(Ce&&(/<(img|br|hr)\b/i.test(Ce)||Ce.replace(/<[^>]*>/g,"").replace(/[ \t\r\n\u2009\u200a\u200b]/g,"")!=="")){const ke={html:Ce};if(!P&&le){const ce=K(p(le,"fontSize"));ce&&(ke.size=ce);const Me=p(le,"color");Me&&(ke.color=d(Me)),ke.align=g(le);const Ke=p(le,"fontWeight");Ke&&(ke.weight=Ke);const Ie=s(p(le,"lineHeight"),ce);Ie&&(ke.lh=Ie);const Ve=p(le,"fontFamily");Ve&&(ke.fontFamily=Ve)}if(P){let ce=Pe.test(P.tagName)&&P.parentElement||P,Me=H(ce.style),Ke=!!ce.style&&ce.style.paddingTop!=="";for(;ce.children.length===1&&!Pe.test(ce.firstElementChild.tagName)&&(ce.textContent||"")===(ce.firstElementChild.textContent||"");)ce=ce.firstElementChild,Me||(Me=H(ce.style)),Ke=Ke||ce.style.paddingTop!=="";Me?(ke.py=Me.py,ke.px=Me.px):Ke&&(ke.py=0,ke.px=0);const Ie=K(p(ce,"fontSize"));Ie&&(ke.size=Ie);const Ve=p(ce,"color");Ve&&(ke.color=d(Ve)),ke.align=g(ce);const Ue=p(ce,"fontWeight");Ue&&(ke.weight=Ue);const Te=s(p(ce,"lineHeight"),Ie);Te&&(ke.lh=Te);const Fe=p(ce,"fontFamily");Fe&&!U.some(Je=>Q(Je,Fe))&&(ke.fontFamily=Fe,ke.html=pe(oe,["font-family"]))}O&&(ke.vis=O),J&&Object.assign(ke,J),i.push(X("text",ke))}j=[],P=null,le=null,U=[],O=void 0,J=null};return n.forEach(oe=>{if(oe.nodeType===3){const Ie=Be(oe.textContent);if(Ie){se(),Ie.forEach(Ve=>i.push(Ve));return}if(oe.textContent&&oe.textContent.trim()){!P&&!le&&(le=oe.parentElement);const Ve=Z(oe.parentElement);O=O===void 0||O===Ve?Ve:"",j.push(v(oe.textContent))}return}if(oe.nodeType!==1||f(oe))return;const Ce=ae(oe);if(Ce){se();const Ie=Z(oe);Ie&&(Ce.props.vis=Ie),i.push(Ce);return}const ne=Ae(oe),ke=b(ne);if(ke){se(),i.push(ke);return}if(ne.tagName==="TABLE"&&c(ne)){se();const Ie=ne.querySelector(":scope > tbody > tr, :scope > tr"),Ve=Array.from(Ie.children).find(Fe=>Fe.tagName==="TD"||Fe.tagName==="TH"),Ue=H(Ve.style)||u(ne),Te=e(Array.from(Ve.childNodes));Ue&&Te.forEach(Fe=>{Fe.type!=="button"&&("py"in Fe.props&&(Fe.props.py=Ue.py),"px"in Fe.props&&(Fe.props.px=Ue.px))}),i.push(...Te);return}if(Re(ne)){se(),i.push(X("html",{code:oe.outerHTML}));return}const ce=We(ne),Me=oe.nodeType===1&&!Pe.test(ne.tagName)&&(he(ne)||ne!==oe||!!ce);Me&&j.length&&se(),ce&&!P&&(J=ce),P||(P=ne),U.push(ne);const Ke=Z(oe);O=O===void 0||O===Ke?Ke:"",j.push(oe.outerHTML),Me&&se()}),se(),i}function l(n){const i=n.reduce((P,U)=>P+U,0)||1,j=n.map(P=>Math.round(P/i*100));return j[j.length-1]+=100-j.reduce((P,U)=>P+U,0),j}function k(n,i){const j=n.map(O=>{const Z=O.style.width||"",le=O.style.maxWidth||"";if(le.endsWith("%")&&(!Z||y(Z)>=100))return{pct:y(le)};if(Z.endsWith("%"))return{pct:y(Z)};const J=O.getAttribute("width")||"";if(J.endsWith("%"))return{pct:y(J)};const se=y(Z)||y(J)||(le.endsWith("px")?y(le):0);return se?{px:se}:null});if(j.every(O=>O&&O.pct!=null)){const O=j.reduce((Z,le)=>Z+le.pct,0);if(O>=90&&O<=110)return l(j.map(Z=>Z.pct))}if(i&&j.every(O=>O&&O.px))return l(j.map(O=>Math.round(O.px/i*100)));const P=Math.floor(100/n.length),U=n.map(()=>P);return U[U.length-1]+=100-P*n.length,U}const T=new WeakMap;function w(n,i){let j=0;for(;j<n.length;){const P=n.indexOf("@",j);if(n.slice(j,P<0?n.length:P).replace(/([^{}]+)\{([^{}]*)\}/g,(se,oe,Ce)=>{const ne=Ce.match(/(?:^|;)\s*width\s*:\s*([\d.]+)%/i);return ne&&oe.split(",").forEach(ke=>{const ce=ke.trim().match(/^\.([-\w]+)$/);ce&&!i[ce[1]]&&(i[ce[1]]=parseFloat(ne[1]))}),se}),P<0)break;const O=n.indexOf("{",P);if(O<0)break;const Z=n.slice(P,O);let le=0,J=O;for(;J<n.length;J+=1)if(n[J]==="{")le+=1;else if(n[J]==="}"&&(le-=1,!le))break;/max-width/i.test(Z)||w(n.slice(O+1,J),i),j=J+1}}function R(n){if(!n||!n.querySelectorAll)return{};const i=T.get(n);if(i)return i;const j={};return Array.from(n.querySelectorAll("style")).forEach(P=>{w(String(P.textContent||"").replace(/\/\*[\s\S]*?\*\//g,""),j)}),T.set(n,j),j}function a(n){const i=Array.from(n).filter(Z=>Z.nodeType===8?!1:Z.nodeType===3?!!String(Z.textContent||"").trim():Z.nodeType===1&&!/^(STYLE|SCRIPT)$/.test(Z.tagName));if(i.length<2||i.length>6||!i.every(Z=>Z.nodeType===1&&Z.tagName==="DIV"))return null;const j=Z=>{const le=Z.style||{};return/inline-block|inline-flex/.test(le.display||"")||/^(left|right)$/.test(le.cssFloat||le.float||"")};if(!i.every(j))return null;const P=Z=>{const le=Z.style||{},J=le.maxWidth||"";if(J.endsWith("%"))return y(J);const se=le.width||"";if(se.endsWith("%")&&y(se)<100)return y(se);const oe=R(Z.ownerDocument),Ce=(Z.getAttribute&&Z.getAttribute("class")||"").split(/\s+/);for(let ne=0;ne<Ce.length;ne+=1){const ke=oe[Ce[ne]];if(ke&&ke<100)return ke}return 0},U=i.map(P);if(!U.every(Z=>Z>0))return null;const O=U.reduce((Z,le)=>Z+le,0);return O<90||O>110?null:(i.shares=U,i)}function r(n){const i=S(n,"TABLE");if(!i||C(n)||V(i))return null;const j=i.querySelectorAll(":scope > tbody > tr, :scope > tr");if(j.length!==1||i.querySelector(":scope > tbody > tr > th, :scope > tr > th"))return null;const P=Array.from(j[0].children).filter(U=>U.tagName==="TD"||U.tagName==="TH");return P.length?P:null}function c(n){const i=n.querySelectorAll(":scope > tbody > tr, :scope > tr");return i.length!==1||i[0].getAttribute("data-mc-logic")?!1:Array.from(i[0].children).filter(P=>P.tagName==="TD"||P.tagName==="TH").length===1}function d(n){const i=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(String(n??"").trim());return i?"#"+[i[1],i[2],i[3]].map(j=>Number(j).toString(16).padStart(2,"0")).join(""):n}function o(n){const i=n.style;if(i&&i.backgroundColor)return d(i.backgroundColor);const j=i&&i.background||"";return j&&j.indexOf("url(")<0&&j.indexOf("gradient(")<0?d(j):d(n.getAttribute&&n.getAttribute("bgcolor")||"")}function M(n){return n.style?H(n.style):null}function Y(n){if(!n||n.nodeType!==1||n.tagName!=="DIV")return!1;const i=n.style||{};return!(/inline-block|inline-flex/.test(i.display||"")||/^(left|right)$/.test(i.cssFloat||i.float||""))||!(i.width||i.maxWidth)?!1:Array.from(n.children).some(P=>P.tagName==="TABLE")}function re(n){return n.reduce((i,j)=>i.concat(j.cols.reduce((P,U)=>P.concat(U.blocks),[])),[])}function ye(n){return Array.from(n.children).some(i=>i.tagName==="TABLE"||i.tagName==="DIV"||i.tagName==="CENTER")}function q(n){const i=n.cols.reduce((j,P)=>j.concat(P.blocks),[]);return i.length>0&&i.every(j=>j.type==="condition"||j.type==="loop")}function ue(n,i){return i&&n.forEach(j=>{!j.props.bg&&!q(j)&&(j.props.bg=i)}),n}function fe(n,i){return i&&n.forEach(j=>{!j.props.py&&!j.props.px&&j.props.pt===void 0&&!q(j)&&L(j,i)}),n}function ve(n){const i=j=>j&&j!=="currentcolor"?d(j):"";return i(n.borderTopColor)||i(n.borderLeftColor)||i(n.borderRightColor)||i(n.borderBottomColor)||""}function He(n){const i=new Set(["solid","dashed","dotted","double"]);return[n.borderTopStyle,n.borderRightStyle,n.borderBottomStyle,n.borderLeftStyle,n.borderStyle].find(P=>i.has(P))||"solid"}function Le(n){const i=String(n.borderRadius||"").split(/\s+/).map(y);return i.length?Math.max(0,...i):0}function De(n){const i={top:y(n.borderTopWidth),right:y(n.borderRightWidth),bottom:y(n.borderBottomWidth),left:y(n.borderLeftWidth)};return{width:Math.max(i.top,i.right,i.bottom,i.left)||y(n.borderWidth),sides:i}}function Oe(n,i,j,P,U){n.props.border=i,n.props.borderStyle=U||"solid",n.props.lineColor=P||"#e2e2e5",n.props.bTop=j.top>0,n.props.bRight=j.right>0,n.props.bBottom=j.bottom>0,n.props.bLeft=j.left>0}function Ye(n,i){if(!n.length||!i||!i.style)return n;const j=i.style,{width:P,sides:U}=De(j);if(P){const O=ve(j);n.forEach((Z,le)=>{Z.props.border||Oe(Z,P,{top:le===0?U.top:0,bottom:le===n.length-1?U.bottom:0,left:U.left,right:U.right},O,He(j))})}if(n.length===1){const O=Le(j);O&&!n[0].props.radius&&(n[0].props.radius=O),j.boxShadow&&j.boxShadow!=="none"&&!n[0].props.shadow&&(n[0].props.shadow=j.boxShadow)}return n}function at(n){const i=y(n.getAttribute("width")||n.style.width||"0")||null;return Array.from(n.querySelectorAll(":scope > tbody > tr, :scope > tr")).map(P=>{const U=P.getAttribute("data-mc-logic");if(U){const Se=U.match(/^#(if|each)\s+(.+)$/),je=G([100]);return je.props.py=4,je.props.px=0,je.props.gap=0,je.cols[0].blocks=[Se?X(Se[1]==="if"?"condition":"loop",{expr:Se[2].trim(),end:!1}):X(/\/if$/.test(U)?"condition":"loop",{expr:"",end:!0})],je}const O=Array.from(P.children).filter(Se=>Se.tagName==="TD"||Se.tagName==="TH");if(!O.length)return null;let Z=O[0],le=0;{const Se=S(Z,"DIV"),je=Se&&Se.style.maxWidth||"",Ee=String(je).endsWith("%")&&y(je)>0&&y(je)<100;Se&&(Ee||y(Se.style.marginTop)||y(Se.style.marginBottom)||y(Se.style.marginLeft)||y(Se.style.marginRight))&&(Ee&&(le=y(je)),Z=Se)}let J=O,se=null,oe=S(Z,"DIV");if(oe&&!(oe.getAttribute&&oe.getAttribute("data-mcr"))&&(oe=null),oe){try{se=JSON.parse(oe.getAttribute("data-mcr"))||null}catch{se=null}const Se=Array.from(oe.children).filter(je=>je.tagName==="DIV");se&&Se.length?J=Se:(se=null,oe=null)}if(!se&&O.length===1){const Se=r(Z);if(Se)J=Se;else{const je=a(Z.childNodes);je&&(J=je)}J===O&&Z!==O[0]&&(J=[Z])}let Ce=0;if(J.length>2){const Se=Ee=>{if((Ee.textContent||"").trim()||Ee.querySelector("img,a,input,p,h1,h2,h3,h4,h5,h6,ul,ol"))return!1;const Ne=y(Ee.getAttribute("width")||Ee.style&&Ee.style.width||"");return!Ne||Ne<=30},je=J.filter(Ee=>!Se(Ee));je.length>=2&&je.length<J.length&&(J.filter(Se).forEach(Ee=>{const Ne=Ee.querySelector("table"),Ze=y(Ne&&(Ne.getAttribute("width")||Ne.style.width)||Ee.getAttribute("width")||"");Ce=Math.max(Ce,Ze||10)}),J=je)}let ne=!1;if(!Ce&&(J.length>1||J[0]!==Z)){const Se=J.map(Ee=>H(Ee.style)),je=Se[0];ne=!!(je&&!je.t&&!je.b&&je.l>0&&je.l===je.r&&je.l<=60&&Se.every(Ee=>Ee&&!Ee.t&&!Ee.b&&Ee.l===je.l&&Ee.r===je.r)),ne&&(Ce=je.l*2)}if(!Ce&&J.length===1&&J[0]===Z&&!C(Z)){const Se=S(Z,"TABLE"),je=Se?Array.from(Se.querySelectorAll(":scope > tbody > tr > td, :scope > tr > td")):[];if(je.length===1){const Ee=H(je[0].style);Ee&&!Ee.t&&!Ee.b&&Ee.l>0&&Ee.l===Ee.r&&Ee.l<=60&&(Ce=Ee.l*2)}}const ke=J.length===1?[100]:k(J,i),ce=G(ke);ce.props.py=0,ce.props.px=0,ce.props.gap=Ce;const Me=J[0].getAttribute&&J[0].getAttribute("valign");if((Me==="middle"||Me==="bottom")&&J.every(Se=>Se.getAttribute("valign")===Me)&&(ce.props.valign=Me),J.length>1){const Se=J[0].parentElement&&J[0].parentElement.getAttribute("class")||"";/\bmc-2up\b/.test(Se)&&(ce.props.mobileCols=2),/\bmc-rev\b/.test(Se)&&(ce.props.mobileOrder="reverse"),/\bmc-keep\b/.test(Se)&&(ce.props.mobileCols="keep")}if(se&&(Object.assign(ce.props,{layout:se.layout==="grid"?"grid":"flex",flexDir:se.flexDir||"row",justify:se.justify||"flex-start",alignItems:se.alignItems||"stretch",wrap:se.wrap!==!1,gridCols:se.gridCols||2,gap:se.gap||0}),Array.isArray(se.spans)&&se.spans.length===ce.cols.length&&se.spans.forEach((Se,je)=>{Number(Se)>0&&(ce.cols[je].span=Number(Se))})),Z.style){const Se={mt:y(Z.style.marginTop),mr:y(Z.style.marginRight),mb:y(Z.style.marginBottom),ml:y(Z.style.marginLeft)};(Se.mt||Se.mr||Se.mb||Se.ml)&&Object.assign(ce.props,Se)}le&&(ce.props.maxW=le);const Ke=o(J[0]),Ie=J.every(Se=>o(Se)===Ke),Ve=J.indexOf(Z)>-1?"":o(Z),Ue=Ie&&Ke||o(P)||Ve||o(n);Ue&&(ce.props.bg=Ue),Ie||J.forEach((Se,je)=>{const Ee=ce.cols[je];if(!Ee)return;const Ne=o(Se);Ne&&(Ee.bg=Ne);const Ze=Le(Se.style);Ze&&(Ee.radius=Ze);const rt=De(Se.style);rt.width&&(Ee.border=rt.width,Ee.borderStyle=He(Se.style),Ee.lineColor=ve(Se.style)||"#e2e2e5");const it=H(Se.style);it&&(Ee.padY=it.py,Ee.padX=it.px)});const Te=De(Z.style),Fe=Te.width?Z.style:n.style,Je=Te.width?Te:De(n.style);Je.width&&Oe(ce,Je.width,Je.sides,ve(Fe),He(Fe));const lt=(Ie?Le(Z.style):0)||Le(n.style);lt&&(ce.props.radius=lt);const dt=(Ie?Z.style.boxShadow:"")||n.style.boxShadow||"";dt&&dt!=="none"&&(ce.props.shadow=dt);const pt=Ie&&z(Z)?Z:z(n)?n:null;pt&&E([ce],pt);const ut=H(n.style),bt=ne&&J.indexOf(Z)>-1,mt=Ie&&!bt?H(Z.style):null;if(ut||mt){const Se={t:0,b:0,l:0,r:0},je=["t","b","l","r"].reduce((Ee,Ne)=>(Ee[Ne]=((ut||Se)[Ne]||0)+((mt||Se)[Ne]||0),Ee),{});je.py=Math.round((je.t+je.b)/2),je.px=Math.round((je.l+je.r)/2),L(ce,je)}return J.forEach((Se,je)=>{let Ee=Se;const Ne=S(Se,"DIV");if(Ne&&(o(Ne)||Le(Ne.style)||De(Ne.style).width)&&!b(Ne)){const Ze=ce.cols[je];if(Ze){const rt=o(Ne);rt&&!Ze.bg&&(Ze.bg=rt);const it=Le(Ne.style);it&&!Ze.radius&&(Ze.radius=it);const ht=De(Ne.style);ht.width&&!Ze.border&&(Ze.border=ht.width,Ze.borderStyle=He(Ne.style),Ze.lineColor=ve(Ne.style)||"#e2e2e5");const ct=H(Ne.style);ct&&Ze.padY===void 0&&(Ze.padY=ct.py,Ze.padX=ct.px)}Ee=Ne}ce.cols[je].blocks=e(Array.from(Ee.childNodes))}),ce}).filter(P=>P&&P.cols.some(U=>U.blocks.length))}function Qe(n){const i=a(n);if(i){const O=G(i.shares?l(i.shares):k(i,0));if(O.props.py=0,O.props.px=0,O.props.gap=0,i.forEach((Z,le)=>{O.cols[le].blocks=re(Qe(Array.from(Z.childNodes)));const J=o(Z);J&&(O.cols[le].bg=J);const se=Le(Z.style);se&&(O.cols[le].radius=se);const oe=M(Z);oe&&(O.cols[le].padY=oe.py,O.cols[le].padX=oe.px)}),O.cols.some(Z=>Z.blocks.length))return[O]}const j=[];let P=[];const U=()=>{const O=e(P);if(O.length){const Z=G([100]);Z.props.py=0,Z.props.px=0,Z.props.gap=0,Z.cols[0].blocks=O,j.push(Z)}P=[]};return n.forEach(O=>{if(O.nodeType===8)return;if(O.nodeType===1&&/^(SCRIPT|STYLE)$/.test(O.tagName)){const J=ae(O);if(J){U();const se=G([100]);se.props.py=0,se.props.px=0,se.props.gap=0,se.cols[0].blocks=[J],j.push(se)}return}if(O.nodeType===1&&f(O))return;if(O.nodeType===1&&Y(O)&&!b(Ae(O))){U();const J=re(Qe(Array.from(O.childNodes)));if(J.length){const se=G([100]);se.props.py=0,se.props.px=0,se.props.gap=0,se.cols[0].blocks=J,j.push(...E(Ye(fe(ue([se],o(O)),M(O)),O),O));return}}const Z=O.nodeType===1&&(O.tagName==="DIV"||O.tagName==="CENTER")?Ae(O):null,le=Z&&(Z.tagName==="DIV"||Z.tagName==="CENTER"?ye(Z):ye(O));if(Z&&le&&!b(Z)){U();const J=A(Qe(Array.from(O.childNodes)),O);j.push(...E(Ye(fe(ue(J,o(O)),M(O)),O),O));return}if(O.nodeType===1&&O.tagName==="TABLE"){if(O.closest("form,svg")){P.push(O);return}const J=V(O);if(J){U();const se=G([100]);se.props.py=0,se.props.px=0,se.props.gap=0;const oe=O.querySelector("a"),Ce=oe&&oe.closest?oe.closest("td"):null,ne=Ce?H(Ce.style):null;ne&&L(se,ne),se.cols[0].blocks=[J],j.push(se);return}if(c(O)){const se=O.querySelector(":scope > tbody > tr, :scope > tr"),oe=Array.from(se.children).find(ce=>ce.tagName==="TD"||ce.tagName==="TH");U();const Ce=y(oe.style.height);if(Ce&&!oe.children.length&&!(oe.textContent||"").replace(/ /g,"").trim()){const ce=G([100]);ce.props.py=0,ce.props.px=0,ce.props.gap=0,ce.cols[0].blocks=[X("spacer",{height:Ce})],j.push(ce);return}const ne=De(oe.style);if(ne.sides.top>0&&ne.sides.top<=10&&!ne.sides.right&&!ne.sides.bottom&&!ne.sides.left&&!o(oe)&&!z(oe)&&!Array.from(oe.children).some(ce=>ce.tagName!=="SPAN"&&ce.tagName!=="BR")&&!(oe.textContent||"").replace(/\s/g,"")){const ce=String(O.getAttribute("width")||O.style.width||""),Me=G([100]);Me.props.py=0,Me.props.px=0,Me.props.gap=0,Me.cols[0].blocks=[X("divider",{thickness:ne.sides.top,lineStyle:He(oe.style),color:ve(oe.style)||"#d9dade",width:ce.endsWith("%")?y(ce):100})],j.push(Me);return}const ke=A(A(Qe(Array.from(oe.childNodes)),oe),O);j.push(...E(E(Ye(Ye(fe(ue(ke,o(oe)||o(se)||o(O)),M(oe)||M(O)||u(O)),oe),O),oe),O));return}U(),j.push(...at(O));return}P.push(O)}),U(),j}function et(n){const i=n.getAttribute("width")||n.style&&n.style.width||"";if(i&&!String(i).endsWith("%"))return y(i);const j=n.style&&n.style.maxWidth;return j&&!String(j).endsWith("%")?y(j):0}function nt(n){if(!n)return!1;const{sides:i}=De(n),j=["top","right","bottom","left"].filter(O=>i[O]>0).length,P=String(n.borderRadius||"").split(/\s+/).map(y),U=P.length>1&&P.some(O=>O>0)&&P.some(O=>!O);return j>0&&j<4||U}function st(n){const i={},j=n.body;let P=d(j.style&&(j.style.backgroundColor||j.style.background)||j.getAttribute("bgcolor")||"");if(!P){const ne=j.querySelector("table");ne&&(P=o(ne)||(ne.querySelector("td")?o(ne.querySelector("td")):""))}P&&(i.bg=P);const U={};j.querySelectorAll("table").forEach(ne=>{const ke=et(ne);ke>=320&&ke<=900&&(U[ke]=(U[ke]||0)+1)});const O=Object.keys(U).sort((ne,ke)=>U[ke]-U[ne])[0];if(O&&(i.width=Number(O)),O){const ne=Array.from(j.querySelectorAll("table")).find(ke=>et(ke)===Number(O));if(ne){const ke=nt(ne.style),ce=o(ne);ce&&(i.contentBg=ce);const Me=y(ne.style&&ne.style.borderRadius);Me>0&&(i.radius=Me);const Ke=ne.style?y(ne.style.borderWidth)||y(ne.style.borderTopWidth):0;Ke>0&&(i.borderW=Ke,i.borderStyle=He(ne.style),i.borderColor=ve(ne.style)||"");const Ie=ne.style&&ne.style.boxShadow;Ie&&Ie!=="none"&&(i.shadow=Ie),ne.style&&(ne.style.border="",ne.style.borderRadius="",ne.style.boxShadow="");const Ve=ne.closest?ne.closest("td"):null;if(Ve&&Ve.style){const Ue=y(Ve.style.paddingTop),Te=y(Ve.style.paddingLeft);Ue>0&&(i.padY=Ue),Te>0&&(i.padX=Te),Ve.style.padding=""}if(ke){const Ue=Array.from(j.querySelectorAll("table")).filter(Te=>Te!==ne&&Te.style&&et(Te)===Number(O));Ue.forEach((Te,Fe)=>{nt(Te.style)&&(Te.style.borderLeft="",Te.style.borderRight="",Te.style.borderRadius="",Te.style.boxShadow="",Fe===Ue.length-1&&(Te.style.borderBottom=""))})}}}const Z=j.style&&j.style.fontFamily||"",le=Array.from(j.querySelectorAll('[style*="font-family"]')).filter(ne=>(ne.textContent||"").trim()).map(ne=>ne.style.fontFamily).filter(Boolean),J=Z||le.find(ne=>/[,"']/.test(ne))||le[0];J&&(i.font=J);const se=ne=>!!(ne.style&&(ne.style.backgroundColor||ne.style.background)||Array.from(ne.querySelectorAll("span")).some(ke=>ke.style&&(ke.style.backgroundColor||ke.style.background))),oe={};j.querySelectorAll('a[style*="color"]').forEach(ne=>{const ke=ne.style.color;!ke||ke==="inherit"||!(ne.textContent||"").trim()||se(ne)||ne.querySelector("svg,img")||ne.style.textTransform==="uppercase"&&ne.style.letterSpacing||(oe[ke]=(oe[ke]||0)+1)});const Ce=Object.keys(oe).sort((ne,ke)=>oe[ke]-oe[ne])[0];return Ce&&(i.link=d(Ce)),j.style&&j.style.color&&(i.text=d(j.style.color)),i}function ot(n){let i=String(n);const j=P=>'<tr data-mc-logic="'+P.replace(/"/g,""")+'"><td></td></tr>';for(let P=0;P<6;P++){const U=i;if(i=i.replace(/\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}(?=\s*(?:<tr[\s>]|<\/table))/gi,(O,Z)=>j(Z)),i=i.replace(/(<\/tr>\s*)\{\{(#(?:if|each)\s+[^{}]+?|\/(?:if|each))\s*\}\}/gi,(O,Z,le)=>Z+j(le)),i===U)break}return i}function Ge(n,i,j){const P=String(n||"");if(!i||P.indexOf("<a")<0||P.indexOf("color")<0)return n;const O=new DOMParser().parseFromString('<div id="mc-fold">'+P+"</div>","text/html").getElementById("mc-fold");if(!O)return n;let Z=!1;return O.querySelectorAll("a[style]").forEach(le=>{le.style.color&&j(le.style.color)===i&&(le.style.removeProperty("color"),(le.getAttribute("style")||"").trim()||le.removeAttribute("style"),Z=!0)}),Z?O.innerHTML:n}function _e(n,i){const j=D(i.font),P=J=>String(d(J)||"").toLowerCase(),U=P(i.text),O=P(i.contentBg),Z=P(i.link),le={text:1,heading:1,list:1};n.forEach(J=>{const se=P(J.props.bg);se&&se===O&&(J.props.bg=""),J.cols.forEach(oe=>{String(oe.bg||"").toLowerCase()==="transparent"&&(oe.bg=""),oe.blocks.forEach(Ce=>{j&&Ce.props.fontFamily&&D(Ce.props.fontFamily)===j&&(Ce.props.fontFamily=""),U&&le[Ce.type]&&P(Ce.props.color)===U&&(Ce.props.color=""),Z&&i.link&&typeof Ce.props.html=="string"&&(Ce.props.html=Ge(Ce.props.html,Z,P)),Z&&i.link&&Ce.type==="list"&&Ce.props.items&&(Ce.props.items=String(Ce.props.items).split(`
|
|
97
|
+
`).map(ne=>Ge(ne,Z,P)).join(`
|
|
98
|
+
`))})})})}function tt(n){let i;try{i=new DOMParser().parseFromString(ot(n||""),"text/html")}catch{return{rows:[],theme:{}}}try{W(i)}catch{}const j=st(i),P=Qe(Array.from(i.body.childNodes));return _e(P,j),{rows:P,theme:j}}function gt(n){return tt(n).rows}Object.assign($,{htmlToDoc:tt,htmlToRows:gt})},ge["core/layout-style.js"]=function(be,$,F){const{cssUrl:G}=F("core/sanitize.js");function X(p){return(p.py||0)+"px "+(p.px||0)+"px"}function pe(p){const h=B=>p[B]!==!1,u=B=>p.bBorder&&h(B)?p.bBorder+"px "+(p.bStyle||"solid")+" "+(p.bLine||"#e2e2e5"):"0";return{background:p.bBg||"transparent",borderTop:u("bTop"),borderRight:u("bRight"),borderBottom:u("bBottom"),borderLeft:u("bLeft"),borderRadius:(p.bRadius||0)+"px",padding:(p.bPad||0)+"px"}}function W(p){const h=[];if(p.bBg&&h.push("background:"+p.bBg),p.bBorder){const u=p.bBorder+"px "+(p.bStyle||"solid")+" "+(p.bLine||"#e2e2e5"),B={top:p.bTop!==!1,right:p.bRight!==!1,bottom:p.bBottom!==!1,left:p.bLeft!==!1};B.top&&B.right&&B.bottom&&B.left?h.push("border:"+u):Object.keys(B).filter(f=>B[f]).forEach(f=>h.push("border-"+f+":"+u))}return p.bRadius&&h.push("border-radius:"+p.bRadius+"px"),p.bPad&&h.push("padding:"+p.bPad+"px"),h.length?h.join(";")+";":"margin:0"}function y(p){const h=p.pt??p.py??0,u=p.pb??p.py??0,B=p.pl??p.px??0,f=p.pr??p.px??0;return h+"px "+f+"px "+u+"px "+B+"px"}function K(p,h){const u=p.mt??p.my??0,B=p.mr??0,f=p.mb??p.my??0,z=p.ml??0,N=h&&!B&&!z;return u+"px "+(N?"auto":B+"px")+" "+f+"px "+(N?"auto":z+"px")}function S(p){return{top:p.bTop!==!1,right:p.bRight!==!1,bottom:p.bBottom!==!1,left:p.bLeft!==!1}}function D(p){if(!p.border)return"";const h=S(p),u=p.border+"px "+(p.borderStyle||"solid")+" "+(p.lineColor||"#e2e2e5");return h.top&&h.right&&h.bottom&&h.left?"border:"+u+";":["top","right","bottom","left"].filter(B=>h[B]).map(B=>"border-"+B+":"+u+";").join("")}function Q(p){const h=(p.overlay||0)/100,u=[];p.bgImage&&h&&u.push("linear-gradient(rgba(20,22,24,"+h+"),rgba(20,22,24,"+h+"))"),p.bgImage&&u.push('url("'+G(p.bgImage)+'")');const B=S(p),f=z=>p.border&&z?p.border+"px "+(p.borderStyle||"solid")+" "+(p.lineColor||"#e2e2e5"):"0";return{backgroundColor:p.bg||"transparent",backgroundImage:u.length?u.join(","):"none",backgroundSize:p.bgSize||"cover",backgroundPosition:p.bgPos||"center",backgroundRepeat:p.bgRepeat||"no-repeat",borderTop:f(B.top),borderRight:f(B.right),borderBottom:f(B.bottom),borderLeft:f(B.left),borderRadius:(p.radius||0)+"px",boxShadow:p.shadow||"none",maxWidth:(p.maxW||100)+"%",margin:K(p,!0)}}function m(p){const h=p.gap||0;return p.layout==="grid"?{display:"grid",gridTemplateColumns:"repeat("+(p.gridCols||2)+", minmax(0, 1fr))",gap:h+"px"}:p.layout==="flex"?{display:"flex",flexDirection:p.flexDir||"row",justifyContent:p.justify||"flex-start",alignItems:p.alignItems||"stretch",flexWrap:p.wrap?"wrap":"nowrap",gap:h+"px"}:{display:"flex",alignItems:"stretch",margin:"0 "+-h/2+"px"}}function g(p,h){return p.layout==="grid"?{minWidth:0}:p.layout==="flex"?{flex:(p.flexDir||"row").indexOf("column")===0?"0 0 auto":h.span+" 1 auto",minWidth:0}:{flex:h.span+" 1 0%",minWidth:0,padding:"0 "+(p.gap||0)/2+"px",alignSelf:p.valign==="middle"?"center":p.valign==="bottom"?"flex-end":"flex-start"}}Object.assign($,{pad:X,boxStyle:pe,boxCss:W,rowPad:y,rowMargin:K,rowBorderSides:S,rowBorderCss:D,rowBg:Q,colsWrap:m,colStyle:g})},ge["core/parse.js"]=function(be,$,F){function G(pe){return String(pe||"").split(`
|
|
99
|
+
`).map(W=>W.trim()).filter(Boolean).map(W=>{const y=W.indexOf("|");return y<0?{label:W,href:"#"}:{label:W.slice(0,y).trim(),href:W.slice(y+1).trim()}})}function X(pe){return String(pe.data||"").split(`
|
|
100
|
+
`).filter(W=>W.trim()).map(W=>W.split("|").map(y=>y.trim()))}Object.assign($,{parseItems:G,cellsOf:X})},ge["core/placeholder.js"]=function(be,$,F){function G(pe){return encodeURIComponent(pe).replace(/\(/g,"%28").replace(/\)/g,"%29")}function X(pe,W,y){return"data:image/svg+xml;utf8,"+G('<svg xmlns="http://www.w3.org/2000/svg" width="'+W+'" height="'+y+'"><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="'+(W-1)+'" height="'+(y-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(W/40))+'" fill="#5b6672">'+pe+"</text></svg>")}Object.assign($,{PH:X})},ge["core/sanitize.js"]=function(be,$,F){const G=(f,z)=>{const N=String(f||"");let E="",A=0;const H=L=>L.split(",").map(s=>{const t=s.trim();return t?/^(from|to|\d+%)$/i.test(t)||t.startsWith("@")?t:/^(html|body|:root)\b/i.test(t)?z+t.replace(/^(html|body|:root)/i,""):z+" "+t:""}).filter(Boolean).join(", ");for(;A<N.length;){const L=N.indexOf("{",A);if(L<0){E+=N.slice(A);break}const s=N.slice(A,L).trim();let t=1,v=L+1;for(;v<N.length&&t>0;)N[v]==="{"?t++:N[v]==="}"&&t--,v++;const x=N.slice(L+1,v-1);s.startsWith("@")?E+=s+"{"+(/^@(media|supports|layer|container)/i.test(s)?G(x,z):x)+"}":E+=H(s)+"{"+x+"}",A=v}return E},X=f=>String(f).replace(/\[\[\s*([\w.]+)\s*\]\]/g,"{{ $1 }}"),pe={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},W=f=>{const z=new DOMParser().parseFromString(String(f||""),"text/html");z.querySelectorAll("style,script,meta,link,title,head").forEach(E=>E.remove());const N=E=>{Array.from(E.children).forEach(A=>{if(N(A),!pe[A.tagName]){const H=A.parentNode;for(;A.firstChild;)H.insertBefore(A.firstChild,A);H.removeChild(A);return}Array.from(A.attributes).forEach(H=>{A.tagName==="A"&&["href","target","rel"].indexOf(H.name)>-1||A.removeAttribute(H.name)})})};return N(z.body),z.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},y=Object.assign({SPAN:1,IMG:1},pe),K=["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"],S=(f,z,N)=>{const E=new DOMParser().parseFromString(String(f||""),"text/html");E.querySelectorAll("style,script,meta,link,title,head").forEach(H=>H.remove());const A=H=>{Array.from(H.children).forEach(L=>{if(A(L),!y[L.tagName]){const t=L.parentNode;for(;L.firstChild;)t.insertBefore(L.firstChild,L);t.removeChild(L);return}const s=[];K.forEach(t=>{if(z&&z.indexOf(t)>-1)return;const v=L.style.getPropertyValue(t);v&&s.push(t+":"+v)}),(N||[]).forEach(t=>{const v=L.style.getPropertyValue(t);v&&s.push(t+":"+v)}),Array.from(L.attributes).forEach(t=>{L.tagName==="A"&&["href","target","rel"].indexOf(t.name)>-1||L.tagName==="IMG"&&["src","alt","width","height"].indexOf(t.name)>-1||L.removeAttribute(t.name)}),s.length&&L.setAttribute("style",s.join(";"))})};return A(E.body),E.body.innerHTML.replace(/<!--[\s\S]*?-->/g,"").replace(/\s{2,}/g," ").trim()},D=f=>String(Number(f.toFixed(2))),Q=(f,z)=>{const N=String(f??"");if(!N||!Number.isFinite(z)||z<=0||z===1||!/font-size/i.test(N))return N;const E=new DOMParser().parseFromString(N,"text/html");let A=!1;return E.body.querySelectorAll("[style]").forEach(H=>{const L=/^([\d.]+)(px|pt)$/.exec(H.style.fontSize||"");if(!L)return;H.style.fontSize=D(parseFloat(L[1])*z)+L[2];const s=/^([\d.]+)px$/.exec(H.style.lineHeight||"");s&&(H.style.lineHeight=D(parseFloat(s[1])*z)+"px"),A=!0}),A?E.body.innerHTML:N},m=(f,z)=>{const N=String(f??"");if(!N||N.indexOf(z)===-1)return N;const E=new DOMParser().parseFromString(N,"text/html");let A=!1;return E.body.querySelectorAll("[style]").forEach(H=>{H.style.getPropertyValue(z)&&(H.style.removeProperty(z),H.getAttribute("style")||H.removeAttribute("style"),A=!0)}),A?E.body.innerHTML:N},g={'"':"%22","'":"%27","(":"%28",")":"%29","\\":"%5C"},p=f=>{const z=String(f??"").trim();if(!z)return"";const N=z.match(/^([a-z][a-z0-9+.-]*):/i);return N&&!/^(https?|blob)$/i.test(N[1])&&!/^data:image\//i.test(z)?"":z.replace(/["'()\\]|\s/g,E=>g[E]||"%20")},h=f=>{const z=String(f??"").trim();if(!z)return"";const N=z.match(/^([a-z][a-z0-9+.-]*):/i);if(N){if(/^(https?|mailto|tel)$/i.test(N[1]))return z;if(!/^[a-z][a-z0-9+.-]*:\d/i.test(z))return""}return z.startsWith("//")?"https:"+z:/^(?:\{\{|\[|%%|\*\||\$\{)/.test(z)||/^[#/]/.test(z)?z:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(z)?"mailto:"+z:"https://"+z},u=f=>String(f).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");Object.assign($,{scopeCss:G,migrateTokens:X,cleanHtml:W,cleanImportHtml:S,scaleInlineSizes:Q,stripInlineStyle:m,cssUrl:p,linkHref:h,escHtml:u,hl:f=>u(f).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>')})},ge["core/storage-limits.js"]=function(be,$,F){const{KB:G}=F("core/assets.js"),X=(m,g,p)=>p.split("").every((h,u)=>m[g+u]===h.charCodeAt(0));function pe(m){if(m.length<12)return null;if(m[0]===255&&m[1]===216&&m[2]===255)return"image/jpeg";if(m[0]===137&&X(m,1,"PNG"))return"image/png";if(X(m,0,"GIF8"))return"image/gif";if(X(m,0,"RIFF")&&X(m,8,"WEBP"))return"image/webp";if(X(m,0,"BM"))return"image/bmp";if(X(m,0,"II")&&m[2]===42&&m[3]===0||X(m,0,"MM")&&m[2]===0&&m[3]===42)return"image/tiff";if(m[0]===0&&m[1]===0&&m[2]===1&&m[3]===0)return"image/x-icon";if(X(m,4,"ftyp")){const p=String.fromCharCode(m[8],m[9],m[10],m[11]);return p==="avif"||p==="avis"?"image/avif":"image/heic"}let g=0;for(m[0]===239&&m[1]===187&&m[2]===191&&(g=3);g<m.length&&(m[g]===32||m[g]===9||m[g]===10||m[g]===13);)g++;return m[g]===60?"image/svg+xml":null}function W(m){const g=m.slice(0,32);return typeof g.arrayBuffer=="function"?g.arrayBuffer().then(p=>new Uint8Array(p)).catch(()=>null):new Promise(p=>{const h=new FileReader;h.onload=()=>p(new Uint8Array(h.result)),h.onerror=()=>p(null),h.readAsArrayBuffer(g)})}function y(m){return new Promise(g=>{const p=URL.createObjectURL(m),h=new Image,u=B=>{URL.revokeObjectURL(p),g(B)};h.onload=()=>u({w:h.naturalWidth||h.width,ht:h.naturalHeight||h.height}),h.onerror=()=>u(null),h.src=p})}function K(m){const g=String(m||"file").replace(/[\\/]/g,"-").replace(/[<>:"|?*]/g,"").split("").filter(u=>u.charCodeAt(0)>31).join("").trim().replace(/^\.+/,"")||"file";if(g.length<=120)return g;const p=g.lastIndexOf("."),h=p>0&&g.length-p<=8?g.slice(p):"";return g.slice(0,120-h.length)+h}function S(m){return m?Number(m.maxBytes)>0?null:"storage.errNoMaxBytes":"storage.errNoLimits"}async function D(m,g){const p=Array.from(m||[]),h=[],u=[];if(!p.length)return{accepted:h,rejected:u};const B=S(g);if(B)return{accepted:h,rejected:p.map(L=>({name:L.name,key:B,params:{}}))};const f=Array.isArray(g.accept)&&g.accept.length?g.accept.map(L=>String(L).toLowerCase()):null,z=Number(g.maxBytes),N=Number(g.maxWidth)||0,E=Number(g.maxHeight)||0,A=Number(g.maxFilesPerDrop)||0,H=A&&p.length>A?p.slice(0,A):p;H.length<p.length&&p.slice(H.length).forEach(L=>u.push({name:L.name,key:"storage.errTooMany",params:{max:A}}));for(const L of H){const s=K(L.name);if(L.size>z){u.push({name:s,key:"storage.errTooLarge",params:{name:s,size:G(L.size),max:G(z)}});continue}const t=await W(L),v=t&&pe(t);if(!v){u.push({name:s,key:"storage.errUnreadable",params:{name:s}});continue}if(f&&!f.includes(v)){u.push({name:s,key:"storage.errFormat",params:{name:s,type:v.replace(/^image\//,"").toUpperCase()}});continue}if(v==="image/svg+xml"&&!g.allowSvg){u.push({name:s,key:"storage.errSvg",params:{name:s}});continue}let x={w:0,ht:0};if(v!=="image/svg+xml"){const C=await y(L);if(!C){u.push({name:s,key:"storage.errUnreadable",params:{name:s}});continue}if(x=C,N&&x.w>N||E&&x.ht>E){u.push({name:s,key:"storage.errDimensions",params:{name:s,w:x.w,ht:x.ht,maxW:N||x.w,maxH:E||x.ht}});continue}}h.push({file:L,name:s,type:v,size:L.size,w:x.w,ht:x.ht})}return{accepted:h,rejected:u}}function Q(m){return!m||!Array.isArray(m.accept)||!m.accept.length?"image/*":m.accept.join(",")}Object.assign($,{sanitizeName:K,limitsProblem:S,validateFiles:D,acceptAttribute:Q})},ge["core/storage.js"]=function(be,$,F){function X(y,K){const S=y||{};return{id:String(S.id??S.itemId??""),name:String(S.name??(K&&K.name)??"file"),url:String(S.url??""),folder:String(S.folder??""),folderId:S.folderId!=null?String(S.folderId):void 0,w:Number(S.w??(K&&K.w)??0)||0,ht:Number(S.ht??(K&&K.ht)??0)||0,size:Number(S.size??(K&&K.size)??0)||0}}function pe(y,K){return!y&&!K?null:Object.assign({},K||{},y||{})}function W(y){if(!y||typeof y!="object")return["storageProvider must be an object"];const K=["list","upload"].filter(S=>typeof y[S]!="function");return K.length?[`storageProvider is missing ${K.join(" and ")}`]:[]}Object.assign($,{ALL_FOLDER_ID:"",normalizeAsset:X,resolveLimits:pe,providerProblems:W})},ge["core/theme.js"]=function(be,$,F){Object.assign($,{THEME:()=>({bg:"#eef2f7",contentBg:"#ffffff",width:620,padY:0,padX:0,radius:0,borderW:0,borderStyle:"solid",borderColor:"#e2e2e5",shadow:"",font:'"Helvetica Neue", Helvetica, Arial, sans-serif',text:"#172033",link:"#0065b3"})})},ge["core/toolbar.js"]=function(be,$,F){const G=["logo","status","device","undo","redo","theme","ai","code","preview","export"],X=["none","hidden","off","false"];function pe(y){if(y===!1||typeof y=="string"&&X.indexOf(y.trim().toLowerCase())>=0)return null;const K={};if(G.forEach(S=>{K[S]=!0}),y&&typeof y=="object")G.forEach(S=>{y[S]===!1&&(K[S]=!1)});else if(typeof y=="string"&&y.trim()&&y.trim().toLowerCase()!=="all"){const S=y.split(",").map(D=>D.trim()).filter(Boolean);G.forEach(D=>{K[D]=S.indexOf(D)>=0})}return G.some(S=>K[S])?K:null}function W(y){return y?G.map(K=>y[K]?"1":"0").join(""):"none"}Object.assign($,{TOOLBAR_ITEMS:G,resolveToolbar:pe,toolbarKey:W})},ge["core/variables.js"]=function(be,$,F){const G=`first_name
|
|
101
101
|
last_name
|
|
102
102
|
email
|
|
103
103
|
company
|
|
@@ -105,22 +105,22 @@ city
|
|
|
105
105
|
order_id
|
|
106
106
|
plan
|
|
107
107
|
discount
|
|
108
|
-
unsubscribe_url`,Y=b=>"{{ "+b+" }}";function de(b){return(Array.isArray(b)?b:String(b??q).split(/[\n,]/)).map(x=>String(x).trim().replace(/^\{\{\s*|\s*\}\}$/g,"")).filter(Boolean)}Object.assign($,{DEFAULT_VARS:q,TOKEN:Y,vars:de,INSERT_KEYS:{text:"html",heading:"text",button:"label",html:"code",codeblock:"code",quote:"text",list:"items",table:"data"}})},ue["create-editor.js"]=function(he,$,D){const{MailCraftEditor:q}=D("mailcraft-editor.js"),Y={variables:"variables",locale:"locale",dir:"dir",theme:"theme",uiFont:"ui-font",accent:"accent"},de=["storageProvider","storageLimits","aiProvider","iconProvider","messages","footer"],Z=["exportHtml","importHtml","loadTemplate","undo","redo","screenshotPng","previewScreenshot","downloadScreenshot","copyScreenshot"];function b(V){const u=typeof V=="string"?document.querySelector(V):V;if(!u||u.nodeType!==1)throw new Error("[mailcraft] createEditor: no element matched "+JSON.stringify(V));return u}const K=V=>typeof V=="number"?V+"px":V;function x(V,u){const m=u||{},o=b(V),f=document.createElement("mailcraft-editor");Object.keys(Y).forEach(j=>{m[j]!=null&&f.setAttribute(Y[j],Array.isArray(m[j])?m[j].join(","):String(m[j]))}),m.toolbar!==void 0&&(f.toolbar=m.toolbar),de.forEach(j=>{m[j]!==void 0&&(f[j]=m[j])});const P=m.onChange?j=>m.onChange(j.detail):null,I=m.onExport?j=>m.onExport(j.detail):null;P&&f.addEventListener("change",P),I&&f.addEventListener("export",I),m.replace&&(o.textContent=""),m.height&&(o.style.height=K(m.height)),o.appendChild(f),typeof m.html=="string"&&m.html.trim()&&f.loadTemplate({name:m.name||"",html:m.html});const S={element:f,destroy(){P&&f.removeEventListener("change",P),I&&f.removeEventListener("export",I),f.parentNode&&f.parentNode.removeChild(f)}};return Z.forEach(j=>{S[j]=(...N)=>f[j](...N)}),S}function M(){return typeof customElements<"u"&&customElements.get("mailcraft-editor")===q}Object.assign($,{createEditor:x,isReady:M})},ue["index.js"]=function(he,$,D){const{MailCraftEditor:q}=D("mailcraft-editor.js"),{createEditor:Y,isReady:de}=D("create-editor.js"),{EditorCore:Z}=D("core/editor-core.js"),{renderDoc:b}=D("render/canvas.js"),{BLOCKS:K,GROUPS:x,LAYOUTS:M,PALETTE:V}=D("core/blocks.js"),{createTranslator:u,defineMessages:m,missingKeys:o,LOCALES:f,isRtl:P,EN:I,MESSAGE_KEYS:S}=D("core/i18n/index.js"),{LOCALE_TABLES:j}=D("core/i18n/tables.js"),{LOCALE_LOADERS:N,loadLocale:E,localeTable:A}=D("core/i18n/loaders.js"),{ALL_FOLDER_ID:w,normalizeAsset:L,resolveLimits:d}=D("core/storage.js"),{validateFiles:a,sanitizeName:g,acceptAttribute:v,limitsProblem:C}=D("core/storage-limits.js");Object.assign($,{MailCraftEditor:q,createEditor:Y,isReady:de,EditorCore:Z,renderDoc:b,BLOCKS:K,GROUPS:x,LAYOUTS:M,PALETTE:V,createTranslator:u,defineMessages:m,missingKeys:o,LOCALES:f,isRtl:P,EN:I,MESSAGE_KEYS:S,LOCALE_TABLES:j,LOCALE_LOADERS:N,loadLocale:E,localeTable:A,ALL_FOLDER_ID:w,normalizeAsset:L,resolveLimits:d,validateFiles:a,sanitizeName:g,acceptAttribute:v,limitsProblem:C})},ue["mailcraft-editor.js"]=function(he,$,D){const{EditorCore:q,AI_GOALS:Y,AI_TONES:de}=D("core/editor-core.js"),{GROUPS:Z,LAYOUTS:b,DEF:K,PALETTE:x}=D("core/blocks.js"),{KB:M}=D("core/assets.js"),{acceptAttribute:V}=D("core/storage-limits.js"),{renderDoc:u}=D("render/canvas.js"),{renderRte:m}=D("render/rte.js"),{renderField:o,renderFieldCards:f,typeCommit:P}=D("render/fields.js"),{icon:I}=D("core/icons.js"),{brandLockup:S}=D("core/brand.js"),{TOKEN:j}=D("core/variables.js"),{hl:N,cssUrl:E}=D("core/sanitize.js"),{decorateLogicTags:A}=D("core/export.js"),{formatHtml:w,scanElements:L,elementAtOffset:d,findMatches:a,markRanges:g}=D("core/code-tools.js"),{withFocusPreserved:v}=D("render/focus-preserve.js"),{captureTemplatePng:C}=D("render/screenshot.js"),{resolveToolbar:F,toolbarKey:W}=D("core/toolbar.js"),{resolveFooter:ae}=D("core/footer.js"),{createStoryViewer:J}=D("render/story.js"),{STYLE:X}=D("render/style.js"),{createTranslator:ie,isRtl:ce}=D("core/i18n/index.js"),{ACCENT_VARS:be,accentTokens:ve,parseColor:pe}=D("core/accent.js"),{localeTable:ee,loadLocale:Se}=D("core/i18n/loaders.js");function h(me,t,l={},...k){const H=document.createElement(me);t&&(H.style.cssText=t);for(const[y,R]of Object.entries(l))if(R!==void 0)if(y==="text")H.textContent=R;else if(y==="html")H.innerHTML=R;else if(y==="on")for(const[e,i]of Object.entries(R))H.addEventListener(e,i);else H.setAttribute(y,R);return k.flat().forEach(y=>{y!=null&&y!==!1&&H.appendChild(typeof y=="string"?document.createTextNode(y):y)}),H}function Pe(me){return[{key:"design",label:me("tab.design"),title:me("tab.designHint"),iconName:"paint"},{key:"blocks",label:me("tab.blocks"),title:me("tab.blocksHint"),iconName:"grid"},{key:"rows",label:me("tab.rows"),title:me("tab.rowsHint"),iconName:"table"},{key:"files",label:me("tab.files"),title:me("tab.filesHint"),iconName:"image"},{key:"layers",label:me("tab.layers"),title:me("tab.layersHint"),iconName:"list"},{key:"theme",label:me("tab.settings"),title:me("tab.settingsHint"),iconName:"sliders"},{key:"data",label:me("tab.data"),title:me("tab.dataHint"),iconName:"data"}]}function Me(me,t,l,k){me.style.position=me.style.position||"relative",me.setAttribute("data-tip","1"),me.hasAttribute("aria-label")||me.setAttribute("aria-label",t),me.removeAttribute("title");const H=l||"down";return me.tipNode=h("span","",{class:`mc-tooltip mc-tooltip-${H}${H==="down"?" mc-tab-tooltip":""}${k==="end"?" mc-tooltip-end":""}`,text:t}),me.appendChild(me.tipNode),me}const Re=typeof HTMLElement<"u"?HTMLElement:class{};class Be extends Re{static get observedAttributes(){return["variables","locale","dir","theme","ui-font","accent","toolbar","footer"]}constructor(){super(),this.attachShadow({mode:"open"}),this.core=new q({variables:this.hasAttribute("variables")?this.getAttribute("variables"):void 0})}connectedCallback(){this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this._toolbarKey=W(this.toolbarConfig()),this.core.mount(this.shadowRoot),this.applyTheme(),this.refreshTranslator(),this.core.mountKeyboard(t=>{const l=(t&&t.tagName||"").toLowerCase();return l==="input"||l==="textarea"||t&&t.isContentEditable}),this.core.onFormatChange=()=>this.scheduleRteRefresh(),this.core.onFoldLiveEdit=()=>this.syncLiveEdit(),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(()=>{v(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.onFoldLiveEdit=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,l,k){this.core&&(t==="variables"&&(this.core.variablesRaw=k,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 l=t.toLowerCase()==="inherit"?getComputedStyle(this).fontFamily:t;this.mc.style.setProperty("--ed-font",l||"inherit")}resolveAccentValue(t){if(typeof getComputedStyle!="function")return t;const l=getComputedStyle(this);if(t.toLowerCase()==="inherit"){const H=(l.accentColor||"").trim();return!H||H==="auto"?"":H}const k=/^var\(\s*(--[\w-]+)\s*(?:,\s*([^)]+))?\)$/.exec(t);return k?(l.getPropertyValue(k[1])||"").trim()||(k[2]||"").trim():t}applyAccent(t){if(!this.mc)return;const l=(this.getAttribute("accent")||"").trim(),k=this.core.state?.chrome||"light",H=l+"|"+k;if(!t&&H===this._accentKey)return;this._accentKey=H;const y=()=>be.forEach(p=>this.mc.style.removeProperty(p));if(!l){y();return}const R=this.resolveAccentValue(l),e=pe(R)||pe(this.probeColor(R));if(!e){y(),console.warn('[mailcraft] accent="'+l+'" is not a usable color -- keeping the built-in accent.');return}const i=ve(e,k);for(const[p,c]of Object.entries(i))this.mc.style.setProperty(p,c)}probeColor(t){if(!t||typeof getComputedStyle!="function"||typeof document>"u")return"";const l=document.createElement("span");if(l.style.display="none",l.style.color=t,!l.style.color)return"";this.mc.appendChild(l);const k=(getComputedStyle(l).color||"").trim();return l.remove(),k}applyTheme(){const t=this.getAttribute("theme");t?this.core.setState({chrome:t==="dark"?"dark":"light"}):this.core.state&&this.core.emit()}refreshTranslator(){const t=this.getAttribute("locale")||"";let l=t?ee(t):null;l===void 0&&(l=null,Se(t).then(()=>{(this.getAttribute("locale")||"")===t&&this.refreshTranslator()}));const k=this.core.messages;this.core.t=ie(l?Object.assign({},l,k||{}):k),this.story?.retranslate(),this.core.emit()}applyDir(){if(!this.mc)return;const t=this.getAttribute("dir");this.mc.setAttribute("dir",t||(ce(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 F(this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar"))}applyToolbar(){if(!this.core||!this.shadowRoot.firstChild)return;const t=W(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(t){const l=this.core.buildHtml(t);return this.dispatchEvent(new CustomEvent("export",{detail:l})),l}screenshotPng(){return C(this.core,this.mc)}previewScreenshot(){this.story.open()}async downloadScreenshot(t){const l=this.core.t;try{const k=t||await this.screenshotPng(),H=document.createElement("a");H.href=URL.createObjectURL(k),H.download="email.png",H.click(),setTimeout(()=>URL.revokeObjectURL(H.href),1500),this.core.flash(l("toast.pngSaved"))}catch{this.core.flash(l("toast.pngFailed"))}}async copyScreenshot(t){const l=this.core.t;try{const k=t?Promise.resolve(t):this.screenshotPng();await navigator.clipboard.write([new ClipboardItem({"image/png":k})]),this.core.flash(l("toast.pngCopied"))}catch{this.core.flash(l("toast.pngCopyFailed"))}}undo(){this.core.undo()}redo(){this.core.redo()}buildShell(){const t=this.shadowRoot;t.innerHTML="",t.appendChild(h("style","",{text:X})),this._accentKey=null,this.mc=h("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 l=h("div","position: relative; height: 100%; min-width: 1180px;");this.mc.appendChild(l),this.savedLabel=this.savedDot=this.deviceSeg=null,this.undoBtn=this.redoBtn=this.chromeBtn=null,this.aiBtn=this.codeBtn=this.previewBtn=this.exportBtn=null;const k=this.toolbarConfig();this.frame=h("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: "+(k?"54px minmax(0, 1fr)":"minmax(0, 1fr)")+"; overflow: hidden; box-shadow: var(--ed-shadow-sm), var(--ed-shadow-md);",{class:"mc-shell"+(k?"":" mc-no-header")}),l.appendChild(this.frame),k&&this.frame.appendChild(this.buildHeader(k)),this.footerBar=this.footerText=this.footerLink=null,this.body=h("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=J(this.core,{capture:()=>this.screenshotPng(),download:H=>this.downloadScreenshot(H),copy:H=>this.copyScreenshot(H)}),this.toastEl=h("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"}),l.append(this.libraryModal,this.exportModal,this.codeModal,this.aiModal,this.previewModal,this.story.node,this.toastEl),this.fileInput=h("input","display: none;",{type:"file",accept:"image/*",multiple:"true"}),this.fileInput.addEventListener("change",H=>{this.core.addFiles(H.target.files),H.target.value=""}),l.appendChild(this.fileInput)}buildHeader(t){const l=this.core.t,k=h("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"}),H=h("div","display: flex; align-items: center;",{class:"mc-brand"});H.appendChild(S(30)),t.logo&&k.append(H,h("div","width: 1px; height: 22px; background: var(--ed-line);")),this.savedLabel=h("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=h("span","width: 5px; height: 5px; border-radius: 50%; background: var(--ed-accent);"),this.savedLabel.appendChild(this.savedDot),this.savedLabel.appendChild(document.createTextNode("")),t.status?k.appendChild(this.savedLabel):this.savedLabel=this.savedDot=null,k.appendChild(h("div","flex: 1;")),t.device&&(this.deviceSeg=h("div","",{class:"mc-segment mc-device-segment"}),k.appendChild(this.deviceSeg));const y=h("div","display: flex; align-items: center; gap: 3px;");t.undo&&(this.undoBtn=this.iconBtn("undo",l("action.undoHint"),()=>this.core.undo(),"action.undoHint")),t.redo&&(this.redoBtn=this.iconBtn("redo",l("action.redoHint"),()=>this.core.redo(),"action.redoHint")),t.theme&&(this.chromeBtn=this.labelIconBtn("moon",l("action.chromeToDark"),l("action.chromeHint"),()=>{const e=this.core.state.chrome==="light"?"dark":"light";this.core.setState({chrome:e},()=>this.core.persist(null,null,e))},"action.chromeHint")),this.chromeBtn&&(this.chromeBtn.i18nTipKey=this.core.state.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=l(this.chromeBtn.i18nTipKey)),t.ai&&(this.aiBtn=this.labelIconBtn("spark",l("action.aiDraft"),l("action.aiDraftHint"),()=>this.core.setState({aiOpen:!0}),"action.aiDraftHint","action.aiDraft")),t.code&&(this.codeBtn=this.labelIconBtn("code",l("action.code"),l("action.codeHint"),()=>this.core.openCode(),"action.codeHint","action.code")),t.preview&&(this.previewBtn=this.labelIconBtn("eye",l("action.preview"),l("action.previewHint")||"",()=>this.core.setState({previewOpen:!0}),"action.previewHint","action.preview")),t.export&&(this.exportBtn=this.labelIconBtn("download",l("action.export"),l("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&&(y.append(...R),k.appendChild(y)),k}iconBtn(t,l,k,H){const y=h("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:l,"data-i18n-title":H||void 0,class:"mc-icon-button"});return y.appendChild(I(t,15)),y.addEventListener("mouseenter",()=>{y.disabled||(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)"}),y.addEventListener("click",k),Me(y,l,"down"),y}labelIconBtn(t,l,k,H,y,R){const e=h("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:k,class:"mc-icon-label"});return e.i18nTitleKey=y||null,e.i18nLabelKey=R||null,t&&(e.iconNode=I(t,14),e.iconName=t,e.appendChild(e.iconNode)),e.labelNode=document.createTextNode(l||""),e.appendChild(e.labelNode),e.addEventListener("mouseenter",()=>{e.style.borderColor="var(--ed-accent)",e.style.background="var(--ed-soft)"}),e.addEventListener("mouseleave",()=>{e.style.borderColor="var(--ed-line)",e.style.background="var(--ed-panel)"}),e.addEventListener("click",H),Me(e,k,"down")}sectionBar(t,l){const k=h("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 k.appendChild(h("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"})),l&&k.appendChild(typeof l=="string"?h("span","font-size: 10px; font-weight: 600; color: var(--ed-faint); flex: none;",{text:l}):l),k}sectionBody(t){return h("div","padding: 12px 14px 16px; background: var(--ed-panel);"+(t||""),{class:"mc-section-body"})}tabSurface(){return h("div","background: var(--ed-panel); min-height: 100%; padding-bottom: 28px;",{class:"mc-tab-surface"})}softBtn(t,l,k){const H=h("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 l&&H.appendChild(I(l,13)),H.appendChild(h("span","",{text:t})),H.addEventListener("mouseenter",()=>{H.style.background="var(--ed-accent)",H.style.color="var(--ed-accent-ink)"}),H.addEventListener("mouseleave",()=>{H.style.background="var(--ed-soft)",H.style.color="var(--ed-accent)"}),H.addEventListener("click",k),H}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.core.state.previewOpen&&this.previewSlot?[this.canvasSlot,this.previewSlot]:[this.canvasSlot]).forEach(k=>k.querySelectorAll("[data-mc-countdown]").forEach(H=>{const y=Math.max(0,new Date(H.getAttribute("data-mc-countdown")).getTime()-t),R={days:Math.floor(y/864e5),hrs:Math.floor(y/36e5)%24,min:Math.floor(y/6e4)%60,sec:Math.floor(y/1e3)%60};H.querySelectorAll("[data-mc-count]").forEach(e=>{e.textContent=String(R[e.getAttribute("data-mc-count")]??0).padStart(2,"0")})}))}refreshSavedLabel(){if(!this.savedLabel)return;const t=this.core.state,l=this.core.t;this.savedLabel.lastChild.textContent=t.savedStatus==="error"?l("status.saveFailed"):t.savedStatus==="saved"?l("status.saved",{time:t.savedAt}):l("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"]'),l=this.core.find(this.core.state.doc,this.core.state.editing);if(!t||!l.block)return;const k=this.core.formatFingerprint(l.block);k!==this._rtePrint&&(this._rtePrint=k,t.replaceWith(m(this.core,l.block)))}))}buildFooter(){return this.footerBar=h("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=h("span","",{class:"mc-footer-text"}),this.footerLink=h("a","color: inherit; text-decoration: none;",{class:"mc-footer-link"}),this.footerBar.appendChild(this.footerText),this.footerBar.appendChild(this.footerLink),this.footerBar}footerConfig(){return ae(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 l=t.text==null?this.core.t("footer.poweredBy"):t.text,k=!!t.href;this.footerText.style.display=k?"none":"inline",this.footerLink.style.display=k?"inline":"none",this.footerText.textContent=k?"":l,this.footerLink.textContent=k?l:"",k&&(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=h("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 l=h("div","padding: 28px 40px 150px; display: flex; justify-content: center;",{class:"mc-canvas-stage"});this.zoomFrame=h("div","position: relative; transform-origin: top center; transition: transform 0.22s cubic-bezier(0.22,0.61,0.36,1);"),this.canvasSlot=h("div","",{class:"mc-sheet-wrap"}),this.zoomFrame.appendChild(this.canvasSlot),l.appendChild(this.zoomFrame),t.appendChild(l);const k=h("div","position: sticky; bottom: 0; display: flex; justify-content: center; pointer-events: none; padding-bottom: 16px;"),H=h("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=h("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=h("div","display: flex; gap: 1px;"),H.append(this.canvasMetaEl,h("span","width: 1px; height: 18px; background: var(--ed-line);"),this.zoomSeg),k.appendChild(H),t.appendChild(k),t}buildAside(){const t=h("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=h("div","display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);",{class:"mc-tabbar",role:"tablist"}),t.appendChild(this.tabBar),this.tabBody=h("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,l=this.mainEl?this.mainEl.scrollLeft:0,k=this._renderedTab,H=this.tabBody?this.tabBody.scrollTop:0;try{this.renderInner()}finally{this.core.rendering=!1,this.core.editStale=null}this.mainEl&&(this.mainEl.scrollTop!==t&&(this.mainEl.scrollTop=t),this.mainEl.scrollLeft!==l&&(this.mainEl.scrollLeft=l)),this.tabBody&&this.core.state.tab===k&&this.tabBody.scrollTop!==H&&(this.tabBody.scrollTop=H),this._renderedTab=this.core.state.tab}syncLiveEdit(){const t=this.core;if(t.editStale&&t.editStale===t.state.editing||!t.state.editing||!t.editEl||!t.editEl.isConnected||!t.editKey)return;const l=t.find(t.state.doc,t.state.editing);if(!l.block)return;const k=t.editPlain?t.editEl.textContent:t.editEl.innerHTML;k!==t.editRendered&&k!==l.block.props[t.editKey]&&(l.block.props[t.editKey]=k)}refreshStrings(){const t=this.core.t,l=this.shadowRoot;l.querySelectorAll("[data-i18n]").forEach(k=>{k.textContent=t(k.getAttribute("data-i18n"))}),l.querySelectorAll("[data-i18n-title]").forEach(k=>{k.title=t(k.getAttribute("data-i18n-title"))}),l.querySelectorAll("[data-i18n-placeholder]").forEach(k=>{k.placeholder=t(k.getAttribute("data-i18n-placeholder"))}),[this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].forEach(k=>{k&&(k.i18nTitleKey&&(k.title=t(k.i18nTitleKey)),k.i18nLabelKey&&(k.labelNode.textContent=t(k.i18nLabelKey)),k.i18nTitleKey&&k.tipNode&&(k.tipNode.textContent=t(k.i18nTitleKey)))}),this.chromeBtn?.i18nTitleKey&&(this.chromeBtn.title=t(this.chromeBtn.i18nTitleKey))}renderInner(){const t=this.core.state,l=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"?l("action.chromeToDark"):l("action.chromeToLight"),this.chromeBtn.i18nTipKey=t.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=l(this.chromeBtn.i18nTipKey),this.chromeBtn.setAttribute("aria-label",l(this.chromeBtn.i18nTipKey)),this.chromeBtn.title=l(this.chromeBtn.i18nTipKey);const H=t.chrome==="light"?"moon":"sun";if(this.chromeBtn.iconName!==H){const y=I(H,14);this.chromeBtn.iconNode.replaceWith(y),this.chromeBtn.iconNode=y,this.chromeBtn.iconName=H}}this.renderDeviceSeg(),this.renderZoomSeg(),this.zoomFrame.style.transform=`scale(${t.zoom})`,this.canvasSlot.replaceChildren(u(this.core,!0));const k=t.doc.rows.reduce((H,y)=>H+y.cols.reduce((R,e)=>R+e.blocks.length,0),0);this.canvasMetaEl.textContent=l("canvas.meta",{rows:t.doc.rows.length,blocks:k,width:t.device==="mobile"?375:t.doc.theme.width}),this.renderTabs(),this.renderTabBody(),this.renderLibraryModal(),this.renderExportModal(),this.renderCodeModal(),this.renderAiModal(),this.renderPreviewModal(),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,l=this.core.t;this.deviceSeg.innerHTML="",[{label:l("device.desktop"),title:l("device.desktopHint"),v:"desktop",iconName:"monitor"},{label:l("device.mobile"),title:l("device.mobileHint"),v:"mobile",iconName:"phone"}].forEach(k=>{const H=t.device===k.v,y=h("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(H)}; color: ${this.segFg(H)}; transition: background 0.16s, color 0.16s;`,{type:"button",title:k.title,"aria-pressed":String(H)});y.appendChild(I(k.iconName,15)),y.addEventListener("mouseenter",()=>{H?y.style.background="var(--ed-accent-strong)":(y.style.background="var(--ed-soft)",y.style.color="var(--ed-accent)")}),y.addEventListener("mouseleave",()=>{y.style.background=this.segBg(H),y.style.color=this.segFg(H)}),y.addEventListener("click",()=>this.core.setState({device:k.v})),Me(y,k.label,"down"),this.deviceSeg.appendChild(y)})}renderZoomSeg(){const t=this.core.state;this.zoomSeg.innerHTML="",[.75,1,1.25].forEach(l=>{const k=t.zoom===l,H=h("button",`border: 0; border-radius: 7px; cursor: pointer; background: ${this.segBg(k)}; color: ${this.segFg(k)}; 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(l*100)}%`,"aria-pressed":String(k)});H.addEventListener("click",()=>this.core.setState({zoom:l})),this.zoomSeg.appendChild(H)})}renderTabs(){const t=this.core.state;this.tabBar.innerHTML="",Pe(this.core.t).forEach(l=>{const k=t.tab===l.key,H=h("button",`border: 0; border-radius: 8px 8px 0 0; border-bottom: 2px solid ${k?"var(--ed-accent)":"transparent"}; background: ${k?"var(--ed-panel)":"transparent"}; color: ${k?"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:l.title,role:"tab","aria-selected":String(k)});H.appendChild(I(l.iconName,16)),H.addEventListener("mouseenter",()=>{k||(H.style.color="var(--ed-accent)",H.style.background="var(--ed-soft)")}),H.addEventListener("mouseleave",()=>{H.style.color=k?"var(--ed-accent)":"var(--ed-muted)",H.style.background=k?"var(--ed-panel)":"transparent"}),H.addEventListener("click",()=>this.core.setState({tab:l.key})),Me(H,l.label,"down"),this.tabBar.appendChild(H)})}renderTabBody(){const t=this.shadowRoot.activeElement;if(t&&t.tagName==="INPUT"&&t.type==="color"&&this.tabBody.contains(t))return;this.tabBody.innerHTML="";const l=this.core.state.tab;l==="design"?this.tabBody.appendChild(this.renderDesignTab()):l==="blocks"?this.tabBody.appendChild(this.renderBlocksTab()):l==="rows"?this.tabBody.appendChild(this.renderRowsTab()):l==="files"?this.tabBody.appendChild(this.renderFilesTab()):l==="layers"?this.tabBody.appendChild(this.renderLayersTab()):l==="theme"?this.tabBody.appendChild(this.renderThemeTab()):l==="data"&&this.tabBody.appendChild(this.renderDataTab())}renderDesignTab(){const t=this.core.state,l=this.core.t,k=this.core.selObj(),H=h("div","min-height: 100%; display: flex; flex-direction: column;",{class:"mc-tab-surface mc-design-panel"}),y=h("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 p=h("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;");p.appendChild(I(k.block?k.block.type:"product",18)),y.appendChild(p)}const R=h("div","flex: 1; min-width: 0;");if(R.append(h("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:k.block?K(k.block.type).label:k.row?l("inspector.sectionLabel"):l("inspector.nothingSelected")}),h("div","font-size: 11px; color: var(--ed-muted); margin-top: 1px;",{text:k.block?l("inspector.blockProperties"):k.row?l("inspector.sectionProperties"):l("inspector.title")})),y.appendChild(R),t.sel){const p=h("div","display: flex; gap: 4px;"),c=h("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:l("action.duplicateHint"),class:"mc-icon-button"});c.appendChild(I("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()),Me(c,l("action.duplicateHint"),"down","end");const r=h("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:l("action.deleteHint"),class:"mc-icon-button"});r.appendChild(I("trash",14)),r.addEventListener("mouseenter",()=>{r.style.filter="brightness(0.94)"}),r.addEventListener("mouseleave",()=>{r.style.filter=""}),r.addEventListener("click",()=>this.core.delSel()),Me(r,l("action.deleteHint"),"down","end"),p.append(c,r),y.appendChild(p)}H.appendChild(y);const e=h("div","background: var(--ed-panel); flex: 1; padding-bottom: 28px;",{class:"mc-panel-content"});if(!t.sel){const p=h("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=h("p","margin: 0 0 14px;");c.innerHTML=l("inspector.emptyBody"),p.appendChild(c);const r=h("div","position: relative; border: 1px solid var(--ed-line); border-radius: 10px; padding: 12px;",{class:"mc-shortcuts"});r.appendChild(h("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:l("inspector.shortcuts")}));const T=h("div","display: grid; gap: 5px; font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--ed-muted);");[l("shortcut.undoRedo"),l("shortcut.duplicate"),l("shortcut.delete"),l("shortcut.export"),l("shortcut.escape")].forEach(Q=>T.appendChild(h("div","",{text:Q}))),r.appendChild(T),p.appendChild(r),e.appendChild(p)}const i=this.core.fields().concat(this.core.boxFields());return f(e,i),H.appendChild(e),H}renderBlocksTab(){const t=this.core.t,l=this.tabSurface();l.appendChild(this.sectionBar(t("blocks.dragHint"),t("blocks.count",{count:x.length})));const k=this.sectionBody(),H=h("div","display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;");return We(this.core).forEach(y=>{const R=h("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:y.hint}),e=()=>{R.style.borderColor="var(--ed-accent)",R.style.background="var(--ed-soft)",R.style.transform="translateY(-2px)",R.style.boxShadow="var(--ed-shadow-sm)"};R.addEventListener("mouseenter",e),R.addEventListener("mouseleave",()=>{R.style.borderColor="var(--ed-line)",R.style.background="var(--ed-panel-2)",R.style.transform="",R.style.boxShadow=""}),R.addEventListener("mousedown",()=>{R.style.cursor="grabbing",R.style.transform=""}),R.addEventListener("mouseup",()=>{R.style.cursor="grab",e()}),R.addEventListener("dragstart",y.onDragStart),R.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),R.addEventListener("dblclick",y.onAdd);const i=h("span","color: var(--ed-accent); display: block;");i.appendChild(y.icon()),R.appendChild(i),R.appendChild(h("span","font-size: 10.5px; color: var(--ed-muted); text-align: center; line-height: 1.2;",{text:y.label})),H.appendChild(R)}),k.appendChild(H),l.appendChild(k),l}renderRowsTab(){const t=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("rows.sectionLayouts")));const H=this.sectionBody(),y=h("div","display: grid; gap: 6px;");b.forEach(Q=>{const re=h("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"});re.addEventListener("mouseenter",()=>{re.style.borderColor="var(--ed-accent)",re.style.background="var(--ed-soft)"}),re.addEventListener("mouseleave",()=>{re.style.borderColor="var(--ed-line)",re.style.background="var(--ed-panel-2)"}),re.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:Q.spans})),re.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),re.addEventListener("dblclick",()=>this.core.insertRow(Q.spans,t.doc.rows.length));const ke=h("div","display: flex; gap: 3px; flex: 1; height: 26px;");Q.spans.forEach(fe=>ke.appendChild(h("div",`flex: ${fe}; border: 1px solid var(--ed-line-2); background: repeating-linear-gradient(45deg, transparent, transparent 4px, var(--ed-line) 4px, var(--ed-line) 5px);`))),re.append(ke,h("span","font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-muted); white-space: nowrap;",{text:Q.label})),y.appendChild(re)}),H.appendChild(y),k.appendChild(H),k.appendChild(this.sectionBar(l("rows.customMarkup")));const R=this.sectionBody(),e=h("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:l("rows.htmlRowHint")});e.addEventListener("mouseenter",()=>{e.style.borderColor="var(--ed-accent)",e.style.background="var(--ed-soft)"}),e.addEventListener("mouseleave",()=>{e.style.borderColor="var(--ed-line)",e.style.background="var(--ed-panel-2)"}),e.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:[100],html:!0})),e.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),e.addEventListener("click",()=>this.core.insertRow([100],t.doc.rows.length,!0));const i=h("span","color: var(--ed-accent); display: block;");i.appendChild(I("code",20));const p=h("span","flex: 1;");p.append(h("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 13px; line-height: 1.2;",{text:l("rows.rawHtmlSection")}),h("span","display: block; font-size: 11px; color: var(--ed-muted); line-height: 1.4;",{text:l("rows.rawHtmlDesc")})),e.append(i,p),R.appendChild(e),k.appendChild(R),k.appendChild(this.sectionBar(l("rows.canvasModel")));const c=this.sectionBody(),r=h("div","",{class:"mc-segment"});[{label:l("rows.modeRowBased"),v:"rows"},{label:l("rows.modeFreeStack"),v:"stack"}].forEach(Q=>{const re=t.mode===Q.v,ke=h("button",`flex: 1; background: ${this.segBg(re)}; color: ${this.segFg(re)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 8px 4px; transition: background 0.16s, color 0.16s;`,{type:"button",text:Q.label,"aria-pressed":String(re)});ke.addEventListener("click",()=>this.core.setState({mode:Q.v})),r.appendChild(ke)}),c.appendChild(r);const T=t.mode==="rows"?l("rows.hintRows"):l("rows.hintStack");return c.appendChild(h("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:T})),k.appendChild(c),k}renderFilesTab(){const t=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("files.libraryCount",{count:t.assets.length})));const H=this.sectionBody(),y=h("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"});y.append(I("folder",14),h("span","",{text:l("files.openManager")})),y.addEventListener("mouseenter",()=>{y.style.filter="brightness(1.1)"}),y.addEventListener("mouseleave",()=>{y.style.filter=""}),y.addEventListener("click",()=>this.core.openLibrary()),H.appendChild(y);const R=h("div","display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 12px;");return t.assets.slice(0,6).forEach(e=>{const i=h("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:e.name});i.addEventListener("mouseenter",()=>{i.style.borderColor="var(--ed-accent)"}),i.addEventListener("mouseleave",()=>{i.style.borderColor="var(--ed-line)"}),i.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:e.id})),i.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),i.addEventListener("click",()=>this.core.useAsset(e)),i.appendChild(h("div",`width: 100%; height: 64px; background-image: url("${e.url}"); background-size: cover; background-position: center; background-color: var(--ed-work);`,{role:"img","aria-label":e.name})),i.appendChild(h("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:e.name})),R.appendChild(i)}),H.appendChild(R),H.appendChild(h("p","margin: 12px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:l("files.dragToCanvas")})),k.appendChild(H),k}renderLayersTab(){const t=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("layers.structure")));const H=this.sectionBody("display: grid; gap: 0;");return H.classList.add("mc-layer-tree"),t.doc.rows.forEach((y,R)=>{const e=t.sel&&t.sel.id===y.id,i=h("div","background: transparent; padding: 0 0 8px;",{class:`mc-tree-section${e?" is-selected":""}`}),p=y.cols.reduce((T,Q)=>T+Q.blocks.length,0),c=h("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 6px 7px; border-radius: 7px; background: ${e?"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=e?"var(--ed-soft)":"transparent"}),c.addEventListener("click",()=>this.core.select("row",y.id)),c.append(h("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: ${e?"var(--ed-accent)":"var(--ed-panel-2)"}; color: ${e?"var(--ed-accent-ink)":"var(--ed-muted)"};`,{text:String(R+1).padStart(2,"0"),class:"mc-tree-index"}),h("span","font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; color: var(--ed-text);",{text:y.cols.length===1?l("layers.sectionSingle"):l("layers.sectionMulti",{count:y.cols.length}),class:"mc-tree-title"}),h("span","flex: 1;"),h("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:l("layers.blockCount",{count:p}),class:"mc-tree-count"})),i.appendChild(c);const r=h("div","",{class:"mc-tree-children mc-tree-columns"});y.cols.forEach((T,Q)=>{const re=h("div","",{class:"mc-tree-branch"}),ke=h("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"}),fe=h("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(fe.appendChild(I("table",11)),ke.append(fe,h("span","font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{text:l("layers.column",{index:Q+1}),class:"mc-tree-title"}),h("span","flex: 1;"),h("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:l("layers.blockCount",{count:T.blocks.length}),class:"mc-tree-count"})),re.appendChild(ke),T.blocks.length){const je=h("div","",{class:"mc-tree-children mc-tree-blocks"});T.blocks.forEach(Ae=>{const He=t.sel&&t.sel.id===Ae.id,Ce=K(Ae.type).label,Ee=Ae.type==="text"?String(Ae.props.html||"").replace(/<[^>]+>/g,"").trim().slice(0,34):Ae.props.label||Ae.props.title||Ae.props.caption||"",De=h("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 4px 7px; border-radius: 8px; background: ${He?"var(--ed-soft)":"transparent"}; box-shadow: ${He?"inset 0 0 0 1px var(--ed-accent)":"none"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-block-node"});De.addEventListener("mouseenter",()=>{t.sel&&t.sel.id===Ae.id||(De.style.background="var(--ed-panel)")}),De.addEventListener("mouseleave",()=>{De.style.background=He?"var(--ed-soft)":"transparent"}),De.addEventListener("click",()=>this.core.select("block",Ae.id));const Ne=h("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: ${He?"var(--ed-accent)":"var(--ed-soft)"}; color: ${He?"var(--ed-accent-ink)":"var(--ed-accent)"};`);Ne.appendChild(I(Ae.type,12)),De.append(Ne,h("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:Ee||Ce,class:"mc-tree-title",dir:"auto"})),Ee&&De.append(h("span","flex: 1; min-width: 8px;"),h("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:Ce,class:"mc-tree-type"})),je.appendChild(De)}),re.appendChild(je)}r.appendChild(re)}),i.appendChild(r),H.appendChild(i)}),k.appendChild(H),k}renderThemeTab(){const t=this.tabSurface();return f(t,this.core.themeFields()),t}renderDataTab(){const t=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("vars.title"),l("vars.fromCode",{count:this.core.vars().length})));const H=this.sectionBody();H.appendChild(h("p","margin: 0 0 12px; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:l("vars.declaredNote")}));const y=h("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:l("vars.filterPlaceholder"),"data-focus-key":"var-query",dir:"auto"});y.value=t.varQuery||"",y.addEventListener("focus",()=>{y.style.borderColor="var(--ed-accent)",y.style.outline="none"}),y.addEventListener("blur",()=>{y.style.borderColor="var(--ed-line)"});const R=P(c=>this.core.setState({varQuery:c}));y.addEventListener("input",c=>R.call(c.target.value)),H.appendChild(y);const e=this.core.vars(),i=e.filter(c=>!t.varQuery||c.toLowerCase().includes(String(t.varQuery).toLowerCase())),p=h("div","display: grid; gap: 3px;");return i.forEach(c=>{const r=c.replace(/[_.]/g," ").replace(/\b\w/g,re=>re.toUpperCase()),T=h("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:l("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 Q=h("span","flex: 1; min-width: 0;");Q.append(h("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; line-height: 1.2;",{text:r}),h("span","display: block; font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-accent); margin-top: 2px;",{text:j(c),dir:"ltr"})),T.append(Q,h("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:l("vars.insert")})),p.appendChild(T)}),H.appendChild(p),i.length||H.appendChild(h("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:e.length?l("vars.noMatch"):l("vars.noneDeclared")})),H.appendChild(h("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:l("vars.rteHint")})),k.appendChild(H),k}buildLibraryModal(){const t=this.core.t,l=h("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"});l.addEventListener("click",r=>{r.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=h("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"});k.addEventListener("click",r=>r.stopPropagation()),l.appendChild(k);const H=h("div","display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);");this.libraryTitleEl=h("div","flex: 1;"),this.libraryTitleEl.append(h("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=h("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;")),this.assetSearch=h("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 y=P(r=>this.core.setAssetQuery(r));this.assetSearch.addEventListener("input",r=>y.call(r.target.value));const R=h("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"});R.append(I("upload",14),h("span","",{text:t("action.upload"),"data-i18n":"action.upload"})),R.addEventListener("mouseenter",()=>{R.style.filter="brightness(1.1)"}),R.addEventListener("mouseleave",()=>{R.style.filter=""}),R.addEventListener("click",()=>this.fileInput.click());const e=h("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"});e.appendChild(I("x",14)),e.addEventListener("mouseenter",()=>{e.style.borderColor="var(--ed-accent)"}),e.addEventListener("mouseleave",()=>{e.style.borderColor="var(--ed-line)"}),e.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),Me(e,t("action.close"),"down","end"),H.append(this.libraryTitleEl,this.assetSearch,R,e),k.appendChild(H);const i=h("div","display: grid; grid-template-columns: 186px 1fr; min-height: 0;");this.folderList=h("div","border-right: 1px solid var(--ed-line); padding: 14px; overflow-y: auto;");const p=h("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=h("div","display: grid; gap: 2px;"),this.folderList.append(p,this.folderGrid),this.assetGridWrap=h("div","overflow-y: auto; padding: 16px; transition: background 0.16s;"),this.assetGridWrap.addEventListener("dragover",r=>{this.core.drag||(r.preventDefault(),this.core.state.libHot||this.core.setState({libHot:!0}))}),this.assetGridWrap.addEventListener("drop",r=>{r.preventDefault(),this.core.setState({libHot:!1}),r.dataTransfer?.files?.length&&this.core.addFiles(r.dataTransfer.files)}),this.assetStatus=h("div","font-size: 12.5px; color: var(--ed-muted); padding: 0 2px 12px;"),this.assetGrid=h("div","display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 14px;"),this.assetEmpty=h("div","padding: 28px 2px; color: var(--ed-muted); font-size: 12.5px;",{text:t("library.empty"),"data-i18n":"library.empty"}),this.assetMore=h("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(h("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"})),i.append(this.folderList,this.assetGridWrap),k.appendChild(i);const c=h("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=h("span"),this.storageLabelEl=h("span"),c.append(this.libraryHintEl,this.storageLabelEl),k.appendChild(c),l}renderLibraryModal(){const t=this.core.state,l=this.core.t;if(this.libraryModal.style.display=t.libraryOpen?"flex":"none",!t.libraryOpen)return;this.libraryTitleText.textContent=t.assetTarget?l("modal.replaceImage"):l("modal.assetsTitle"),this.libraryHintEl.textContent=t.assetTarget?l("library.clickToReplace"):l("library.clickToPlace"),this.storageLabelEl.textContent=l("library.storageLabel",{count:t.assets.length,size:M(t.assets.reduce((y,R)=>y+(R.size||0),0))}),this.assetSearch.value!==(t.assetQuery||"")&&(this.assetSearch.value=t.assetQuery||""),this.fileInput.accept=V(this.core.limits()),this.folderGrid.innerHTML="",this.core.folderOptions().forEach(y=>{const R=t.assetFolder===y.id,e=h("button",`text-align: left; border: 0; border-left: 2px solid ${R?"var(--ed-accent)":"transparent"}; background: ${R?"var(--ed-soft)":"transparent"}; color: ${R?"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"});e.addEventListener("mouseenter",()=>{e.style.background="var(--ed-soft)"}),e.addEventListener("mouseleave",()=>{e.style.background=R?"var(--ed-soft)":"transparent"}),e.addEventListener("click",()=>this.core.setAssetFolder(y.id)),e.append(h("span","",{text:y.name}),h("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:y.count==null?"":String(y.count)})),this.folderGrid.appendChild(e)});const k=t.uploading?l("storage.uploading",{count:t.uploading}):t.assetsError?l("storage.errLoadFailed",{reason:t.assetsError}):t.assetsLoading?l("storage.loading"):"";this.assetStatus.textContent=k,this.assetStatus.style.display=k?"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 H=this.core.visibleAssets();this.assetGrid.innerHTML="",H.forEach(y=>{const R=h("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"});R.addEventListener("mouseenter",()=>{R.style.borderColor="var(--ed-accent)",R.style.transform="translateY(-1px)",R.style.boxShadow="var(--ed-shadow-md)"}),R.addEventListener("mouseleave",()=>{R.style.borderColor="var(--ed-line)",R.style.transform="",R.style.boxShadow=""}),R.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:y.id})),R.addEventListener("click",()=>this.core.useAsset(y)),R.appendChild(h("div",`width: 100%; height: 120px; background-image: url("${y.url}"); background-size: cover; background-position: center; background-color: var(--ed-work); border-bottom: 1px solid var(--ed-line);`,{role:"img","aria-label":y.name}));const e=h("div","padding: 8px 9px;");e.appendChild(h("div","font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:y.name}));const i=h("div","display: flex; justify-content: space-between; gap: 6px; margin-top: 3px;");i.appendChild(h("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:`${y.w?y.w+"×"+y.ht+" · ":""}${M(y.size||0)}`}));const p=h("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint); cursor: pointer;",{title:l("library.deleteFileHint"),text:l("library.del")});p.addEventListener("mouseenter",()=>{p.style.color="var(--ed-danger)"}),p.addEventListener("mouseleave",()=>{p.style.color="var(--ed-faint)"}),p.addEventListener("click",c=>{c.stopPropagation(),this.core.removeAsset(y)}),i.appendChild(p),e.appendChild(i),R.appendChild(e),this.assetGrid.appendChild(R)}),this.assetEmpty.style.display=!H.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,l=h("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"});l.addEventListener("click",i=>{i.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=h("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"});k.addEventListener("click",i=>i.stopPropagation()),l.appendChild(k);const H=h("div","display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),y=h("div","flex: 1;");y.append(h("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"}),h("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=h("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=I("copy",14),this.copyBtn.labelNode=h("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=h("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(I("image",14),h("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 R=h("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"});R.append(I("download",14),h("span","",{text:t("action.download"),"data-i18n":"action.download"})),R.addEventListener("mouseenter",()=>{R.style.filter="brightness(1.1)"}),R.addEventListener("mouseleave",()=>{R.style.filter=""}),R.addEventListener("click",()=>this.core.downloadExport());const e=h("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 e.appendChild(I("x",14)),e.addEventListener("mouseenter",()=>{e.style.borderColor="var(--ed-accent)"}),e.addEventListener("mouseleave",()=>{e.style.borderColor="var(--ed-line)"}),e.addEventListener("click",()=>this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})),Me(e,t("action.close"),"down","end"),H.append(y,this.copyBtn,this.shotBtn,R,e),k.appendChild(H),this.exportTextarea=h("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"}),k.appendChild(this.exportTextarea),this.exportMetaEl=h("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);"),k.appendChild(this.exportMetaEl),l}renderExportModal(){const t=this.core.state,l=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?l("export.copied"):l("export.copy"),this.exportMetaEl.textContent=l("export.meta",{kb:(t.exportCode.length/1024).toFixed(1)}))}buildCodeModal(){const t=this.core.t,l=h("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"}),k=h("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"}),H=h("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"});H.appendChild(I("code",17));const y=h("div","flex: 1; min-width: 0;");this.codeStatusEl=h("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"}),y.append(this.codeStatusEl,h("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=h("div","",{class:"mc-segment"});const R="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;",e=h("button",R,{type:"button",title:t("toast.htmlCopied"),"data-i18n-title":"toast.htmlCopied",class:"mc-code-copy"});e.appendChild(I("copy",14));const i=h("span","",{text:t("story.copy"),"data-i18n":"story.copy"});e.appendChild(i),e.addEventListener("mouseenter",()=>{e.style.borderColor="var(--ed-accent)",e.style.background="var(--ed-soft)"}),e.addEventListener("mouseleave",()=>{e.style.borderColor="var(--ed-line)",e.style.background="transparent"}),e.addEventListener("click",()=>{this.core.copyCode(),i.setAttribute("data-i18n","export.copied"),i.textContent=this.core.t("export.copied"),clearTimeout(this._codeCopyTimer),this._codeCopyTimer=setTimeout(()=>{i.setAttribute("data-i18n","story.copy"),i.textContent=this.core.t("story.copy")},1600)});const p=h("button",R,{type:"button",title:t("action.reloadHint"),"data-i18n-title":"action.reloadHint"});p.appendChild(I("refresh",14)),p.appendChild(h("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 Ce=this.core.buildHtml();this.core.setState({codeSrc:Ce,codeLive:Ce,codeDirty:!1}),this.core.flash(this.core.t("toast.sourceReloaded"))});const c=h("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"});c.appendChild(I("check",14)),c.appendChild(h("span","",{text:t("action.applyToCanvas"),"data-i18n":"action.applyToCanvas"})),c.addEventListener("mouseenter",()=>{c.style.filter="brightness(1.1)"}),c.addEventListener("mouseleave",()=>{c.style.filter=""}),c.addEventListener("click",()=>this.core.applyCode());const r=h("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(I("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})),Me(r,t("action.closeWithoutApplyingHint"),"down","end"),k.append(H,y,this.codeWidthSeg,e,p,c,r),l.appendChild(k);const T=h("div","display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; min-height: 0; background: var(--ed-work);",{class:"mc-code-split"}),Q=h("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"}),re=h("div","padding: 5px 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; align-items: center; justify-content: space-between; gap: 10px; min-height: 30px; box-sizing: border-box;",{class:"mc-pane-label"});this._codeFind={open:!1,q:"",index:0,matches:[]},this.codeMetaEl=h("span");const ke=(Ce,Ee,De)=>{const Ne=h("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-muted); cursor: pointer; width: 26px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 6px; flex: none; transition: border-color 0.16s, color 0.16s;",{type:"button",title:t(Ee),"data-i18n-title":Ee,"aria-label":t(Ee)});return Ne.appendChild(I(Ce,13)),Ne.addEventListener("mouseenter",()=>{Ne.style.borderColor="var(--ed-accent)"}),Ne.addEventListener("mouseleave",()=>{Ne.style.borderColor=Ne.getAttribute("aria-pressed")==="true"?"var(--ed-accent)":"var(--ed-line)"}),Ne.addEventListener("click",De),Ne};this.codeFindBtn=ke("search","code.find",()=>this._codeFind.open?this.closeCodeFind():this.openCodeFind()),this.codeWrapBtn=ke("wrap","code.wrap",()=>this.toggleCodeWrap()),this.codeFormatBtn=ke("indent","code.format",()=>this.formatCodeSource());const fe=h("div","display: flex; align-items: center; gap: 5px;",{class:"mc-code-tools"});fe.append(this.codeFindBtn,this.codeWrapBtn,this.codeFormatBtn,this.codeMetaEl),re.append(h("span","",{text:t("code.source"),"data-i18n":"code.source"}),fe),Q.appendChild(re);const je=h("div","position: relative; min-height: 0;");je.appendChild(this.buildCodeEditor()),je.appendChild(this.buildCodeFindBar()),Q.appendChild(je),T.appendChild(Q),l.addEventListener("keydown",Ce=>{if(!(Ce.ctrlKey||Ce.metaKey)||Ce.altKey)return;const Ee=Ce.key.toLowerCase();Ee==="f"&&(Ce.preventDefault(),Ce.stopPropagation(),this.openCodeFind()),Ee==="g"&&(Ce.preventDefault(),Ce.stopPropagation(),this.openCodeFind(!0))});const Ae=h("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"});Ae.appendChild(h("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 He=h("div","overflow: auto; display: flex; justify-content: center; background: var(--ed-work);",{class:"mc-code-preview-body"});return this.codePreviewBody=He,this.codeFrame=h("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(),this.wireCodePreviewInspect()}),He.appendChild(this.codeFrame),Ae.appendChild(He),T.appendChild(Ae),l.appendChild(T),l.appendChild(h("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"})),l}buildCodeEditor(){const t="font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 20px; tab-size: 2;",l=h("div","position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; background: var(--ed-work);",{dir:"ltr"}),k=h("div","position: relative; min-height: 100%; width: 100%; min-width: 0;");this.codeScroller=l,this.codeInnerEl=k;try{this._codeWrap=localStorage.getItem("mailcraft.codewrap")!=="off"}catch{this._codeWrap=!0}this.codePre=h("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=h("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",y=>this.core.setCodeSrc(y.target.value)),this.codeTextarea.addEventListener("keydown",y=>this.onCodeEditorKeydown(y));const H=()=>{this.core.state.codeOpen&&(this.refreshCodeCaret(),clearTimeout(this._inspectTimer),this._inspectTimer=setTimeout(()=>this.inspectFromCaret(),160))};return this.codeTextarea.addEventListener("click",H),this.codeTextarea.addEventListener("keyup",y=>{["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(y.key)&&H()}),k.append(this.codePre,this.codeTextarea),l.appendChild(k),l}onCodeEditorKeydown(t){const l=t.target;if(t.key==="Escape"&&this._codeFind&&this._codeFind.open){t.preventDefault(),t.stopPropagation(),this.closeCodeFind();return}if(t.key==="Enter"&&!t.shiftKey&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&!t.isComposing){t.preventDefault();const c=l.selectionStart,r=l.value.lastIndexOf(`
|
|
109
|
-
`,
|
|
110
|
-
`+
|
|
111
|
-
`)){this.codeInsertText(" ");return}const R=
|
|
112
|
-
`,k-1)+1;let
|
|
113
|
-
`,
|
|
114
|
-
`),
|
|
115
|
-
`).length-1!==this._codeCaretLine&&this.refreshCodeSource()}codeLineOf(
|
|
116
|
-
`).length-1}scrollCodeLineIntoView(
|
|
117
|
-
`)&&(this.codeFindInput.value=
|
|
118
|
-
`),H=Math.min(Math.max(1,l),k.length)-1;let y=0;for(let R=0;R<H;R++)y+=k[R].length+1;try{this.codeTextarea.focus(),this.codeTextarea.setSelectionRange(y,y)}catch{}this.refreshCodeSource(),this.scrollCodeLineIntoView(H,!0)}codeScan(){const t=this.core.state.codeSrc;return this._codeScanSrc!==t&&(this._codeScanSrc=t,this._codeScanned=L(t)),this._codeScanned}codePreviewEls(t,l){const k=H=>H.closest&&H.closest("[data-mc-deco]")||H.firstElementChild&&H.firstElementChild.hasAttribute&&H.firstElementChild.hasAttribute("data-mc-deco");return Array.from(t.getElementsByTagName(l)).filter(H=>!k(H))}inspectFromCaret(){const t=this.core.state;if(!t.codeOpen)return;const l=this.codeFrame&&this.codeFrame.contentDocument;if(!l||!l.body)return;const k=this.codeScan(),H=Math.min(this.codeTextarea.selectionStart||0,Math.max(0,t.codeSrc.length-1));let y=d(k,H),R=null;for(;y;){const e=this.codePreviewEls(l,y.tag);if(e.length===(k.byTag[y.tag]||[]).length){R=e[y.nth]||null;break}y=y.parent>=0?k.els[y.parent]:null}this.highlightPreviewNode(R)}highlightPreviewNode(t){const l=this.codeFrame&&this.codeFrame.contentDocument;if(l){if(this._previewHit&&this._previewHit!==t)try{this._previewHit.removeAttribute("data-mc-hit")}catch{}if(this._previewHit=null,!(!t||t===l.body||t===l.documentElement)&&(this._previewHit=t,t.setAttribute("data-mc-hit",""),this.ensureInspectStyle(l),typeof t.scrollIntoView=="function"))try{t.scrollIntoView({block:"nearest",behavior:"smooth"})}catch{try{t.scrollIntoView()}catch{}}}}ensureInspectStyle(t){if(!t.head)return;const l=this.ownerDocument&&this.ownerDocument.defaultView,k=l&&l.getComputedStyle(this.mc).getPropertyValue("--ed-accent").trim()||"#2563eb";let H=t.head.querySelector("[data-mc-inspect-style]");H||(H=t.createElement("style"),H.setAttribute("data-mc-inspect-style",""),t.head.appendChild(H)),H.textContent=`[data-mc-hit] { outline: 2px solid ${k} !important; outline-offset: -1px !important; }`}wireCodePreviewInspect(){const t=this.codeFrame&&this.codeFrame.contentDocument;!t||t===this._inspectWiredDoc||(this._inspectWiredDoc=t,this._previewHit=null,t.addEventListener("click",l=>{this.core.state.codeOpen&&(l.preventDefault(),this.revealSourceFromPreview(l.target))},!0))}revealSourceFromPreview(t){const l=this.codeFrame&&this.codeFrame.contentDocument;if(!l)return;const k=this.codeScan();let H=t&&t.nodeType===1?t:t&&t.parentElement,y=null,R=null;for(;H&&H!==l.documentElement;){if(H.closest&&H.closest("[data-mc-deco]")){H=H.parentElement;continue}const e=H.tagName.toLowerCase(),i=this.codePreviewEls(l,e),p=i.indexOf(H);if(p!==-1&&(k.byTag[e]||[]).length===i.length){y=k.byTag[e][p],R=H;break}H=H.parentElement}if(y){try{this.codeTextarea.focus(),this.codeTextarea.setSelectionRange(y.openStart,y.openEnd)}catch{}this.refreshCodeSource(),this.scrollCodeLineIntoView(this.codeLineOf(y.openStart),!0),this.highlightPreviewNode(R)}}buildAiModal(){const t=this.core.t,l=h("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"});l.addEventListener("click",Q=>{Q.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=h("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"});k.addEventListener("click",Q=>Q.stopPropagation()),l.appendChild(k);const H=h("div","display: flex; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),y=h("div","flex: 1;");y.append(h("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"}),h("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 R=h("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"});R.appendChild(I("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})),Me(R,t("action.close"),"down","end"),H.append(y,R),k.appendChild(H);const e=h("div","padding: 20px; display: grid; gap: 14px;");e.appendChild(h("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 i=h("div","display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"),p=h("div");p.appendChild(h("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.goal"),"data-i18n":"ai.goal"})),this.aiGoalSelect=h("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",Q=>this.core.setState({aiGoal:Q.target.value})),Y.forEach(Q=>{const re=document.createElement("optgroup");re.label=Q.group,Q.items.forEach(ke=>{const fe=document.createElement("option");fe.value=ke,fe.textContent=ke,re.appendChild(fe)}),this.aiGoalSelect.appendChild(re)}),p.appendChild(this.aiGoalSelect);const c=h("div");c.appendChild(h("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.tone"),"data-i18n":"ai.tone"})),this.aiToneSelect=h("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",Q=>this.core.setState({aiTone:Q.target.value})),de.forEach(Q=>{const re=document.createElement("option");re.value=Q,re.textContent=Q,this.aiToneSelect.appendChild(re)}),c.appendChild(this.aiToneSelect),i.append(p,c),e.appendChild(i);const r=h("div");r.appendChild(h("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:t("ai.briefLabel"),"data-i18n":"ai.briefLabel"})),this.aiBriefInput=h("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=P(Q=>this.core.setState({aiBrief:Q}));return this.aiBriefInput.addEventListener("blur",()=>{this.aiBriefInput.style.borderColor="var(--ed-line)",T.flush()}),this.aiBriefInput.addEventListener("input",Q=>T.call(Q.target.value)),r.appendChild(this.aiBriefInput),e.appendChild(r),this.aiRunBtn=h("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=I("spark",14),this.aiRunBtn.labelNode=h("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()),e.appendChild(this.aiRunBtn),this.aiResultsEl=h("div"),e.appendChild(this.aiResultsEl),k.appendChild(e),l}renderAiModal(){const t=this.core.state,l=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?l("ai.writing"):l("ai.generate"),this.aiResultsEl.innerHTML="",t.aiResults.forEach(k=>{const H=h("div","position: relative; border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); padding: 15px;");H.appendChild(h("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:k.kind})),H.appendChild(h("div","font-size: 14px; line-height: 1.55; white-space: pre-wrap;",{text:k.text,dir:"auto"}));const y=h("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:k.action});y.addEventListener("mouseenter",()=>{y.style.background="var(--ed-accent)",y.style.color="var(--ed-accent-ink)",y.style.borderColor="var(--ed-accent)"}),y.addEventListener("mouseleave",()=>{y.style.background="transparent",y.style.color="var(--ed-text)",y.style.borderColor="var(--ed-line)"}),y.addEventListener("click",k.onUse),H.appendChild(y),this.aiResultsEl.appendChild(H)}))}buildPreviewModal(){const t=this.core.t,l=h("div","",{class:"mc-fullscreen-panel mc-preview-panel"});l.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 k=h("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"}),H=h("div","flex: 1; min-width: 0;");this.previewKickerEl=h("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"}),H.append(this.previewKickerEl),this.previewDeviceSeg=h("div","",{class:"mc-segment"});const y=h("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"});y.appendChild(I("x",14)),y.appendChild(h("span","",{text:t("action.close"),"data-i18n":"action.close"})),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="transparent"}),y.addEventListener("click",()=>this.core.setState({previewOpen:!1})),k.append(H,this.previewDeviceSeg,y),l.appendChild(k);const R=h("div","overflow-y: auto;",{class:"mc-preview-body"});return this.previewBody=R,this.previewSlot=h("div","",{class:"mc-sheet-wrap"}),this.previewSlot.style.cssText="display: flex; justify-content: center;",R.appendChild(this.previewSlot),l.appendChild(R),l}renderPreviewModal(){const t=this.core.state,l=this.core.t;if(this.previewModal.style.display=t.previewOpen?"grid":"none",!t.previewOpen){this._previewDoc=null;return}this.previewKickerEl.textContent=t.device==="mobile"?l("preview.kickerMobile"):l("preview.kickerDesktop",{width:t.doc.theme.width}),this.previewDeviceSeg.innerHTML="",[{label:l("device.desktop"),v:"desktop",iconName:"monitor"},{label:l("device.mobile"),v:"mobile",iconName:"phone"}].forEach(H=>{const y=t.device===H.v,R=h("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(y)}; color: ${this.segFg(y)};`,{type:"button",title:H.label,"aria-pressed":String(y)});R.appendChild(I(H.iconName,15)),R.addEventListener("click",()=>this.core.setState({device:H.v})),Me(R,H.label,"down"),this.previewDeviceSeg.appendChild(R)});const k=t.doc.theme.bg||"";this.previewBody.style.background=/^(transparent|none)$/i.test(k.trim())?"":k,(t.doc!==this._previewDoc||t.device!==this._previewDevice||l!==this._previewT)&&(this._previewDoc=t.doc,this._previewDevice=t.device,this._previewT=l,this.previewSlot.replaceChildren(u(this.core,!1)))}}function We(me){const t=()=>me.state.doc.rows.length;return x.map(l=>{if(l.g){const H=Z[l.g];return{label:H.label,icon:()=>I(H.icon,20),hint:H.label+" — drops a row of ordinary blocks you can edit and rearrange one by one",onDragStart:me.startDrag({kind:"group",id:l.g}),onAdd:()=>me.insertGroup(l.g,null,0,t())}}const k=K(l.t);return k?{label:k.label,icon:()=>I(k.type,20),hint:k.hint+" — drag onto the canvas, or double-click to append",onDragStart:me.startDrag({kind:"block",type:k.type}),onAdd:()=>me.insertBlock(k.type,null,0,t())}:null}).filter(Boolean)}typeof customElements<"u"&&!customElements.get("mailcraft-editor")&&customElements.define("mailcraft-editor",Be),Object.assign($,{MailCraftEditor:Be})},ue["render/block-body.js"]=function(he,$,D){const{icon:q,brandIcon:Y,socialKey:de,SOCIAL_BRAND:Z,contrastInk:b}=D("core/icons.js"),{pad:K}=D("core/layout-style.js"),{parseItems:x,cellsOf:M}=D("core/parse.js"),{linkHref:V}=D("core/sanitize.js");function u(A,w,L){const d=document.createElement(A);if(w&&Object.assign(d.style,w),L)for(const[a,g]of Object.entries(L))a==="html"?d.innerHTML=g:a==="text"?d.textContent=g:g!==void 0&&d.setAttribute(a,g);return d}function m(A){return String(A??"")}const o={"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-lt-active":"false"};function f(A){return A?{contenteditable:"true",spellcheck:"false",...o}:{spellcheck:"false"}}const P={overflowWrap:"anywhere",wordBreak:"break-word"};function I(A,w){w&&A.querySelectorAll("[style]").forEach(L=>L.style.removeProperty("font-family"))}function S(A,w){if(!w)return;const L=a=>{const g=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(String(a||"").trim());return(g?"#"+[g[1],g[2],g[3]].map(C=>Number(C).toString(16).padStart(2,"0")).join(""):String(a||"")).toLowerCase()},d=L(w);A.querySelectorAll("a[style]").forEach(a=>{a.style.color&&L(a.style.color)===d&&a.style.removeProperty("color")})}function j(A,w,L,d){const a=A.props,g=w,v=L?{"data-mc-content":A.id}:{};switch(A.type){case"text":{const C=L,F=u("div",{padding:K(a),fontSize:a.size+"px",lineHeight:a.lh,textAlign:a.align,fontWeight:a.weight,color:a.color||g.text,outline:"none",fontFamily:a.fontFamily||g.font,...P},{...v,...f(C),html:m(a.html),"data-focus-key":C?"block:"+A.id:void 0});return I(F,a.fontFamily),S(F,g.link),C&&N(F,A,"html",d,!1),L?E(A,d,C&&d.editingId===A.id,F):F}case"image":{const C=u("div",{padding:K(a),textAlign:a.align,fontSize:"0"},v),F=V(a.href);if(F){const W=u("a",{display:"inline-block",width:a.width+"%"},{href:F});W.addEventListener("click",ae=>ae.preventDefault()),W.appendChild(u("img",{width:"100%",borderRadius:a.radius+"px",display:"block",border:"0"},{src:a.src,alt:a.alt})),C.appendChild(W)}else C.appendChild(u("img",{width:a.width+"%",maxWidth:"100%",borderRadius:a.radius+"px",display:"inline-block",border:"0"},{src:a.src,alt:a.alt}));return C}case"button":{const C=u("div",{textAlign:a.align,padding:"4px 0"},v),F=u("table",{display:a.full?"table":"inline-table",width:a.full?"100%":"auto",borderCollapse:"separate",cssFloat:"none"},{role:"presentation",cellpadding:"0",cellspacing:"0",border:"0",align:a.full?void 0:a.align}),W=u("td",{background:a.bg,borderRadius:a.radius+"px",padding:a.py+"px "+a.px+"px",textAlign:"center",border:a.borderW?a.borderW+"px "+(a.borderStyle||"solid")+" "+(a.borderColor||a.color):"0"},{align:"center",bgcolor:a.bg||void 0}),ae=u("a",{display:"block",color:a.color,textDecoration:"none",background:a.bg,borderRadius:a.radius+"px",fontFamily:a.fontFamily||g.font,fontSize:a.size+"px",fontWeight:"600",letterSpacing:"0.02em",outline:"none",...P},{href:V(a.href),...f(L),text:a.label});ae.addEventListener("click",ie=>ie.preventDefault()),L&&ae.addEventListener("blur",ie=>{ie.target.textContent!==a.label&&d.onBlur(A,"label",ie.target.textContent)}),W.appendChild(ae);const J=u("tr");J.appendChild(W);const X=u("tbody");return X.appendChild(J),F.appendChild(X),C.appendChild(F),C}case"divider":{const C=u("div",{padding:a.py+"px 0"},v);return C.appendChild(u("div",{height:"0",width:a.width+"%",margin:"0 auto",borderTop:a.thickness+"px "+(a.lineStyle||"solid")+" "+a.color})),C}case"spacer":return u("div",{height:a.height+"px"},v);case"social":{const C=a.shape||"outline",F=a.palette||"custom",W=C==="circle"||C==="square",ae=Math.round((a.size||20)*1.9),J=u("div",{textAlign:a.align,padding:"8px 0"},v);return x(a.items).forEach(X=>{const ie=de(X.label),ce=F==="brand"&&Z[ie]||a.color,be=W?b(ce):ce,ve=u("a",{display:"inline-flex",flexDirection:a.showLabel?"column":"row",alignItems:"center",justifyContent:"center",gap:"5px",width:a.showLabel?"auto":ae+"px",height:a.showLabel?"auto":ae+"px",padding:a.showLabel?"7px 9px":"0",margin:"0 "+(a.gap||12)/2+"px",verticalAlign:"middle",textDecoration:"none",borderRadius:C==="circle"?"50%":C==="square"?Math.round(ae*.28)+"px":"0",color:be,background:W?ce:"transparent",border:C==="outline"?"1px solid "+ce:"0"},{href:V(X.href),title:X.label});ve.addEventListener("click",ee=>ee.preventDefault());let pe=null;if(d&&d.iconProvider)try{pe=d.iconProvider(ie,{label:X.label,size:a.size,color:be})}catch{pe=null}if(ve.appendChild(pe instanceof Node?pe:Y(ie,a.size)),a.showLabel){const ee=u("span",{fontFamily:a.fontFamily||g.font,fontSize:"10px",letterSpacing:"0.12em",textTransform:"uppercase"},{text:X.label});ve.appendChild(ee)}J.appendChild(ve)}),J}case"video":{const C=u("div",{padding:"4px 0",textAlign:"center"},v),F=u("a",{display:"block",position:"relative"},{href:V(a.href)});F.addEventListener("click",J=>J.preventDefault()),F.appendChild(u("img",{width:"100%",display:"block",border:"0"},{src:a.src,alt:a.caption}));const W=u("span",{position:"absolute",inset:"0",display:"flex",alignItems:"center",justifyContent:"center"}),ae=u("span",{width:"54px",height:"54px",borderRadius:"50%",background:a.badge,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"18px",paddingLeft:"4px"},{text:"▶"});return W.appendChild(ae),F.appendChild(W),C.appendChild(F),C.appendChild(u("div",{fontFamily:g.font,fontSize:"12.5px",color:a.badge,opacity:"0.7",marginTop:"8px"},{text:a.caption})),C}case"html":{const C=String(a.code||""),F=L&&!/<style|<scr/i.test(C),W=L?C.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,(J,X,ie)=>"<style"+X+">"+d.scopeCss(ie,"[data-mc-sheet]")+"</style>"):C,ae=u("div",{padding:"6px 0",fontFamily:g.font,color:g.text,outline:"none"},{...v,...f(F),html:m(W),"data-focus-key":F?"block:"+A.id:void 0});return F&&N(ae,A,"code",d,!1),L?E(A,d,F&&d.editingId===A.id,ae):ae}case"countdown":{const C=Math.max(0,new Date(a.target).getTime()-d.now),F=[["days",Math.floor(C/864e5)],["hrs",Math.floor(C/36e5)%24],["min",Math.floor(C/6e4)%60],["sec",Math.floor(C/1e3)%60]],W=u("div",{padding:"10px 0",textAlign:"center",fontFamily:a.fontFamily||g.font,color:a.color},L?Object.assign({"data-mc-countdown":a.target},v):v);W.appendChild(u("div",{fontSize:"12px",letterSpacing:"0.14em",textTransform:"uppercase",opacity:"0.6",marginBottom:"10px"},{text:a.label}));const ae=u("div",{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:"10px"});return F.forEach(([J,X])=>{const ie=u("div",{border:"1px solid "+a.color+"33",padding:"9px 12px",minWidth:"58px"});ie.appendChild(u("div",{fontSize:"25px",fontFamily:a.fontFamily||g.font,fontWeight:"700",lineHeight:"1"},L?{text:String(X).padStart(2,"0"),"data-mc-count":J}:{text:String(X).padStart(2,"0")})),ie.appendChild(u("div",{fontSize:"9.5px",letterSpacing:"0.16em",textTransform:"uppercase",opacity:"0.55",marginTop:"4px"},{text:J})),ae.appendChild(ie)}),W.appendChild(ae),W}case"menu":{const C=u("div",{textAlign:a.align,padding:"10px 0"},v);return x(a.items).forEach(F=>{const W=u("a",{display:"inline-block",color:a.color,fontSize:a.size+"px",fontFamily:a.fontFamily||g.font,textDecoration:"none",margin:"0 "+a.gap/2+"px",letterSpacing:"0.12em",textTransform:"uppercase"},{href:V(F.href),text:F.label});W.addEventListener("click",ae=>ae.preventDefault()),C.appendChild(W)}),C}case"heading":{const C=L,F=u(a.level||"h2",{margin:"0",padding:K(a),fontSize:a.size+"px",lineHeight:a.lh,textAlign:a.align,fontWeight:a.weight,letterSpacing:a.font==="condensed"?"0.005em":"-0.01em",color:a.color||g.text,outline:"none",...P,fontFamily:a.fontFamily||(a.font==="condensed"?"'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif":g.font)},{...v,...f(C),text:m(a.text),"data-focus-key":C?"block:"+A.id:void 0});return C&&N(F,A,"text",d,!0),L?E(A,d,d.editingId===A.id,F):F}case"list":{const C=String(a.items||"").split(`
|
|
119
|
-
`).filter(
|
|
120
|
-
`)))},renderRte:
|
|
121
|
-
`)),C=
|
|
122
|
-
`).map(
|
|
123
|
-
`)),F=M("div",{display:"flex",flexDirection:"column",gap:"4px"}),W={border:"0",borderRadius:"5px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",fontSize:"11px",lineHeight:"1",padding:"2px"},ae=X=>{X.addEventListener("mouseenter",()=>{X.style.background="var(--ed-danger-soft)",X.style.color="var(--ed-danger)"}),X.addEventListener("mouseleave",()=>{X.style.background="transparent",X.style.color="var(--ed-faint)"})};if(v>1){const X=M("div",{display:"flex",gap:"4px",paddingRight:g.length>1?"22px":"0"});for(let ie=0;ie<v;ie++){const ce=M("button",Object.assign({flex:"1",minWidth:"0"},W),{type:"button",title:"Remove column "+(ie+1),text:"✕"});ae(ce),ce.addEventListener("click",()=>C(g.map(be=>be.filter((ve,pe)=>pe!==ie)))),X.appendChild(ce)}F.appendChild(X)}g.forEach((X,ie)=>{const ce=M("div",{display:"flex",gap:"4px",alignItems:"center"});if(X.forEach((be,ve)=>{const pe=M("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:d.header&&ie===0?"700":"400",padding:"5px 6px"},{"data-focus-key":`f${d.key}-r${ie}c${ve}`,dir:"auto"});pe.value=be;const ee=u(Se=>{const h=g.map(Pe=>Pe.slice());h[ie][ve]=Se,C(h)});pe.addEventListener("input",Se=>ee.call(Se.target.value)),pe.addEventListener("focus",()=>{pe.style.borderColor="var(--ed-accent)",pe.style.outline="none"}),pe.addEventListener("blur",()=>{pe.style.borderColor="var(--ed-line)",ee.flush()}),ce.appendChild(pe)}),g.length>1){const be=M("button",Object.assign({width:"18px",flex:"none"},W),{type:"button",title:"Remove row "+(ie+1),text:"✕"});ae(be),be.addEventListener("click",()=>C(g.filter((ve,pe)=>pe!==ie))),ce.appendChild(be)}F.appendChild(ce)});const J=M("div",{display:"flex",gap:"6px",marginTop:"2px"});return[["+ Row",()=>C(g.concat([new Array(v).fill("")]))],["+ Column",()=>C(g.map(X=>X.concat("")))]].forEach(([X,ie])=>{const ce=M("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:X});ce.addEventListener("mouseenter",()=>{ce.style.borderColor="var(--ed-accent)",ce.style.color="var(--ed-accent)",ce.style.background="var(--ed-soft)"}),ce.addEventListener("mouseleave",()=>{ce.style.borderColor="var(--ed-line-2)",ce.style.color="var(--ed-muted)",ce.style.background="transparent"}),ce.addEventListener("click",ie),J.appendChild(ce)}),F.appendChild(J),a.appendChild(F),a}function E(d,a){const g=M("div",{display:"flex",alignItems:"stretch",width:a||"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"}),v=(X,ie,ce)=>{const be=M("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:ie});return be.appendChild(q(X,11)),be.addEventListener("mouseenter",()=>{be.style.background="var(--ed-soft)",be.style.color="var(--ed-accent)"}),be.addEventListener("mouseleave",()=>{be.style.background="transparent",be.style.color="var(--ed-muted)"}),be.addEventListener("click",ce),be},C=v("minus","Decrease",()=>d.onDec()),F=M("div",{flex:"1",minWidth:"0",display:"flex",alignItems:"baseline",alignSelf:"center",justifyContent:"center",gap:"3px",padding:"0 2px"}),W=M("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${d.key}`});W.value=d.value;const ae=u(d.onInput);W.addEventListener("input",X=>ae.call(X.target.value)),W.addEventListener("blur",X=>{ae.flush(),d.onBlur(X.target.value)}),W.addEventListener("focus",()=>{g.style.borderColor="var(--ed-accent)",g.style.boxShadow="0 0 0 3px var(--ed-soft)"}),W.addEventListener("blur",()=>{g.style.borderColor="var(--ed-line)",g.style.boxShadow="none"}),F.appendChild(W),d.unit&&F.appendChild(M("span",{flex:"none",fontSize:"12px",fontFamily:"var(--ed-font)",fontWeight:"500",color:"var(--ed-text)"},{text:d.unit}));const J=v("plus","Increase",()=>d.onInc());return g.append(C,F,J),g}function A(d){const a=M("div");if(d.label||d.toggle){const v=M("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",marginBottom:"9px"});if(v.appendChild(o(d.label||"",!0)),d.toggle){const C=(d.label||"")+"::more",F=M("div",{display:"flex",alignItems:"center",gap:"7px",flex:"none",cursor:"pointer"},{class:"mc-switch-row"});F.addEventListener("click",()=>{m=C,d.toggle.onChange()}),F.appendChild(M("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 W=M("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!d.toggle.on),"aria-label":(d.label?d.label+" — ":"")+"more options"});W.appendChild(M("span",null,{class:"mc-switch-knob"})),m===C&&(W.classList.add("mc-switch-anim"),m=null),F.appendChild(W),v.appendChild(F)}a.appendChild(v)}const g=M("div",{display:"grid",gridTemplateColumns:d.items.length===1?"1fr":"1fr 1fr",gap:"10px 12px"});return d.items.forEach(v=>{const C=M("div");C.appendChild(o(v.label)),C.appendChild(E(v)),g.appendChild(C)}),a.appendChild(g),a}function w(d){const a=M("div",{minWidth:"0"},{class:"mc-field"});if(d.isSocial)return a.appendChild(S(d)),a;if(d.isTableGrid)return a.appendChild(N(d)),a;if(d.isRichLinks)return a.appendChild(j(d)),a;if(d.isArea){const g=M("div");g.appendChild(o(d.label));const v=M("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:d.placeholder,"data-focus-key":`f${d.key}`,dir:"auto"});v.value=d.value;const C=u(d.onChange);return v.addEventListener("input",F=>C.call(F.target.value)),v.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.outline="none"}),v.addEventListener("blur",()=>{v.style.borderColor="var(--ed-line)",C.flush()}),g.appendChild(v),a.appendChild(g),a}if(d.isBtn){const g=M("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:d.label});return g.addEventListener("mouseenter",()=>{g.style.background="var(--ed-accent)",g.style.color="var(--ed-accent-ink)"}),g.addEventListener("mouseleave",()=>{g.style.background="var(--ed-soft)",g.style.color="var(--ed-accent)"}),g.addEventListener("click",d.onClick),a.appendChild(g),a}if(d.isSeg){const g=M("div");g.appendChild(o(d.label));const v=M("div",{display:"flex",gap:"3px",padding:"3px",border:"0",borderRadius:"10px",background:"var(--ed-panel-2)"},{class:"mc-segment mc-field-segment"});return d.options.forEach(C=>{const F=C.bg==="var(--ed-accent)",W=M("button",{flex:"1",minWidth:"0",border:"0",borderRadius:"7px",cursor:"pointer",background:C.bg,color:C.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:C.label,"aria-pressed":String(F)});W.addEventListener("click",C.onClick),v.appendChild(W)}),g.appendChild(v),a.appendChild(g),a}if(d.isRangeGroup)return a.appendChild(A(d)),a;if(d.isSlider){a.classList.add("mc-slider-field");const g=M("div"),v=M("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"});v.appendChild(o(d.label,!0));const C=M("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"});v.appendChild(C);const F=M("div",{padding:"11px 0 4px"}),W=M("input",{width:"100%",margin:"0",display:"block",boxSizing:"border-box"},{type:"range",min:d.min,max:d.max,step:d.step,class:"mc-slider","aria-label":d.label,"data-focus-key":`f${d.key}`,dir:"ltr"});W.value=d.value;const ae=()=>{const J=(W.value-d.min)/(d.max-d.min||1);C.textContent=W.value+d.unit,W.style.background=`linear-gradient(to right, var(--ed-accent) ${J*100}%, var(--ed-line-2) ${J*100}%)`};return ae(),W.addEventListener("input",ae),W.addEventListener("change",J=>d.onCommit(J.target.value)),F.appendChild(W),g.append(v,F),a.appendChild(g),a}if(d.isRange){const g=M("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},{class:"mc-field-row"});return g.appendChild(o(d.label,!0)),g.appendChild(E(d,"132px")),a.appendChild(g),a}if(d.isToggle){const g=M("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",minHeight:"32px",cursor:"pointer"},{class:"mc-switch-row mc-field-row"});g.addEventListener("click",()=>{m=d.label,d.onChange()});const v=o(d.label,!0);v.style.cursor="pointer",g.appendChild(v);const C=M("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!d.on),"aria-label":d.label});return C.appendChild(M("span",null,{class:"mc-switch-knob"})),m===d.label&&(C.classList.add("mc-switch-anim"),m=null),g.appendChild(C),a.appendChild(g),a}if(d.isColor){const g=M("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},{class:"mc-field-row"});g.appendChild(o(d.label,!0));const v=M("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"}),C=M("label",{position:"relative",width:"29px",alignSelf:"stretch",flex:"none",borderRight:"1px solid var(--ed-line)",background:d.swatch,cursor:"pointer"},{title:d.label});d.transparent&&Object.assign(C.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 F=M("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",cursor:"pointer",padding:"0",border:"0"},{type:"color"}),W=V(d.swatch);W&&(F.value=W);const ae=u(d.onChange);F.addEventListener("input",ie=>{C.style.background=ie.target.value,J.value=ie.target.value,ae.call(ie.target.value)}),F.addEventListener("change",()=>ae.flush()),C.appendChild(F);const J=M("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${d.key}`,dir:"ltr"});J.value=d.value;const X=u(d.onChange);if(J.addEventListener("input",ie=>X.call(ie.target.value)),J.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.boxShadow="0 0 0 3px var(--ed-soft)"}),J.addEventListener("blur",()=>{v.style.borderColor="var(--ed-line)",v.style.boxShadow="none",X.flush()}),v.append(C,J),d.clearable){const ie=M("button",{flex:"none",alignSelf:"stretch",width:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"0",borderLeft:"1px solid var(--ed-line)",background:d.transparent?"var(--ed-accent)":"transparent",color:d.transparent?"var(--ed-accent-ink)":"var(--ed-muted)",cursor:"pointer",padding:"0"},{type:"button",title:d.transparent?"Transparent — click for a solid colour":"Make transparent (no fill)","aria-pressed":String(!!d.transparent)});ie.appendChild(q(d.transparent?"check":"clear",12)),ie.addEventListener("click",()=>d.onToggleTransparent()),v.appendChild(ie)}return g.appendChild(v),a.appendChild(g),a}if(d.isRow){const g=M("div",{display:"flex",alignItems:"center",gap:"12px",justifyContent:"space-between"},{class:"mc-field-row"});if(g.appendChild(o(d.label,!0)),d.isText){const v=M("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:d.placeholder,class:"mc-field-control","data-focus-key":`f${d.key}`,dir:"auto"});if(v.value=d.value,d.suggestions){const F=M("datalist",null,{id:`mc-dl-f${d.key}`});d.suggestions.forEach(W=>{const ae=document.createElement("option");ae.value=W,F.appendChild(ae)}),v.setAttribute("list",F.id),g.appendChild(F)}const C=u(d.onChange);v.addEventListener("input",F=>C.call(F.target.value)),v.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.outline="none"}),v.addEventListener("blur",()=>{v.style.borderColor="var(--ed-line)",C.flush()}),g.appendChild(v)}else if(d.isNum){const v=M("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${d.key}`});v.value=d.value;const C=u(d.onChange);v.addEventListener("input",F=>C.call(F.target.value)),v.addEventListener("blur",F=>{v.style.borderColor="var(--ed-line)",C.flush(),d.onBlur&&d.onBlur(F.target.value)}),v.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.outline="none"}),g.appendChild(v)}else if(d.isSelect){const v=M("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${d.key}`});d.options.forEach(C=>{const F=document.createElement("option");F.value=C.value,F.textContent=C.label,v.appendChild(F)}),v.value=d.value==null?"":d.value,v.addEventListener("change",C=>d.onChange(C.target.value)),v.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.outline="none"}),v.addEventListener("blur",()=>{v.style.borderColor="var(--ed-line)"}),g.appendChild(v)}return a.appendChild(g),a}return a}function L(d,a){a.forEach(g=>d.appendChild(w(g)))}Object.assign($,{typeCommit:u,renderFieldCards:P,renderField:w,renderFieldList:L})},ue["render/focus-preserve.js"]=function(he,$,D){function q(K,x){const M=K.activeElement,V=M&&M.dataset?M.dataset.focusKey:null;let u=null,m=null,o=null,f=!1;const P=V&&M.tagName==="INPUT"&&M.type==="range"?M:null;if(!P){if(V&&(M.tagName==="INPUT"||M.tagName==="TEXTAREA")){try{u=M.selectionStart,m=M.selectionEnd}catch{}o=M.scrollTop}else if(V&&M.isContentEditable){f=!0;const S=Y(K);if(S&&S.rangeCount&&M.contains(S.anchorNode)){const j=S.getRangeAt(0);u=de(M,j.startContainer,j.startOffset),m=de(M,j.endContainer,j.endOffset)}o=M.scrollTop}}if(x(),!V)return;const I=K.querySelector(`[data-focus-key="${b(V)}"]`);if(I){if(P){for(const S of["min","max","step"]){const j=I.getAttribute(S);j===null?P.removeAttribute(S):P.setAttribute(S,j)}I.replaceWith(P);return}if(f){if(u!=null)try{const S=document.createRange();Z(S,I,u,!0),Z(S,I,m,!1);const j=Y(K);j.removeAllRanges(),j.addRange(S)}catch{}I.focus({preventScroll:!0})}else if(I.focus({preventScroll:!0}),u!=null)try{I.setSelectionRange(u,m)}catch{}o!=null&&(I.scrollTop=o)}}function Y(K){return typeof K.getSelection=="function"?K.getSelection():window.getSelection()}function de(K,x,M){if(x.nodeType!==Node.TEXT_NODE){let o=0;const f=document.createTreeWalker(K,NodeFilter.SHOW_TEXT);let P,I=x.childNodes[M];if(!I){for(;f.nextNode();)o+=f.currentNode.nodeValue.length;return o}for(;P=f.nextNode();){if(P===I||I.contains(P))return o;o+=P.nodeValue.length}return o}let V=0;const u=document.createTreeWalker(K,NodeFilter.SHOW_TEXT);let m;for(;m=u.nextNode();){if(m===x)return V+M;V+=m.nodeValue.length}return V}function Z(K,x,M,V){const u=document.createTreeWalker(x,NodeFilter.SHOW_TEXT);let m=0,o,f=null;for(;o=u.nextNode();){f=o;const P=o.nodeValue.length;if(m+P>=M){const I=M-m;V?K.setStart(o,I):K.setEnd(o,I);return}m+=P}f?V?K.setStart(f,f.nodeValue.length):K.setEnd(f,f.nodeValue.length):V?K.setStart(x,0):K.setEnd(x,0)}function b(K){return String(K).replace(/["\\]/g,"\\$&")}Object.assign($,{withFocusPreserved:q,textOffset:de})},ue["render/rte.js"]=function(he,$,D){const{icon:q}=D("core/icons.js"),{TOKEN:Y}=D("core/variables.js"),{typeCommit:de}=D("render/fields.js");function Z(u,m,o){const f=document.createElement(u);if(m&&Object.assign(f.style,m),o)for(const[P,I]of Object.entries(o))P==="text"?f.textContent=I:I!==void 0&&f.setAttribute(P,I);return f}function b(u){try{return document.queryCommandState(u)}catch{return!1}}function K(u,m){return u.style.position="relative",u.hasAttribute("aria-label")||u.setAttribute("aria-label",m),u.appendChild(Z("span",{},{class:"mc-rte-tooltip",text:m})),u}function x(u){const m=String(u||"").replace(/[_.]+/g," ").trim();return m.charAt(0).toUpperCase()+m.slice(1)}function M(u,m){const o=u.t,f=(C,F,W,ae)=>{const J=Z("button",{border:"0",borderRadius:"7px",background:ae?"var(--ed-accent)":"transparent",color:ae?"var(--ed-accent-ink)":"var(--rte-muted)",cursor:"pointer",width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",flex:"none"},{type:"button",title:F,"data-rte-control":"1","data-active":ae?"true":"false"});return J.appendChild(q(C,14)),J.addEventListener("mousedown",X=>{X.preventDefault(),X.stopPropagation()}),J.addEventListener("click",X=>{X.preventDefault(),X.stopPropagation(),W(),u.onFormatChange&&u.onFormatChange()}),K(J,F),J},P=()=>Z("span",{width:"1px",height:"18px",background:"var(--rte-border)",margin:"0 4px",flex:"none"}),I=(C,F,W,ae)=>{const J=Z("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:ae});J.appendChild(q(C,14));const X=Z("span",{position:"absolute",left:"6px",right:"6px",bottom:"4px",height:"3px",borderRadius:"99px",background:W,pointerEvents:"none"});J.appendChild(X);const ie=Z("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",margin:"0",cursor:"pointer"},{type:"color",value:W.startsWith("#")?W:"#1d1f20"});return ie.addEventListener("mousedown",ce=>ce.stopPropagation()),ie.addEventListener("click",ce=>ce.stopPropagation()),ie.addEventListener("input",ce=>{X.style.background=ce.target.value,u.exec(F,ce.target.value)}),J.appendChild(ie),K(J,ae),J},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"},N=(C,F,W,ae,J,X)=>{const ie=Z("label",{position:"relative",display:"inline-flex",alignItems:"center",color:"var(--rte-muted)"},{"data-rte-select":"1","aria-label":C}),ce=Z("span",{position:"absolute",left:"8px",zIndex:"2",pointerEvents:"none",display:"flex"});ce.appendChild(q(ae,13));const be=Z("select",Object.assign({},j,{width:W}),{title:C});J.forEach(([pe,ee])=>{const Se=document.createElement("option");Se.value=pe,Se.textContent=ee,be.appendChild(Se)}),be.value=F,be.addEventListener("mousedown",pe=>pe.stopPropagation()),be.addEventListener("change",X);const ve=Z("span",{position:"absolute",right:"7px",pointerEvents:"none",display:"flex"});return ve.appendChild(q("chevronDown",12)),ie.append(ce,be,ve),ie},E=u.vars(),A=Z("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"});A.addEventListener("pointerdown",()=>{u.rteActive=!0;const C=()=>{u.rteActive=!1,window.removeEventListener("pointerup",C,!0),window.removeEventListener("pointercancel",C,!0)};window.addEventListener("pointerup",C,!0),window.addEventListener("pointercancel",C,!0)},!0),A.addEventListener("mousedown",C=>C.stopPropagation()),A.addEventListener("click",C=>C.stopPropagation());const w=Z("div",S),L=N(o("rte.textStyle"),u.currentTag(),"118px","typeColor",[["",o("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"]],C=>{C.target.value&&(u.exec("formatBlock",C.target.value),u.onFormatChange&&u.onFormatChange())});w.append(L,P(),f("bold","Bold",()=>u.exec("bold"),b("bold")),f("italic","Italic",()=>u.exec("italic"),b("italic")),f("underline","Underline",()=>u.exec("underline"),b("underline")),f("strike","Strikethrough",()=>u.exec("strikeThrough"),b("strikeThrough")),f("inlineCode","Inline code",()=>u.exec("insertHTML",'<code style="font-family:ui-monospace,monospace;font-size:0.92em;background:var(--ed-soft);padding:1px 4px">'+(u.getSelection().toString()||"code")+"</code>")),f("superscript","Superscript",()=>u.exec("superscript"),b("superscript")),f("subscript","Subscript",()=>u.exec("subscript"),b("subscript"))),(m.type==="text"||m.type==="heading")&&w.append(P(),f("minus","Smaller text",()=>u.size(m,-1)),Z("span",{fontFamily:"var(--ed-font)",fontSize:"9.5px",color:"var(--rte-muted)",minWidth:"32px",textAlign:"center"},{text:u.selSize(m)+"px"}),f("plus","Larger text",()=>u.size(m,1)));const d=Z("div",S);d.append(f("alignLeft","Align left",()=>u.exec("justifyLeft"),b("justifyLeft")),f("alignCenter","Align center",()=>u.exec("justifyCenter"),b("justifyCenter")),f("alignRight","Align right",()=>u.exec("justifyRight"),b("justifyRight")),f("alignJustify","Justify",()=>u.exec("justifyFull"),b("justifyFull")),P(),f("list","Bullet list",()=>u.exec("insertUnorderedList"),b("insertUnorderedList")),f("listOrdered","Numbered list",()=>u.exec("insertOrderedList"),b("insertOrderedList")),f("outdent","Outdent",()=>u.exec("outdent")),f("indent","Indent",()=>u.exec("indent")),P(),f("link","Link — ⌘K",()=>u.openLink(),!!u.state.linkDraft),f("unlink","Remove link",()=>u.removeLink(m)),f("formatClear",o("rte.clearFormatting"),()=>u.exec("removeFormat")),P(),I("typeColor","foreColor","#172033",o("rte.textColor")),I("highlighter","hiliteColor","#fef08a",o("rte.highlightColor")),f("eraser",o("rte.removeHighlight"),()=>u.exec("hiliteColor","transparent")),P());const a=[["",E.length?o("rte.mergeTags"):o("rte.noMergeTags")]].concat(E.map(C=>[Y(C),x(C)]));d.appendChild(N(o("rte.mergeTags"),"","132px","data",a,C=>{C.target.value&&(u.exec("insertText",C.target.value),C.target.value="")})),A.appendChild(w),A.appendChild(d),u.state.linkDraft&&A.appendChild(V(u,m,E));const g="calc(100% + 10px)",v=u._rteFlip&&u._rteFlip.id===m.id?u._rteFlip.flip:null;return v===!0?A.style.top=g:v===null&&(A.style.visibility="hidden"),requestAnimationFrame(()=>{if(!A.isConnected)return;const C=u.exportRoot&&u.exportRoot.querySelector(".mc-workspace");if(C&&A.parentElement){const W=A.parentElement.getBoundingClientRect().top-82<C.getBoundingClientRect().top+4;u._rteFlip={id:m.id,flip:W},A.style.top=W?g:"-82px"}A.style.visibility=""}),A}function V(u,m,o){const f=u.t,P=u.state.linkDraft,I=g=>u.setState({linkDraft:Object.assign({},u.state.linkDraft,g)}),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=(g,v,C)=>{const F=Z("button",{border:v?"0":"1px solid var(--rte-border)",borderRadius:"5px",background:v?"var(--ed-accent)":"transparent",color:v?"var(--ed-accent-ink)":"var(--rte-text)",cursor:"pointer",padding:"5px 10px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"600"},{type:"button",text:g});return F.addEventListener("mousedown",W=>W.preventDefault()),F.addEventListener("click",W=>{W.preventDefault(),C()}),F},N=Z("div",{display:"flex",flexDirection:"column",gap:"6px",borderTop:"1px solid var(--rte-border)",paddingTop:"6px",marginTop:"2px",minWidth:"380px"}),E=Z("div",{display:"flex",alignItems:"center",gap:"5px"}),A=Z("input",S,{placeholder:"https://example.com"});A.value=P.href,setTimeout(()=>{A.focus(),u.rteActive=!1},0);const w=de(g=>I({href:g}));if(A.addEventListener("input",g=>w.call(g.target.value)),A.addEventListener("blur",()=>w.flush()),A.addEventListener("keydown",g=>{g.key==="Enter"&&(g.preventDefault(),w.flush(),u.applyLink(m)),g.key==="Escape"&&u.setState({linkDraft:null})}),E.appendChild(A),o.length){const g=Z("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:f("rte.mergeTags")}),v=document.createElement("option");v.value="",v.textContent=f("rte.mergeTags"),g.appendChild(v),o.forEach(C=>{const F=document.createElement("option");F.value=Y(C),F.textContent=x(C),g.appendChild(F)}),g.addEventListener("change",C=>{C.target.value&&(I({href:(P.href||"")+C.target.value}),C.target.value="")}),E.appendChild(g)}N.appendChild(E);const L=Z("div",{display:"flex",alignItems:"center",gap:"8px"}),d=Z("label",{display:"flex",alignItems:"center",gap:"5px",color:"var(--rte-muted)",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",cursor:"pointer"}),a=Z("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox"});return a.checked=!!P.blank,a.addEventListener("change",g=>I({blank:g.target.checked})),d.append(a,"Open in new tab"),L.appendChild(d),L.appendChild(Z("span",{flex:"1"})),P.editing&&L.appendChild(j("Remove",!1,()=>u.removeLink(m))),L.appendChild(j("Cancel",!1,()=>u.setState({linkDraft:null}))),L.appendChild(j(P.editing?"Update":"Apply",!0,()=>{w.flush(),u.applyLink(m)})),N.appendChild(L),N}Object.assign($,{renderRte:M})},ue["render/screenshot.js"]=function(he,$,D){const{renderDoc:q}=D("render/canvas.js"),Y="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function de(K){return fetch(K,{mode:"cors"}).then(x=>{if(!x.ok)throw new Error("fetch failed: "+x.status);return x.blob()}).then(x=>new Promise((M,V)=>{const u=new FileReader;u.onload=()=>M(u.result),u.onerror=V,u.readAsDataURL(x)}))}async function Z(K){const x=[];K.querySelectorAll("img").forEach(M=>{const V=M.getAttribute("src")||"";!V||V.startsWith("data:")||x.push(de(V).then(u=>{M.setAttribute("src",u)},()=>{M.setAttribute("src",Y)}))}),K.querySelectorAll("[style]").forEach(M=>{const V=(M.style.backgroundImage||"").match(/url\(["']?(?!data:)([^"')]+)["']?\)/);V&&x.push(de(V[1]).then(u=>{M.style.backgroundImage='url("'+u+'")'},()=>{M.style.backgroundImage="none"}))}),await Promise.all(x)}Object.assign($,{captureTemplatePng:async function(K,x,M=2){const V=K.state.doc.theme,u=32,m=document.createElement("div"),o=V.width+(Number(V.padX)||0)*2;m.style.cssText=`position: fixed; left: -100000px; top: 0; width: ${o+u*2}px; background: ${V.bg}; padding: ${u}px; box-sizing: border-box; display: flex; justify-content: center;`,m.setAttribute("aria-hidden","true");const f=K.state.device;K.state.device="desktop";try{m.appendChild(q(K,!1))}finally{K.state.device=f}x.appendChild(m);try{await Z(m),await Promise.all(Array.from(m.querySelectorAll("img")).map(a=>a.decode?a.decode().catch(()=>{}):Promise.resolve()));const P=m.offsetWidth,I=m.offsetHeight,S=m.cloneNode(!0);S.style.position="static",S.style.left="auto";const j=new XMLSerializer().serializeToString(S),N=`<svg xmlns="http://www.w3.org/2000/svg" width="${P}" height="${I}"><foreignObject width="100%" height="100%">${j}</foreignObject></svg>`,E=new Image;await new Promise((a,g)=>{E.onload=a,E.onerror=()=>g(new Error("SVG rasterization failed")),E.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(N)}),E.decode&&await E.decode().catch(()=>{});const w=Math.min(M,Math.sqrt(16e6/Math.max(1,P*I))),L=document.createElement("canvas");return L.width=Math.max(1,Math.round(P*w)),L.height=Math.max(1,Math.round(I*w)),L.getContext("2d").drawImage(E,0,0,L.width,L.height),await new Promise((a,g)=>{L.toBlob(v=>v?a(v):g(new Error("PNG encoding failed")),"image/png")})}finally{m.remove()}}})},ue["render/story.js"]=function(he,$,D){const{icon:q}=D("core/icons.js"),Y=3600,de=560,Z=.92;function b(V,u,m={},...o){const f=document.createElement(V);u&&(f.style.cssText=u);for(const[P,I]of Object.entries(m))I!==void 0&&(P==="text"?f.textContent=I:f.setAttribute(P,I));return o.flat().forEach(P=>{P!=null&&P!==!1&&f.appendChild(typeof P=="string"?document.createTextNode(P):P)}),f}const K="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 x(V,u,m,o,f){const P=b("button",K+V,{type:"button",title:u,"aria-label":u});return P.iconSlot=q(m,14),P.labelSlot=f?b("span","",{text:u}):null,P.append(P.iconSlot),P.labelSlot&&P.append(P.labelSlot),P.addEventListener("mouseenter",()=>{P.style.background="rgba(255,255,255,0.16)",P.style.borderColor="rgba(255,255,255,0.4)"}),P.addEventListener("mouseleave",()=>{P.style.background="rgba(255,255,255,0.07)",P.style.borderColor="rgba(255,255,255,0.22)"}),P.addEventListener("click",o),P}Object.assign($,{createStoryViewer:function(V,u){const m=(e,i)=>V.t(e,i),o={open:!1,page:0,pages:1,playing:!0,done:!1,held:!1,remaining:Y,startedAt:0,timer:0,token:0,url:"",blob:null,natW:0,natH:0,cardW:0,cardH:0,showH:0},f=b("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"});f.addEventListener("click",e=>{e.target===f&&y()});const P=b("div","display: none; gap: 4px; height: 3px; flex: none;"),I=b("div","display: flex; align-items: center; gap: 10px; flex: none;"),S=b("div","flex: 1; min-width: 0;"),j=b("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 N=x("width: 30px; padding: 0;",m("action.close"),"x",()=>y());I.append(S,N);const E=b("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;"),A=b("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(A);const w=b("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;"),L=b("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;"),d=b("div","position: relative; font-family: var(--ed-font); font-size: 12.5px; font-weight: 600; color: var(--ed-text);"),a=b("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;"),g=b("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"});g.append(q("refresh",14),b("span","",{text:m("story.retry")})),g.addEventListener("click",()=>me()),w.append(L,d,a,g),E.appendChild(w);const v=(e,i)=>{const p=b("div","position: absolute; top: 0; bottom: 0; "+e+" cursor: pointer;");let c=0;p.addEventListener("pointerdown",()=>{c=performance.now(),o.playing&&!o.done&&be(!0)});const r=()=>{if(!c)return;const T=performance.now()-c;c=0,T<220?i():o.held&&ve()};return p.addEventListener("pointerup",r),p.addEventListener("pointerleave",r),p};E.append(v("left: 0; width: 32%;",()=>h(-1)),v("left: 32%; right: 0;",()=>h(1)));const C=b("div","display: flex; align-items: center; gap: 8px; flex: none;"),F=b("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;"),W=x("width: 30px; padding: 0;",m("story.pause"),"pause",()=>o.playing?be(!1):ve()),ae=x("padding: 0 11px;",m("story.copy"),"copy",()=>u.copy(o.blob),!0),J=x("padding: 0 11px; border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.16);",m("action.downloadPng"),"download",()=>u.download(o.blob),!0);C.append(F,W,ae,J),f.append(P,I,E,C);function X(){return Array.from(P.children).map(e=>e.firstChild)}function ie(e,i){X().forEach((p,c)=>{if(p.style.transition="none",c<o.page){p.style.transform="scaleX(1)";return}if(c>o.page){p.style.transform="scaleX(0)";return}p.style.transform="scaleX("+e+")",i&&(p.offsetWidth,p.style.transition="transform "+Math.max(0,o.remaining)+"ms linear",p.style.transform="scaleX(1)")})}function ce(){clearTimeout(o.timer),!(!o.playing||o.done||o.pages<2)&&(o.startedAt=performance.now(),ie(1-o.remaining/Y,!0),o.timer=setTimeout(()=>h(1),o.remaining))}function be(e){o.playing&&(clearTimeout(o.timer),o.remaining=Math.max(0,o.remaining-(performance.now()-o.startedAt)),o.playing=!1,o.held=!!e,ie(1-o.remaining/Y,!1),pe())}function ve(){if(o.held=!1,o.done){Se(0);return}o.playing=!0,ce(),pe()}function pe(){const e=o.done?m("story.replay"):o.playing?m("story.pause"):m("story.play"),i=o.done?"refresh":o.playing?"pause":"play",p=q(i,14);W.replaceChild(p,W.iconSlot),W.iconSlot=p,W.title=e,W.setAttribute("aria-label",e)}function ee(e){return o.showH<=o.cardH?Math.round((o.cardH-o.showH)/2):-Math.min(Math.round(e*o.cardH*Z),Math.round(o.showH-o.cardH))}function Se(e,i){const p=Math.max(0,Math.min(o.pages-1,e));o.page=p,o.remaining=Y,o.done&&(o.done=!1,o.playing=!0),A.style.transition=i===!1?"opacity 0.32s ease":"transform "+de+"ms cubic-bezier(0.22,0.61,0.36,1), opacity 0.32s ease",A.style.transform="translate3d(0, "+ee(p)+"px, 0)",Pe(),ce(),pe()}function h(e){if(e>0&&o.page>=o.pages-1){clearTimeout(o.timer),o.done=!0,o.playing=!1,o.held=!1,ie(1,!1),pe();return}if(e<0&&o.page===0){Se(0);return}Se(o.page+e)}function Pe(){F.textContent=o.natW?m("story.meta",{w:o.natW,h:o.natH,i:o.page+1,n:o.pages}):""}function Me(){if(!o.open)return;const e=Math.max(280,f.clientHeight-44-96),i=Math.max(240,f.clientWidth-44);o.cardH=e,o.cardW=Math.max(240,Math.min(430,i,Math.round(e*.75))),E.style.width=o.cardW+"px",E.style.height=o.cardH+"px",[P,I,C].forEach(p=>{p.style.width=o.cardW+"px"}),o.natW&&(o.showH=o.cardW*(o.natH/o.natW),o.pages=o.showH<=o.cardH?1:Math.ceil((o.showH-o.cardH)/(o.cardH*Z))+1,Re(),Se(Math.min(o.page,o.pages-1),!1))}function Re(){P.innerHTML="",P.style.display=o.pages>1?"flex":"none";for(let e=0;e<o.pages;e++){const i=b("div","width: 100%; height: 100%; border-radius: 2px; background: #fff; transform: scaleX(0); transform-origin: left center;");P.appendChild(b("div","flex: 1; height: 100%; border-radius: 2px; background: rgba(255,255,255,0.24); overflow: hidden;",{},i))}}function Be(e){[ae,J,W].forEach(i=>{i.disabled=!e,i.style.opacity=e?"":"0.4",i.style.pointerEvents=e?"":"none"})}function We(e){w.style.display="flex",w.style.opacity="1",L.style.display=e?"none":"block",d.textContent=m(e?"story.failed":"story.rendering"),a.textContent=m(e?"story.failedHint":"story.renderingHint"),g.style.display=e?"flex":"none",Be(!1)}function me(){const e=++o.token;t(),Object.assign(o,{blob:null,natW:0,natH:0,page:0,pages:1,done:!1,playing:!0,held:!1,remaining:Y}),clearTimeout(o.timer),A.style.opacity="0",P.style.display="none",Pe(),We(!1),u.capture().then(i=>{e!==o.token||!o.open||(o.blob=i,o.url=URL.createObjectURL(i),A.onload=()=>{e===o.token&&(o.natW=A.naturalWidth,o.natH=A.naturalHeight,Me(),A.style.opacity="1",w.style.opacity="0",setTimeout(()=>{e===o.token&&(w.style.display="none")},300),Be(!0),o.pages<2&&(o.done=!0,o.playing=!1),pe(),ce())},A.src=o.url)},()=>{e!==o.token||!o.open||We(!0)})}function t(){o.url&&(URL.revokeObjectURL(o.url),o.url="")}function l(e){if(o.open){if(e.key==="Escape"){e.stopPropagation(),y();return}if(e.key==="ArrowRight"||e.key==="ArrowDown"){e.stopPropagation(),be(!1),h(1);return}if(e.key==="ArrowLeft"||e.key==="ArrowUp"){e.stopPropagation(),be(!1),h(-1);return}e.key===" "&&(e.stopPropagation(),e.preventDefault(),o.playing?be(!1):ve())}}let k=0;E.addEventListener("wheel",e=>{e.preventDefault();const i=performance.now();i-k<de*.8||Math.abs(e.deltaY)<6||(k=i,be(!1),h(e.deltaY>0?1:-1))},{passive:!1});function H(){o.open||(o.open=!0,f.style.display="flex",f.removeAttribute("aria-hidden"),j.textContent=m("story.kicker"),f.offsetWidth,f.style.opacity="1",E.style.transform="scale(1) translateY(0)",E.style.opacity="1",Me(),me(),window.addEventListener("keydown",l,!0),window.addEventListener("resize",Me),N.focus({preventScroll:!0}))}function y(){o.open&&(o.open=!1,o.token++,clearTimeout(o.timer),window.removeEventListener("keydown",l,!0),window.removeEventListener("resize",Me),f.style.opacity="0",E.style.transform="scale(0.965) translateY(10px)",E.style.opacity="0",setTimeout(()=>{o.open||(f.style.display="none",f.setAttribute("aria-hidden","true"),A.removeAttribute("src"),t(),o.blob=null)},240))}function R(){N.title=m("action.close"),N.setAttribute("aria-label",m("action.close")),ae.labelSlot.textContent=m("story.copy"),ae.title=m("story.copy"),J.labelSlot.textContent=m("action.downloadPng"),J.title=m("action.downloadPng"),g.lastChild.textContent=m("story.retry"),o.open&&(j.textContent=m("story.kicker"),Pe()),pe()}return{node:f,open:H,close:y,retranslate:R,isOpen:()=>o.open}}})},ue["render/style.js"]=function(he,$,D){Object.assign($,{STYLE:`
|
|
108
|
+
unsubscribe_url`,X=y=>"{{ "+y+" }}";function pe(y){return(Array.isArray(y)?y:String(y??G).split(/[\n,]/)).map(S=>String(S).trim().replace(/^\{\{\s*|\s*\}\}$/g,"")).filter(Boolean)}Object.assign($,{DEFAULT_VARS:G,TOKEN:X,vars:pe,INSERT_KEYS:{text:"html",heading:"text",button:"label",html:"code",codeblock:"code",quote:"text",list:"items",table:"data"}})},ge["create-editor.js"]=function(be,$,F){const{MailCraftEditor:G}=F("mailcraft-editor.js"),X={variables:"variables",locale:"locale",dir:"dir",theme:"theme",uiFont:"ui-font",accent:"accent"},pe=["storageProvider","storageLimits","aiProvider","iconProvider","messages","footer"],W=["exportHtml","importHtml","loadTemplate","undo","redo","screenshotPng","previewScreenshot","downloadScreenshot","copyScreenshot"];function y(Q){const m=typeof Q=="string"?document.querySelector(Q):Q;if(!m||m.nodeType!==1)throw new Error("[mailcraft] createEditor: no element matched "+JSON.stringify(Q));return m}const K=Q=>typeof Q=="number"?Q+"px":Q;function S(Q,m){const g=m||{},p=y(Q),h=document.createElement("mailcraft-editor");Object.keys(X).forEach(z=>{g[z]!=null&&h.setAttribute(X[z],Array.isArray(g[z])?g[z].join(","):String(g[z]))}),g.toolbar!==void 0&&(h.toolbar=g.toolbar),pe.forEach(z=>{g[z]!==void 0&&(h[z]=g[z])});const u=g.onChange?z=>g.onChange(z.detail):null,B=g.onExport?z=>g.onExport(z.detail):null;u&&h.addEventListener("change",u),B&&h.addEventListener("export",B),g.replace&&(p.textContent=""),g.height&&(p.style.height=K(g.height)),p.appendChild(h),typeof g.html=="string"&&g.html.trim()&&h.loadTemplate({name:g.name||"",html:g.html});const f={element:h,destroy(){u&&h.removeEventListener("change",u),B&&h.removeEventListener("export",B),h.parentNode&&h.parentNode.removeChild(h)}};return W.forEach(z=>{f[z]=(...N)=>h[z](...N)}),f}function D(){return typeof customElements<"u"&&customElements.get("mailcraft-editor")===G}Object.assign($,{createEditor:S,isReady:D})},ge["index.js"]=function(be,$,F){const{MailCraftEditor:G}=F("mailcraft-editor.js"),{createEditor:X,isReady:pe}=F("create-editor.js"),{EditorCore:W}=F("core/editor-core.js"),{renderDoc:y}=F("render/canvas.js"),{BLOCKS:K,GROUPS:S,LAYOUTS:D,PALETTE:Q}=F("core/blocks.js"),{createTranslator:m,defineMessages:g,missingKeys:p,LOCALES:h,isRtl:u,EN:B,MESSAGE_KEYS:f}=F("core/i18n/index.js"),{LOCALE_TABLES:z}=F("core/i18n/tables.js"),{LOCALE_LOADERS:N,loadLocale:E,localeTable:A}=F("core/i18n/loaders.js"),{ALL_FOLDER_ID:H,normalizeAsset:L,resolveLimits:s}=F("core/storage.js"),{validateFiles:t,sanitizeName:v,acceptAttribute:x,limitsProblem:C}=F("core/storage-limits.js");Object.assign($,{MailCraftEditor:G,createEditor:X,isReady:pe,EditorCore:W,renderDoc:y,BLOCKS:K,GROUPS:S,LAYOUTS:D,PALETTE:Q,createTranslator:m,defineMessages:g,missingKeys:p,LOCALES:h,isRtl:u,EN:B,MESSAGE_KEYS:f,LOCALE_TABLES:z,LOCALE_LOADERS:N,loadLocale:E,localeTable:A,ALL_FOLDER_ID:H,normalizeAsset:L,resolveLimits:s,validateFiles:t,sanitizeName:v,acceptAttribute:x,limitsProblem:C})},ge["mailcraft-editor.js"]=function(be,$,F){const{EditorCore:G,AI_GOALS:X,AI_TONES:pe}=F("core/editor-core.js"),{GROUPS:W,LAYOUTS:y,DEF:K,PALETTE:S}=F("core/blocks.js"),{KB:D}=F("core/assets.js"),{acceptAttribute:Q}=F("core/storage-limits.js"),{renderDoc:m}=F("render/canvas.js"),{renderRte:g}=F("render/rte.js"),{renderField:p,renderFieldCards:h,typeCommit:u}=F("render/fields.js"),{icon:B}=F("core/icons.js"),{brandLockup:f}=F("core/brand.js"),{TOKEN:z}=F("core/variables.js"),{hl:N,cssUrl:E}=F("core/sanitize.js"),{decorateLogicTags:A}=F("core/export.js"),{formatHtml:H,scanElements:L,elementAtOffset:s,findMatches:t,markRanges:v}=F("core/code-tools.js"),{withFocusPreserved:x}=F("render/focus-preserve.js"),{captureTemplatePng:C}=F("render/screenshot.js"),{resolveToolbar:I,toolbarKey:V}=F("core/toolbar.js"),{resolveFooter:ee}=F("core/footer.js"),{createStoryViewer:te}=F("render/story.js"),{STYLE:_}=F("render/style.js"),{createTranslator:ie,isRtl:de}=F("core/i18n/index.js"),{ACCENT_VARS:we,accentTokens:xe,parseColor:me}=F("core/accent.js"),{localeTable:ae,loadLocale:ze}=F("core/i18n/loaders.js");function b(he,e,l={},...k){const T=document.createElement(he);e&&(T.style.cssText=e);for(const[w,R]of Object.entries(l))if(R!==void 0)if(w==="text")T.textContent=R;else if(w==="html")T.innerHTML=R;else if(w==="on")for(const[a,r]of Object.entries(R))T.addEventListener(a,r);else T.setAttribute(w,R);return k.flat().forEach(w=>{w!=null&&w!==!1&&T.appendChild(typeof w=="string"?document.createTextNode(w):w)}),T}function Re(he){return[{key:"design",label:he("tab.design"),title:he("tab.designHint"),iconName:"paint"},{key:"blocks",label:he("tab.blocks"),title:he("tab.blocksHint"),iconName:"grid"},{key:"rows",label:he("tab.rows"),title:he("tab.rowsHint"),iconName:"table"},{key:"files",label:he("tab.files"),title:he("tab.filesHint"),iconName:"image"},{key:"layers",label:he("tab.layers"),title:he("tab.layersHint"),iconName:"list"},{key:"theme",label:he("tab.settings"),title:he("tab.settingsHint"),iconName:"sliders"},{key:"data",label:he("tab.data"),title:he("tab.dataHint"),iconName:"data"}]}function Ae(he,e,l,k){he.style.position=he.style.position||"relative",he.setAttribute("data-tip","1"),he.hasAttribute("aria-label")||he.setAttribute("aria-label",e),he.removeAttribute("title");const T=l||"down";return he.tipNode=b("span","",{class:`mc-tooltip mc-tooltip-${T}${T==="down"?" mc-tab-tooltip":""}${k==="end"?" mc-tooltip-end":""}`,text:e}),he.appendChild(he.tipNode),he}const Pe=typeof HTMLElement<"u"?HTMLElement:class{};class Be extends Pe{static get observedAttributes(){return["variables","locale","dir","theme","ui-font","accent","toolbar","footer"]}constructor(){super(),this.attachShadow({mode:"open"}),this.core=new G({variables:this.hasAttribute("variables")?this.getAttribute("variables"):void 0})}connectedCallback(){this.buildShell(),this.applyUiFont(),this.applyAccent(),this.applyDir(),this._toolbarKey=V(this.toolbarConfig()),this.core.mount(this.shadowRoot),this.applyTheme(),this.refreshTranslator(),this.core.mountKeyboard(e=>{const l=(e&&e.tagName||"").toLowerCase();return l==="input"||l==="textarea"||e&&e.isContentEditable}),this.core.onFormatChange=()=>this.scheduleRteRefresh(),this.core.onFoldLiveEdit=()=>this.syncLiveEdit(),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(()=>{x(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.onFoldLiveEdit=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(e,l,k){this.core&&(e==="variables"&&(this.core.variablesRaw=k,this.core.emit()),(e==="locale"||e==="dir")&&this.applyDir(),e==="locale"&&this.refreshTranslator(),e==="theme"&&this.applyTheme(),e==="ui-font"&&this.applyUiFont(),e==="accent"&&this.applyAccent(!0),e==="toolbar"&&this.applyToolbar(),e==="footer"&&this.applyFooter())}applyUiFont(){if(!this.mc)return;const e=(this.getAttribute("ui-font")||"").trim();if(!e){this.mc.style.removeProperty("--ed-font");return}const l=e.toLowerCase()==="inherit"?getComputedStyle(this).fontFamily:e;this.mc.style.setProperty("--ed-font",l||"inherit")}resolveAccentValue(e){if(typeof getComputedStyle!="function")return e;const l=getComputedStyle(this);if(e.toLowerCase()==="inherit"){const T=(l.accentColor||"").trim();return!T||T==="auto"?"":T}const k=/^var\(\s*(--[\w-]+)\s*(?:,\s*([^)]+))?\)$/.exec(e);return k?(l.getPropertyValue(k[1])||"").trim()||(k[2]||"").trim():e}applyAccent(e){if(!this.mc)return;const l=(this.getAttribute("accent")||"").trim(),k=this.core.state?.chrome||"light",T=l+"|"+k;if(!e&&T===this._accentKey)return;this._accentKey=T;const w=()=>we.forEach(c=>this.mc.style.removeProperty(c));if(!l){w();return}const R=this.resolveAccentValue(l),a=me(R)||me(this.probeColor(R));if(!a){w(),console.warn('[mailcraft] accent="'+l+'" is not a usable color -- keeping the built-in accent.');return}const r=xe(a,k);for(const[c,d]of Object.entries(r))this.mc.style.setProperty(c,d)}probeColor(e){if(!e||typeof getComputedStyle!="function"||typeof document>"u")return"";const l=document.createElement("span");if(l.style.display="none",l.style.color=e,!l.style.color)return"";this.mc.appendChild(l);const k=(getComputedStyle(l).color||"").trim();return l.remove(),k}applyTheme(){const e=this.getAttribute("theme");e?this.core.setState({chrome:e==="dark"?"dark":"light"}):this.core.state&&this.core.emit()}refreshTranslator(){const e=this.getAttribute("locale")||"";let l=e?ae(e):null;l===void 0&&(l=null,ze(e).then(()=>{(this.getAttribute("locale")||"")===e&&this.refreshTranslator()}));const k=this.core.messages;this.core.t=ie(l?Object.assign({},l,k||{}):k),this.story?.retranslate(),this.core.emit()}applyDir(){if(!this.mc)return;const e=this.getAttribute("dir");this.mc.setAttribute("dir",e||(de(this.getAttribute("locale"))?"rtl":"ltr"))}getContent(){return JSON.parse(JSON.stringify(this.core.state.doc))}setContent(e){this.core.loadDoc(e)}importHtml(e){return this.core.importHtml(e)}get variables(){return this.core.vars()}set variables(e){this.core.variablesRaw=e,this.core.emit()}get toolbar(){return this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar")||""}set toolbar(e){this._toolbar=e,this.applyToolbar()}toolbarConfig(){return I(this._toolbar!==void 0?this._toolbar:this.getAttribute("toolbar"))}applyToolbar(){if(!this.core||!this.shadowRoot.firstChild)return;const e=V(this.toolbarConfig());e!==this._toolbarKey&&(this._toolbarKey=e,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(e){this._footer=e,this.applyFooter()}get uiFont(){return this.getAttribute("ui-font")||""}set uiFont(e){e==null||String(e).trim()===""?this.removeAttribute("ui-font"):this.setAttribute("ui-font",String(e))}get accent(){return this.getAttribute("accent")||""}set accent(e){e==null||String(e).trim()===""?this.removeAttribute("accent"):this.setAttribute("accent",String(e))}get aiProvider(){return this.core.aiProvider}set aiProvider(e){this.core.aiProvider=e}get messages(){return this.core.messages}set messages(e){this.core.messages=e,this.refreshTranslator()}get iconProvider(){return this.core.iconProvider}set iconProvider(e){this.core.iconProvider=e,this.core.emit()}get storageProvider(){return this.core.storageProvider}set storageProvider(e){this.core.setStorageProvider(e)}get storageLimits(){return this.core.storageLimits}set storageLimits(e){this.core.setStorageLimits(e)}loadTemplate(e){this.core.loadTemplate(e)}exportHtml(e){const l=this.core.buildHtml(e);return this.dispatchEvent(new CustomEvent("export",{detail:l})),l}screenshotPng(e){return C(this.core,this.mc,e)}previewScreenshot(){const e=this.core.state.exportOpen;e&&this.core.setState({exportOpen:!1}),this.story.open(e?{onClose:()=>this.core.setState({exportOpen:!0})}:void 0)}async downloadScreenshot(e,l){const k=this.core.t;try{const T=e||await this.screenshotPng(l),w={"image/jpeg":"jpg","image/webp":"webp"}[T.type]||"png",R=document.createElement("a");R.href=URL.createObjectURL(T),R.download="email."+w,R.click(),setTimeout(()=>URL.revokeObjectURL(R.href),1500),this.core.flash(k("toast.pngSaved"))}catch{this.core.flash(k("toast.pngFailed"))}}async copyScreenshot(e){const l=this.core.t;try{const k=e?Promise.resolve(e):this.screenshotPng();await navigator.clipboard.write([new ClipboardItem({"image/png":k})]),this.core.flash(l("toast.pngCopied"))}catch{this.core.flash(l("toast.pngCopyFailed"))}}undo(){this.core.undo()}redo(){this.core.redo()}buildShell(){const e=this.shadowRoot;e.innerHTML="",e.appendChild(b("style","",{text:_})),this._accentKey=null,this.mc=b("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"}),e.appendChild(this.mc);const l=b("div","position: relative; height: 100%; min-width: 1180px;");this.mc.appendChild(l),this.savedLabel=this.savedDot=this.deviceSeg=null,this.undoBtn=this.redoBtn=this.chromeBtn=null,this.aiBtn=this.codeBtn=this.previewBtn=this.exportBtn=null;const k=this.toolbarConfig();this.frame=b("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: "+(k?"54px minmax(0, 1fr)":"minmax(0, 1fr)")+"; overflow: hidden; box-shadow: var(--ed-shadow-sm), var(--ed-shadow-md);",{class:"mc-shell"+(k?"":" mc-no-header")}),l.appendChild(this.frame),k&&this.frame.appendChild(this.buildHeader(k)),this.footerBar=this.footerText=this.footerLink=null,this.body=b("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=te(this.core,{capture:()=>this.screenshotPng(),download:T=>this.downloadScreenshot(T),copy:T=>this.copyScreenshot(T)}),this.toastEl=b("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"}),l.append(this.libraryModal,this.exportModal,this.codeModal,this.aiModal,this.previewModal,this.story.node,this.toastEl),this.fileInput=b("input","display: none;",{type:"file",accept:"image/*",multiple:"true"}),this.fileInput.addEventListener("change",T=>{this.core.addFiles(T.target.files),T.target.value=""}),l.appendChild(this.fileInput)}buildHeader(e){const l=this.core.t,k=b("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"}),T=b("div","display: flex; align-items: center;",{class:"mc-brand"});T.appendChild(f(30)),e.logo&&k.append(T,b("div","width: 1px; height: 22px; background: var(--ed-line);")),this.savedLabel=b("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=b("span","width: 5px; height: 5px; border-radius: 50%; background: var(--ed-accent);"),this.savedLabel.appendChild(this.savedDot),this.savedLabel.appendChild(document.createTextNode("")),e.status?k.appendChild(this.savedLabel):this.savedLabel=this.savedDot=null,k.appendChild(b("div","flex: 1;")),e.device&&(this.deviceSeg=b("div","",{class:"mc-segment mc-device-segment"}),k.appendChild(this.deviceSeg));const w=b("div","display: flex; align-items: center; gap: 3px;");e.undo&&(this.undoBtn=this.iconBtn("undo",l("action.undoHint"),()=>this.core.undo(),"action.undoHint")),e.redo&&(this.redoBtn=this.iconBtn("redo",l("action.redoHint"),()=>this.core.redo(),"action.redoHint")),e.theme&&(this.chromeBtn=this.labelIconBtn("moon",l("action.chromeToDark"),l("action.chromeHint"),()=>{const a=this.core.state.chrome==="light"?"dark":"light";this.core.setState({chrome:a},()=>this.core.persist(null,null,a))},"action.chromeHint")),this.chromeBtn&&(this.chromeBtn.i18nTipKey=this.core.state.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=l(this.chromeBtn.i18nTipKey)),e.ai&&(this.aiBtn=this.labelIconBtn("spark",l("action.aiDraft"),l("action.aiDraftHint"),()=>this.core.setState({aiOpen:!0}),"action.aiDraftHint","action.aiDraft")),e.code&&(this.codeBtn=this.labelIconBtn("code",l("action.code"),l("action.codeHint"),()=>this.core.openCode(),"action.codeHint","action.code")),e.preview&&(this.previewBtn=this.labelIconBtn("eye",l("action.preview"),l("action.previewHint")||"",()=>this.core.setState({previewOpen:!0}),"action.previewHint","action.preview")),e.export&&(this.exportBtn=this.labelIconBtn("download",l("action.export"),l("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&&(w.append(...R),k.appendChild(w)),k}iconBtn(e,l,k,T){const w=b("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:l,"data-i18n-title":T||void 0,class:"mc-icon-button"});return w.appendChild(B(e,15)),w.addEventListener("mouseenter",()=>{w.disabled||(w.style.borderColor="var(--ed-accent)",w.style.background="var(--ed-soft)")}),w.addEventListener("mouseleave",()=>{w.style.borderColor="var(--ed-line)",w.style.background="var(--ed-panel)"}),w.addEventListener("click",k),Ae(w,l,"down"),w}labelIconBtn(e,l,k,T,w,R){const a=b("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:k,class:"mc-icon-label"});return a.i18nTitleKey=w||null,a.i18nLabelKey=R||null,e&&(a.iconNode=B(e,14),a.iconName=e,a.appendChild(a.iconNode)),a.labelNode=document.createTextNode(l||""),a.appendChild(a.labelNode),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="var(--ed-panel)"}),a.addEventListener("click",T),Ae(a,k,"down")}sectionBar(e,l){const k=b("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 k.appendChild(b("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:e,class:"mc-section-label"})),l&&k.appendChild(typeof l=="string"?b("span","font-size: 10px; font-weight: 600; color: var(--ed-faint); flex: none;",{text:l}):l),k}sectionBody(e){return b("div","padding: 12px 14px 16px; background: var(--ed-panel);"+(e||""),{class:"mc-section-body"})}tabSurface(){return b("div","background: var(--ed-panel); min-height: 100%; padding-bottom: 28px;",{class:"mc-tab-surface"})}softBtn(e,l,k){const T=b("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 l&&T.appendChild(B(l,13)),T.appendChild(b("span","",{text:e})),T.addEventListener("mouseenter",()=>{T.style.background="var(--ed-accent)",T.style.color="var(--ed-accent-ink)"}),T.addEventListener("mouseleave",()=>{T.style.background="var(--ed-soft)",T.style.color="var(--ed-accent)"}),T.addEventListener("click",k),T}refreshToast(){const e=this.core.state;this.toastEl.style.display=e.toast?"block":"none",this.toastEl.textContent=e.toast||""}refreshCountdowns(){const e=this.core.state.now;(this.core.state.previewOpen&&this.previewSlot?[this.canvasSlot,this.previewSlot]:[this.canvasSlot]).forEach(k=>k.querySelectorAll("[data-mc-countdown]").forEach(T=>{const w=Math.max(0,new Date(T.getAttribute("data-mc-countdown")).getTime()-e),R={days:Math.floor(w/864e5),hrs:Math.floor(w/36e5)%24,min:Math.floor(w/6e4)%60,sec:Math.floor(w/1e3)%60};T.querySelectorAll("[data-mc-count]").forEach(a=>{a.textContent=String(R[a.getAttribute("data-mc-count")]??0).padStart(2,"0")})}))}refreshSavedLabel(){if(!this.savedLabel)return;const e=this.core.state,l=this.core.t;this.savedLabel.lastChild.textContent=e.savedStatus==="error"?l("status.saveFailed"):e.savedStatus==="saved"?l("status.saved",{time:e.savedAt}):l("status.autosaveOn"),this.savedDot.style.background=e.savedStatus==="error"?"var(--ed-danger)":e.savedStatus==="saved"?"var(--ed-success)":"var(--ed-accent)",this.savedLabel.style.color=e.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 e=this.canvasSlot?.querySelector('[data-mc-rte="1"]'),l=this.core.find(this.core.state.doc,this.core.state.editing);if(!e||!l.block)return;const k=this.core.formatFingerprint(l.block);k!==this._rtePrint&&(this._rtePrint=k,e.replaceWith(g(this.core,l.block)))}))}buildFooter(){return this.footerBar=b("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=b("span","",{class:"mc-footer-text"}),this.footerLink=b("a","color: inherit; text-decoration: none;",{class:"mc-footer-link"}),this.footerBar.appendChild(this.footerText),this.footerBar.appendChild(this.footerLink),this.footerBar}footerConfig(){return ee(this._footer!==void 0?this._footer:this.getAttribute("footer"))}refreshFooter(){if(!this.footerBar)return;const e=this.footerConfig();if(!e){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 l=e.text==null?this.core.t("footer.poweredBy"):e.text,k=!!e.href;this.footerText.style.display=k?"none":"inline",this.footerLink.style.display=k?"inline":"none",this.footerText.textContent=k?"":l,this.footerLink.textContent=k?l:"",k&&(this.footerLink.setAttribute("href",e.href),this.footerLink.setAttribute("target",e.target||"_blank"),this.footerLink.setAttribute("rel","noopener noreferrer"))}applyFooter(){this.refreshFooter()}buildMain(){const e=b("main","",{class:"mc-workspace"});this.mainEl=e,e.style.cssText="grid-column: 1; grid-row: 1; position: relative; overflow-y: auto; min-height: 0;",e.addEventListener("click",()=>{this.core.state.sel&&this.core.setState({sel:null})});const l=b("div","padding: 28px 40px 150px; display: flex; justify-content: center;",{class:"mc-canvas-stage"});this.zoomFrame=b("div","position: relative; transform-origin: top center; transition: transform 0.22s cubic-bezier(0.22,0.61,0.36,1);"),this.canvasSlot=b("div","",{class:"mc-sheet-wrap"}),this.zoomFrame.appendChild(this.canvasSlot),l.appendChild(this.zoomFrame),e.appendChild(l);const k=b("div","position: sticky; bottom: 0; display: flex; justify-content: center; pointer-events: none; padding-bottom: 16px;"),T=b("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=b("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=b("div","display: flex; gap: 1px;"),T.append(this.canvasMetaEl,b("span","width: 1px; height: 18px; background: var(--ed-line);"),this.zoomSeg),k.appendChild(T),e.appendChild(k),e}buildAside(){const e=b("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=b("div","display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);",{class:"mc-tabbar",role:"tablist"}),e.appendChild(this.tabBar),this.tabBody=b("div","overflow-y: auto; overflow-x: hidden; min-height: 0;"),e.appendChild(this.tabBody),e}render(){this.syncLiveEdit(),this.core.rendering=!0,this._rtePrint=null;const e=this.mainEl?this.mainEl.scrollTop:0,l=this.mainEl?this.mainEl.scrollLeft:0,k=this._renderedTab,T=this.tabBody?this.tabBody.scrollTop:0;try{this.renderInner()}finally{this.core.rendering=!1,this.core.editStale=null}this.mainEl&&(this.mainEl.scrollTop!==e&&(this.mainEl.scrollTop=e),this.mainEl.scrollLeft!==l&&(this.mainEl.scrollLeft=l)),this.tabBody&&this.core.state.tab===k&&this.tabBody.scrollTop!==T&&(this.tabBody.scrollTop=T),this._renderedTab=this.core.state.tab}syncLiveEdit(){const e=this.core;if(e.editStale&&e.editStale===e.state.editing||!e.state.editing||!e.editEl||!e.editEl.isConnected||!e.editKey)return;const l=e.find(e.state.doc,e.state.editing);if(!l.block)return;const k=e.editPlain?e.editEl.textContent:e.editEl.innerHTML;k!==e.editRendered&&k!==l.block.props[e.editKey]&&(l.block.props[e.editKey]=k)}refreshStrings(){const e=this.core.t,l=this.shadowRoot;l.querySelectorAll("[data-i18n]").forEach(k=>{k.textContent=e(k.getAttribute("data-i18n"))}),l.querySelectorAll("[data-i18n-title]").forEach(k=>{k.title=e(k.getAttribute("data-i18n-title"))}),l.querySelectorAll("[data-i18n-placeholder]").forEach(k=>{k.placeholder=e(k.getAttribute("data-i18n-placeholder"))}),[this.aiBtn,this.codeBtn,this.previewBtn,this.exportBtn].forEach(k=>{k&&(k.i18nTitleKey&&(k.title=e(k.i18nTitleKey)),k.i18nLabelKey&&(k.labelNode.textContent=e(k.i18nLabelKey)),k.i18nTitleKey&&k.tipNode&&(k.tipNode.textContent=e(k.i18nTitleKey)))}),this.chromeBtn?.i18nTitleKey&&(this.chromeBtn.title=e(this.chromeBtn.i18nTitleKey))}renderInner(){const e=this.core.state,l=this.core.t;if(this.refreshStrings(),this.mc.dataset.chrome=e.chrome,this.applyAccent(),this.refreshFooter(),this.refreshSavedLabel(),this.undoBtn&&(this.undoBtn.disabled=!e.history.length),this.redoBtn&&(this.redoBtn.disabled=!e.future.length),this.chromeBtn){this.chromeBtn.style.setProperty("display",this.hasAttribute("theme")?"none":"flex","important"),this.chromeBtn.labelNode.textContent=e.chrome==="light"?l("action.chromeToDark"):l("action.chromeToLight"),this.chromeBtn.i18nTipKey=e.chrome==="light"?"action.chromeHintToDark":"action.chromeHintToLight",this.chromeBtn.tipNode.textContent=l(this.chromeBtn.i18nTipKey),this.chromeBtn.setAttribute("aria-label",l(this.chromeBtn.i18nTipKey)),this.chromeBtn.title=l(this.chromeBtn.i18nTipKey);const T=e.chrome==="light"?"moon":"sun";if(this.chromeBtn.iconName!==T){const w=B(T,14);this.chromeBtn.iconNode.replaceWith(w),this.chromeBtn.iconNode=w,this.chromeBtn.iconName=T}}this.renderDeviceSeg(),this.renderZoomSeg(),this.zoomFrame.style.transform=`scale(${e.zoom})`,this.canvasSlot.replaceChildren(m(this.core,!0));const k=e.doc.rows.reduce((T,w)=>T+w.cols.reduce((R,a)=>R+a.blocks.length,0),0);this.canvasMetaEl.textContent=l("canvas.meta",{rows:e.doc.rows.length,blocks:k,width:e.device==="mobile"?375:e.doc.theme.width}),this.renderTabs(),this.renderTabBody(),this.renderLibraryModal(),this.renderExportModal(),this.renderCodeModal(),this.renderAiModal(),this.renderPreviewModal(),this.refreshToast()}segBg(e){return e?"var(--ed-accent)":"transparent"}segFg(e){return e?"var(--ed-accent-ink)":"var(--ed-muted)"}renderDeviceSeg(){if(!this.deviceSeg)return;const e=this.core.state,l=this.core.t;this.deviceSeg.innerHTML="",[{label:l("device.desktop"),title:l("device.desktopHint"),v:"desktop",iconName:"monitor"},{label:l("device.mobile"),title:l("device.mobileHint"),v:"mobile",iconName:"phone"}].forEach(k=>{const T=e.device===k.v,w=b("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(T)}; color: ${this.segFg(T)}; transition: background 0.16s, color 0.16s;`,{type:"button",title:k.title,"aria-pressed":String(T)});w.appendChild(B(k.iconName,15)),w.addEventListener("mouseenter",()=>{T?w.style.background="var(--ed-accent-strong)":(w.style.background="var(--ed-soft)",w.style.color="var(--ed-accent)")}),w.addEventListener("mouseleave",()=>{w.style.background=this.segBg(T),w.style.color=this.segFg(T)}),w.addEventListener("click",()=>this.core.setState({device:k.v})),Ae(w,k.label,"down"),this.deviceSeg.appendChild(w)})}renderZoomSeg(){const e=this.core.state;this.zoomSeg.innerHTML="",[.75,1,1.25].forEach(l=>{const k=e.zoom===l,T=b("button",`border: 0; border-radius: 7px; cursor: pointer; background: ${this.segBg(k)}; color: ${this.segFg(k)}; 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(l*100)}%`,"aria-pressed":String(k)});T.addEventListener("click",()=>this.core.setState({zoom:l})),this.zoomSeg.appendChild(T)})}renderTabs(){const e=this.core.state;this.tabBar.innerHTML="",Re(this.core.t).forEach(l=>{const k=e.tab===l.key,T=b("button",`border: 0; border-radius: 8px 8px 0 0; border-bottom: 2px solid ${k?"var(--ed-accent)":"transparent"}; background: ${k?"var(--ed-panel)":"transparent"}; color: ${k?"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:l.title,role:"tab","aria-selected":String(k)});T.appendChild(B(l.iconName,16)),T.addEventListener("mouseenter",()=>{k||(T.style.color="var(--ed-accent)",T.style.background="var(--ed-soft)")}),T.addEventListener("mouseleave",()=>{T.style.color=k?"var(--ed-accent)":"var(--ed-muted)",T.style.background=k?"var(--ed-panel)":"transparent"}),T.addEventListener("click",()=>this.core.setState({tab:l.key})),Ae(T,l.label,"down"),this.tabBar.appendChild(T)})}renderTabBody(){const e=this.shadowRoot.activeElement;if(e&&e.tagName==="INPUT"&&e.type==="color"&&this.tabBody.contains(e))return;this.tabBody.innerHTML="";const l=this.core.state.tab;l==="design"?this.tabBody.appendChild(this.renderDesignTab()):l==="blocks"?this.tabBody.appendChild(this.renderBlocksTab()):l==="rows"?this.tabBody.appendChild(this.renderRowsTab()):l==="files"?this.tabBody.appendChild(this.renderFilesTab()):l==="layers"?this.tabBody.appendChild(this.renderLayersTab()):l==="theme"?this.tabBody.appendChild(this.renderThemeTab()):l==="data"&&this.tabBody.appendChild(this.renderDataTab())}renderDesignTab(){const e=this.core.state,l=this.core.t,k=this.core.selObj(),T=b("div","min-height: 100%; display: flex; flex-direction: column;",{class:"mc-tab-surface mc-design-panel"}),w=b("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(e.sel){const c=b("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;");c.appendChild(B(k.block?k.block.type:"product",18)),w.appendChild(c)}const R=b("div","flex: 1; min-width: 0;");if(R.append(b("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:k.block?K(k.block.type).label:k.row?l("inspector.sectionLabel"):l("inspector.nothingSelected")}),b("div","font-size: 11px; color: var(--ed-muted); margin-top: 1px;",{text:k.block?l("inspector.blockProperties"):k.row?l("inspector.sectionProperties"):l("inspector.title")})),w.appendChild(R),e.sel){const c=b("div","display: flex; gap: 4px;"),d=b("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:l("action.duplicateHint"),class:"mc-icon-button"});d.appendChild(B("copy",14)),d.addEventListener("mouseenter",()=>{d.style.background="var(--ed-soft)",d.style.color="var(--ed-accent)"}),d.addEventListener("mouseleave",()=>{d.style.background="var(--ed-panel-2)",d.style.color="var(--ed-muted)"}),d.addEventListener("click",()=>this.core.dupSel()),Ae(d,l("action.duplicateHint"),"down","end");const o=b("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:l("action.deleteHint"),class:"mc-icon-button"});o.appendChild(B("trash",14)),o.addEventListener("mouseenter",()=>{o.style.filter="brightness(0.94)"}),o.addEventListener("mouseleave",()=>{o.style.filter=""}),o.addEventListener("click",()=>this.core.delSel()),Ae(o,l("action.deleteHint"),"down","end"),c.append(d,o),w.appendChild(c)}T.appendChild(w);const a=b("div","background: var(--ed-panel); flex: 1; padding-bottom: 28px;",{class:"mc-panel-content"});if(!e.sel){const c=b("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;"),d=b("p","margin: 0 0 14px;");d.innerHTML=l("inspector.emptyBody"),c.appendChild(d);const o=b("div","position: relative; border: 1px solid var(--ed-line); border-radius: 10px; padding: 12px;",{class:"mc-shortcuts"});o.appendChild(b("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:l("inspector.shortcuts")}));const M=b("div","display: grid; gap: 5px; font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--ed-muted);");[l("shortcut.undoRedo"),l("shortcut.duplicate"),l("shortcut.delete"),l("shortcut.export"),l("shortcut.escape")].forEach(Y=>M.appendChild(b("div","",{text:Y}))),o.appendChild(M),c.appendChild(o),a.appendChild(c)}const r=this.core.fields().concat(this.core.boxFields());return h(a,r),T.appendChild(a),T}renderBlocksTab(){const e=this.core.t,l=this.tabSurface();l.appendChild(this.sectionBar(e("blocks.dragHint"),e("blocks.count",{count:S.length})));const k=this.sectionBody(),T=b("div","display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;");return We(this.core).forEach(w=>{const R=b("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:w.hint}),a=()=>{R.style.borderColor="var(--ed-accent)",R.style.background="var(--ed-soft)",R.style.transform="translateY(-2px)",R.style.boxShadow="var(--ed-shadow-sm)"};R.addEventListener("mouseenter",a),R.addEventListener("mouseleave",()=>{R.style.borderColor="var(--ed-line)",R.style.background="var(--ed-panel-2)",R.style.transform="",R.style.boxShadow=""}),R.addEventListener("mousedown",()=>{R.style.cursor="grabbing",R.style.transform=""}),R.addEventListener("mouseup",()=>{R.style.cursor="grab",a()}),R.addEventListener("dragstart",w.onDragStart),R.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),R.addEventListener("dblclick",w.onAdd);const r=b("span","color: var(--ed-accent); display: block;");r.appendChild(w.icon()),R.appendChild(r),R.appendChild(b("span","font-size: 10.5px; color: var(--ed-muted); text-align: center; line-height: 1.2;",{text:w.label})),T.appendChild(R)}),k.appendChild(T),l.appendChild(k),l}renderRowsTab(){const e=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("rows.sectionLayouts")));const T=this.sectionBody(),w=b("div","display: grid; gap: 6px;");y.forEach(Y=>{const re=b("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"});re.addEventListener("mouseenter",()=>{re.style.borderColor="var(--ed-accent)",re.style.background="var(--ed-soft)"}),re.addEventListener("mouseleave",()=>{re.style.borderColor="var(--ed-line)",re.style.background="var(--ed-panel-2)"}),re.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:Y.spans})),re.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),re.addEventListener("dblclick",()=>this.core.insertRow(Y.spans,e.doc.rows.length));const ye=b("div","display: flex; gap: 3px; flex: 1; height: 26px;");Y.spans.forEach(q=>ye.appendChild(b("div",`flex: ${q}; border: 1px solid var(--ed-line-2); background: repeating-linear-gradient(45deg, transparent, transparent 4px, var(--ed-line) 4px, var(--ed-line) 5px);`))),re.append(ye,b("span","font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-muted); white-space: nowrap;",{text:Y.label})),w.appendChild(re)}),T.appendChild(w),k.appendChild(T),k.appendChild(this.sectionBar(l("rows.customMarkup")));const R=this.sectionBody(),a=b("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:l("rows.htmlRowHint")});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="var(--ed-panel-2)"}),a.addEventListener("dragstart",this.core.startDrag({kind:"row",spans:[100],html:!0})),a.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),a.addEventListener("click",()=>this.core.insertRow([100],e.doc.rows.length,!0));const r=b("span","color: var(--ed-accent); display: block;");r.appendChild(B("code",20));const c=b("span","flex: 1;");c.append(b("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 13px; line-height: 1.2;",{text:l("rows.rawHtmlSection")}),b("span","display: block; font-size: 11px; color: var(--ed-muted); line-height: 1.4;",{text:l("rows.rawHtmlDesc")})),a.append(r,c),R.appendChild(a),k.appendChild(R),k.appendChild(this.sectionBar(l("rows.canvasModel")));const d=this.sectionBody(),o=b("div","",{class:"mc-segment"});[{label:l("rows.modeRowBased"),v:"rows"},{label:l("rows.modeFreeStack"),v:"stack"}].forEach(Y=>{const re=e.mode===Y.v,ye=b("button",`flex: 1; background: ${this.segBg(re)}; color: ${this.segFg(re)}; font-family: var(--ed-font); font-size: 10px; font-weight: 600; padding: 8px 4px; transition: background 0.16s, color 0.16s;`,{type:"button",text:Y.label,"aria-pressed":String(re)});ye.addEventListener("click",()=>this.core.setState({mode:Y.v})),o.appendChild(ye)}),d.appendChild(o);const M=e.mode==="rows"?l("rows.hintRows"):l("rows.hintStack");return d.appendChild(b("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:M})),k.appendChild(d),k}renderFilesTab(){const e=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("files.libraryCount",{count:e.assets.length})));const T=this.sectionBody(),w=b("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"});w.append(B("folder",14),b("span","",{text:l("files.openManager")})),w.addEventListener("mouseenter",()=>{w.style.filter="brightness(1.1)"}),w.addEventListener("mouseleave",()=>{w.style.filter=""}),w.addEventListener("click",()=>this.core.openLibrary()),T.appendChild(w);const R=b("div","display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 12px;");return e.assets.slice(0,6).forEach(a=>{const r=b("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:a.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:a.id})),r.addEventListener("dragend",()=>{this.core.drag=null,this.core.setState({drop:null,rowDrop:null})}),r.addEventListener("click",()=>this.core.useAsset(a)),r.appendChild(b("div",`width: 100%; height: 64px; background-image: url("${a.url}"); background-size: cover; background-position: center; background-color: var(--ed-work);`,{role:"img","aria-label":a.name})),r.appendChild(b("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:a.name})),R.appendChild(r)}),T.appendChild(R),T.appendChild(b("p","margin: 12px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:l("files.dragToCanvas")})),k.appendChild(T),k}renderLayersTab(){const e=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("layers.structure")));const T=this.sectionBody("display: grid; gap: 0;");return T.classList.add("mc-layer-tree"),e.doc.rows.forEach((w,R)=>{const a=e.sel&&e.sel.id===w.id,r=b("div","background: transparent; padding: 0 0 8px;",{class:`mc-tree-section${a?" is-selected":""}`}),c=w.cols.reduce((M,Y)=>M+Y.blocks.length,0),d=b("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 6px 7px; border-radius: 7px; background: ${a?"var(--ed-soft)":"transparent"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-section-node"});d.addEventListener("mouseenter",()=>{d.style.background="var(--ed-soft)"}),d.addEventListener("mouseleave",()=>{d.style.background=a?"var(--ed-soft)":"transparent"}),d.addEventListener("click",()=>this.core.select("row",w.id)),d.append(b("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: ${a?"var(--ed-accent)":"var(--ed-panel-2)"}; color: ${a?"var(--ed-accent-ink)":"var(--ed-muted)"};`,{text:String(R+1).padStart(2,"0"),class:"mc-tree-index"}),b("span","font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; color: var(--ed-text);",{text:w.cols.length===1?l("layers.sectionSingle"):l("layers.sectionMulti",{count:w.cols.length}),class:"mc-tree-title"}),b("span","flex: 1;"),b("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:l("layers.blockCount",{count:c}),class:"mc-tree-count"})),r.appendChild(d);const o=b("div","",{class:"mc-tree-children mc-tree-columns"});w.cols.forEach((M,Y)=>{const re=b("div","",{class:"mc-tree-branch"}),ye=b("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"}),q=b("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(q.appendChild(B("table",11)),ye.append(q,b("span","font-family: var(--ed-font); font-size: 11.5px; font-weight: 600;",{text:l("layers.column",{index:Y+1}),class:"mc-tree-title"}),b("span","flex: 1;"),b("span","font-family: var(--ed-font); font-size: 10px; font-weight: 500; color: var(--ed-muted);",{text:l("layers.blockCount",{count:M.blocks.length}),class:"mc-tree-count"})),re.appendChild(ye),M.blocks.length){const ue=b("div","",{class:"mc-tree-children mc-tree-blocks"});M.blocks.forEach(fe=>{const ve=e.sel&&e.sel.id===fe.id,He=K(fe.type).label,Le=fe.type==="text"?String(fe.props.html||"").replace(/<[^>]+>/g,"").trim().slice(0,34):fe.props.label||fe.props.title||fe.props.caption||"",De=b("div",`display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 4px 7px; border-radius: 8px; background: ${ve?"var(--ed-soft)":"transparent"}; box-shadow: ${ve?"inset 0 0 0 1px var(--ed-accent)":"none"}; transition: background 0.16s;`,{class:"mc-tree-node mc-tree-block-node"});De.addEventListener("mouseenter",()=>{e.sel&&e.sel.id===fe.id||(De.style.background="var(--ed-panel)")}),De.addEventListener("mouseleave",()=>{De.style.background=ve?"var(--ed-soft)":"transparent"}),De.addEventListener("click",()=>this.core.select("block",fe.id));const Oe=b("span",`width: 22px; height: 22px; flex: none; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: ${ve?"var(--ed-accent)":"var(--ed-soft)"}; color: ${ve?"var(--ed-accent-ink)":"var(--ed-accent)"};`);Oe.appendChild(B(fe.type,12)),De.append(Oe,b("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:Le||He,class:"mc-tree-title",dir:"auto"})),Le&&De.append(b("span","flex: 1; min-width: 8px;"),b("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:He,class:"mc-tree-type"})),ue.appendChild(De)}),re.appendChild(ue)}o.appendChild(re)}),r.appendChild(o),T.appendChild(r)}),k.appendChild(T),k}renderThemeTab(){const e=this.tabSurface();return h(e,this.core.themeFields()),e}renderDataTab(){const e=this.core.state,l=this.core.t,k=this.tabSurface();k.appendChild(this.sectionBar(l("vars.title"),l("vars.fromCode",{count:this.core.vars().length})));const T=this.sectionBody();T.appendChild(b("p","margin: 0 0 12px; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:l("vars.declaredNote")}));const w=b("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:l("vars.filterPlaceholder"),"data-focus-key":"var-query",dir:"auto"});w.value=e.varQuery||"",w.addEventListener("focus",()=>{w.style.borderColor="var(--ed-accent)",w.style.outline="none"}),w.addEventListener("blur",()=>{w.style.borderColor="var(--ed-line)"});const R=u(d=>this.core.setState({varQuery:d}));w.addEventListener("input",d=>R.call(d.target.value)),T.appendChild(w);const a=this.core.vars(),r=a.filter(d=>!e.varQuery||d.toLowerCase().includes(String(e.varQuery).toLowerCase())),c=b("div","display: grid; gap: 3px;");return r.forEach(d=>{const o=d.replace(/[_.]/g," ").replace(/\b\w/g,re=>re.toUpperCase()),M=b("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:l("vars.insertHint")});M.addEventListener("mouseenter",()=>{M.style.borderColor="var(--ed-accent)",M.style.background="var(--ed-soft)"}),M.addEventListener("mouseleave",()=>{M.style.borderColor="var(--ed-line)",M.style.background="var(--ed-panel-2)"}),M.addEventListener("click",()=>this.core.insertTag(d));const Y=b("span","flex: 1; min-width: 0;");Y.append(b("span","display: block; font-family: var(--ed-font); font-weight: 600; font-size: 12.5px; line-height: 1.2;",{text:o}),b("span","display: block; font-family: ui-monospace, monospace; font-size: 10px; color: var(--ed-accent); margin-top: 2px;",{text:z(d),dir:"ltr"})),M.append(Y,b("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:l("vars.insert")})),c.appendChild(M)}),T.appendChild(c),r.length||T.appendChild(b("p","margin: 10px 0 0; font-size: 11.5px; color: var(--ed-muted); line-height: 1.55;",{text:a.length?l("vars.noMatch"):l("vars.noneDeclared")})),T.appendChild(b("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:l("vars.rteHint")})),k.appendChild(T),k}buildLibraryModal(){const e=this.core.t,l=b("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"});l.addEventListener("click",o=>{o.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=b("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"});k.addEventListener("click",o=>o.stopPropagation()),l.appendChild(k);const T=b("div","display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);");this.libraryTitleEl=b("div","flex: 1;"),this.libraryTitleEl.append(b("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:e("modal.fileManager"),"data-i18n":"modal.fileManager"}),this.libraryTitleText=b("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;")),this.assetSearch=b("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:e("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 w=u(o=>this.core.setAssetQuery(o));this.assetSearch.addEventListener("input",o=>w.call(o.target.value));const R=b("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"});R.append(B("upload",14),b("span","",{text:e("action.upload"),"data-i18n":"action.upload"})),R.addEventListener("mouseenter",()=>{R.style.filter="brightness(1.1)"}),R.addEventListener("mouseleave",()=>{R.style.filter=""}),R.addEventListener("click",()=>this.fileInput.click());const a=b("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:e("action.close"),class:"mc-icon-button"});a.appendChild(B("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})),Ae(a,e("action.close"),"down","end"),T.append(this.libraryTitleEl,this.assetSearch,R,a),k.appendChild(T);const r=b("div","display: grid; grid-template-columns: 186px 1fr; min-height: 0;");this.folderList=b("div","border-right: 1px solid var(--ed-line); padding: 14px; overflow-y: auto;");const c=b("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:e("library.folders"),"data-i18n":"library.folders"});this.folderGrid=b("div","display: grid; gap: 2px;"),this.folderList.append(c,this.folderGrid),this.assetGridWrap=b("div","overflow-y: auto; padding: 16px; transition: background 0.16s;"),this.assetGridWrap.addEventListener("dragover",o=>{this.core.drag||(o.preventDefault(),this.core.state.libHot||this.core.setState({libHot:!0}))}),this.assetGridWrap.addEventListener("drop",o=>{o.preventDefault(),this.core.setState({libHot:!1}),o.dataTransfer?.files?.length&&this.core.addFiles(o.dataTransfer.files)}),this.assetStatus=b("div","font-size: 12.5px; color: var(--ed-muted); padding: 0 2px 12px;"),this.assetGrid=b("div","display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 14px;"),this.assetEmpty=b("div","padding: 28px 2px; color: var(--ed-muted); font-size: 12.5px;",{text:e("library.empty"),"data-i18n":"library.empty"}),this.assetMore=b("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:e("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(b("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:e("library.dropHint"),"data-i18n":"library.dropHint"})),r.append(this.folderList,this.assetGridWrap),k.appendChild(r);const d=b("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=b("span"),this.storageLabelEl=b("span"),d.append(this.libraryHintEl,this.storageLabelEl),k.appendChild(d),l}renderLibraryModal(){const e=this.core.state,l=this.core.t;if(this.libraryModal.style.display=e.libraryOpen?"flex":"none",!e.libraryOpen)return;this.libraryTitleText.textContent=e.assetTarget?l("modal.replaceImage"):l("modal.assetsTitle"),this.libraryHintEl.textContent=e.assetTarget?l("library.clickToReplace"):l("library.clickToPlace"),this.storageLabelEl.textContent=l("library.storageLabel",{count:e.assets.length,size:D(e.assets.reduce((w,R)=>w+(R.size||0),0))}),this.assetSearch.value!==(e.assetQuery||"")&&(this.assetSearch.value=e.assetQuery||""),this.fileInput.accept=Q(this.core.limits()),this.folderGrid.innerHTML="",this.core.folderOptions().forEach(w=>{const R=e.assetFolder===w.id,a=b("button",`text-align: left; border: 0; border-left: 2px solid ${R?"var(--ed-accent)":"transparent"}; background: ${R?"var(--ed-soft)":"transparent"}; color: ${R?"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"});a.addEventListener("mouseenter",()=>{a.style.background="var(--ed-soft)"}),a.addEventListener("mouseleave",()=>{a.style.background=R?"var(--ed-soft)":"transparent"}),a.addEventListener("click",()=>this.core.setAssetFolder(w.id)),a.append(b("span","",{text:w.name}),b("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:w.count==null?"":String(w.count)})),this.folderGrid.appendChild(a)});const k=e.uploading?l("storage.uploading",{count:e.uploading}):e.assetsError?l("storage.errLoadFailed",{reason:e.assetsError}):e.assetsLoading?l("storage.loading"):"";this.assetStatus.textContent=k,this.assetStatus.style.display=k?"block":"none",this.assetStatus.style.color=e.assetsError?"var(--ed-danger)":"var(--ed-muted)",this.assetGridWrap.style.background=e.libHot?"var(--ed-soft)":"transparent";const T=this.core.visibleAssets();this.assetGrid.innerHTML="",T.forEach(w=>{const R=b("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"});R.addEventListener("mouseenter",()=>{R.style.borderColor="var(--ed-accent)",R.style.transform="translateY(-1px)",R.style.boxShadow="var(--ed-shadow-md)"}),R.addEventListener("mouseleave",()=>{R.style.borderColor="var(--ed-line)",R.style.transform="",R.style.boxShadow=""}),R.addEventListener("dragstart",this.core.startDrag({kind:"asset",assetId:w.id})),R.addEventListener("click",()=>this.core.useAsset(w)),R.appendChild(b("div",`width: 100%; height: 120px; background-image: url("${w.url}"); background-size: cover; background-position: center; background-color: var(--ed-work); border-bottom: 1px solid var(--ed-line);`,{role:"img","aria-label":w.name}));const a=b("div","padding: 8px 9px;");a.appendChild(b("div","font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",{text:w.name}));const r=b("div","display: flex; justify-content: space-between; gap: 6px; margin-top: 3px;");r.appendChild(b("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint);",{text:`${w.w?w.w+"×"+w.ht+" · ":""}${D(w.size||0)}`}));const c=b("span","font-family: ui-monospace, monospace; font-size: 9.5px; color: var(--ed-faint); cursor: pointer;",{title:l("library.deleteFileHint"),text:l("library.del")});c.addEventListener("mouseenter",()=>{c.style.color="var(--ed-danger)"}),c.addEventListener("mouseleave",()=>{c.style.color="var(--ed-faint)"}),c.addEventListener("click",d=>{d.stopPropagation(),this.core.removeAsset(w)}),r.appendChild(c),a.appendChild(r),R.appendChild(a),this.assetGrid.appendChild(R)}),this.assetEmpty.style.display=!T.length&&!e.assetsLoading&&!e.assetsError?"block":"none",this.assetMore.style.display=e.assetCursor?"block":"none",this.assetMore.disabled=!!e.assetsLoading}buildExportModal(){const e=this.core.t,l=b("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"});l.addEventListener("click",r=>{r.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=b("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"});k.addEventListener("click",r=>r.stopPropagation()),l.appendChild(k);const T=b("div","display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),w=b("div","flex: 1;");w.append(b("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:e("modal.export"),"data-i18n":"modal.export"}),b("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:e("modal.exportTitle"),"data-i18n":"modal.exportTitle"})),this.copyBtn=b("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=B("copy",14),this.copyBtn.labelNode=b("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=b("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:e("action.screenshotHint"),"data-i18n-title":"action.screenshotHint",class:"mc-icon-label"}),this.shotBtn.append(B("image",14),b("span","",{text:e("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 R=b("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"});R.append(B("download",14),b("span","",{text:e("action.download"),"data-i18n":"action.download"})),R.addEventListener("mouseenter",()=>{R.style.filter="brightness(1.1)"}),R.addEventListener("mouseleave",()=>{R.style.filter=""}),R.addEventListener("click",()=>this.core.downloadExport());const a=b("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:e("action.close"),class:"mc-icon-button"});return a.appendChild(B("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})),Ae(a,e("action.close"),"down","end"),T.append(w,this.copyBtn,this.shotBtn,R,a),k.appendChild(T),this.exportTextarea=b("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"}),k.appendChild(this.exportTextarea),this.exportMetaEl=b("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);"),k.appendChild(this.exportMetaEl),l}renderExportModal(){const e=this.core.state,l=this.core.t;this.exportModal.style.display=e.exportOpen?"flex":"none",e.exportOpen&&(this.exportTextarea.value!==e.exportCode&&(this.exportTextarea.value=e.exportCode),this.copyBtn.labelNode.textContent=e.copied?l("export.copied"):l("export.copy"),this.exportMetaEl.textContent=l("export.meta",{kb:(e.exportCode.length/1024).toFixed(1)}))}buildCodeModal(){const e=this.core.t,l=b("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"}),k=b("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"}),T=b("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"});T.appendChild(B("code",17));const w=b("div","flex: 1; min-width: 0;");this.codeStatusEl=b("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"}),w.append(this.codeStatusEl,b("div","font-family: var(--ed-font); font-weight: 600; font-size: 15px; line-height: 1.2;",{text:e("modal.rawHtmlTitle"),"data-i18n":"modal.rawHtmlTitle",class:"mc-code-heading"})),this.codeWidthSeg=b("div","",{class:"mc-segment"});const R="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;",a=b("button",R,{type:"button",title:e("toast.htmlCopied"),"data-i18n-title":"toast.htmlCopied",class:"mc-code-copy"});a.appendChild(B("copy",14));const r=b("span","",{text:e("story.copy"),"data-i18n":"story.copy"});a.appendChild(r),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",()=>{this.core.copyCode(),r.setAttribute("data-i18n","export.copied"),r.textContent=this.core.t("export.copied"),clearTimeout(this._codeCopyTimer),this._codeCopyTimer=setTimeout(()=>{r.setAttribute("data-i18n","story.copy"),r.textContent=this.core.t("story.copy")},1600)});const c=b("button",R,{type:"button",title:e("action.reloadHint"),"data-i18n-title":"action.reloadHint"});c.appendChild(B("refresh",14)),c.appendChild(b("span","",{text:e("action.reload"),"data-i18n":"action.reload"})),c.addEventListener("mouseenter",()=>{c.style.borderColor="var(--ed-accent)",c.style.background="var(--ed-soft)"}),c.addEventListener("mouseleave",()=>{c.style.borderColor="var(--ed-line)",c.style.background="transparent"}),c.addEventListener("click",()=>{const He=this.core.buildHtml();this.core.setState({codeSrc:He,codeLive:He,codeDirty:!1}),this.core.flash(this.core.t("toast.sourceReloaded"))});const d=b("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:e("action.applyToCanvasHint"),"data-i18n-title":"action.applyToCanvasHint"});d.appendChild(B("check",14)),d.appendChild(b("span","",{text:e("action.applyToCanvas"),"data-i18n":"action.applyToCanvas"})),d.addEventListener("mouseenter",()=>{d.style.filter="brightness(1.1)"}),d.addEventListener("mouseleave",()=>{d.style.filter=""}),d.addEventListener("click",()=>this.core.applyCode());const o=b("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:e("action.closeWithoutApplyingHint"),"data-i18n-title":"action.closeWithoutApplyingHint",class:"mc-icon-button"});o.appendChild(B("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})),Ae(o,e("action.closeWithoutApplyingHint"),"down","end"),k.append(T,w,this.codeWidthSeg,a,c,d,o),l.appendChild(k);const M=b("div","display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; min-height: 0; background: var(--ed-work);",{class:"mc-code-split"}),Y=b("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"}),re=b("div","padding: 5px 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; align-items: center; justify-content: space-between; gap: 10px; min-height: 30px; box-sizing: border-box;",{class:"mc-pane-label"});this._codeFind={open:!1,q:"",index:0,matches:[]},this.codeMetaEl=b("span");const ye=(He,Le,De)=>{const Oe=b("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-muted); cursor: pointer; width: 26px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 6px; flex: none; transition: border-color 0.16s, color 0.16s;",{type:"button",title:e(Le),"data-i18n-title":Le,"aria-label":e(Le)});return Oe.appendChild(B(He,13)),Oe.addEventListener("mouseenter",()=>{Oe.style.borderColor="var(--ed-accent)"}),Oe.addEventListener("mouseleave",()=>{Oe.style.borderColor=Oe.getAttribute("aria-pressed")==="true"?"var(--ed-accent)":"var(--ed-line)"}),Oe.addEventListener("click",De),Oe};this.codeFindBtn=ye("search","code.find",()=>this._codeFind.open?this.closeCodeFind():this.openCodeFind()),this.codeWrapBtn=ye("wrap","code.wrap",()=>this.toggleCodeWrap()),this.codeFormatBtn=ye("indent","code.format",()=>this.formatCodeSource());const q=b("div","display: flex; align-items: center; gap: 5px;",{class:"mc-code-tools"});q.append(this.codeFindBtn,this.codeWrapBtn,this.codeFormatBtn,this.codeMetaEl),re.append(b("span","",{text:e("code.source"),"data-i18n":"code.source"}),q),Y.appendChild(re);const ue=b("div","position: relative; min-height: 0;");ue.appendChild(this.buildCodeEditor()),ue.appendChild(this.buildCodeFindBar()),Y.appendChild(ue),M.appendChild(Y),l.addEventListener("keydown",He=>{if(!(He.ctrlKey||He.metaKey)||He.altKey)return;const Le=He.key.toLowerCase();Le==="f"&&(He.preventDefault(),He.stopPropagation(),this.openCodeFind()),Le==="g"&&(He.preventDefault(),He.stopPropagation(),this.openCodeFind(!0))});const fe=b("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"});fe.appendChild(b("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:e("code.livePreview"),"data-i18n":"code.livePreview",class:"mc-pane-label"}));const ve=b("div","overflow: auto; display: flex; justify-content: center; background: var(--ed-work);",{class:"mc-code-preview-body"});return this.codePreviewBody=ve,this.codeFrame=b("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:e("code.liveHtmlPreviewTitle"),"data-i18n-title":"code.liveHtmlPreviewTitle",class:"mc-code-frame"}),this.codeFrame.addEventListener("load",()=>{this.syncCodePreviewScrollbar(),this.wireCodePreviewInspect()}),ve.appendChild(this.codeFrame),fe.appendChild(ve),M.appendChild(fe),l.appendChild(M),l.appendChild(b("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:e("code.applyNote"),"data-i18n":"code.applyNote",class:"mc-code-footer"})),l}buildCodeEditor(){const e="font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 20px; tab-size: 2;",l=b("div","position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; background: var(--ed-work);",{dir:"ltr"}),k=b("div","position: relative; min-height: 100%; width: 100%; min-width: 0;");this.codeScroller=l,this.codeInnerEl=k;try{this._codeWrap=localStorage.getItem("mailcraft.codewrap")!=="off"}catch{this._codeWrap=!0}this.codePre=b("pre",`${e} 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=b("textarea",`${e} 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",w=>this.core.setCodeSrc(w.target.value)),this.codeTextarea.addEventListener("keydown",w=>this.onCodeEditorKeydown(w));const T=()=>{this.core.state.codeOpen&&(this.refreshCodeCaret(),clearTimeout(this._inspectTimer),this._inspectTimer=setTimeout(()=>this.inspectFromCaret(),160))};return this.codeTextarea.addEventListener("click",T),this.codeTextarea.addEventListener("keyup",w=>{["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(w.key)&&T()}),k.append(this.codePre,this.codeTextarea),l.appendChild(k),l}onCodeEditorKeydown(e){const l=e.target;if(e.key==="Escape"&&this._codeFind&&this._codeFind.open){e.preventDefault(),e.stopPropagation(),this.closeCodeFind();return}if(e.key==="Enter"&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.isComposing){e.preventDefault();const d=l.selectionStart,o=l.value.lastIndexOf(`
|
|
109
|
+
`,d-1)+1,M=(/^[ \t]*/.exec(l.value.slice(o,d))||[""])[0];this.codeInsertText(`
|
|
110
|
+
`+M),this.refreshCodeCaret();return}if(e.key!=="Tab")return;e.preventDefault();const k=l.selectionStart,T=l.selectionEnd,w=l.value;if(!e.shiftKey&&!w.slice(k,T).includes(`
|
|
111
|
+
`)){this.codeInsertText(" ");return}const R=w.lastIndexOf(`
|
|
112
|
+
`,k-1)+1;let a=w.indexOf(`
|
|
113
|
+
`,T);a===-1&&(a=w.length);const r=w.slice(R,a),c=e.shiftKey?r.replace(/^ {1,2}/gm,""):r.replace(/^/gm," ");if(c!==r){try{l.setSelectionRange(R,a)}catch{return}this.codeInsertText(c);try{l.setSelectionRange(R,R+c.length)}catch{}}}codeInsertText(e){const l=this.codeTextarea;try{l.focus()}catch{}const k=l.selectionStart,T=l.selectionEnd,w=l.value.slice(0,k)+e+l.value.slice(T);try{const a=this.ownerDocument;a&&a.execCommand&&(e===""?a.execCommand("delete",!1):a.execCommand("insertText",!1,e))}catch{}if(l.value===w)return;l.value=w;const R=k+e.length;try{l.setSelectionRange(R,R)}catch{}this.core.setCodeSrc(l.value)}syncCodePreviewScrollbar(){const e=this.codeFrame?.contentDocument;if(!e?.head)return;const k=this.ownerDocument?.defaultView?.getComputedStyle(this.mc).getPropertyValue("--ed-line-2").trim()||"rgba(15,23,42,0.16)";let T=e.head.querySelector("[data-mc-preview-scrollbar]");T||(T=e.createElement("style"),T.setAttribute("data-mc-preview-scrollbar",""),e.head.appendChild(T)),T.textContent=`html { scrollbar-width: thin !important; scrollbar-color: ${k} transparent !important; } *::-webkit-scrollbar { width: 8px !important; height: 8px !important; } *::-webkit-scrollbar-thumb { background: ${k} !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 e=this.core.state,l=this.core.t;if(this.codeModal.style.display=e.codeOpen?"grid":"none",!e.codeOpen)return;this.applyCodeWrap(),this.refreshCodeSource(),this._codeFrameSrc!==e.codeLive&&(this.codeFrame.srcdoc=A(e.codeLive),this._codeFrameSrc=e.codeLive),this.syncCodePreviewScrollbar(),this.codeWidthSeg.innerHTML="",[{label:l("device.desktop"),v:"desktop",iconName:"monitor"},{label:l("device.mobile"),v:"mobile",iconName:"phone"}].forEach(T=>{const w=e.codeDevice===T.v,R=b("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(w)}; color: ${this.segFg(w)};`,{type:"button",title:T.label,"aria-pressed":String(w)});R.appendChild(B(T.iconName,15)),R.addEventListener("click",()=>this.core.setState({codeDevice:T.v})),Ae(R,T.label,"down"),this.codeWidthSeg.appendChild(R)});const k=e.codeDevice==="mobile";this.codeFrame.style.width=k?"390px":"100%",this.codePreviewBody.classList.toggle("is-device",k)}refreshCodeSource(){if(!this.core.state.codeOpen||!this.codeTextarea)return;const e=this.core.state,l=this.core.t;this.codeStatusEl.textContent=e.codeDirty?l("code.statusEdited"):l("code.statusSynced"),this.codeTextarea.value!==e.codeSrc&&(this.codeTextarea.value=e.codeSrc);const k=e.codeSrc.split(`
|
|
114
|
+
`),T=this._codeFind;let w=[];T&&T.open&&T.q?(w=t(e.codeSrc,T.q),T.matches=w,T.index>=w.length&&(T.index=Math.max(0,w.length-1))):T&&(T.matches=[],T.index=0),this.codeFindCount&&(this.codeFindCount.textContent=w.length?`${T.index+1}/${w.length}`:"0/0");const R=this._codeWrap!==!1,a=R?"52px minmax(0,1fr)":"52px max-content",r=R?"white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word":"white-space:pre",c=Math.min(this.codeTextarea.selectionStart||0,e.codeSrc.length);let d=0,o=0,M=0;this.codePre.innerHTML=k.map((Y,re)=>{const ye=d+Y.length,q=c>=d&&c<=ye;q&&(M=re);const ue=[];for(;o<w.length&&w[o].start<=ye;){const Le=w[o];Le.end>d&&ue.push({start:Math.max(0,Le.start-d),end:Math.min(Y.length,Le.end-d),cur:o===T.index}),o++}const fe=(ue.length?v(N(Y),ue):N(Y))||"​",ve="padding-right:10px;text-align:right;user-select:none;border-right:1px solid var(--ed-line);"+(q?"color:var(--ed-accent);font-weight:700":"color:var(--ed-faint)"),He=`display:grid;grid-template-columns:${a};min-height:20px;${q?"background:var(--ed-soft);":""}`;return d=ye+1,`<span style="${He}"><span style="${ve}">${re+1}</span><span style="min-width:0;padding:0 18px;${r}">${fe}</span></span>`}).join(""),this._codeCaretLine=M,this.codeMetaEl.textContent=l("code.meta",{kb:(e.codeSrc.length/1024).toFixed(1),lines:k.length})}refreshCodeCaret(){if(!this.core.state.codeOpen||!this.codeTextarea)return;const e=this.codeTextarea.selectionStart||0;this.core.state.codeSrc.slice(0,e).split(`
|
|
115
|
+
`).length-1!==this._codeCaretLine&&this.refreshCodeSource()}codeLineOf(e){return this.core.state.codeSrc.slice(0,Math.max(0,e)).split(`
|
|
116
|
+
`).length-1}scrollCodeLineIntoView(e,l){const k=this.codePre&&this.codePre.children[e];if(k){if(typeof k.scrollIntoView=="function")try{k.scrollIntoView({block:"center"})}catch{}l&&(k.style.outline="1.5px solid var(--ed-accent)",k.style.outlineOffset="-1px",setTimeout(()=>{k.style.outline="",k.style.outlineOffset=""},900))}}applyCodeWrap(){const e=this.codeTextarea;if(!e)return;const l=this._codeWrap!==!1;e.setAttribute("wrap",l?"soft":"off"),e.style.whiteSpace=l?"pre-wrap":"pre",e.style.overflowWrap=l?"anywhere":"normal",e.style.wordBreak=l?"break-word":"normal",this.codeScroller&&(this.codeScroller.style.overflowX=l?"hidden":"auto"),this.codeInnerEl&&(this.codeInnerEl.style.width=l?"100%":"max-content",this.codeInnerEl.style.minWidth=l?"0":"100%"),this.codeWrapBtn&&(this.codeWrapBtn.setAttribute("aria-pressed",String(l)),this.codeWrapBtn.style.color=l?"var(--ed-accent)":"var(--ed-muted)",this.codeWrapBtn.style.borderColor=l?"var(--ed-accent)":"var(--ed-line)")}toggleCodeWrap(){this._codeWrap=this._codeWrap===!1;try{localStorage.setItem("mailcraft.codewrap",this._codeWrap?"on":"off")}catch{}this.applyCodeWrap(),this.refreshCodeSource()}formatCodeSource(){const e=this.core.state.codeSrc;let l=e;try{l=H(e)}catch{l=e}if(l===e)return;const k=this.codeTextarea;try{k.focus(),k.setSelectionRange(0,k.value.length)}catch{}this.codeInsertText(l);try{k.setSelectionRange(0,0)}catch{}this.codeScroller&&(this.codeScroller.scrollTop=0),this.refreshCodeSource()}buildCodeFindBar(){const e=this.core.t,l=b("div","position: absolute; top: 8px; right: 16px; z-index: 6; display: none; flex-direction: column; gap: 6px; padding: 8px; background: var(--ed-panel); border: 1px solid var(--ed-line-2); border-radius: 10px; box-shadow: var(--ed-shadow-lg);",{class:"mc-code-findbar",dir:"ltr"}),k="box-sizing: border-box; background: var(--ed-panel-2); border: 1px solid var(--ed-line); color: var(--ed-text); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; padding: 5px 8px; border-radius: 6px; outline: none;",T=(r,c,d)=>{const o=b("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-muted); cursor: pointer; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 6px; flex: none; transition: border-color 0.16s;",{type:"button",title:e(c),"data-i18n-title":c,"aria-label":e(c)});return o.appendChild(B(r,12)),o.addEventListener("mouseenter",()=>{o.style.borderColor="var(--ed-accent)"}),o.addEventListener("mouseleave",()=>{o.style.borderColor="var(--ed-line)"}),o.addEventListener("click",d),o},w=(r,c)=>{const d=b("button","border: 1px solid var(--ed-line); background: transparent; color: var(--ed-text); cursor: pointer; height: 24px; padding: 0 8px; display: flex; align-items: center; border-radius: 6px; font-family: var(--ed-font); font-size: 10.5px; font-weight: 600; flex: none; transition: border-color 0.16s;",{type:"button"});return d.appendChild(b("span","",{text:e(r),"data-i18n":r})),d.addEventListener("mouseenter",()=>{d.style.borderColor="var(--ed-accent)"}),d.addEventListener("mouseleave",()=>{d.style.borderColor="var(--ed-line)"}),d.addEventListener("click",c),d},R=b("div","display: flex; align-items: center; gap: 6px;");this.codeFindInput=b("input",k+"width: 168px;",{placeholder:e("code.find"),"data-i18n-placeholder":"code.find","data-focus-key":"code-find"}),this.codeFindInput.addEventListener("input",r=>{this._codeFind.q=r.target.value,this._codeFind.index=0,this.refreshCodeSource()}),this.codeFindInput.addEventListener("keydown",r=>{r.key==="Enter"&&(r.preventDefault(),this.codeFindStep(r.shiftKey?-1:1))}),this.codeFindCount=b("span","font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--ed-muted); min-width: 42px; text-align: center; flex: none;",{text:"0/0"}),R.append(this.codeFindInput,this.codeFindCount,T("up","code.prevMatch",()=>this.codeFindStep(-1)),T("down","code.nextMatch",()=>this.codeFindStep(1)),T("x","action.close",()=>this.closeCodeFind()));const a=b("div","display: flex; align-items: center; gap: 6px;");return this.codeReplaceInput=b("input",k+"width: 130px;",{placeholder:e("code.replace"),"data-i18n-placeholder":"code.replace","data-focus-key":"code-replace"}),this.codeReplaceInput.addEventListener("keydown",r=>{r.key==="Enter"&&(r.preventDefault(),this.codeReplaceCurrent())}),this.codeLineInput=b("input",k+"width: 52px;",{placeholder:":42",title:e("code.goToLine"),"data-i18n-title":"code.goToLine","aria-label":e("code.goToLine"),"data-focus-key":"code-goline"}),this.codeLineInput.addEventListener("keydown",r=>{r.key==="Enter"&&(r.preventDefault(),this.codeGoToLine(r.target.value))}),a.append(this.codeReplaceInput,w("code.replace",()=>this.codeReplaceCurrent()),w("code.replaceAll",()=>this.codeReplaceAll()),this.codeLineInput),l.addEventListener("keydown",r=>{r.key==="Escape"&&(r.preventDefault(),r.stopPropagation(),this.closeCodeFind())}),l.append(R,a),this.codeFindBar=l,l}openCodeFind(e){const l=this._codeFind;l.open=!0,this.codeFindBar.style.display="flex";const k=this.codeTextarea,T=k.value.slice(k.selectionStart||0,k.selectionEnd||0);T&&!T.includes(`
|
|
117
|
+
`)&&(this.codeFindInput.value=T,l.q=T,l.index=0),this.refreshCodeSource();const w=e?this.codeLineInput:this.codeFindInput;try{w.focus(),w.select()}catch{}}closeCodeFind(){this._codeFind.open=!1,this.codeFindBar.style.display="none",this.refreshCodeSource();try{this.codeTextarea.focus()}catch{}}codeFindStep(e){const l=this._codeFind;if(!l.matches.length)return;l.index=(l.index+e+l.matches.length)%l.matches.length;const k=l.matches[l.index];try{this.codeTextarea.setSelectionRange(k.start,k.end)}catch{}this.refreshCodeSource(),this.scrollCodeLineIntoView(this.codeLineOf(k.start))}codeReplaceCurrent(){const e=this._codeFind;if(!e.matches.length)return;const l=e.matches[e.index],k=this.codeTextarea;try{k.focus(),k.setSelectionRange(l.start,l.end)}catch{return}this.codeInsertText(this.codeReplaceInput.value),this.refreshCodeSource(),this.scrollCodeLineIntoView(this.codeLineOf(l.start));try{this.codeReplaceInput.focus()}catch{}}codeReplaceAll(){const e=this._codeFind;if(!e.q||!e.matches.length)return;const l=this.core.state.codeSrc,k=this.codeReplaceInput.value;let T="",w=0;for(const a of e.matches)T+=l.slice(w,a.start)+k,w=a.end;T+=l.slice(w);const R=this.codeTextarea;try{R.focus(),R.setSelectionRange(0,R.value.length)}catch{return}this.codeInsertText(T);try{R.setSelectionRange(0,0)}catch{}this.refreshCodeSource();try{this.codeFindInput.focus()}catch{}}codeGoToLine(e){const l=parseInt(String(e).replace(/[^0-9]/g,""),10);if(!l)return;const k=this.core.state.codeSrc.split(`
|
|
118
|
+
`),T=Math.min(Math.max(1,l),k.length)-1;let w=0;for(let R=0;R<T;R++)w+=k[R].length+1;try{this.codeTextarea.focus(),this.codeTextarea.setSelectionRange(w,w)}catch{}this.refreshCodeSource(),this.scrollCodeLineIntoView(T,!0)}codeScan(){const e=this.core.state.codeSrc;return this._codeScanSrc!==e&&(this._codeScanSrc=e,this._codeScanned=L(e)),this._codeScanned}codePreviewEls(e,l){const k=T=>T.closest&&T.closest("[data-mc-deco]")||T.firstElementChild&&T.firstElementChild.hasAttribute&&T.firstElementChild.hasAttribute("data-mc-deco");return Array.from(e.getElementsByTagName(l)).filter(T=>!k(T))}inspectFromCaret(){const e=this.core.state;if(!e.codeOpen)return;const l=this.codeFrame&&this.codeFrame.contentDocument;if(!l||!l.body)return;const k=this.codeScan(),T=Math.min(this.codeTextarea.selectionStart||0,Math.max(0,e.codeSrc.length-1));let w=s(k,T),R=null;for(;w;){const a=this.codePreviewEls(l,w.tag);if(a.length===(k.byTag[w.tag]||[]).length){R=a[w.nth]||null;break}w=w.parent>=0?k.els[w.parent]:null}this.highlightPreviewNode(R)}highlightPreviewNode(e){const l=this.codeFrame&&this.codeFrame.contentDocument;if(l){if(this._previewHit&&this._previewHit!==e)try{this._previewHit.removeAttribute("data-mc-hit")}catch{}if(this._previewHit=null,!(!e||e===l.body||e===l.documentElement)&&(this._previewHit=e,e.setAttribute("data-mc-hit",""),this.ensureInspectStyle(l),typeof e.scrollIntoView=="function"))try{e.scrollIntoView({block:"nearest",behavior:"smooth"})}catch{try{e.scrollIntoView()}catch{}}}}ensureInspectStyle(e){if(!e.head)return;const l=this.ownerDocument&&this.ownerDocument.defaultView,k=l&&l.getComputedStyle(this.mc).getPropertyValue("--ed-accent").trim()||"#2563eb";let T=e.head.querySelector("[data-mc-inspect-style]");T||(T=e.createElement("style"),T.setAttribute("data-mc-inspect-style",""),e.head.appendChild(T)),T.textContent=`[data-mc-hit] { outline: 2px solid ${k} !important; outline-offset: -1px !important; }`}wireCodePreviewInspect(){const e=this.codeFrame&&this.codeFrame.contentDocument;!e||e===this._inspectWiredDoc||(this._inspectWiredDoc=e,this._previewHit=null,e.addEventListener("click",l=>{this.core.state.codeOpen&&(l.preventDefault(),this.revealSourceFromPreview(l.target))},!0))}revealSourceFromPreview(e){const l=this.codeFrame&&this.codeFrame.contentDocument;if(!l)return;const k=this.codeScan();let T=e&&e.nodeType===1?e:e&&e.parentElement,w=null,R=null;for(;T&&T!==l.documentElement;){if(T.closest&&T.closest("[data-mc-deco]")){T=T.parentElement;continue}const a=T.tagName.toLowerCase(),r=this.codePreviewEls(l,a),c=r.indexOf(T);if(c!==-1&&(k.byTag[a]||[]).length===r.length){w=k.byTag[a][c],R=T;break}T=T.parentElement}if(w){try{this.codeTextarea.focus(),this.codeTextarea.setSelectionRange(w.openStart,w.openEnd)}catch{}this.refreshCodeSource(),this.scrollCodeLineIntoView(this.codeLineOf(w.openStart),!0),this.highlightPreviewNode(R)}}buildAiModal(){const e=this.core.t,l=b("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"});l.addEventListener("click",Y=>{Y.target===l&&this.core.setState({libraryOpen:!1,exportOpen:!1,aiOpen:!1,codeOpen:!1,assetTarget:null,libHot:!1})});const k=b("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"});k.addEventListener("click",Y=>Y.stopPropagation()),l.appendChild(k);const T=b("div","display: flex; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--ed-line);"),w=b("div","flex: 1;");w.append(b("div","font-family: var(--ed-font); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ed-muted);",{text:e("modal.aiDraft"),"data-i18n":"modal.aiDraft"}),b("div","font-family: var(--ed-font); font-weight: 600; font-size: 16px; line-height: 1.25;",{text:e("modal.aiDraftTitle"),"data-i18n":"modal.aiDraftTitle"}));const R=b("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:e("action.close"),class:"mc-icon-button"});R.appendChild(B("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})),Ae(R,e("action.close"),"down","end"),T.append(w,R),k.appendChild(T);const a=b("div","padding: 20px; display: grid; gap: 14px;");a.appendChild(b("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:e("ai.disclosure"),"data-i18n":"ai.disclosure"}));const r=b("div","display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"),c=b("div");c.appendChild(b("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:e("ai.goal"),"data-i18n":"ai.goal"})),this.aiGoalSelect=b("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",Y=>this.core.setState({aiGoal:Y.target.value})),X.forEach(Y=>{const re=document.createElement("optgroup");re.label=Y.group,Y.items.forEach(ye=>{const q=document.createElement("option");q.value=ye,q.textContent=ye,re.appendChild(q)}),this.aiGoalSelect.appendChild(re)}),c.appendChild(this.aiGoalSelect);const d=b("div");d.appendChild(b("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:e("ai.tone"),"data-i18n":"ai.tone"})),this.aiToneSelect=b("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",Y=>this.core.setState({aiTone:Y.target.value})),pe.forEach(Y=>{const re=document.createElement("option");re.value=Y,re.textContent=Y,this.aiToneSelect.appendChild(re)}),d.appendChild(this.aiToneSelect),r.append(c,d),a.appendChild(r);const o=b("div");o.appendChild(b("label","display: block; font-size: 11.5px; color: var(--ed-muted); margin-bottom: 4px;",{text:e("ai.briefLabel"),"data-i18n":"ai.briefLabel"})),this.aiBriefInput=b("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:e("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 M=u(Y=>this.core.setState({aiBrief:Y}));return this.aiBriefInput.addEventListener("blur",()=>{this.aiBriefInput.style.borderColor="var(--ed-line)",M.flush()}),this.aiBriefInput.addEventListener("input",Y=>M.call(Y.target.value)),o.appendChild(this.aiBriefInput),a.appendChild(o),this.aiRunBtn=b("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=B("spark",14),this.aiRunBtn.labelNode=b("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()),a.appendChild(this.aiRunBtn),this.aiResultsEl=b("div"),a.appendChild(this.aiResultsEl),k.appendChild(a),l}renderAiModal(){const e=this.core.state,l=this.core.t;this.aiModal.style.display=e.aiOpen?"flex":"none",e.aiOpen&&(this.aiGoalSelect.value=e.aiGoal,this.aiToneSelect.value=e.aiTone,this.aiBriefInput.value!==e.aiBrief&&(this.aiBriefInput.value=e.aiBrief),this.aiRunBtn.disabled=e.aiBusy,this.aiRunBtn.labelNode.textContent=e.aiBusy?l("ai.writing"):l("ai.generate"),this.aiResultsEl.innerHTML="",e.aiResults.forEach(k=>{const T=b("div","position: relative; border: 1px solid var(--ed-line); border-radius: var(--ed-radius-sm); padding: 15px;");T.appendChild(b("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:k.kind})),T.appendChild(b("div","font-size: 14px; line-height: 1.55; white-space: pre-wrap;",{text:k.text,dir:"auto"}));const w=b("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:k.action});w.addEventListener("mouseenter",()=>{w.style.background="var(--ed-accent)",w.style.color="var(--ed-accent-ink)",w.style.borderColor="var(--ed-accent)"}),w.addEventListener("mouseleave",()=>{w.style.background="transparent",w.style.color="var(--ed-text)",w.style.borderColor="var(--ed-line)"}),w.addEventListener("click",k.onUse),T.appendChild(w),this.aiResultsEl.appendChild(T)}))}buildPreviewModal(){const e=this.core.t,l=b("div","",{class:"mc-fullscreen-panel mc-preview-panel"});l.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 k=b("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"}),T=b("div","flex: 1; min-width: 0;");this.previewKickerEl=b("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"}),T.append(this.previewKickerEl),this.previewDeviceSeg=b("div","",{class:"mc-segment"});const w=b("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"});w.appendChild(B("x",14)),w.appendChild(b("span","",{text:e("action.close"),"data-i18n":"action.close"})),w.addEventListener("mouseenter",()=>{w.style.borderColor="var(--ed-accent)",w.style.background="var(--ed-soft)"}),w.addEventListener("mouseleave",()=>{w.style.borderColor="var(--ed-line)",w.style.background="transparent"}),w.addEventListener("click",()=>this.core.setState({previewOpen:!1})),k.append(T,this.previewDeviceSeg,w),l.appendChild(k);const R=b("div","overflow-y: auto;",{class:"mc-preview-body"});return this.previewBody=R,this.previewSlot=b("div","",{class:"mc-sheet-wrap"}),this.previewSlot.style.cssText="display: flex; justify-content: center;",R.appendChild(this.previewSlot),l.appendChild(R),l}renderPreviewModal(){const e=this.core.state,l=this.core.t;if(this.previewModal.style.display=e.previewOpen?"grid":"none",!e.previewOpen){this._previewDoc=null;return}this.previewKickerEl.textContent=e.device==="mobile"?l("preview.kickerMobile"):l("preview.kickerDesktop",{width:e.doc.theme.width}),this.previewDeviceSeg.innerHTML="",[{label:l("device.desktop"),v:"desktop",iconName:"monitor"},{label:l("device.mobile"),v:"mobile",iconName:"phone"}].forEach(T=>{const w=e.device===T.v,R=b("button",`width: 32px; height: 26px; display: flex; align-items: center; justify-content: center; background: ${this.segBg(w)}; color: ${this.segFg(w)};`,{type:"button",title:T.label,"aria-pressed":String(w)});R.appendChild(B(T.iconName,15)),R.addEventListener("click",()=>this.core.setState({device:T.v})),Ae(R,T.label,"down"),this.previewDeviceSeg.appendChild(R)});const k=e.doc.theme.bg||"";this.previewBody.style.background=/^(transparent|none)$/i.test(k.trim())?"":k,(e.doc!==this._previewDoc||e.device!==this._previewDevice||l!==this._previewT)&&(this._previewDoc=e.doc,this._previewDevice=e.device,this._previewT=l,this.previewSlot.replaceChildren(m(this.core,!1)))}}function We(he){const e=()=>he.state.doc.rows.length;return S.map(l=>{if(l.g){const T=W[l.g];return{label:T.label,icon:()=>B(T.icon,20),hint:T.label+" — drops a row of ordinary blocks you can edit and rearrange one by one",onDragStart:he.startDrag({kind:"group",id:l.g}),onAdd:()=>he.insertGroup(l.g,null,0,e())}}const k=K(l.t);return k?{label:k.label,icon:()=>B(k.type,20),hint:k.hint+" — drag onto the canvas, or double-click to append",onDragStart:he.startDrag({kind:"block",type:k.type}),onAdd:()=>he.insertBlock(k.type,null,0,e())}:null}).filter(Boolean)}typeof customElements<"u"&&!customElements.get("mailcraft-editor")&&customElements.define("mailcraft-editor",Be),Object.assign($,{MailCraftEditor:Be})},ge["render/block-body.js"]=function(be,$,F){const{icon:G,brandIcon:X,socialKey:pe,SOCIAL_BRAND:W,contrastInk:y}=F("core/icons.js"),{pad:K}=F("core/layout-style.js"),{parseItems:S,cellsOf:D}=F("core/parse.js"),{linkHref:Q}=F("core/sanitize.js");function m(A,H,L){const s=document.createElement(A);if(H&&Object.assign(s.style,H),L)for(const[t,v]of Object.entries(L))t==="html"?s.innerHTML=v:t==="text"?s.textContent=v:v!==void 0&&s.setAttribute(t,v);return s}function g(A){return String(A??"")}const p={"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-lt-active":"false"};function h(A){return A?{contenteditable:"true",spellcheck:"false",...p}:{spellcheck:"false"}}const u={overflowWrap:"anywhere",wordBreak:"break-word"};function B(A,H){H&&A.querySelectorAll("[style]").forEach(L=>L.style.removeProperty("font-family"))}function f(A,H){if(!H)return;const L=t=>{const v=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(String(t||"").trim());return(v?"#"+[v[1],v[2],v[3]].map(C=>Number(C).toString(16).padStart(2,"0")).join(""):String(t||"")).toLowerCase()},s=L(H);A.querySelectorAll("a[style]").forEach(t=>{t.style.color&&L(t.style.color)===s&&t.style.removeProperty("color")})}function z(A,H,L,s){const t=A.props,v=H,x=L?{"data-mc-content":A.id}:{};switch(A.type){case"text":{const C=L,I=m("div",{padding:K(t),fontSize:t.size+"px",lineHeight:t.lh,textAlign:t.align,fontWeight:t.weight,color:t.color||v.text,outline:"none",fontFamily:t.fontFamily||v.font,...u},{...x,...h(C),html:g(t.html),"data-focus-key":C?"block:"+A.id:void 0});return B(I,t.fontFamily),f(I,v.link),C&&N(I,A,"html",s,!1),L?E(A,s,C&&s.editingId===A.id,I):I}case"image":{const C=m("div",{padding:K(t),textAlign:t.align,fontSize:"0"},x),I=Q(t.href);if(I){const V=m("a",{display:"inline-block",width:t.width+"%"},{href:I});V.addEventListener("click",ee=>ee.preventDefault()),V.appendChild(m("img",{width:"100%",borderRadius:t.radius+"px",display:"block",border:"0"},{src:t.src,alt:t.alt})),C.appendChild(V)}else C.appendChild(m("img",{width:t.width+"%",maxWidth:"100%",borderRadius:t.radius+"px",display:"inline-block",border:"0"},{src:t.src,alt:t.alt}));return C}case"button":{const C=m("div",{textAlign:t.align,padding:"4px 0"},x),I=m("table",{display:t.full?"table":"inline-table",width:t.full?"100%":"auto",borderCollapse:"separate",cssFloat:"none"},{role:"presentation",cellpadding:"0",cellspacing:"0",border:"0",align:t.full?void 0:t.align}),V=m("td",{background:t.bg,borderRadius:t.radius+"px",padding:t.py+"px "+t.px+"px",textAlign:"center",border:t.borderW?t.borderW+"px "+(t.borderStyle||"solid")+" "+(t.borderColor||t.color):"0"},{align:"center",bgcolor:t.bg||void 0}),ee=m("a",{display:"block",color:t.color,textDecoration:"none",background:t.bg,borderRadius:t.radius+"px",fontFamily:t.fontFamily||v.font,fontSize:t.size+"px",fontWeight:"600",letterSpacing:"0.02em",outline:"none",...u},{href:Q(t.href),...h(L),text:t.label});ee.addEventListener("click",ie=>ie.preventDefault()),L&&ee.addEventListener("blur",ie=>{ie.target.textContent!==t.label&&s.onBlur(A,"label",ie.target.textContent)}),V.appendChild(ee);const te=m("tr");te.appendChild(V);const _=m("tbody");return _.appendChild(te),I.appendChild(_),C.appendChild(I),C}case"divider":{const C=m("div",{padding:t.py+"px 0"},x);return C.appendChild(m("div",{height:"0",width:t.width+"%",margin:"0 auto",borderTop:t.thickness+"px "+(t.lineStyle||"solid")+" "+t.color})),C}case"spacer":return m("div",{height:t.height+"px"},x);case"social":{const C=t.shape||"outline",I=t.palette||"custom",V=C==="circle"||C==="square",ee=Math.round((t.size||20)*1.9),te=m("div",{textAlign:t.align,padding:"8px 0"},x);return S(t.items).forEach(_=>{const ie=pe(_.label),de=I==="brand"&&W[ie]||t.color,we=V?y(de):de,xe=m("a",{display:"inline-flex",flexDirection:t.showLabel?"column":"row",alignItems:"center",justifyContent:"center",gap:"5px",width:t.showLabel?"auto":ee+"px",height:t.showLabel?"auto":ee+"px",padding:t.showLabel?"7px 9px":"0",margin:"0 "+(t.gap||12)/2+"px",verticalAlign:"middle",textDecoration:"none",borderRadius:C==="circle"?"50%":C==="square"?Math.round(ee*.28)+"px":"0",color:we,background:V?de:"transparent",border:C==="outline"?"1px solid "+de:"0"},{href:Q(_.href),title:_.label});xe.addEventListener("click",ae=>ae.preventDefault());let me=null;if(s&&s.iconProvider)try{me=s.iconProvider(ie,{label:_.label,size:t.size,color:we})}catch{me=null}if(xe.appendChild(me instanceof Node?me:X(ie,t.size)),t.showLabel){const ae=m("span",{fontFamily:t.fontFamily||v.font,fontSize:"10px",letterSpacing:"0.12em",textTransform:"uppercase"},{text:_.label});xe.appendChild(ae)}te.appendChild(xe)}),te}case"video":{const C=m("div",{padding:"4px 0",textAlign:"center"},x),I=m("a",{display:"block",position:"relative"},{href:Q(t.href)});I.addEventListener("click",te=>te.preventDefault()),I.appendChild(m("img",{width:"100%",display:"block",border:"0"},{src:t.src,alt:t.caption}));const V=m("span",{position:"absolute",inset:"0",display:"flex",alignItems:"center",justifyContent:"center"}),ee=m("span",{width:"54px",height:"54px",borderRadius:"50%",background:t.badge,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"18px",paddingLeft:"4px"},{text:"▶"});return V.appendChild(ee),I.appendChild(V),C.appendChild(I),C.appendChild(m("div",{fontFamily:v.font,fontSize:"12.5px",color:t.badge,opacity:"0.7",marginTop:"8px"},{text:t.caption})),C}case"html":{const C=String(t.code||""),I=L&&!/<style|<scr/i.test(C),V=L?C.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,(te,_,ie)=>"<style"+_+">"+s.scopeCss(ie,"[data-mc-sheet]")+"</style>"):C,ee=m("div",{padding:"6px 0",fontFamily:v.font,color:v.text,outline:"none"},{...x,...h(I),html:g(V),"data-focus-key":I?"block:"+A.id:void 0});return I&&N(ee,A,"code",s,!1),L?E(A,s,I&&s.editingId===A.id,ee):ee}case"countdown":{const C=Math.max(0,new Date(t.target).getTime()-s.now),I=[["days",Math.floor(C/864e5)],["hrs",Math.floor(C/36e5)%24],["min",Math.floor(C/6e4)%60],["sec",Math.floor(C/1e3)%60]],V=m("div",{padding:"10px 0",textAlign:"center",fontFamily:t.fontFamily||v.font,color:t.color},L?Object.assign({"data-mc-countdown":t.target},x):x);V.appendChild(m("div",{fontSize:"12px",letterSpacing:"0.14em",textTransform:"uppercase",opacity:"0.6",marginBottom:"10px"},{text:t.label}));const ee=m("div",{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:"10px"});return I.forEach(([te,_])=>{const ie=m("div",{border:"1px solid "+t.color+"33",padding:"9px 12px",minWidth:"58px"});ie.appendChild(m("div",{fontSize:"25px",fontFamily:t.fontFamily||v.font,fontWeight:"700",lineHeight:"1"},L?{text:String(_).padStart(2,"0"),"data-mc-count":te}:{text:String(_).padStart(2,"0")})),ie.appendChild(m("div",{fontSize:"9.5px",letterSpacing:"0.16em",textTransform:"uppercase",opacity:"0.55",marginTop:"4px"},{text:te})),ee.appendChild(ie)}),V.appendChild(ee),V}case"menu":{const C=m("div",{textAlign:t.align,padding:"10px 0"},x);return S(t.items).forEach(I=>{const V=m("a",{display:"inline-block",color:t.color,fontSize:t.size+"px",fontFamily:t.fontFamily||v.font,textDecoration:"none",margin:"0 "+t.gap/2+"px",letterSpacing:"0.12em",textTransform:"uppercase"},{href:Q(I.href),text:I.label});V.addEventListener("click",ee=>ee.preventDefault()),C.appendChild(V)}),C}case"heading":{const C=L,I=m(t.level||"h2",{margin:"0",padding:K(t),fontSize:t.size+"px",lineHeight:t.lh,textAlign:t.align,fontWeight:t.weight,letterSpacing:t.font==="condensed"?"0.005em":"-0.01em",color:t.color||v.text,outline:"none",...u,fontFamily:t.fontFamily||(t.font==="condensed"?"'Arial Narrow', 'Helvetica Neue Condensed', Helvetica, Arial, sans-serif":v.font)},{...x,...h(C),text:g(t.text),"data-focus-key":C?"block:"+A.id:void 0});return C&&N(I,A,"text",s,!0),L?E(A,s,s.editingId===A.id,I):I}case"list":{const C=String(t.items||"").split(`
|
|
119
|
+
`).filter(V=>V.trim()),I=m(t.ordered?"ol":"ul",{margin:"0",padding:(t.py||0)+"px 0 "+(t.py||0)+"px 22px",fontFamily:t.fontFamily||v.font,fontSize:t.size+"px",lineHeight:t.lh,color:t.color||v.text,...u},x);return C.forEach(V=>{const ee=m("li",{marginBottom:t.gap+"px"},{html:g(V)});I.appendChild(ee)}),B(I,t.fontFamily),f(I,v.link),I}case"table":{const C=D(t),I=L,V=t.borders?(t.borderWidth||1)+"px "+(t.borderStyle||"solid")+" "+t.lineColor:"0",ee=m("table",{width:t.width+"%",borderCollapse:"collapse",fontFamily:t.fontFamily||v.font,fontSize:t.size+"px",color:v.text,border:V},{...x,cellpadding:"0",cellspacing:"0"}),te=m("tbody");return C.forEach((_,ie)=>{const de=t.header&&ie===0,we=m("tr",{background:de?t.headBg:t.striped&&ie%2===0?"rgba(29,31,32,0.028)":"transparent"});_.forEach((xe,me)=>{const ae=m(de?"th":"td",{border:V,padding:t.pad+"px "+Math.round(t.pad*1.2)+"px",textAlign:me===0||de?t.align:"left",fontWeight:de?"600":"400",outline:"none",fontFamily:t.fontFamily||v.font,letterSpacing:de?"0.06em":"normal",textTransform:de?"uppercase":"none",fontSize:de?t.size+1+"px":t.size+"px",...u},{...h(I),text:g(xe),"data-focus-key":I?"block:"+A.id+":c"+ie+"-"+me:void 0});I&&(ae.addEventListener("click",ze=>ze.stopPropagation()),ae.addEventListener("focus",()=>{s.selectBlock&&s.selectBlock(A)}),ae.addEventListener("blur",()=>s.onTableCellBlur(A,ie,me,ae.textContent))),we.appendChild(ae)}),te.appendChild(we)}),ee.appendChild(te),ee}case"css":{const C=m("div",{fontSize:"0",lineHeight:"0"},x);return C.appendChild(m("style",{},{html:L?s.scopeCss(t.code,"[data-mc-sheet]"):t.code})),L&&C.appendChild(m("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 — "+(t.code||"").length+" chars, hidden when sent"})),C}case"box":{const C=L,I=ee=>t.border&&ee!==!1?t.border+"px "+(t.borderStyle||"solid")+" "+t.lineColor:"0",V=m("div",{background:t.bgImage?'linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0)), url("'+t.bgImage+'")':t.bg,backgroundSize:"cover",backgroundPosition:"center",borderTop:I(t.topBorder),borderRight:I(t.rightBorder),borderBottom:I(t.bottomBorder),borderLeft:I(t.leftBorder),borderRadius:t.radius+"px",padding:t.pad+"px",textAlign:t.align,boxSizing:"border-box",minHeight:t.minH?t.minH+"px":"auto",maxWidth:t.maxW+"%",margin:t.align==="center"?"0 auto":"0",boxShadow:t.shadow?"0 10px 30px rgba(29,31,32,0.12)":"none",fontFamily:v.font,color:v.text,fontSize:"15px",lineHeight:"1.6",...u},{...x,...h(C),html:g(t.html),"data-focus-key":C?"block:"+A.id:void 0});return f(V,v.link),C&&N(V,A,"html",s,!1),L?E(A,s,s.editingId===A.id,V):V}case"svg":return m("div",{padding:t.py+"px 0",textAlign:t.align},{...x,html:'<span style="display:inline-block;width:'+t.width+'%">'+t.code+"</span>"});case"condition":case"loop":{const C=A.type==="loop",I=C?"#7c3aed":"#0e7490",V=t.end?C?"end loop":"end if":C?"repeat each":"show if",ee=m("div",{display:"flex",alignItems:"center",gap:"8px",boxSizing:"border-box",border:"1.5px dashed "+I,borderRadius:"7px",background:I+"14",padding:"6px 12px",margin:"2px 0",color:I},x);return ee.appendChild(m("span",{fontFamily:"ui-monospace,monospace",fontSize:"9.5px",fontWeight:"700",letterSpacing:"0.12em",textTransform:"uppercase",flex:"none"},{text:(t.end?"⏶ ":"⏷ ")+V})),t.end||ee.appendChild(m("span",{fontFamily:"ui-monospace,monospace",fontSize:"11.5px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},{text:"{{ "+(t.expr||"…")+" }}"})),ee}case"codeblock":return m("pre",{margin:"0",padding:t.pad+"px",background:t.bg,color:t.color,fontFamily:"ui-monospace, Menlo, monospace",fontSize:t.size+"px",lineHeight:"1.6",overflowX:"auto",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},{...x,text:g(t.code)});default:return m("div")}}function N(A,H,L,s,t){A.addEventListener("paste",v=>s.onPaste(v,t)),A.addEventListener("focus",v=>s.onFocus(H,v.currentTarget,L,t)),A.addEventListener("blur",v=>{if(s.rteActiveRef&&s.rteActiveRef.current)return;const x=t?v.target.textContent:v.target.innerHTML;s.onBlur(H,L,x)})}function E(A,H,L,s){const t=m("div",{position:"relative"});return L&&t.appendChild(H.renderRte(A)),t.appendChild(s),t}Object.assign($,{blockBody:z})},ge["render/canvas.js"]=function(be,$,F){const{DEF:G}=F("core/blocks.js"),{boxStyle:X,rowBg:pe,rowPad:W,colsWrap:y,colStyle:K}=F("core/layout-style.js"),{scopeCss:S}=F("core/sanitize.js"),{cellsOf:D}=F("core/parse.js"),{icon:Q}=F("core/icons.js"),{blockBody:m}=F("render/block-body.js"),{renderRte:g}=F("render/rte.js");function p(H,L,s){const t=document.createElement(H);if(L&&Object.assign(t.style,L),s)for(const[v,x]of Object.entries(s))v==="text"?t.textContent=x:x!==void 0&&t.setAttribute(v,x);return t}function h(){return p("div",{height:"0",background:"var(--ed-accent-sheet)",margin:"0",transition:"height 0.1s",boxShadow:"none"})}function u(H,L){H.active&&H.active!==L&&B(H.active),L.style.height="3px",L.style.margin="3px 0",L.style.boxShadow="0 0 0 1px var(--ed-accent-sheet)",H.active=L}function B(H){H.style.height="0",H.style.margin="0",H.style.boxShadow="none"}function f(H){H.active&&(B(H.active),H.active=null)}function z(H,L,s,t){const v=(C,I,V,ee)=>{const te=p("button",{position:"relative",border:"0",background:"transparent",color:ee?"#ffdad8":"#fff",cursor:"pointer",width:"23px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center"},{type:"button",title:I,"aria-label":I,"data-tip":"1"});return te.appendChild(Q(C,13)),te.appendChild(p("span",{},{class:"mc-tooltip mc-tooltip-up",text:I})),te.addEventListener("mousedown",_=>_.stopPropagation()),te.addEventListener("click",_=>{_.stopPropagation(),V()}),te},x=p("div",{position:"absolute",top:"-12px",right:"6px",display:"flex",alignItems:"center",gap:"1px",background:s==="row"?"#172033":"var(--ed-accent-sheet)",borderRadius:"6px",padding:"2px 3px",zIndex:"6",boxShadow:"0 3px 10px rgba(15,23,42,0.28)"});return x.appendChild(p("span",{fontFamily:"ui-monospace,monospace",fontSize:"8.5px",letterSpacing:"0.14em",color:s==="row"?"#fff":"var(--ed-accent-sheet-ink)",opacity:"0.7",padding:"0 5px"},{text:t})),x.appendChild(v("up","Move up",()=>H.nudge(L,-1))),x.appendChild(v("down","Move down",()=>H.nudge(L,1))),x.appendChild(v("copy","Duplicate",()=>{H.setState({sel:{type:s,id:L}},()=>H.dupSel())})),x.appendChild(v("trash","Delete",()=>{H.setState({sel:{type:s,id:L}},()=>H.delSel())},!0)),x}function N(H,L){const s=(v,x,C)=>{const I=p("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:x,"aria-label":x,"data-tip":"1"});return I.appendChild(Q(v,14)),I.appendChild(p("span",{},{class:"mc-tooltip mc-tooltip-up",text:x})),I.addEventListener("mousedown",V=>V.stopPropagation()),I.addEventListener("click",V=>{V.stopPropagation(),C()}),I},t=p("div",{position:"absolute",top:"6px",right:"6px",display:"flex",gap:"4px",zIndex:"6"});return t.appendChild(s("trash","Delete",()=>{H.setState({sel:{type:"row",id:L}},()=>H.delSel())})),t.appendChild(s("copy","Duplicate",()=>{H.setState({sel:{type:"row",id:L}},()=>H.dupSel())})),t}function E(H,L){return{editingId:L,now:H.state.now,scopeCss:S,iconProvider:H.iconProvider,rteActiveRef:{get current(){return H.rteActive}},onFocus:(s,t,v,x)=>{H.editEl=t,H.editKey=v,H.editPlain=!!x,H.editRendered=x?t.textContent:t.innerHTML,!(H.state.editing===s.id&&H.state.sel&&H.state.sel.type==="block"&&H.state.sel.id===s.id)&&(H.editOriginal=s.props[v],H.setState({editing:s.id,sel:{type:"block",id:s.id},tab:"design"}))},onBlur:(s,t,v)=>{H.rendering||H.rteActive||(v!==H.editOriginal&&H.setProp(s.id,t,v),H.state.editing===s.id&&H.setState({editing:null,linkDraft:null}))},onPaste:(s,t)=>H.pasteClean(t)(s),selectBlock:s=>{H.state.sel&&H.state.sel.type==="block"&&H.state.sel.id===s.id||H.select("block",s.id)},onTableCellBlur:(s,t,v,x)=>{const C=D(H.find(H.state.doc,s.id).block.props);C[t]&&C[t][v]!==x&&(C[t][v]=x,H.setProp(s.id,"data",C.map(I=>I.join("|")).join(`
|
|
120
|
+
`)))},renderRte:s=>g(H,s)}}function A(H,L){const s=H.state.doc,t=s.theme,v=H.state.device==="mobile"?375:t.width,x=H.state.sel,C=E(H,H.state.editing),I={active:null},V=Number(t.radius)||0,ee=Number(t.borderW)||0,te=p("div",{width:v+"px",maxWidth:"100%",background:t.contentBg||"transparent",color:t.text,fontFamily:t.font,borderRadius:V?V+"px":"",border:ee?ee+"px "+(t.borderStyle||"solid")+" "+(t.borderColor||"#e2e2e5"):"",boxShadow:t.shadow||"",overflow:!L&&V?"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"});te.style.setProperty("--mc-link",t.link||"");const _=Number(t.padY)||0,ie=Number(t.padX)||0,de=p("div",{background:t.bg||"transparent",padding:_+"px "+ie+"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"+(_||ie?" is-padded":""),dir:"ltr"}),we=[];if(L&&(de.addEventListener("dragover",xe=>{if(!H.drag)return;xe.preventDefault();const ae=H.indexFromPoint(te,xe.clientY);u(I,we[ae])}),de.addEventListener("dragleave",xe=>{(xe.target===te||xe.target===de)&&f(I)}),de.addEventListener("drop",xe=>{f(I),H.canvasDrop(xe,H.indexFromPoint(te,xe.clientY))})),s.rows.forEach((xe,me)=>{if(L){const he=h();we.push(he),te.appendChild(he)}const ae=L&&x&&x.id===xe.id,ze=p("div",Object.assign({position:"relative",padding:W(xe.props)},pe(xe.props)),{"data-mc-slot":"1",class:L?`mc-row-el${ae?" is-selected":""}`:void 0});if(L&&ze.addEventListener("click",he=>{he.stopPropagation(),H.select("row",xe.id)}),ae&&ze.appendChild(N(H,xe.id)),L){const he=p("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"}),e=p("div",{display:"flex",alignItems:"center",justifyContent:"center",flex:"none",width:"28px",height:"28px",borderRadius:"50%"},{class:"mc-row-grip-handle"});e.appendChild(Q("move",15)),he.appendChild(e),he.addEventListener("dragstart",H.startDrag({kind:"move-row",id:xe.id})),he.addEventListener("dragend",()=>{H.drag=null,f(I)}),he.addEventListener("click",l=>{l.stopPropagation(),H.select("row",xe.id)}),ze.appendChild(he)}const b=H.state.device==="mobile"&&xe.cols.length>1,Re=xe.props.mobileCols===void 0?1:xe.props.mobileCols,Ae=b&&Re!=="keep",Pe=Ae&&String(Re)==="2",Be=Ae&&xe.props.mobileOrder==="reverse",We=p("div",Ae?Pe||Be?{display:"flex",flexWrap:Pe&&Be?"wrap-reverse":"wrap",flexDirection:Pe?Be?"row-reverse":"row":Be?"column-reverse":"column"}:{display:"block"}:y(xe.props));xe.cols.forEach((he,e)=>{const l=[],k=[];he.blocks.forEach((r,c)=>{const d=r.props.vis===(H.state.device==="mobile"?"desktop":"mobile");if(!L&&d)return;if(L){const Y=h();l.push(Y),k.push(Y)}const o=L&&x&&x.id===r.id,M=p("div",Object.assign({position:"relative",opacity:d?"0.4":""},X(r.props)),{"data-mc-slot":"1",draggable:L?"true":void 0,class:L?`mc-block-el${o?" is-selected":""}`:void 0});L&&(M.addEventListener("dragstart",H.startDrag({kind:"move-block",id:r.id})),M.addEventListener("dragend",()=>{H.drag=null,f(I),f(T)}),M.addEventListener("click",Y=>{Y.stopPropagation(),H.select("block",r.id)}),M.addEventListener("mousedown",Y=>{const re=Y.target;if(!re||re.nodeType!==1||!re.closest('[contenteditable="true"]'))return;M.draggable=!1;const ye=M.ownerDocument.defaultView;ye&&ye.addEventListener("mouseup",()=>{M.draggable=!0},{once:!0})})),o&&C.editingId!==r.id&&M.appendChild(z(H,r.id,"block",G(r.type).code)),M.appendChild(m(r,t,L,C)),k.push(M)});let T;if(L){const r=h();l.push(r),k.push(r),T={active:null}}L&&!he.blocks.length&&k.push(p("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 w=p("div",Ae?Pe?{flex:"0 0 50%",maxWidth:"50%",boxSizing:"border-box"}:{width:"100%"}:K(xe.props,he)),a=he.bg||he.border||he.radius||he.padY||he.padX?p("div",{background:he.bg||"transparent",border:he.border?he.border+"px "+(he.borderStyle||"solid")+" "+(he.lineColor||"#e2e2e5"):"0",borderRadius:(he.radius||0)+"px",padding:(he.padY||0)+"px "+(he.padX||0)+"px",height:"100%",boxSizing:"border-box"}):w;L&&(a.addEventListener("dragover",r=>{const c=H.drag;if(!c||(r.preventDefault(),r.stopPropagation(),c.kind==="row"||c.kind==="move-row"))return;const d=H.indexFromPoint(a,r.clientY);u(T,l[d])}),a.addEventListener("dragleave",r=>{r.target===a&&f(T)}),a.addEventListener("drop",r=>{r.stopPropagation(),f(T),H.colDrop(xe.id,e)(r)})),k.forEach(r=>a.appendChild(r)),a!==w&&w.appendChild(a),We.appendChild(w)}),ze.appendChild(We),te.appendChild(ze)}),L){const xe=h();we.push(xe),te.appendChild(xe)}return L&&!s.rows.length&&te.appendChild(p("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(te),de}Object.assign($,{renderDoc:A})},ge["render/fields.js"]=function(be,$,F){const{icon:G,brandIcon:X,socialKey:pe,SOCIAL_BRAND:W,contrastInk:y}=F("core/icons.js"),{parseItems:K}=F("core/parse.js"),{linkHref:S}=F("core/sanitize.js");function D(s,t,v){const x=document.createElement(s);if(t&&Object.assign(x.style,t),v)for(const[C,I]of Object.entries(v))C==="text"?x.textContent=I:I!==void 0&&x.setAttribute(C,I);return x}function Q(s){const t=String(s??"").trim();if(/^#[0-9a-f]{6}$/i.test(t))return t;if(/^#[0-9a-f]{3}$/i.test(t))return"#"+t.slice(1).split("").map(x=>x+x).join("");const v=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(t);return v?"#"+[v[1],v[2],v[3]].map(x=>Math.min(255,Number(x)).toString(16).padStart(2,"0")).join(""):""}function m(s){let t=null,v;const x=()=>{t=null,s(v)};return{call(C){v=C,t&&clearTimeout(t),t=setTimeout(x,120)},flush(){t&&(clearTimeout(t),x())}}}let g=null;function p(s,t){return D("label",Object.assign({fontFamily:"var(--ed-font)",fontSize:"12.5px",lineHeight:"1.35",fontWeight:"500",color:"var(--ed-text)"},t?{flex:"1",minWidth:"0"}:{display:"block",marginBottom:"6px"}),{text:s,class:"mc-field-label"})}const h=Object.create(null);function u(s,t){let v=null;const x=C=>{if(C){const I=C.label,V=D("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(!h[I]),class:"mc-section-bar"});V.appendChild(D("span",{fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"700",letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--ed-muted)"},{text:I,class:"mc-section-label"}));const ee=D("span",{display:"flex",color:"var(--ed-faint)",transition:"transform 0.16s",transform:h[I]?"rotate(-90deg)":"none"},{class:"mc-section-chevron"});ee.appendChild(G("chevronDown",13)),V.appendChild(ee);const te=v=D("div",{padding:"12px 14px 16px",background:"var(--ed-panel)"},{class:"mc-section-body mc-field-list"});h[I]&&(te.hidden=!0);const _=()=>{h[I]=!h[I],te.hidden=!!h[I],ee.style.transform=h[I]?"rotate(-90deg)":"none",V.setAttribute("aria-expanded",String(!h[I]))};V.addEventListener("click",_),V.addEventListener("keydown",ie=>{(ie.key==="Enter"||ie.key===" ")&&(ie.preventDefault(),_())}),s.appendChild(V),s.appendChild(te);return}v=D("div",{padding:"12px 14px 16px",background:"var(--ed-panel)"},{class:"mc-section-body mc-field-list"}),s.appendChild(v)};t.forEach(C=>{if(C.isHead){x(C);return}v||x(null);const I=H(C);I.style.margin="0",v.appendChild(I)})}const B=[["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 f(s){const t=D("div");t.appendChild(p(s.label));const v=K(s.value||""),x=_=>s.onChange(_.map(ie=>(ie.label||"")+"|"+(ie.href||"")).join(`
|
|
121
|
+
`)),C=D("div",{display:"flex",flexDirection:"column",gap:"6px"});v.forEach((_,ie)=>{const de=D("div",{display:"flex",alignItems:"center",gap:"7px",padding:"6px 7px",border:"1px solid var(--ed-line)",borderRadius:"9px",background:"var(--ed-panel-2)"}),we=pe(_.label),xe=W[we]||"",me=D("span",{display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",flex:"none",borderRadius:"7px",background:xe||"var(--ed-soft)",color:xe?y(xe):"var(--ed-accent)"});me.appendChild(X(we,13));const ae=D("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${s.key}-n${ie}`,title:"Network name",dir:"auto"});ae.value=_.label;const ze=m(Pe=>{const Be=v.slice();Be[ie]={label:Pe,href:_.href},x(Be)});ae.addEventListener("input",Pe=>ze.call(Pe.target.value)),ae.addEventListener("focus",()=>{ae.style.borderColor="var(--ed-accent)",ae.style.background="var(--ed-panel)",ae.style.outline="none"}),ae.addEventListener("blur",()=>{ae.style.borderColor="transparent",ae.style.background="transparent",ze.flush()});const b=D("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${s.key}-u${ie}`,title:_.href,dir:"ltr"});b.value=_.href;const Re=m(Pe=>{const Be=v.slice();Be[ie]={label:_.label,href:Pe},x(Be)});b.addEventListener("input",Pe=>Re.call(Pe.target.value)),b.addEventListener("focus",()=>{b.style.borderColor="var(--ed-accent)",b.style.outline="none"}),b.addEventListener("blur",()=>{b.style.borderColor="var(--ed-line)",Re.flush()});const Ae=D("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 "+(_.label||"network"),text:"✕"});Ae.addEventListener("mouseenter",()=>{Ae.style.background="var(--ed-danger-soft)",Ae.style.color="var(--ed-danger)"}),Ae.addEventListener("mouseleave",()=>{Ae.style.background="transparent",Ae.style.color="var(--ed-faint)"}),Ae.addEventListener("click",()=>x(v.filter((Pe,Be)=>Be!==ie))),de.append(me,ae,b,Ae),C.appendChild(de)}),v.length||C.appendChild(D("div",{fontSize:"11px",color:"var(--ed-faint)",padding:"8px 2px"},{text:"No networks yet — add one below."}));const I=new Set(v.map(_=>pe(_.label))),V=D("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"}),ee=document.createElement("option");ee.value="",ee.textContent="+ Add network…",V.appendChild(ee),B.filter(([_])=>!I.has(pe(_))).forEach(([_,ie])=>{const de=document.createElement("option");de.value=_+"|"+ie,de.textContent=_,V.appendChild(de)});const te=document.createElement("option");return te.value="Link|https://",te.textContent="Custom link…",V.appendChild(te),V.addEventListener("change",_=>{if(!_.target.value)return;const[ie,de]=_.target.value.split("|");x(v.concat([{label:ie,href:de}]))}),V.addEventListener("focus",()=>{V.style.borderColor="var(--ed-accent)",V.style.outline="none"}),V.addEventListener("blur",()=>{V.style.borderColor="var(--ed-line-2)"}),C.appendChild(V),t.appendChild(C),t}function z(s){const t=D("div");t.appendChild(p(s.label));const v=D("div");v.innerHTML=s.html||"";const x=Array.from(v.querySelectorAll("a")),C=D("div",{display:"flex",flexDirection:"column",gap:"7px"}),I=(V,ee)=>{const te=D("div");te.innerHTML=s.html||"";const _=te.querySelectorAll("a")[V];_&&(ee(_),s.onChange(te.innerHTML))};return x.forEach((V,ee)=>{const te=D("div",{padding:"8px",border:"1px solid var(--ed-line)",borderRadius:"9px",background:"var(--ed-panel-2)"}),_=D("div",{display:"flex",alignItems:"center",gap:"8px",marginBottom:"7px"}),ie=D("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:(V.textContent||"").trim()||"Link "+(ee+1),title:(V.textContent||"").trim(),dir:"auto"}),de=D("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 "+((V.textContent||"").trim()||"text"),"data-focus-key":`f${s.key}-link-remove-${ee}`});de.addEventListener("mouseenter",()=>{de.style.background="var(--ed-danger-soft)",de.style.color="var(--ed-danger)"}),de.addEventListener("mouseleave",()=>{de.style.background="transparent",de.style.color="var(--ed-faint)"}),de.addEventListener("click",()=>I(ee,ze=>ze.replaceWith(...ze.childNodes))),_.append(ie,de);const we=D("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 "+((V.textContent||"").trim()||"link "+(ee+1)),"data-focus-key":`f${s.key}-link-url-${ee}`,dir:"ltr"});we.value=V.getAttribute("href")||"";const xe=m(ze=>I(ee,b=>b.setAttribute("href",ze)));we.addEventListener("input",ze=>xe.call(ze.target.value)),we.addEventListener("focus",()=>{we.style.borderColor="var(--ed-accent)",we.style.outline="none"}),we.addEventListener("blur",()=>{we.style.borderColor="var(--ed-line)",we.value=S(we.value),xe.call(we.value),xe.flush()});const me=D("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"}),ae=D("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox","data-focus-key":`f${s.key}-link-target-${ee}`});ae.checked=V.target==="_blank",ae.addEventListener("change",ze=>I(ee,b=>{ze.target.checked?(b.setAttribute("target","_blank"),b.setAttribute("rel","noopener")):(b.removeAttribute("target"),b.removeAttribute("rel"))})),me.append(ae,"Open in new tab"),te.append(_,we,me),C.appendChild(te)}),t.appendChild(C),t}function N(s){const t=D("div");t.appendChild(p(s.label));const v=String(s.value||"").split(`
|
|
122
|
+
`).map(_=>_.split("|")),x=Math.max(1,...v.map(_=>_.length));v.forEach(_=>{for(;_.length<x;)_.push("")});const C=_=>s.onChange(_.map(ie=>ie.map(de=>String(de).replace(/\|/g,"/")).join("|")).join(`
|
|
123
|
+
`)),I=D("div",{display:"flex",flexDirection:"column",gap:"4px"}),V={border:"0",borderRadius:"5px",background:"transparent",color:"var(--ed-faint)",cursor:"pointer",fontSize:"11px",lineHeight:"1",padding:"2px"},ee=_=>{_.addEventListener("mouseenter",()=>{_.style.background="var(--ed-danger-soft)",_.style.color="var(--ed-danger)"}),_.addEventListener("mouseleave",()=>{_.style.background="transparent",_.style.color="var(--ed-faint)"})};if(x>1){const _=D("div",{display:"flex",gap:"4px",paddingRight:v.length>1?"22px":"0"});for(let ie=0;ie<x;ie++){const de=D("button",Object.assign({flex:"1",minWidth:"0"},V),{type:"button",title:"Remove column "+(ie+1),text:"✕"});ee(de),de.addEventListener("click",()=>C(v.map(we=>we.filter((xe,me)=>me!==ie)))),_.appendChild(de)}I.appendChild(_)}v.forEach((_,ie)=>{const de=D("div",{display:"flex",gap:"4px",alignItems:"center"});if(_.forEach((we,xe)=>{const me=D("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:s.header&&ie===0?"700":"400",padding:"5px 6px"},{"data-focus-key":`f${s.key}-r${ie}c${xe}`,dir:"auto"});me.value=we;const ae=m(ze=>{const b=v.map(Re=>Re.slice());b[ie][xe]=ze,C(b)});me.addEventListener("input",ze=>ae.call(ze.target.value)),me.addEventListener("focus",()=>{me.style.borderColor="var(--ed-accent)",me.style.outline="none"}),me.addEventListener("blur",()=>{me.style.borderColor="var(--ed-line)",ae.flush()}),de.appendChild(me)}),v.length>1){const we=D("button",Object.assign({width:"18px",flex:"none"},V),{type:"button",title:"Remove row "+(ie+1),text:"✕"});ee(we),we.addEventListener("click",()=>C(v.filter((xe,me)=>me!==ie))),de.appendChild(we)}I.appendChild(de)});const te=D("div",{display:"flex",gap:"6px",marginTop:"2px"});return[["+ Row",()=>C(v.concat([new Array(x).fill("")]))],["+ Column",()=>C(v.map(_=>_.concat("")))]].forEach(([_,ie])=>{const de=D("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:_});de.addEventListener("mouseenter",()=>{de.style.borderColor="var(--ed-accent)",de.style.color="var(--ed-accent)",de.style.background="var(--ed-soft)"}),de.addEventListener("mouseleave",()=>{de.style.borderColor="var(--ed-line-2)",de.style.color="var(--ed-muted)",de.style.background="transparent"}),de.addEventListener("click",ie),te.appendChild(de)}),I.appendChild(te),t.appendChild(I),t}function E(s,t){const v=D("div",{display:"flex",alignItems:"stretch",width:t||"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"}),x=(_,ie,de)=>{const we=D("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:ie});return we.appendChild(G(_,11)),we.addEventListener("mouseenter",()=>{we.style.background="var(--ed-soft)",we.style.color="var(--ed-accent)"}),we.addEventListener("mouseleave",()=>{we.style.background="transparent",we.style.color="var(--ed-muted)"}),we.addEventListener("click",de),we},C=x("minus","Decrease",()=>s.onDec()),I=D("div",{flex:"1",minWidth:"0",display:"flex",alignItems:"baseline",alignSelf:"center",justifyContent:"center",gap:"3px",padding:"0 2px"}),V=D("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${s.key}`});V.value=s.value;const ee=m(s.onInput);V.addEventListener("input",_=>ee.call(_.target.value)),V.addEventListener("blur",_=>{ee.flush(),s.onBlur(_.target.value)}),V.addEventListener("focus",()=>{v.style.borderColor="var(--ed-accent)",v.style.boxShadow="0 0 0 3px var(--ed-soft)"}),V.addEventListener("blur",()=>{v.style.borderColor="var(--ed-line)",v.style.boxShadow="none"}),I.appendChild(V),s.unit&&I.appendChild(D("span",{flex:"none",fontSize:"12px",fontFamily:"var(--ed-font)",fontWeight:"500",color:"var(--ed-text)"},{text:s.unit}));const te=x("plus","Increase",()=>s.onInc());return v.append(C,I,te),v}function A(s){const t=D("div");if(s.label||s.toggle){const x=D("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",marginBottom:"9px"});if(x.appendChild(p(s.label||"",!0)),s.toggle){const C=(s.label||"")+"::more",I=D("div",{display:"flex",alignItems:"center",gap:"7px",flex:"none",cursor:"pointer"},{class:"mc-switch-row"});I.addEventListener("click",()=>{g=C,s.toggle.onChange()}),I.appendChild(D("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 V=D("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!s.toggle.on),"aria-label":(s.label?s.label+" — ":"")+"more options"});V.appendChild(D("span",null,{class:"mc-switch-knob"})),g===C&&(V.classList.add("mc-switch-anim"),g=null),I.appendChild(V),x.appendChild(I)}t.appendChild(x)}const v=D("div",{display:"grid",gridTemplateColumns:s.items.length===1?"1fr":"1fr 1fr",gap:"10px 12px"});return s.items.forEach(x=>{const C=D("div");C.appendChild(p(x.label)),C.appendChild(E(x)),v.appendChild(C)}),t.appendChild(v),t}function H(s){const t=D("div",{minWidth:"0"},{class:"mc-field"});if(s.isSocial)return t.appendChild(f(s)),t;if(s.isTableGrid)return t.appendChild(N(s)),t;if(s.isRichLinks)return t.appendChild(z(s)),t;if(s.isArea){const v=D("div");v.appendChild(p(s.label));const x=D("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:s.placeholder,"data-focus-key":`f${s.key}`,dir:"auto"});x.value=s.value;const C=m(s.onChange);return x.addEventListener("input",I=>C.call(I.target.value)),x.addEventListener("focus",()=>{x.style.borderColor="var(--ed-accent)",x.style.outline="none"}),x.addEventListener("blur",()=>{x.style.borderColor="var(--ed-line)",C.flush()}),v.appendChild(x),t.appendChild(v),t}if(s.isBtn){const v=D("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:s.label});return v.addEventListener("mouseenter",()=>{v.style.background="var(--ed-accent)",v.style.color="var(--ed-accent-ink)"}),v.addEventListener("mouseleave",()=>{v.style.background="var(--ed-soft)",v.style.color="var(--ed-accent)"}),v.addEventListener("click",s.onClick),t.appendChild(v),t}if(s.isSeg){const v=D("div");v.appendChild(p(s.label));const x=D("div",{display:"flex",gap:"3px",padding:"3px",border:"0",borderRadius:"10px",background:"var(--ed-panel-2)"},{class:"mc-segment mc-field-segment"});return s.options.forEach(C=>{const I=C.bg==="var(--ed-accent)",V=D("button",{flex:"1",minWidth:"0",border:"0",borderRadius:"7px",cursor:"pointer",background:C.bg,color:C.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:C.label,"aria-pressed":String(I)});V.addEventListener("click",C.onClick),x.appendChild(V)}),v.appendChild(x),t.appendChild(v),t}if(s.isRangeGroup)return t.appendChild(A(s)),t;if(s.isSlider){t.classList.add("mc-slider-field");const v=D("div"),x=D("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"});x.appendChild(p(s.label,!0));const C=D("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"});x.appendChild(C);const I=D("div",{padding:"11px 0 4px"}),V=D("input",{width:"100%",margin:"0",display:"block",boxSizing:"border-box"},{type:"range",min:s.min,max:s.max,step:s.step,class:"mc-slider","aria-label":s.label,"data-focus-key":`f${s.key}`,dir:"ltr"});V.value=s.value;const ee=()=>{const te=(V.value-s.min)/(s.max-s.min||1);C.textContent=V.value+s.unit,V.style.background=`linear-gradient(to right, var(--ed-accent) ${te*100}%, var(--ed-line-2) ${te*100}%)`};return ee(),V.addEventListener("input",ee),V.addEventListener("change",te=>s.onCommit(te.target.value)),I.appendChild(V),v.append(x,I),t.appendChild(v),t}if(s.isRange){const v=D("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},{class:"mc-field-row"});return v.appendChild(p(s.label,!0)),v.appendChild(E(s,"132px")),t.appendChild(v),t}if(s.isToggle){const v=D("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",minHeight:"32px",cursor:"pointer"},{class:"mc-switch-row mc-field-row"});v.addEventListener("click",()=>{g=s.label,s.onChange()});const x=p(s.label,!0);x.style.cursor="pointer",v.appendChild(x);const C=D("button",null,{type:"button",class:"mc-switch",role:"switch","aria-checked":String(!!s.on),"aria-label":s.label});return C.appendChild(D("span",null,{class:"mc-switch-knob"})),g===s.label&&(C.classList.add("mc-switch-anim"),g=null),v.appendChild(C),t.appendChild(v),t}if(s.isColor){const v=D("div",{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},{class:"mc-field-row"});v.appendChild(p(s.label,!0));const x=D("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"}),C=D("label",{position:"relative",width:"29px",alignSelf:"stretch",flex:"none",borderRight:"1px solid var(--ed-line)",background:s.swatch,cursor:"pointer"},{title:s.label});s.transparent&&Object.assign(C.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 I=D("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",cursor:"pointer",padding:"0",border:"0"},{type:"color"}),V=Q(s.swatch);V&&(I.value=V);const ee=m(s.onChange);I.addEventListener("input",ie=>{C.style.background=ie.target.value,te.value=ie.target.value,ee.call(ie.target.value)}),I.addEventListener("change",()=>ee.flush()),C.appendChild(I);const te=D("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${s.key}`,dir:"ltr"});te.value=s.value;const _=m(s.onChange);if(te.addEventListener("input",ie=>_.call(ie.target.value)),te.addEventListener("focus",()=>{x.style.borderColor="var(--ed-accent)",x.style.boxShadow="0 0 0 3px var(--ed-soft)"}),te.addEventListener("blur",()=>{x.style.borderColor="var(--ed-line)",x.style.boxShadow="none",_.flush()}),x.append(C,te),s.clearable){const ie=D("button",{flex:"none",alignSelf:"stretch",width:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"0",borderLeft:"1px solid var(--ed-line)",background:s.transparent?"var(--ed-accent)":"transparent",color:s.transparent?"var(--ed-accent-ink)":"var(--ed-muted)",cursor:"pointer",padding:"0"},{type:"button",title:s.transparent?"Transparent — click for a solid colour":"Make transparent (no fill)","aria-pressed":String(!!s.transparent)});ie.appendChild(G(s.transparent?"check":"clear",12)),ie.addEventListener("click",()=>s.onToggleTransparent()),x.appendChild(ie)}return v.appendChild(x),t.appendChild(v),t}if(s.isRow){const v=D("div",{display:"flex",alignItems:"center",gap:"12px",justifyContent:"space-between"},{class:"mc-field-row"});if(v.appendChild(p(s.label,!0)),s.isText){const x=D("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:s.placeholder,class:"mc-field-control","data-focus-key":`f${s.key}`,dir:"auto"});if(x.value=s.value,s.suggestions){const I=D("datalist",null,{id:`mc-dl-f${s.key}`});s.suggestions.forEach(V=>{const ee=document.createElement("option");ee.value=V,I.appendChild(ee)}),x.setAttribute("list",I.id),v.appendChild(I)}const C=m(s.onChange);x.addEventListener("input",I=>C.call(I.target.value)),x.addEventListener("focus",()=>{x.style.borderColor="var(--ed-accent)",x.style.outline="none"}),x.addEventListener("blur",()=>{x.style.borderColor="var(--ed-line)",C.flush()}),v.appendChild(x)}else if(s.isNum){const x=D("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${s.key}`});x.value=s.value;const C=m(s.onChange);x.addEventListener("input",I=>C.call(I.target.value)),x.addEventListener("blur",I=>{x.style.borderColor="var(--ed-line)",C.flush(),s.onBlur&&s.onBlur(I.target.value)}),x.addEventListener("focus",()=>{x.style.borderColor="var(--ed-accent)",x.style.outline="none"}),v.appendChild(x)}else if(s.isSelect){const x=D("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${s.key}`});s.options.forEach(C=>{const I=document.createElement("option");I.value=C.value,I.textContent=C.label,x.appendChild(I)}),x.value=s.value==null?"":s.value,x.addEventListener("change",C=>s.onChange(C.target.value)),x.addEventListener("focus",()=>{x.style.borderColor="var(--ed-accent)",x.style.outline="none"}),x.addEventListener("blur",()=>{x.style.borderColor="var(--ed-line)"}),v.appendChild(x)}return t.appendChild(v),t}return t}function L(s,t){t.forEach(v=>s.appendChild(H(v)))}Object.assign($,{typeCommit:m,renderFieldCards:u,renderField:H,renderFieldList:L})},ge["render/focus-preserve.js"]=function(be,$,F){function G(K,S){const D=K.activeElement,Q=D&&D.dataset?D.dataset.focusKey:null;let m=null,g=null,p=null,h=!1;const u=Q&&D.tagName==="INPUT"&&D.type==="range"?D:null;if(!u){if(Q&&(D.tagName==="INPUT"||D.tagName==="TEXTAREA")){try{m=D.selectionStart,g=D.selectionEnd}catch{}p=D.scrollTop}else if(Q&&D.isContentEditable){h=!0;const f=X(K);if(f&&f.rangeCount&&D.contains(f.anchorNode)){const z=f.getRangeAt(0);m=pe(D,z.startContainer,z.startOffset),g=pe(D,z.endContainer,z.endOffset)}p=D.scrollTop}}if(S(),!Q)return;const B=K.querySelector(`[data-focus-key="${y(Q)}"]`);if(B){if(u){for(const f of["min","max","step"]){const z=B.getAttribute(f);z===null?u.removeAttribute(f):u.setAttribute(f,z)}B.replaceWith(u);return}if(h){if(m!=null)try{const f=document.createRange();W(f,B,m,!0),W(f,B,g,!1);const z=X(K);z.removeAllRanges(),z.addRange(f)}catch{}B.focus({preventScroll:!0})}else if(B.focus({preventScroll:!0}),m!=null)try{B.setSelectionRange(m,g)}catch{}p!=null&&(B.scrollTop=p)}}function X(K){return typeof K.getSelection=="function"?K.getSelection():window.getSelection()}function pe(K,S,D){if(S.nodeType!==Node.TEXT_NODE){let p=0;const h=document.createTreeWalker(K,NodeFilter.SHOW_TEXT);let u,B=S.childNodes[D];if(!B){for(;h.nextNode();)p+=h.currentNode.nodeValue.length;return p}for(;u=h.nextNode();){if(u===B||B.contains(u))return p;p+=u.nodeValue.length}return p}let Q=0;const m=document.createTreeWalker(K,NodeFilter.SHOW_TEXT);let g;for(;g=m.nextNode();){if(g===S)return Q+D;Q+=g.nodeValue.length}return Q}function W(K,S,D,Q){const m=document.createTreeWalker(S,NodeFilter.SHOW_TEXT);let g=0,p,h=null;for(;p=m.nextNode();){h=p;const u=p.nodeValue.length;if(g+u>=D){const B=D-g;Q?K.setStart(p,B):K.setEnd(p,B);return}g+=u}h?Q?K.setStart(h,h.nodeValue.length):K.setEnd(h,h.nodeValue.length):Q?K.setStart(S,0):K.setEnd(S,0)}function y(K){return String(K).replace(/["\\]/g,"\\$&")}Object.assign($,{withFocusPreserved:G,textOffset:pe})},ge["render/rte.js"]=function(be,$,F){const{icon:G}=F("core/icons.js"),{TOKEN:X}=F("core/variables.js"),{typeCommit:pe}=F("render/fields.js");function W(m,g,p){const h=document.createElement(m);if(g&&Object.assign(h.style,g),p)for(const[u,B]of Object.entries(p))u==="text"?h.textContent=B:B!==void 0&&h.setAttribute(u,B);return h}function y(m){try{return document.queryCommandState(m)}catch{return!1}}function K(m,g){return m.style.position="relative",m.hasAttribute("aria-label")||m.setAttribute("aria-label",g),m.appendChild(W("span",{},{class:"mc-rte-tooltip",text:g})),m}function S(m){const g=String(m||"").replace(/[_.]+/g," ").trim();return g.charAt(0).toUpperCase()+g.slice(1)}function D(m,g){const p=m.t,h=(C,I,V,ee)=>{const te=W("button",{border:"0",borderRadius:"7px",background:ee?"var(--ed-accent)":"transparent",color:ee?"var(--ed-accent-ink)":"var(--rte-muted)",cursor:"pointer",width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",flex:"none"},{type:"button",title:I,"data-rte-control":"1","data-active":ee?"true":"false"});return te.appendChild(G(C,14)),te.addEventListener("mousedown",_=>{_.preventDefault(),_.stopPropagation()}),te.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),V(),m.onFormatChange&&m.onFormatChange()}),K(te,I),te},u=()=>W("span",{width:"1px",height:"18px",background:"var(--rte-border)",margin:"0 4px",flex:"none"}),B=(C,I,V,ee)=>{const te=W("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:ee});te.appendChild(G(C,14));const _=W("span",{position:"absolute",left:"6px",right:"6px",bottom:"4px",height:"3px",borderRadius:"99px",background:V,pointerEvents:"none"});te.appendChild(_);const ie=W("input",{position:"absolute",inset:"0",width:"100%",height:"100%",opacity:"0",margin:"0",cursor:"pointer"},{type:"color",value:V.startsWith("#")?V:"#1d1f20"});return ie.addEventListener("mousedown",de=>de.stopPropagation()),ie.addEventListener("click",de=>de.stopPropagation()),ie.addEventListener("input",de=>{_.style.background=de.target.value,m.exec(I,de.target.value)}),te.appendChild(ie),K(te,ee),te},f={display:"flex",alignItems:"center",gap:"2px",whiteSpace:"nowrap"},z={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"},N=(C,I,V,ee,te,_)=>{const ie=W("label",{position:"relative",display:"inline-flex",alignItems:"center",color:"var(--rte-muted)"},{"data-rte-select":"1","aria-label":C}),de=W("span",{position:"absolute",left:"8px",zIndex:"2",pointerEvents:"none",display:"flex"});de.appendChild(G(ee,13));const we=W("select",Object.assign({},z,{width:V}),{title:C});te.forEach(([me,ae])=>{const ze=document.createElement("option");ze.value=me,ze.textContent=ae,we.appendChild(ze)}),we.value=I,we.addEventListener("mousedown",me=>me.stopPropagation()),we.addEventListener("change",_);const xe=W("span",{position:"absolute",right:"7px",pointerEvents:"none",display:"flex"});return xe.appendChild(G("chevronDown",12)),ie.append(de,we,xe),ie},E=m.vars(),A=W("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"});A.addEventListener("pointerdown",()=>{m.rteActive=!0;const C=()=>{m.rteActive=!1,window.removeEventListener("pointerup",C,!0),window.removeEventListener("pointercancel",C,!0)};window.addEventListener("pointerup",C,!0),window.addEventListener("pointercancel",C,!0)},!0),A.addEventListener("mousedown",C=>C.stopPropagation()),A.addEventListener("click",C=>C.stopPropagation());const H=W("div",f),L=N(p("rte.textStyle"),m.currentTag(),"118px","typeColor",[["",p("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"]],C=>{C.target.value&&(m.exec("formatBlock",C.target.value),m.onFormatChange&&m.onFormatChange())});H.append(L,u(),h("bold","Bold",()=>m.exec("bold"),y("bold")),h("italic","Italic",()=>m.exec("italic"),y("italic")),h("underline","Underline",()=>m.exec("underline"),y("underline")),h("strike","Strikethrough",()=>m.exec("strikeThrough"),y("strikeThrough")),h("inlineCode","Inline code",()=>m.exec("insertHTML",'<code style="font-family:ui-monospace,monospace;font-size:0.92em;background:var(--ed-soft);padding:1px 4px">'+(m.getSelection().toString()||"code")+"</code>")),h("superscript","Superscript",()=>m.exec("superscript"),y("superscript")),h("subscript","Subscript",()=>m.exec("subscript"),y("subscript"))),(g.type==="text"||g.type==="heading")&&H.append(u(),h("minus","Smaller text",()=>m.size(g,-1)),W("span",{fontFamily:"var(--ed-font)",fontSize:"9.5px",color:"var(--rte-muted)",minWidth:"32px",textAlign:"center"},{text:m.selSize(g)+"px"}),h("plus","Larger text",()=>m.size(g,1)));const s=W("div",f);s.append(h("alignLeft","Align left",()=>m.exec("justifyLeft"),y("justifyLeft")),h("alignCenter","Align center",()=>m.exec("justifyCenter"),y("justifyCenter")),h("alignRight","Align right",()=>m.exec("justifyRight"),y("justifyRight")),h("alignJustify","Justify",()=>m.exec("justifyFull"),y("justifyFull")),u(),h("list","Bullet list",()=>m.exec("insertUnorderedList"),y("insertUnorderedList")),h("listOrdered","Numbered list",()=>m.exec("insertOrderedList"),y("insertOrderedList")),h("outdent","Outdent",()=>m.exec("outdent")),h("indent","Indent",()=>m.exec("indent")),u(),h("link","Link — ⌘K",()=>m.openLink(),!!m.state.linkDraft),h("unlink","Remove link",()=>m.removeLink(g)),h("formatClear",p("rte.clearFormatting"),()=>m.exec("removeFormat")),u(),B("typeColor","foreColor","#172033",p("rte.textColor")),B("highlighter","hiliteColor","#fef08a",p("rte.highlightColor")),h("eraser",p("rte.removeHighlight"),()=>m.exec("hiliteColor","transparent")),u());const t=[["",E.length?p("rte.mergeTags"):p("rte.noMergeTags")]].concat(E.map(C=>[X(C),S(C)]));s.appendChild(N(p("rte.mergeTags"),"","132px","data",t,C=>{C.target.value&&(m.exec("insertText",C.target.value),C.target.value="")})),A.appendChild(H),A.appendChild(s),m.state.linkDraft&&A.appendChild(Q(m,g,E));const v="calc(100% + 10px)",x=m._rteFlip&&m._rteFlip.id===g.id?m._rteFlip.flip:null;return x===!0?A.style.top=v:x===null&&(A.style.visibility="hidden"),requestAnimationFrame(()=>{if(!A.isConnected)return;const C=m.exportRoot&&m.exportRoot.querySelector(".mc-workspace");if(C&&A.parentElement){const V=A.parentElement.getBoundingClientRect().top-82<C.getBoundingClientRect().top+4;m._rteFlip={id:g.id,flip:V},A.style.top=V?v:"-82px"}A.style.visibility=""}),A}function Q(m,g,p){const h=m.t,u=m.state.linkDraft,B=v=>m.setState({linkDraft:Object.assign({},m.state.linkDraft,v)}),f={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"},z=(v,x,C)=>{const I=W("button",{border:x?"0":"1px solid var(--rte-border)",borderRadius:"5px",background:x?"var(--ed-accent)":"transparent",color:x?"var(--ed-accent-ink)":"var(--rte-text)",cursor:"pointer",padding:"5px 10px",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"600"},{type:"button",text:v});return I.addEventListener("mousedown",V=>V.preventDefault()),I.addEventListener("click",V=>{V.preventDefault(),C()}),I},N=W("div",{display:"flex",flexDirection:"column",gap:"6px",borderTop:"1px solid var(--rte-border)",paddingTop:"6px",marginTop:"2px",minWidth:"380px"}),E=W("div",{display:"flex",alignItems:"center",gap:"5px"}),A=W("input",f,{placeholder:"https://example.com"});A.value=u.href,setTimeout(()=>{A.focus(),m.rteActive=!1},0);const H=pe(v=>B({href:v}));if(A.addEventListener("input",v=>H.call(v.target.value)),A.addEventListener("blur",()=>H.flush()),A.addEventListener("keydown",v=>{v.key==="Enter"&&(v.preventDefault(),H.flush(),m.applyLink(g)),v.key==="Escape"&&m.setState({linkDraft:null})}),E.appendChild(A),p.length){const v=W("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:h("rte.mergeTags")}),x=document.createElement("option");x.value="",x.textContent=h("rte.mergeTags"),v.appendChild(x),p.forEach(C=>{const I=document.createElement("option");I.value=X(C),I.textContent=S(C),v.appendChild(I)}),v.addEventListener("change",C=>{C.target.value&&(B({href:(u.href||"")+C.target.value}),C.target.value="")}),E.appendChild(v)}N.appendChild(E);const L=W("div",{display:"flex",alignItems:"center",gap:"8px"}),s=W("label",{display:"flex",alignItems:"center",gap:"5px",color:"var(--rte-muted)",fontFamily:"var(--ed-font)",fontSize:"10.5px",fontWeight:"500",cursor:"pointer"}),t=W("input",{accentColor:"var(--ed-accent)",cursor:"pointer"},{type:"checkbox"});return t.checked=!!u.blank,t.addEventListener("change",v=>B({blank:v.target.checked})),s.append(t,"Open in new tab"),L.appendChild(s),L.appendChild(W("span",{flex:"1"})),u.editing&&L.appendChild(z("Remove",!1,()=>m.removeLink(g))),L.appendChild(z("Cancel",!1,()=>m.setState({linkDraft:null}))),L.appendChild(z(u.editing?"Update":"Apply",!0,()=>{H.flush(),m.applyLink(g)})),N.appendChild(L),N}Object.assign($,{renderRte:D})},ge["render/screenshot.js"]=function(be,$,F){const{renderDoc:G}=F("render/canvas.js"),X="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",pe={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpeg",webp:"image/webp"};function W(g){const p=typeof g=="number"?{scale:g}:g||{},h=Number(p.quality);return{scale:Number(p.scale)>0?Number(p.scale):2,mime:pe[String(p.format||"png").toLowerCase()]||"image/png",quality:h>=0&&h<=1?h:.85}}function y(g,p,h){return new Promise((u,B)=>{g.toBlob(f=>f?u(f):B(new Error("image encoding failed")),p,h)})}const K=new Map;function S(g){if(K.has(g))return K.get(g);const p=fetch(g,{mode:"cors"}).then(h=>{if(!h.ok)throw new Error("fetch failed: "+h.status);return h.blob()}).then(h=>new Promise((u,B)=>{const f=new FileReader;f.onload=()=>u(f.result),f.onerror=B,f.readAsDataURL(h)})).catch(h=>{throw K.delete(g),h});return K.set(g,p),p}async function D(g){const p=[];g.querySelectorAll("img").forEach(h=>{const u=h.getAttribute("src")||"";!u||u.startsWith("data:")||p.push(S(u).then(B=>{h.setAttribute("src",B)},()=>{h.setAttribute("src",X)}))}),g.querySelectorAll("[style]").forEach(h=>{const u=(h.style.backgroundImage||"").match(/url\(["']?(?!data:)([^"')]+)["']?\)/);u&&p.push(S(u[1]).then(B=>{h.style.backgroundImage='url("'+B+'")'},()=>{h.style.backgroundImage="none"}))}),await Promise.all(p)}Object.assign($,{captureTemplatePng:async function(g,p,h){const{scale:u,mime:B,quality:f}=W(h),z=g.state.doc.theme,N=32,E=document.createElement("div"),A=z.width+(Number(z.padX)||0)*2;E.style.cssText=`position: fixed; left: -100000px; top: 0; width: ${A+N*2}px; background: ${z.bg}; padding: ${N}px; box-sizing: border-box; display: flex; justify-content: center;`,E.setAttribute("aria-hidden","true");const H=g.state.device;g.state.device="desktop";try{E.appendChild(G(g,!1))}finally{g.state.device=H}p.appendChild(E);try{await D(E),await Promise.all(Array.from(E.querySelectorAll("img")).map(_=>_.decode?_.decode().catch(()=>{}):Promise.resolve()));const L=E.offsetWidth,s=E.offsetHeight,t=E.cloneNode(!0);t.style.position="static",t.style.left="auto";const v=new XMLSerializer().serializeToString(t),x=`<svg xmlns="http://www.w3.org/2000/svg" width="${L}" height="${s}"><foreignObject width="100%" height="100%">${v}</foreignObject></svg>`,C=new Image;await new Promise((_,ie)=>{C.onload=_,C.onerror=()=>ie(new Error("SVG rasterization failed")),C.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(x)}),C.decode&&await C.decode().catch(()=>{});const V=Math.min(u,Math.sqrt(16e6/Math.max(1,L*s))),ee=document.createElement("canvas");ee.width=Math.max(1,Math.round(L*V)),ee.height=Math.max(1,Math.round(s*V));const te=ee.getContext("2d");return B!=="image/png"&&(te.fillStyle=z.bg||"#ffffff",te.fillRect(0,0,ee.width,ee.height)),te.drawImage(C,0,0,ee.width,ee.height),await y(ee,B,f)}finally{E.remove()}},transcodeShot:async function(g,p,h){const{mime:u,quality:B}=W(p);if(u==="image/png"&&g.type==="image/png")return g;const f=URL.createObjectURL(g);try{const z=new Image;await new Promise((A,H)=>{z.onload=A,z.onerror=()=>H(new Error("shot decode failed")),z.src=f}),z.decode&&await z.decode().catch(()=>{});const N=document.createElement("canvas");N.width=Math.max(1,z.naturalWidth),N.height=Math.max(1,z.naturalHeight);const E=N.getContext("2d");return u!=="image/png"&&(E.fillStyle=h||"#ffffff",E.fillRect(0,0,N.width,N.height)),E.drawImage(z,0,0),await y(N,u,B)}finally{URL.revokeObjectURL(f)}}})},ge["render/story.js"]=function(be,$,F){const{icon:G}=F("core/icons.js"),{transcodeShot:X}=F("render/screenshot.js"),pe=3600,W=560,y=.92,K=[{id:"png",label:"PNG"},{id:"jpeg",label:"JPG"},{id:"webp",label:"WEBP"}];function S(g,p,h={},...u){const B=document.createElement(g);p&&(B.style.cssText=p);for(const[f,z]of Object.entries(h))z!==void 0&&(f==="text"?B.textContent=z:B.setAttribute(f,z));return u.flat().forEach(f=>{f!=null&&f!==!1&&B.appendChild(typeof f=="string"?document.createTextNode(f):f)}),B}const D="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 Q(g,p,h,u,B){const f=S("button",D+g,{type:"button",title:p,"aria-label":p});return f.iconSlot=G(h,14),f.labelSlot=B?S("span","",{text:p}):null,f.append(f.iconSlot),f.labelSlot&&f.append(f.labelSlot),f.addEventListener("mouseenter",()=>{f.style.background="rgba(255,255,255,0.16)",f.style.borderColor="rgba(255,255,255,0.4)"}),f.addEventListener("mouseleave",()=>{f.style.background="rgba(255,255,255,0.07)",f.style.borderColor="rgba(255,255,255,0.22)"}),f.addEventListener("click",u),f}Object.assign($,{createStoryViewer:function(g,p){const h=(q,ue)=>g.t(q,ue),u={open:!1,page:0,pages:1,playing:!0,done:!1,held:!1,remaining:pe,startedAt:0,timer:0,token:0,url:"",blob:null,natW:0,natH:0,cardW:0,cardH:0,showH:0,format:0,saving:!1,onClose:null},B=S("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(8,10,15,0.94); opacity: 0; transition: opacity 0.22s ease;",{class:"mc-story"});B.addEventListener("click",q=>{q.target===B&&re()});const f=S("div","display: none; gap: 4px; height: 3px; flex: none;"),z=S("div","display: flex; align-items: center; gap: 10px; flex: none;"),N=S("div","flex: 1; min-width: 0;"),E=S("div","font-family: ui-monospace, monospace; font-size: 8.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.5);"),A=S("div","display: none; margin-top: 4px; font-family: ui-monospace, monospace; font-size: 9px; letter-spacing: 0.09em; color: rgba(255,255,255,0.42); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;");N.append(E,A);const H=Q("width: 30px; padding: 0;",h("action.close"),"x",()=>re());z.append(N,H);const L=S("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;"),s=S("img","position: absolute; left: 0; top: 0; width: 100%; display: block; opacity: 0; transform: translate3d(0,0,0); transition: opacity 0.32s ease; will-change: transform;",{alt:"",decoding:"async"});L.appendChild(s);const t=S("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;"),v=S("div","position: absolute; top: 0; bottom: 0; left: 0; width: 60%; background: linear-gradient(100deg, transparent, var(--ed-soft), transparent); transform: translateX(-110%); animation: mcStoryShimmer 1.6s linear infinite; will-change: transform;"),x=S("div","position: relative; font-family: var(--ed-font); font-size: 12.5px; font-weight: 600; color: var(--ed-text);"),C=S("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;"),I=S("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"});I.append(G("refresh",14),S("span","",{text:h("story.retry")})),I.addEventListener("click",()=>c()),t.append(v,x,C,I),L.appendChild(t);const V=(q,ue)=>{const fe=S("div","position: absolute; top: 0; bottom: 0; "+q+" cursor: pointer;");let ve=0;fe.addEventListener("pointerdown",()=>{ve=performance.now(),u.playing&&!u.done&&Be(!0)});const He=()=>{if(!ve)return;const Le=performance.now()-ve;ve=0,Le<220?ue():u.held&&We()};return fe.addEventListener("pointerup",He),fe.addEventListener("pointerleave",He),fe};L.append(V("left: 0; width: 32%;",()=>k(-1)),V("left: 32%; right: 0;",()=>k(1)));const ee=S("div","display: flex; align-items: center; justify-content: center; flex: none;"),te="border: none; background: transparent; color: rgba(255,255,255,0.92); cursor: pointer; height: 34px; border-radius: 999px; 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, color 0.16s, opacity 0.16s;",_=(q,ue,fe,ve,He={})=>{const Le=S("button",te+q,{type:"button",title:ue,"aria-label":ue});Le.iconSlot=G(fe,14),Le.labelSlot=He.text?S("span","",{text:ue}):null,Le.append(Le.iconSlot),Le.labelSlot&&Le.append(Le.labelSlot);const De=He.restBg||"transparent",Oe=He.hoverBg||"rgba(255,255,255,0.12)";return Le.addEventListener("mouseenter",()=>{Le.style.background=Oe}),Le.addEventListener("mouseleave",()=>{Le.style.background=De}),Le.addEventListener("click",ve),Le},ie=_("width: 34px; padding: 0;",h("story.pause"),"pause",()=>u.playing?Be(!1):We()),de=_("padding: 0 13px;",h("story.copy"),"copy",()=>p.copy(u.blob),{text:!0}),we=[],xe=S("div","display: flex; align-items: center; gap: 2px; padding: 3px; background: rgba(0,0,0,0.35); border-radius: 999px; flex: none; transition: opacity 0.16s;");K.forEach((q,ue)=>{const fe=S("button","border: none; cursor: pointer; height: 26px; padding: 0 11px; border-radius: 999px; background: transparent; color: rgba(255,255,255,0.55); font-family: ui-monospace, monospace; font-size: 8.5px; font-weight: 700; letter-spacing: 0.09em; transition: background 0.16s, color 0.16s;",{type:"button",text:q.label});fe.addEventListener("click",()=>{u.format=ue,ze()}),fe.addEventListener("mouseenter",()=>{u.format!==ue&&(fe.style.color="#fff",fe.style.background="rgba(255,255,255,0.1)")}),fe.addEventListener("mouseleave",()=>ze()),we.push(fe),xe.appendChild(fe)});const me=_("padding: 0 16px; font-weight: 700; background: #fff; color: #14171c;",h("story.download",{fmt:K[0].label}),"download",()=>b(),{text:!0,restBg:"#fff",hoverBg:"#dfe5ee"}),ae=S("div","display: flex; align-items: center; gap: 6px; padding: 5px; background: rgba(23,26,34,0.92); border: 1px solid rgba(255,255,255,0.14); border-radius: 999px; box-shadow: 0 18px 44px rgba(0,0,0,0.5);");ae.append(ie,de,xe,me),ee.append(ae);function ze(){const q=K[u.format];we.forEach((ue,fe)=>{const ve=fe===u.format;ue.style.background=ve?"#fff":"transparent",ue.style.color=ve?"#14171c":"rgba(255,255,255,0.55)",ue.title=h("story.format"),ue.setAttribute("aria-label",h("story.format")+" — "+K[fe].label),ue.setAttribute("aria-pressed",ve?"true":"false")}),me.labelSlot.textContent=h("story.download",{fmt:q.label}),me.title=h("story.download",{fmt:q.label}),me.setAttribute("aria-label",me.title)}ze();async function b(){if(!u.blob||u.saving)return;const q=K[u.format];let ue=u.blob;if(q.id!=="png"){u.saving=!0;try{ue=await X(u.blob,{format:q.id},g.state.doc.theme.bg)}catch{ue=u.blob}finally{u.saving=!1}}p.download(ue)}B.append(f,z,L,ee);function Re(){return Array.from(f.children).map(q=>q.firstChild)}function Ae(q,ue){Re().forEach((fe,ve)=>{if(fe.style.transition="none",ve<u.page){fe.style.transform="scaleX(1)";return}if(ve>u.page){fe.style.transform="scaleX(0)";return}fe.style.transform="scaleX("+q+")",ue&&(fe.offsetWidth,fe.style.transition="transform "+Math.max(0,u.remaining)+"ms linear",fe.style.transform="scaleX(1)")})}function Pe(){clearTimeout(u.timer),!(!u.playing||u.done||u.pages<2)&&(u.startedAt=performance.now(),Ae(1-u.remaining/pe,!0),u.timer=setTimeout(()=>k(1),u.remaining))}function Be(q){u.playing&&(clearTimeout(u.timer),u.remaining=Math.max(0,u.remaining-(performance.now()-u.startedAt)),u.playing=!1,u.held=!!q,Ae(1-u.remaining/pe,!1),he())}function We(){if(u.held=!1,u.done){l(0);return}u.playing=!0,Pe(),he()}function he(){const q=u.done?h("story.replay"):u.playing?h("story.pause"):h("story.play"),ue=u.done?"refresh":u.playing?"pause":"play",fe=G(ue,14);ie.replaceChild(fe,ie.iconSlot),ie.iconSlot=fe,ie.title=q,ie.setAttribute("aria-label",q)}function e(q){return u.showH<=u.cardH?Math.round((u.cardH-u.showH)/2):-Math.min(Math.round(q*u.cardH*y),Math.round(u.showH-u.cardH))}function l(q,ue){const fe=Math.max(0,Math.min(u.pages-1,q));u.page=fe,u.remaining=pe,u.done&&(u.done=!1,u.playing=!0),s.style.transition=ue===!1?"opacity 0.32s ease":"transform "+W+"ms cubic-bezier(0.22,0.61,0.36,1), opacity 0.32s ease",s.style.transform="translate3d(0, "+e(fe)+"px, 0)",T(),Pe(),he()}function k(q){if(q>0&&u.page>=u.pages-1){clearTimeout(u.timer),u.done=!0,u.playing=!1,u.held=!1,Ae(1,!1),he();return}if(q<0&&u.page===0){l(0);return}l(u.page+q)}function T(){A.textContent=u.natW?h("story.meta",{w:u.natW,h:u.natH,i:u.page+1,n:u.pages}):"",A.style.display=u.natW?"block":"none"}function w(){if(!u.open)return;const q=Math.max(280,B.clientHeight-44-118),ue=Math.max(240,B.clientWidth-44);u.cardH=q,u.cardW=Math.max(240,Math.min(430,ue,Math.round(q*.75))),L.style.width=u.cardW+"px",L.style.height=u.cardH+"px",[f,z,ee].forEach(ve=>{ve.style.width=u.cardW+"px"});const fe=u.cardW<390;de.labelSlot.style.display=fe?"none":"",de.style.width=fe?"34px":"",de.style.padding=fe?"0":"0 13px",u.natW&&(u.showH=u.cardW*(u.natH/u.natW),u.pages=u.showH<=u.cardH?1:Math.ceil((u.showH-u.cardH)/(u.cardH*y))+1,R(),l(Math.min(u.page,u.pages-1),!1))}function R(){f.innerHTML="",f.style.display=u.pages>1?"flex":"none";for(let q=0;q<u.pages;q++){const ue=S("div","width: 100%; height: 100%; border-radius: 2px; background: #fff; transform: scaleX(0); transform-origin: left center;");f.appendChild(S("div","flex: 1; height: 100%; border-radius: 2px; background: rgba(255,255,255,0.24); overflow: hidden;",{},ue))}}function a(q){[de,me,ie,...we].forEach(ue=>{ue.disabled=!q,ue.style.pointerEvents=q?"":"none"}),[de,ie,me,xe].forEach(ue=>{ue.style.opacity=q?"":"0.4"})}function r(q){t.style.display="flex",t.style.opacity="1",v.style.display=q?"none":"block",x.textContent=h(q?"story.failed":"story.rendering"),C.textContent=h(q?"story.failedHint":"story.renderingHint"),I.style.display=q?"flex":"none",a(!1)}function c(){const q=++u.token;d(),Object.assign(u,{blob:null,natW:0,natH:0,page:0,pages:1,done:!1,playing:!0,held:!1,remaining:pe}),clearTimeout(u.timer),s.style.opacity="0",f.style.display="none",T(),r(!1),p.capture().then(ue=>{q!==u.token||!u.open||(u.blob=ue,u.url=URL.createObjectURL(ue),s.onload=()=>{if(q!==u.token)return;(s.decode?s.decode().catch(()=>{}):Promise.resolve()).then(()=>{q===u.token&&(u.natW=s.naturalWidth,u.natH=s.naturalHeight,w(),s.style.opacity="1",t.style.opacity="0",setTimeout(()=>{q===u.token&&(t.style.display="none")},300),a(!0),u.pages<2&&(u.done=!0,u.playing=!1),he(),Pe())})},s.src=u.url)},()=>{q!==u.token||!u.open||r(!0)})}function d(){u.url&&(URL.revokeObjectURL(u.url),u.url="")}function o(q){if(u.open){if(q.key==="Escape"){q.stopPropagation(),re();return}if(q.key==="ArrowRight"||q.key==="ArrowDown"){q.stopPropagation(),Be(!1),k(1);return}if(q.key==="ArrowLeft"||q.key==="ArrowUp"){q.stopPropagation(),Be(!1),k(-1);return}q.key===" "&&(q.stopPropagation(),q.preventDefault(),u.playing?Be(!1):We())}}let M=0;L.addEventListener("wheel",q=>{q.preventDefault();const ue=performance.now();ue-M<W*.8||Math.abs(q.deltaY)<6||(M=ue,Be(!1),k(q.deltaY>0?1:-1))},{passive:!1});function Y(q){u.open||(u.open=!0,u.onClose=q&&q.onClose||null,B.style.display="flex",B.removeAttribute("aria-hidden"),E.textContent=h("story.kicker"),B.offsetWidth,B.style.opacity="1",L.style.transform="scale(1) translateY(0)",L.style.opacity="1",w(),r(!1),T(),setTimeout(()=>{u.open&&c()},380),window.addEventListener("keydown",o,!0),window.addEventListener("resize",w),H.focus({preventScroll:!0}))}function re(){if(!u.open)return;u.open=!1,u.token++,clearTimeout(u.timer);const q=u.onClose;u.onClose=null,q&&q(),window.removeEventListener("keydown",o,!0),window.removeEventListener("resize",w),B.style.opacity="0",L.style.transform="scale(0.965) translateY(10px)",L.style.opacity="0",setTimeout(()=>{u.open||(B.style.display="none",B.setAttribute("aria-hidden","true"),s.removeAttribute("src"),d(),u.blob=null)},240)}function ye(){H.title=h("action.close"),H.setAttribute("aria-label",h("action.close")),de.labelSlot.textContent=h("story.copy"),de.title=h("story.copy"),ze(),I.lastChild.textContent=h("story.retry"),u.open&&(E.textContent=h("story.kicker"),T()),he()}return{node:B,open:Y,close:re,retranslate:ye,isOpen:()=>u.open}}})},ge["render/style.js"]=function(be,$,F){Object.assign($,{STYLE:`
|
|
124
124
|
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
|
|
125
125
|
:host { display: block; height: 100%; }
|
|
126
126
|
#mc, #mc *, #mc *::before, #mc *::after { box-sizing: border-box; }
|
|
@@ -221,7 +221,7 @@ unsubscribe_url`,Y=b=>"{{ "+b+" }}";function de(b){return(Array.isArray(b)?b:Str
|
|
|
221
221
|
@keyframes mcIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
|
|
222
222
|
@keyframes mcFade { from { opacity: 0; } to { opacity: 1; } }
|
|
223
223
|
@keyframes mcPulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
|
|
224
|
-
@keyframes mcStoryShimmer { from {
|
|
224
|
+
@keyframes mcStoryShimmer { from { transform: translateX(-110%); } to { transform: translateX(280%); } }
|
|
225
225
|
|
|
226
226
|
/*
|
|
227
227
|
* Hover/selection outlines on canvas rows and blocks. Re-rendering on every
|
|
@@ -628,6 +628,6 @@ unsubscribe_url`,Y=b=>"{{ "+b+" }}";function de(b){return(Array.isArray(b)?b:Str
|
|
|
628
628
|
#mc .mc-preview-body .mc-page.is-padded [data-mc-sheet="1"] { box-shadow: 0 1px 3px rgba(15,23,42,.12) !important; }
|
|
629
629
|
#mc[data-chrome="dark"] .mc-preview-body .mc-page.is-padded { border-color: rgba(203,213,225,.42); box-shadow: 0 0 0 1px rgba(15,23,42,.65), 0 24px 65px rgba(0,0,0,.40); }
|
|
630
630
|
#mc[data-chrome="dark"] .mc-preview-body .mc-page.is-padded [data-mc-sheet="1"] { box-shadow: 0 1px 4px rgba(0,0,0,.35) !important; }
|
|
631
|
-
`})},window.MailCraftEditorBundle=
|
|
631
|
+
`})},window.MailCraftEditorBundle=Xe("index.js")})();
|
|
632
632
|
|
|
633
633
|
//# sourceMappingURL=mailcraft-editor.bundle.js.map
|