<iframe> skipped (cannot access content). Use options.placeholders to show a placeholder instead.",e),r.placeholders){let{width:h,height:d}%3DWe(e),f%3Ddocument.createElement("div")%3Breturn f.style.cssText%3D`width:${h}px%3Bheight:${d}px%3Bbackground-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px)%3Bdisplay:flex%3Balign-items:center%3Bjustify-content:center%3Bfont-size:12px%3Bcolor:#555%3Bborder:1px solid #aaa%3B`,ut(e,f,t,r),f}else{let{width:h,height:d}%3DWe(e),f%3Ddocument.createElement("div")%3Breturn f.style.cssText%3D`display:inline-block%3Bwidth:${h}px%3Bheight:${d}px%3Bvisibility:hidden%3B`,ut(e,f,t,r),f}}if(e.getAttribute("data-capture")%3D%3D%3D"placeholder"){let s%3De.cloneNode(!1)%3Bt.nodeMap.set(s,e),ut(e,s,t,r)%3Blet h%3Ddocument.createElement("div")%3Breturn h.textContent%3De.getAttribute("data-placeholder-text")||"",h.style.cssText%3D"color:#666%3Bfont-size:12px%3Btext-align:center%3Bline-height:1.4%3Bpadding:0.5em%3Bbox-sizing:border-box%3B",s.appendChild(h),s}if(e.tagName%3D%3D%3D"CANVAS"){let s%3D""%3Btry{let p%3De.getContext("2d",{willReadFrequently:!0})%3Btry{p&&p.getImageData(0,0,1,1)}catch{}if(await new Promise(m%3D>requestAnimationFrame(m)),s%3De.toDataURL("image/png"),!s||s%3D%3D%3D"data:,"){try{p&&p.getImageData(0,0,1,1)}catch{}if(await new Promise(m%3D>requestAnimationFrame(m)),s%3De.toDataURL("image/png"),!s||s%3D%3D%3D"data:,"){let m%3Ddocument.createElement("canvas")%3Bm.width%3De.width,m.height%3De.height%3Blet g%3Dm.getContext("2d")%3Bg&&(g.drawImage(e,0,0),s%3Dm.toDataURL("image/png"))}}}catch(p){Q(t,"Canvas toDataURL failed, using empty/fallback",p)}let h%3Ddocument.createElement("img")%3Btry{h.decoding%3D"sync",h.loading%3D"eager"}catch(p){Q(t,"img decoding/loading hints failed",p)}s&&(h.src%3Ds),h.width%3De.width,h.height%3De.height%3Blet{width:d,height:f}%3DWe(e)%3Breturn d>0&&(h.style.width%3D`${d}px`),f>0&&(h.style.height%3D`${f}px`),t.nodeMap.set(h,e),ut(e,h,t,r),h}if(e.tagName%3D%3D%3D"VIDEO"){let s%3D""%3Btry{let p%3Ddocument.createElement("canvas")%3Bp.width%3De.videoWidth||e.offsetWidth||320,p.height%3De.videoHeight||e.offsetHeight||240%3Blet m%3Dp.getContext("2d")%3Bm&&(m.drawImage(e,0,0,p.width,p.height),s%3Dp.toDataURL("image/png"),(!s||s%3D%3D%3D"data:,")&&(s%3D""))}catch(p){Q(t,"Video frame capture failed, using poster fallback",p)}let h%3Ddocument.createElement("img")%3Btry{h.decoding%3D"sync",h.loading%3D"eager"}catch{}s?h.src%3Ds:e.poster&&(h.src%3De.poster),h.width%3De.videoWidth||e.offsetWidth||0,h.height%3De.videoHeight||e.offsetHeight||0%3Blet{width:d,height:f}%3DWe(e)%3Breturn d>0&&(h.style.width%3D`${d}px`),f>0&&(h.style.height%3D`${f}px`),h.style.objectFit%3D"contain",t.nodeMap.set(h,e),ut(e,h,t,r),h}let a%3Btry{if(a%3De.cloneNode(!1),a.attributes?.length)try{for(let s of a.attributes)/[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]/.test(s.value)&&a.setAttribute(s.name,s.value.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]/g,""))}catch{}if(Cd(e,a),t.nodeMap.set(a,e),e.tagName%3D%3D%3D"IMG"){Dd(e,a)%3Btry{let{width:s,height:h}%3DWe(e),d%3DMath.round(s||0),f%3DMath.round(h||0)%3Bd&&(a.dataset.snapdomWidth%3DString(d)),f&&(a.dataset.snapdomHeight%3DString(f))}catch(s){Q(t,"getUnscaledDimensions for IMG failed",s)}try{let s%3De.getAttribute("style")||"",h%3Dwindow.getComputedStyle(e),d%3DS%3D>{let v%3Ds.match(new RegExp(`${S}\\s*:\\s*([^%3B]+)`,"i")),w%3Dv?v[1].trim():h.getPropertyValue(S)%3Breturn/%|auto/i.test(String(w||""))},f%3DparseInt(a.dataset.snapdomWidth||"0",10),p%3DparseInt(a.dataset.snapdomHeight||"0",10),m%3Dd("width")||!f,g%3Dd("height")||!p%3Bm&&f&&(a.style.width%3D`${f}px`),g&&p&&(a.style.height%3D`${p}px`)%3Blet y%3Dh.getPropertyValue("object-fit"),b%3Dh.getPropertyValue("object-position")%3By&&y!%3D%3D"fill"?(a.style.objectFit%3Dy,b&&(a.style.objectPosition%3Db)):(f&&(a.style.minWidth%3D`${f}px`),p&&(a.style.minHeight%3D`${p}px`))}catch(s){Q(t,"IMG dimension freeze failed",s)}}}catch(s){throw console.error("[Snapdom] Failed to clone node:",e,s),s}let u%3Dnull%3Bif(e instanceof HTMLTextAreaElement){let{width:s,height:h}%3DWe(e),d%3Ds||e.getBoundingClientRect().width||0,f%3Dh||e.getBoundingClientRect().height||0%3Bd&&(a.style.width%3D`${d}px`),f&&(a.style.height%3D`${f}px`)}if(e instanceof HTMLInputElement){let s%3D(e.type||"text").toLowerCase()%3Bif((s%3D%3D%3D"checkbox"||s%3D%3D%3D"radio")&&ed()){let{el:h,applyVisual:d}%3DWd(e)%3Bt.nodeMap.set(h,e),u%3Dd,a%3Dh}else a.value%3De.value,a.setAttribute("value",e.value),e.checked!%3D%3Dvoid 0&&(a.checked%3De.checked,e.checked&&a.setAttribute("checked",""),e.indeterminate&&(a.indeterminate%3De.indeterminate))}if((e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&!e.value&&e.placeholder)try{let s%3Dwindow.getComputedStyle(e,"::placeholder"),h%3Ds&&s.color%3Bif(h&&h!%3D%3D"rgba(0, 0, 0, 0)"){let d%3D"snapdom-ph-"+(Math.random()*1e6|0)%3Ba.classList.add(d)%3Blet f%3Ddocument.createElement("style")%3Bf.textContent%3D`.${d}::placeholder{color:${h}!important%3Bopacity:${s.opacity||"1"}!important%3B}`,a.prepend(f)}}catch{}if(e instanceof HTMLSelectElement&&(n%3De.value),e instanceof HTMLTextAreaElement&&(o%3De.value),e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement){e.disabled&&a.setAttribute("disabled",""),e.required&&a.setAttribute("required",""),e.readOnly&&a.setAttribute("readonly","")%3Blet s%3De%3Bs.min!%3D%3Dvoid 0&&s.min!%3D%3D""&&a.setAttribute("min",s.min),s.max!%3D%3Dvoid 0&&s.max!%3D%3D""&&a.setAttribute("max",s.max),s.pattern!%3D%3Dvoid 0&&s.pattern!%3D%3D""&&a.setAttribute("pattern",s.pattern)%3Blet h%3De.getAttribute("aria-invalid")%3Bh!%3D%3Dnull&&a.setAttribute("aria-invalid",h)}if(Tn(e)||ut(e,a,t,r),u&&u(),e instanceof SVGElement&&!Tn(e)){let s%3D["fill","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","opacity","fill-opacity","stroke-opacity","fill-rule","clip-rule","marker","marker-start","marker-mid","marker-end","visibility","display"]%3Btry{let h%3Dwindow.getComputedStyle(e)%3Bfor(let d of s){let f%3Dh.getPropertyValue(d)%3Bf&&a.style.setProperty(d,f)}}catch{}}if(e.shadowRoot){let s%3Dfunction(S,v){if(S.nodeType%3D%3D%3DNode.ELEMENT_NODE&&S.tagName%3D%3D%3D"STYLE")return v(null)%3Bpr(S,t,r).then(w%3D>{v(w||null)}).catch(()%3D>{v(null)})}%3Btry{let S%3De.shadowRoot.querySelectorAll("slot")%3Bfor(let v of S){let w%3D[]%3Btry{w%3Dv.assignedNodes?.({flatten:!0})||v.assignedNodes?.()||[]}catch{w%3Dv.assignedNodes?.()||[]}for(let E of w)i.add(E)}}catch{}let h%3DRd(t),d%3D`[data-sd%3D"${h}"]`%3Btry{a.setAttribute("data-sd",h)}catch{}let f%3DNd(e.shadowRoot),p%3DTd(f,d),m%3DOd(f),g%3DLd(e,m,d)%3BId(a,g+p,h)%3Blet y%3Ddocument.createDocumentFragment(),b%3Dawait Sn(Array.from(e.shadowRoot.childNodes),s,r.fast)%3By.append(...b.filter(S%3D>!!S)),a.appendChild(y)}if(e.tagName%3D%3D%3D"SLOT"){let s%3Dfunction(m,g){pr(m,t,r).then(y%3D>{y&&Pd(y),g(y||null)}).catch(()%3D>{g(null)})},h%3De.assignedNodes?.({flatten:!0})||[],d%3Dh.length>0?h:Array.from(e.childNodes),f%3Ddocument.createDocumentFragment(),p%3Dawait Sn(Array.from(d),s,r.fast)%3Breturn f.append(...p.filter(m%3D>!!m)),f}function l(s,h){if(i.has(s))return h(null)%3Bpr(s,t,r).then(d%3D>{h(d||null)}).catch(()%3D>{h(null)})}let c%3Dawait Sn(Array.from(e.childNodes),l,r.fast)%3Bif(a.append(...c.filter(s%3D>!!s)),n!%3D%3Dnull&&a instanceof HTMLSelectElement){a.value%3Dn%3Bfor(let s of a.options)s.value%3D%3D%3Dn?s.setAttribute("selected",""):s.removeAttribute("selected")}return o!%3D%3Dnull&&a instanceof HTMLTextAreaElement&&(a.textContent%3Do),a}function Gd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qd(e){let t%3DArray.isArray(e)?e:[e]%3Bfor(let r of t)r instanceof RegExp?Rn.push(r):typeof r%3D%3D"string"?Rn.push(new RegExp(Gd(r),"i")):console.warn("[snapdom] Ignored invalid iconFont value:",r)}function Ye(e){let t%3Dtypeof e%3D%3D"string"?e:"",r%3D[...jd,...Rn]%3Bfor(let i of r)if(i instanceof RegExp&&i.test(t))return!0%3Breturn!!(/icon/i.test(t)||/glyph/i.test(t)||/symbols/i.test(t)||/feather/i.test(t)||/fontawesome/i.test(t))}function Yd(e%3D""){let t%3DString(e).toLowerCase()%3Breturn/\bmaterial\s*icons\b/.test(t)||/\bmaterial\s*symbols\b/.test(t)}function Xd(e%3D""){let t%3DObject.create(null),r%3DString(e||""),i%3D/['"]?\s*([A-Za-z]{3,4})\s*['"]?\s*([+-]?\d+(?:\.\d+)?)\s*/g,n%3Bfor(%3Bn%3Di.exec(r)%3B)t[n[1].toUpperCase()]%3DNumber(n[2])%3Breturn t}async function Zd(e,t,r){let i%3DString(e||""),n%3Di.toLowerCase(),o%3DString(t||"").toLowerCase()%3Bif(/\bmaterial\s*icons\b/.test(n)&&!/\bsymbols\b/.test(n))return{familyForMeasure:i,familyForCanvas:i}%3Bif(!/\bmaterial\s*symbols\b/.test(n))return{familyForMeasure:i,familyForCanvas:i}%3Blet a%3Dr&&(r.FILL??r.fill),u%3D"outlined"%3B/\brounded\b/.test(o)||/\bround\b/.test(o)?u%3D"rounded":/\bsharp\b/.test(o)?u%3D"sharp":/\boutlined\b/.test(o)&&(u%3D"outlined")%3Blet l%3Da%3D%3D%3D1,c%3Dnull%3Bif(l&&(u%3D%3D%3D"outlined"&&vt.materialIconsFilled?c%3D{url:vt.materialIconsFilled,alias:"snapdom-mi-filled"}:u%3D%3D%3D"rounded"&&vt.materialIconsRound?c%3D{url:vt.materialIconsRound,alias:"snapdom-mi-round"}:u%3D%3D%3D"sharp"&&vt.materialIconsSharp&&(c%3D{url:vt.materialIconsSharp,alias:"snapdom-mi-sharp"})),!c)return{familyForMeasure:i,familyForCanvas:i}%3Bif(!is.has(c.alias))try{let h%3Dnew FontFace(c.alias,`url(${c.url})`,{style:"normal",weight:"400"})%3Bdocument.fonts.add(h),await h.load(),is.set(c.alias,!0)}catch{return{familyForMeasure:i,familyForCanvas:i}}let s%3D`"${c.alias}"`%3Breturn{familyForMeasure:s,familyForCanvas:s}}async function Kd(e%3D"Material Icons",t%3D24){try{await Promise.all([document.fonts.load(`400 ${t}px "${String(e).replace(/["']/g,"")}"`),document.fonts.ready])}catch{}}function Jd(e){let t%3De.getPropertyValue("-webkit-text-fill-color")?.trim()||"",r%3D/^transparent$/i.test(t)||/rgba?\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(t)%3Bif(t&&!r&&t.toLowerCase()!%3D%3D"currentcolor")return t%3Blet i%3De.color?.trim()%3Breturn i&&i!%3D%3D"inherit"?i:"#000"}async function Qd(e,{family:t%3D"Material Icons",weight:r%3D"normal",fontSize:i%3D32,color:n%3D"#000",variation:o%3D"",className:a%3D""}%3D{}){let u%3DString(t||"").replace(/^['"]+|['"]+$/g,""),l%3Dwindow.devicePixelRatio||1,c%3DXd(o),{familyForMeasure:s,familyForCanvas:h}%3Dawait Zd(u,a,c)%3Bawait Kd(h.replace(/^["']+|["']+$/g,""),i)%3Blet d%3Ddocument.createElement("span")%3Bd.textContent%3De,d.style.position%3D"absolute",d.style.visibility%3D"hidden",d.style.left%3D"-99999px",d.style.whiteSpace%3D"nowrap",d.style.fontFamily%3Ds,d.style.fontWeight%3DString(r||"normal"),d.style.fontSize%3D`${i}px`,d.style.lineHeight%3D"1",d.style.margin%3D"0",d.style.padding%3D"0",d.style.fontFeatureSettings%3D"'liga' 1",d.style.fontVariantLigatures%3D"normal",d.style.color%3Dn,document.body.appendChild(d)%3Blet f%3Dd.getBoundingClientRect(),p%3DMath.max(1,Math.ceil(f.width)),m%3DMath.max(1,Math.ceil(f.height))%3Bdocument.body.removeChild(d)%3Blet g%3Ddocument.createElement("canvas")%3Bg.width%3Dp*l,g.height%3Dm*l%3Blet y%3Dg.getContext("2d")%3By.scale(l,l),y.font%3D`${r?`${r} `:""}${i}px ${h}`,y.textAlign%3D"left",y.textBaseline%3D"top",y.fillStyle%3Dn%3Btry{y.fontKerning%3D"normal"}catch{}return y.fillText(e,0,0),{dataUrl:g.toDataURL(),width:p,height:m}}async function ef(e,t){if(!(e instanceof Element))return 0%3Blet r%3D'.material-icons, [class*%3D"material-symbols"]',i%3DArray.from(e.querySelectorAll(r)).filter(a%3D>a&&a.textContent&&a.textContent.trim())%3Bif(i.length%3D%3D%3D0)return 0%3Blet n%3Dt instanceof Element?Array.from(t.querySelectorAll(r)).filter(a%3D>Flagged: Generic Suspicious Object