1"use strict";(self.webpackChunkyoutoolio_one_time_payment_2027=self.webpackChunkyoutoolio_one_time_payment_2027||[]).push([[180],{1916:(e,n,r)=>{r.d(n,{t:()=>a});r(5043);var t=r(3509),o=r(6785),i=r(579);const a=e=>{let{toolKey:n,includeSEO:r=!0,children:a,videoId:s,customTitle:l,customDescription:d}=e;if(!r)return(0,i.jsx)(i.Fragment,{children:a});const c=o.l[n];if(!c)return console.warn("SEO config not found for tool: ".concat(n)),(0,i.jsx)(i.Fragment,{children:a});const m=(0,o.z)(n,c);let h=l||c.title,u=d||c.description;s&&!l&&(h="".concat(c.title.split(" - ")[0]," - Video ").concat(s)),s&&!d&&(u="".concat(c.description," Get insights for video: ").concat(s));const x="https://www.youtool.io/tools/".concat(n);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.k,{title:h,description:u,keywords:c.keywords,canonical:x,schemaData:m}),a]})}},3180:(e,n,r)=>{r.d(n,{ThumbnailDownloader:()=>ar});var t,o,i,a,s,l,d,c,m,h,u,x,b,p,g,f,y,w,v,j,k,A,T,z,Y,R,C,D,N,I,S,U,P,E,L,_,O,G,q,F,B,M,Q,V,W,J,H,K,X,Z,$,ee,ne,re,te,oe,ie,ae,se,le,de,ce,me,he,ue,xe,be,pe,ge,fe,ye,we,ve,je,ke,Ae,Te,ze,Ye,Re,Ce,De,Ne,Ie,Se,Ue,Pe,Ee=r(9720),Le=r(5043),_e=r(8828),Oe=r(1916),Ge=r(3509),qe=r(6785),Fe=r(563),Be=r(6738),Me=r(2159),Qe=r(7528),Ve=r(5464);const We=(0,Ve.i7)(t||(t=(0,Qe.A)(["\n 0%, 100% { box-shadow: 0 0 20px rgba(229, 72, 72, 0.4); }\n 50% { box-shadow: 0 0 40px rgba(229, 72, 72, 0.8); }\n"]))),Je=(0,Ve.i7)(o||(o=(0,Qe.A)(["\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n"]))),He=Ve.Ay.div(i||(i=(0,Qe.A)(["\n margin-bottom: 3rem;\n animation: "," 0.8s ease-out;\n"])),Je),Ke=Ve.Ay.div(a||(a=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.86);\n border: 1px solid ",";\n border-radius: ",";\n padding: 2.5rem;\n margin-bottom: 2rem;\n margin-top: 2rem;\n line-height: 1.7;\n\n @media (max-width: 600px) { padding: 1.25rem; }\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg}),Xe=Ve.Ay.h2(s||(s=(0,Qe.A)(["\n color: ",";\n font-size: 1.3rem;\n margin-bottom: 1rem;\n font-weight: 600;\n\n @media (max-width: 768px) {\n font-size: 1.1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.red6}),Ze=Ve.Ay.p(l||(l=(0,Qe.A)(["\n color: ",";\n margin-bottom: 1.5rem;\n font-size: 0.90rem;\n line-height: 1.6;\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary}),$e=Ve.Ay.ul(d||(d=(0,Qe.A)(["\n list-style: none;\n padding: 0;\n margin: 1.5rem 0;\n"]))),en=Ve.Ay.li(c||(c=(0,Qe.A)(["\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n margin-bottom: 1rem;\n color: ",";\n font-size: 0.9rem;\n \n i {\n color: ",";\n font-size: 1.1rem;\n margin-top: 0.1rem;\n flex-shrink: 0;\n }\n \n span {\n flex: 1;\n }\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n\n i {\n font-size: 1rem;\n }\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.colors.success}),nn=Ve.Ay.div(m||(m=(0,Qe.A)(["\n background: ",";\n border-radius: ",";\n padding: 2rem;\n margin: 2rem 0;\n\n @media (max-width: 600px) { padding: 1.25rem; }\n"])),e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.borderRadius.lg}),rn=Ve.Ay.div(h||(h=(0,Qe.A)(["\n display: flex;\n align-items: flex-start;\n gap: 1.5rem;\n margin-bottom: 2rem;\n \n &:last-child {\n margin-bottom: 0;\n }\n \n @media (max-width: 768px) {\n gap: 1rem;\n }\n\n @media (max-width: 480px) { flex-direction: column; gap: .75rem; }\n"]))),tn=Ve.Ay.div(u||(u=(0,Qe.A)(["\n width: 36px;\n height: 36px;\n background: linear-gradient(135deg, ",", ",");\n color: white;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 0.9rem;\n flex-shrink: 0;\n box-shadow: 0 4px 12px rgba(125, 0, 0, 0.3);\n\n @media (max-width: 768px) {\n width: 32px;\n height: 32px;\n font-size: 0.9rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.red4},e=>{let{theme:n}=e;return n.colors.red5}),on=Ve.Ay.div(x||(x=(0,Qe.A)(["\n flex: 1;\n font-size: 0.9rem;\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n }\n"]))),an=Ve.Ay.h4(b||(b=(0,Qe.A)(["\n color: ",";\n font-size: 1.05rem;\n font-weight: 600;\n margin: 0 0 0.75rem 0;\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),sn=Ve.Ay.div(p||(p=(0,Qe.A)(["\n min-height: 100vh;\n background:\n radial-gradient(circle at 25% 8%, rgba(185, 28, 28, 0.16), transparent 36rem),\n radial-gradient(circle at 85% 18%, rgba(229, 72, 72, 0.08), transparent 28rem),\n ",";\n display: flex;\n justify-content: center;\n"])),e=>{let{theme:n}=e;return n.colors.dark2}),ln=Ve.Ay.div(g||(g=(0,Qe.A)(["\n width: 100%;\n max-width: 1400px;\n margin: 0 auto;\n padding: 2rem 2rem 5rem;\n \n @media (max-width: 768px) {\n padding: 1rem 1rem 4rem;\n }\n"]))),dn=Ve.Ay.button(f||(f=(0,Qe.A)(["\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n background: ",";\n border: 1px solid ",";\n color: ",";\n padding: 0.5rem 1rem;\n border-radius: ",";\n font-family: ",";\n font-size: 0.9rem;\n cursor: pointer;\n transition: all 0.2s ease;\n margin-bottom: 2rem;\n \n &:hover {\n background: ",";\n color: ",";\n transform: translateX(-2px);\n }\n \n i {\n font-size: 1.1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark3},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.borderRadius.md},e=>{let{theme:n}=e;return n.fonts.primary},e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.text.primary}),cn=Ve.Ay.div(y||(y=(0,Qe.A)(["\n position: relative;\n background: linear-gradient(135deg, ",", ",");\n border: 1px solid ",";\n border-radius: ",";\n padding: 3rem 2rem;\n margin-bottom: 3rem;\n overflow: hidden;\n box-shadow: ",";
1\n \n /* Background image with low opacity */\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-image: url('","');\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n opacity: 0.15;\n z-index: 0;\n }\n \n /* Additional gradient overlay for better text readability */\n &::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, \n ","80, \n ","60,\n transparent 70%\n );\n z-index: 1;\n }\n \n @media (max-width: 768px) {\n padding: 2rem 1.5rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.red1},e=>{let{theme:n}=e;return n.colors.red2},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.borderRadius.xl},e=>{let{theme:n}=e;return n.shadows.xl},e=>{let{backgroundImage:n}=e;return n},e=>{let{theme:n}=e;return n.colors.red1},e=>{let{theme:n}=e;return n.colors.red2}),mn=Ve.Ay.div(w||(w=(0,Qe.A)(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, \n rgba(125, 0, 0, 0.3), \n rgba(82, 1, 1, 0.2),\n transparent 70%\n );\n z-index: 1;\n"]))),hn=Ve.Ay.div(v||(v=(0,Qe.A)(["\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n gap: 2rem;\n \n @media (max-width: 768px) {\n flex-direction: column;\n text-align: center;\n gap: 1.5rem;\n }\n"]))),un=Ve.Ay.div(j||(j=(0,Qe.A)(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 80px;\n background: linear-gradient(135deg, ",", ",");\n border-radius: ",";\n flex-shrink: 0;\n box-shadow: 0 0 30px rgba(229, 72, 72, 0.4);\n position: relative;\n \n &::after {\n content: '';\n position: absolute;\n top: -2px;\n left: -2px;\n right: -2px;\n bottom: -2px;\n background: linear-gradient(135deg, ",", ",");\n border-radius: ",";\n z-index: -1;\n opacity: 0.5;\n animation: "," 3s ease-in-out infinite;\n }\n \n i {\n font-size: 2.5rem;\n color: ",";\n }\n \n @media (max-width: 768px) {\n width: 60px;\n height: 60px;\n \n i {\n font-size: 2rem;\n }\n }\n"])),e=>{let{theme:n}=e;return n.colors.red4},e=>{let{theme:n}=e;return n.colors.red5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.red5},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.borderRadius.lg},We,e=>{let{theme:n}=e;return n.colors.white}),xn=Ve.Ay.div(k||(k=(0,Qe.A)(["\n flex: 1;\n color: ",";\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),bn=Ve.Ay.h1(A||(A=(0,Qe.A)(["\n font-size: 2.5rem;\n font-weight: 700;\n color: ",";\n margin: 0 0 1rem 0;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\n \n @media (max-width: 768px) {\n font-size: 2rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),pn=Ve.Ay.p(T||(T=(0,Qe.A)(["\n font-size: 1.2rem;\n color: ",";\n line-height: 1.6;\n margin: 0 0 1.5rem 0;\n opacity: 0.95;\n \n @media (max-width: 768px) {\n font-size: 1.1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),gn=Ve.Ay.div(z||(z=(0,Qe.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 0.75rem;\n margin-bottom: 1.5rem;\n \n @media (max-width: 768px) {\n grid-template-columns: 1fr;\n gap: 0.5rem;\n }\n"]))),fn=Ve.Ay.div(Y||(Y=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.75rem;\n color: ",";\n font-size: 0.9rem;\n \n i {\n color: ",";\n font-size: 1.1rem;\n flex-shrink: 0;\n }\n \n span {\n opacity: 0.9;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.red4}),yn=(Ve.Ay.div(R||(R=(0,Qe.A)(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 3rem;\n \n @media (max-width: 768px) {\n margin-bottom: 2rem;\n }\n"]))),Ve.Ay.div(C||(C=(0,Qe.A)(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.5rem;\n"]))),Ve.Ay.div(D||(D=(0,Qe.A)(["\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 1.1rem;\n background: ",";\n color: ",";\n border: 2px solid ",";\n transition: all 0.3s ease;\n"])),e=>{let{theme:n,active:r,completed:t}=e;return t?"linear-gradient(135deg, ".concat(n.colors.success||"#4caf50",", ").concat(n.colors.success||"#388e3c",")"):r?"linear-gradient(135deg, ".concat(n.colors.red3,", ").concat(n.colors.red4,")"):n.colors.dark4},e=>{let{theme:n,active:r,completed:t}=e;
1return r||t?n.colors.white:n.colors.text.secondary},e=>{let{theme:n,active:r,completed:t}=e;return t?n.colors.success||"#4caf50":r?n.colors.red3:n.colors.dark5}),Ve.Ay.span(N||(N=(0,Qe.A)(["\n font-size: 0.9rem;\n font-weight: 500;\n color: ",";\n transition: color 0.3s ease;\n \n @media (max-width: 768px) {\n font-size: 0.8rem;\n }\n"])),e=>{let{theme:n,active:r,completed:t}=e;return r||t?n.colors.text.primary:n.colors.text.secondary}),Ve.Ay.div(I||(I=(0,Qe.A)(["\n width: 60px;\n height: 2px;\n background: ",";\n margin: 0 1rem;\n transition: background 0.3s ease;\n \n @media (max-width: 768px) {\n width: 30px;\n margin: 0 0.5rem;\n }\n"])),e=>{let{theme:n,completed:r}=e;return r?n.colors.success||"#4caf50":n.colors.dark5}),Ve.Ay.h2(S||(S=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.75rem;\n color: ",";\n font-size: 1.5rem;\n font-weight: 600;\n margin: 0 0 2rem 0;\n text-align: center;\n justify-content: center;\n \n i {\n color: ",";\n font-size: 1.75rem;\n }\n \n @media (max-width: 768px) {\n font-size: 1.3rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.red3})),wn=Ve.Ay.div(U||(U=(0,Qe.A)(["\n display: flex;\n gap: 1rem;\n justify-content: center;\n margin-top: 2rem;\n flex-wrap: wrap;\n \n @media (max-width: 768px) {\n flex-direction: column;\n align-items: center;\n }\n"]))),vn=Ve.Ay.button(P||(P=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.75rem;\n background: linear-gradient(135deg, ",", ",");\n color: ",";\n border: none;\n padding: 1rem 2rem;\n border-radius: ",";\n font-size: 1rem;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s ease;\n font-family: ",";\n box-shadow: ",";\n\n &:hover:not(:disabled) {\n background: linear-gradient(135deg, ",", ",");\n transform: translateY(-2px);\n box-shadow: ",";\n }\n \n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none;\n }\n \n i {\n font-size: 1.2rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.red4},e=>{let{theme:n}=e;return n.colors.white},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.fonts.primary},e=>{let{theme:n}=e;return n.shadows.md},e=>{let{theme:n}=e;return n.colors.red2},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.shadows.lg}),jn=Ve.Ay.button(E||(E=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1.25rem;\n background: ",";\n border: 1px solid ",";\n color: ",";\n border-radius: ",";\n font-family: ",";\n font-size: 0.9rem;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background: ",";\n color: ",";\n }\n \n i {\n font-size: 1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark3},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.fonts.primary},e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.text.primary}),kn=Ve.Ay.button(L||(L=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1.25rem;\n background: ",";\n border: 1px solid ",";\n color: ",";\n border-radius: ",";\n font-family: ",";\n font-size: 0.9rem;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background: ",";\n color: ",";\n }\n \n i {\n font-size: 1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark3},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.fonts.primary},e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.text.primary}),An=Ve.Ay.div(_||(_=(0,Qe.A)(["\n animation: fadeIn 0.3s ease-in-out;\n \n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n"]))),Tn=(Ve.Ay.div(O||(O=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.92);\n border: 1px solid ",";\n border-radius: ",";\n padding: 2rem;\n margin-bottom: 2rem;\n max-width: 800px;\n margin-left: auto;\n margin-right: auto;\n box-shadow: ",";\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl},e=>{let{theme:n}=e;return n.shadows.xl}),Ve.Ay.div(G||(G=(0,Qe.A)(["\n display: flex;\n background: ",";\n border: 1px solid ",";\n border-radius: ",";\n overflow: hidden;\n transition: all 0.2s ease;\n margin-bottom: 1rem;\n \n &:focus-within {\n border-color: ",";\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.red3}),Ve.Ay.input(q||(q=(0,Qe.A)(["\n flex: 1;\n padding: 1rem;\n border: none;\n background: transparent;\n color: ",";\n font-size: 1rem;\n font-family: ",";\n\n &::placeholder {\n color: ",";\n }\n\n &:focus {\n outline: none;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.fonts.primary},e=>{let{theme:n}=e;return n.colors.text.muted}),Ve.Ay.button(F||(F=(0,Qe.A)(["\n padding: 1rem 1.5rem;\n background: linear-gradient(135deg, ",", ",");\n border: none;\n color: ",";\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover:not(:disabled) {\n background: linear-gradient(135deg, ",", ",");\n transform: translateX(2px);\n }\n \n &:disabled {\n opacity: 0.6;
1\n cursor: not-allowed;\n }\n\n i {\n font-size: 1.25rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.red4},e=>{let{theme:n}=e;return n.colors.white},e=>{let{theme:n}=e;return n.colors.red2},e=>{let{theme:n}=e;return n.colors.red3}),Ve.Ay.div(B||(B=(0,Qe.A)(["\n color: ",";\n font-size: 0.9rem;\n text-align: center;\n"])),e=>{let{theme:n}=e;return n.colors.text.muted}),Ve.Ay.div(M||(M=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.86);\n border: 1px solid ",";\n border-radius: ",";\n padding: 1.5rem;\n margin-bottom: 2rem;\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl}),Ve.Ay.div(Q||(Q=(0,Qe.A)(["\n color: ",";\n font-weight: 600;\n margin-bottom: 1rem;\n text-align: center;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),Ve.Ay.div(V||(V=(0,Qe.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 1rem;\n \n @media (max-width: 768px) {\n grid-template-columns: 1fr;\n }\n"]))),Ve.Ay.div(W||(W=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.75rem;\n background: ",";\n border-radius: ",";\n \n i {\n color: ",";\n font-size: 1.1rem;\n flex-shrink: 0;\n }\n \n span {\n color: ",";\n font-size: 0.9rem;\n font-family: 'JetBrains Mono', monospace;\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.borderRadius.md},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.text.secondary}),Ve.Ay.div(J||(J=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.86);\n border: 1px solid ",";\n border-radius: ",";\n padding: 1rem;\n margin: 1rem 0 2rem;\n box-shadow: ",";\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl},e=>{let{theme:n}=e;return n.shadows.md})),zn=Ve.Ay.div(H||(H=(0,Qe.A)(["\n color: ",";\n font-size: 0.78rem;\n font-weight: 700;\n letter-spacing: 0.08em;\n margin-bottom: 0.75rem;\n text-transform: uppercase;\n"])),e=>{let{theme:n}=e;return n.colors.text.muted}),Yn=Ve.Ay.div(K||(K=(0,Qe.A)(["\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n"]))),Rn=Ve.Ay.div(X||(X=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 0.85rem;\n background: rgba(17, 17, 19, 0.72);\n border: 1px solid ",";\n border-radius: ",";\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background: rgba(229, 72, 72, 0.1);\n border-color: ",";\n transform: translateY(-2px);\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.red3}),Cn=Ve.Ay.img(Z||(Z=(0,Qe.A)(["\n width: 60px;\n height: 45px;\n object-fit: cover;\n border-radius: ",";\n border: 1px solid ",";\n flex-shrink: 0;\n"])),e=>{let{theme:n}=e;return n.borderRadius.sm},e=>{let{theme:n}=e;return n.colors.dark5}),Dn=Ve.Ay.div($||($=(0,Qe.A)(["\n flex: 1;\n min-width: 0;\n"]))),Nn=Ve.Ay.div(ee||(ee=(0,Qe.A)(["\n color: ",";\n font-weight: 500;\n font-size: 0.9rem;\n margin-bottom: 0.25rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),In=Ve.Ay.div(ne||(ne=(0,Qe.A)(["\n color: ",";\n font-size: 0.8rem;\n"])),e=>{let{theme:n}=e;return n.colors.text.muted}),Sn=Ve.Ay.div(re||(re=(0,Qe.A)(["\n animation: fadeIn 0.3s ease-in-out;\n \n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n"]))),Un=Ve.Ay.div(te||(te=(0,Qe.A)(["\n text-align: center;\n padding: 3rem;\n color: ",";\n \n i {\n font-size: 3rem;\n color: ",";\n margin-bottom: 1rem;\n }\n \n p {\n font-size: 1.1rem;\n margin: 0;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.colors.red3}),Pn=Ve.Ay.div(oe||(oe=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.92);\n border: 1px solid ",";\n border-radius: ",";\n padding: 1.5rem;\n max-width: 711px;\n margin: auto;\n margin-bottom: 2rem;\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl}),En=Ve.Ay.div(ie||(ie=(0,Qe.A)(["\n text-align: center;
1\n"]))),Ln=Ve.Ay.h3(ae||(ae=(0,Qe.A)(["\n color: ",";\n font-size: 1.3rem;\n font-weight: 600;\n margin: 0 0 1rem 0;\n line-height: 1.3;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),_n=Ve.Ay.div(se||(se=(0,Qe.A)(["\n display: flex;\n justify-content: center;\n gap: 2rem;\n flex-wrap: wrap;\n \n @media (max-width: 768px) {\n gap: 1rem;\n flex-direction: column;\n align-items: center;\n }\n"]))),On=Ve.Ay.div(le||(le=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: ",";\n font-size: 0.9rem;\n \n i {\n color: ",";\n font-size: 1rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary},e=>{let{theme:n}=e;return n.colors.red3}),Gn=Ve.Ay.div(de||(de=(0,Qe.A)(["\n text-align: center;\n margin-bottom: 2rem;\n"]))),qn=Ve.Ay.img(ce||(ce=(0,Qe.A)(["\n max-width: 100%;\n height: auto;\n max-height: 400px;\n border-radius: ",";\n border: 1px solid ",";\n box-shadow: ",";\n margin-bottom: 1rem;\n"])),e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.shadows.lg}),Fn=Ve.Ay.div(me||(me=(0,Qe.A)(["\n color: ",";\n font-size: 0.9rem;\n font-family: 'JetBrains Mono', monospace;\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary}),Bn=(Ve.Ay.div(he||(he=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.92);\n border: 1px solid ",";\n border-radius: ",";\n padding: 1.5rem;\n margin-bottom: 2rem;\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl}),Ve.Ay.h3(ue||(ue=(0,Qe.A)(["\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n color: ",";\n font-size: 1.2rem;\n font-weight: 600;\n margin: 0 0 1.5rem 0;\n \n i {\n color: ",";\n font-size: 1.4rem;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.red3}),Ve.Ay.div(xe||(xe=(0,Qe.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 1rem;\n \n @media (max-width: 768px) {\n grid-template-columns: 1fr;\n }\n"]))),Ve.Ay.div(be||(be=(0,Qe.A)(["\n padding: 1rem;\n background: ",";\n color: ",";\n border: 1px solid ",";\n border-radius: ",";\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: center;\n position: relative;\n \n &:hover {\n background: ",";\n transform: translateY(-2px);\n }\n"])),e=>{let{theme:n,active:r}=e;return r?n.colors.red3:n.colors.dark4},e=>{let{theme:n,active:r}=e;return r?n.colors.white:n.colors.text.primary},e=>{let{theme:n,active:r,recommended:t}=e;return r?n.colors.red3:t?n.colors.red4:n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n,active:r}=e;return r?n.colors.red2:n.colors.dark5}),Ve.Ay.div(pe||(pe=(0,Qe.A)(["\n font-weight: 600;\n margin-bottom: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n flex-wrap: wrap;\n"]))),Ve.Ay.span(ge||(ge=(0,Qe.A)(["\n background: ",";\n color: ",";\n padding: 0.25rem 0.5rem;\n border-radius: ",";\n font-size: 0.7rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n"])),e=>{let{theme:n}=e;return n.colors.success||"#4caf50"},e=>{let{theme:n}=e;return n.colors.white},e=>{let{theme:n}=e;return n.borderRadius.sm}),Ve.Ay.div(fe||(fe=(0,Qe.A)(["\n font-size: 0.85rem;\n opacity: 0.8;\n font-family: 'JetBrains Mono', monospace;
1\n"]))),Ve.Ay.div(ye||(ye=(0,Qe.A)(["\n background: rgba(26, 26, 29, 0.92);\n border: 1px solid ",";\n border-radius: ",";\n padding: 1.5rem;\n margin-top: 2rem;\n animation: slideIn 0.3s ease-in-out;\n \n @keyframes slideIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n"])),e=>{let{theme:n}=e;return n.colors.red4},e=>{let{theme:n}=e;return n.borderRadius.xl})),Mn=Ve.Ay.h3(we||(we=(0,Qe.A)(["\n color: ",";\n font-size: 1.1rem;\n font-weight: 600;\n margin: 0 0 1.5rem 0;\n text-align: center;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),Qn=Ve.Ay.div(ve||(ve=(0,Qe.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 1rem;\n \n @media (max-width: 768px) {\n grid-template-columns: 1fr;\n }\n"]))),Vn=Ve.Ay.div(je||(je=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: ",";\n border: 1px solid ",";\n border-radius: ",";\n cursor: pointer;\n transition: all 0.3s ease;\n \n &:hover {\n background: ",";\n border-color: ",";\n transform: translateY(-2px);\n }\n \n i {\n font-size: 1.5rem;\n color: ",";\n flex-shrink: 0;\n }\n \n > div {\n flex: 1;\n \n >
1 div:first-child {\n color: ",";\n font-weight: 600;\n margin-bottom: 0.25rem;\n }\n \n span {\n color: ",";\n font-size: 0.85rem;\n }\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.text.secondary}),Wn=Ve.Ay.div(ke||(ke=(0,Qe.A)(["\n animation: fadeIn 0.3s ease-in-out;\n text-align: center;\n \n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n"]))),Jn=Ve.Ay.div(Ae||(Ae=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 1.5rem;\n background: rgba(26, 26, 29, 0.92);\n border: 1px solid ",";\n border-radius: ",";\n padding: 2rem;\n margin-bottom: 2rem;\n \n @media (max-width: 768px) {\n flex-direction: column;\n text-align: center;\n }\n"])),e=>{let{theme:n}=e;return n.colors.success||"#4caf50"},e=>{let{theme:n}=e;return n.borderRadius.xl}),Hn=Ve.Ay.div(Te||(Te=(0,Qe.A)(["\n flex-shrink: 0;\n \n i {\n font-size: 3rem;\n color: ",";\n }\n"])),e=>{let{theme:n}=e;return n.colors.success||"#4caf50"}),Kn=Ve.Ay.div(ze||(ze=(0,Qe.A)(["\n flex: 1;\n text-align: left;\n \n @media (max-width: 768px) {\n text-align: center;\n }\n \n h3 {\n color: ",";\n font-size: 1.3rem;\n font-weight: 600;\n margin: 0 0 0.5rem 0;\n }\n \n p {\n color: ",";\n margin: 0;\n line-height: 1.5;\n }\n"])),e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.text.secondary}),Xn=Ve.Ay.div(Ye||(Ye=(0,Qe.A)(["\n background: ",";\n border: 1px solid ",";\n border-radius: ",";\n padding: 2rem;\n"])),e=>{let{theme:n}=e;return n.colors.dark3},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.xl}),Zn=Ve.Ay.h3(Re||(Re=(0,Qe.A)(["\n color: ",";\n font-size: 1.2rem;\n font-weight: 600;\n margin: 0 0 1.5rem 0;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),$n=Ve.Ay.div(Ce||(Ce=(0,Qe.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 1rem;\n \n @media (max-width: 768px) {\n grid-template-columns: 1fr;\n }\n"]))),er=Ve.Ay.div(De||(De=(0,Qe.A)(["\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1.5rem;\n background: ",";\n border: 1px solid ",";\n border-radius: ",";\n cursor: pointer;\n transition: all 0.3s ease;\n text-align: left;\n \n &:hover {\n background: ",";\n border-color: ",";\n transform: translateY(-2px);\n }\n \n i {\n font-size: 1.5rem;\n color: ",";\n flex-shrink: 0;\n }\n \n > div {\n flex: 1;\n \n >
1 div:first-child {\n color: ",";\n font-weight: 600;\n margin-bottom: 0.25rem;\n }\n \n span {\n color: ",";\n font-size: 0.85rem;\n }\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark4},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.borderRadius.lg},e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.red3},e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.text.secondary}),nr=(Ve.Ay.div(Ne||(Ne=(0,Qe.A)(["\n margin: 3rem 0 0 0;\n text-align: center;\n \n @media (min-width: 1401px) {\n display: none;\n }\n"]))),Ve.Ay.div(Ie||(Ie=(0,Qe.A)(["\n margin-top: 2rem;\n width: 100%;\n max-width: 600px;\n \n @media (max-width: 768px) {\n margin-top: 1.5rem;\n max-width: 100%;\n }\n"])))),rr=Ve.Ay.div(Se||(Se=(0,Qe.A)(["\n display: flex;\n background: rgba(255, 255, 255, 0.1);\n border: 1px solid rgba(255, 255, 255, 0.2);\n border-radius: ",";\n overflow: hidden;\n backdrop-filter: blur(10px);\n transition: all 0.3s ease;\n \n &:focus-within {\n border-color: rgba(255, 255, 255, 0.4);\n box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);\n background: rgba(255, 255, 255, 0.15);\n }\n"])),e=>{let{theme:n}=e;return n.borderRadius.lg}),tr=Ve.Ay.input(Ue||(Ue=(0,Qe.A)(["\n flex: 1;\n padding: 1rem 1.5rem;\n border: none;\n background: transparent;\n color: ",";\n font-size: 1rem;\n font-family: ",";\n font-weight: 500;\n\n &::placeholder {\n color: rgba(255, 255, 255, 0.7);\n }\n\n &:focus {\n outline: none;\n }\n \n @media (max-width: 768px) {\n padding: 0.875rem 1.25rem;\n font-size: 0.9rem;\n min-width: 0;\n }\n"])),e=>{let{theme:n}=e;return n.colors.white},e=>{let{theme:n}=e;return n.fonts.primary}),or=Ve.Ay.button(Pe||(Pe=(0,Qe.A)(["\n padding: 1rem 1.5rem;\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: ",";\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 60px;\n backdrop-filter: blur(10px);\n\n &:hover:not(:disabled) {\n background: rgba(255, 255, 255, 0.3);\n transform: scale(1.05);\n }\n \n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none;\n }\n\n i {\n font-size: 1.25rem;\n }\n \n @media (max-width: 768px) {\n padding: 0.875rem 1.25rem;\n min-width: 55px;\n \n i {\n font-size: 1.1rem;\n }\n }\n"])),e=>{let{theme:n}=e;return n.colors.white});var ir=r(579);const ar=()=>{var e;const{videoId:n}=(0,_e.g)(),r=(0,_e.Zp)(),[t,o]=(0,Le.useState)(""),[i,a]=(0,Le.useState)(null),[s,l]=(0,Le.useState)(!1),[d,c]=(0,Le.useState)(null),[m,h]=(0,Le.useState)("maxres"),[u,x]=(0,Le.useState)([]),[b,p]=(0,Le.useState)("input"),[g,f]=(0,Le.useState)(!1),y={name:"Thumbnail Downloader",description:"Download high-quality YouTube video thumbnails in multiple resolutions",image:"https://64.media.tumblr.com/b12f0a4e3b88cf8409200338965cf706/0e01452f9f6dd974-5e/s2048x3072/00de80d7d1ca44cb236d21cab0adbe20fc5bbfb9.jpg",icon:"bx bx-photo-album",features:["Multiple resolutions","Batch downloads","Direct save to device"]};(0,Le.useEffect)(()=>{if(n){const e="https://youtube.com/watch?v=".concat(n);o(e),j(n)}const e=localStorage.getItem("thumbnail_download_history");e&&x(JSON.parse(e))},[n]);const w=e=>{if(e.match(/^[A-Za-z0-9_-]{11}$/))return e;const n=[/v=([^&]+)/,/youtu\.be\/([^?]+)/,/embed\/([^?]+)/,/shorts\/([^?]+)/];for(const r of n){const n=e.match(r);if(n)return n[1]}return null},v=()=>{if(!t.trim())return void alert("Please enter a YouTube video URL");const e=w(t);e?r("/tools/thumbnail-downloader/".concat(e)):alert("Invalid YouTube URL. Please check the URL and try again.")},j=async e=>{l(!0),p("preview");try{const n=await k(e);a(n),n.thumbnails.maxres?h("maxres"):n.thumbnails.standard?h("standard"):h("high")}catch(n){console.error("Error:",n),alert("Failed to fetch thumbnail. Please try again."),a(null),p("input")}finally{l(!1)}},k=async e=>{try{var n,r,t,o;const i=await(0,Me.x5)("mediaTools",n=>"https://www.googleapis.com/youtube/v3/videos?"+"id=".concat(e,"&")+"key=".concat(n,"&")+"part=snippet,statistics,contentDetails",{quotaMessage:"Thumbn
1ail Downloader is on cooldown \u2014 try again tomorrow."});if(null===(n=i.items)||void 0===n||!n[0])throw new Error("Video not found");const a=i.items[0],s=a.snippet,l=a.statistics,d=a.contentDetails;return{url:(null===(r=s.thumbnails.maxres)||void 0===r?void 0:r.url)||(null===(t=s.thumbnails.high)||void 0===t?void 0:t.url)||(null===(o=s.thumbnails.standard)||void 0===o?void 0:o.url),title:s.title,channelTitle:s.channelTitle,publishedAt:s.publishedAt,viewCount:l.viewCount||"0",duration:d.duration,thumbnails:s.thumbnails}}catch(i){throw console.error("Error fetching thumbnail:",i),i}},A=()=>{if(!i)return[];const e=[];return i.thumbnails.maxres&&e.push({name:"Maximum Resolution",key:"maxres",width:1280,height:720,recommended:!0}),i.thumbnails.standard&&e.push({name:"Standard Quality",key:"standard",width:640,height:480}),e.push({name:"High Quality",key:"high",width:480,height:360}),e.push({name:"Medium Quality",key:"medium",width:320,height:180}),e.push({name:"Low Quality",key:"default",width:120,height:90}),e.filter(e=>i.thumbnails[e.key])},T=async(e,n)=>{const r=n||await(0,Ee.iO)("thumbnail-downloader");if(r)try{var t;if(!i)return;const n=null===(t=i.thumbnails[e])||void 0===t?void 0:t.url;if(!n)return;c(e);try{const t=await fetch(n);
1if(!t.ok)throw new Error("Thumbnail download failed.");const o=await t.blob(),a=URL.createObjectURL(o),s=i.title.replace(/[^a-z0-9]/gi,"_").toLowerCase().substring(0,50),l=A().find(n=>n.key===e),d="".concat(s,"_").concat(null===l||void 0===l?void 0:l.width,"x").concat(null===l||void 0===l?void 0:l.height,".jpg"),c=document.createElement("a");c.href=a,c.download=d,document.body.appendChild(c),await r.complete(),c.click(),document.body.removeChild(c),URL.revokeObjectURL(a);const m=[{url:n,title:i.title,downloadedAt:(new Date).toISOString()},...u.filter(e=>e.url!==n)].slice(0,10);x(m),localStorage.setItem("thumbnail_download_history",JSON.stringify(m)),p("download")}catch(o){console.error("Error downloading thumbnail:",o),(0,Ee.ev)("ERROR","Thumbnail download failed. Please retry.")}finally{c(null)}}catch(a){(0,Ee.ev)("ERROR",a instanceof Error?a.message:"Please retry.")}finally{n||await r.release()}},z=async()=>{const e=await(0,Ee.iO)("thumbnail-downloader");if(e)try{const n=A();for(const r of n)await T(r.key,e),await new Promise(e=>setTimeout(e,500))}finally{await e.release()}},Y=e=>new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),R=qe.l["thumbnail-downloader"],C=(0,qe.z)("thumbnail-downloader",R,[{question:"Why is maximum resolution not available for some videos?",answer:"The maxresdefault tier is only generated by YouTube when a creator uploads a custom thumbnail at HD quality (1280\xd7720 or higher). Videos that use auto-generated thumbnails or thumbnails uploaded at lower resolutions will not have this tier. In those cases, the next best available quality is shown automatically."},{question:"Can I download thumbnails from private or unlisted videos?",answer:"Private videos are not accessible via the YouTube Data API and cannot be downloaded. Unlisted videos can be downloaded if you have the direct video URL, since the API will return data for any video you can access with a valid link."},{question:"Does downloading a thumbnail notify the video creator?",answer:"No. Thumbnail images are publicly accessible static files served from YouTube's CDN. Downloading them does not trigger any notification to the channel owner and does not affect your YouTube account or the video's analytics."},{question:"What image format are the downloaded thumbnails?",answer:"YouTube stores all thumbnails as JPEG (.jpg) files. The downloaded files are saved in the same format \u2014 no conversion occurs. If you need a PNG or WebP version, you can convert the downloaded JPEG using any image editing tool after downloading."}]);return(0,ir.jsxs)(ir.Fragment,{children:[(0,ir.jsx)(Ge.k,{title:R.title,description:R.description,keywords:R.keywords,canonical:"https://www.youtool.io/tools/thumbnail-downloader",schemaData:C}),(0,ir.jsx)(Oe.t,{includeSEO:!1,toolKey:"thumbnail-downloader",videoId:n,customTitle:i?"Download ".concat(i.title," Thumbnail - YouTool.io"):void 0,children:(0,ir.jsx)(sn,{children:(0,ir.jsxs)(ln,{children:[(0,ir.jsxs)(dn,{onClick:()=>r("/tools"),children:[(0,ir.jsx)("i",{className:"bx bx-arrow-back"}),"Back to Tools"]}),(0,ir.jsxs)(cn,{backgroundImage:y.image,children:[(0,ir.jsx)(mn,{}),(0,ir.jsxs)(hn,{children:[(0,ir.jsx)(un,{children:(0,ir.jsx)("i",{className:y.icon})}),(0,ir.jsxs)(xn,{children:[(0,ir.jsx)(bn,{children:y.name}),(0,ir.jsx)(pn,{children:y.description}),(0,ir.jsx)(gn,{children:y.features.map((e,n)=>(0,ir.jsxs)(fn,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsx)("span",{children:e})]},n))}),(0,ir.jsx)(nr,{children:(0,ir.jsxs)(rr,{children:[(0,ir.jsx)(tr,{type:"text",value:t,onChange:e=>o(e.target.value),placeholder:"Enter YouTube video URL to download thumbnail",onKeyPress:e=>{"Enter"===e.key&&(e.preventDefault(),v())}}),(0,ir.jsx)(or,{onClick:v,disabled:s,children:s?(0,ir.jsx)("i",{className:"bx bx-loader-alt bx-spin"}):(0,ir.jsx)("i",{className:"bx bx-download"})})]})})]})]})]}),"input"===b&&(0,ir.jsx)(An,{children:u.length>0&&(0,ir.jsxs)(Tn,{children:[(0,ir.jsx)(zn,{children:"Recent downloads:"}),(0,ir.jsx)(Yn,{children:u.slice(0,5).map((e,n)=>(0,ir.jsxs)(Rn,{onClick:()=>window.open(e.url,"_blank"),children:[(0,ir.jsx)(Cn,{src:e.url,alt:e.title}),(0,ir.jsxs)(Dn,{children:[(0,ir.jsx)(Nn,{children:e.title}),(0,ir.jsx)(In,{children:Y(e.downloadedAt)})]})]},n))})]})}),"input"===b&&(0,ir.jsxs)(He,{children:[(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"What This Tool Does"}),(0,ir.jsx)(Ze,{children:"The YouTube Thumbnail Downloader fetches the original thumbnail image from any YouTube video and lets you download it in every resolution YouTube stores \u2014 from the compact 120\xd790 default up to the full 1280\xd7720 maximum resolution (maxresdefault). It works by calling the YouTube Data API v3 to retrieve the video's metadata and then constructing direct image URLs for each available quality tier. No watermarks, no compression, no re-encoding \u2014 you get the exact image file that YouTube serves to viewers."}),(0,ir.jsx)(Ze,{children:"This tool is built for YouTube creators, graphic designers, video editors, researchers, and anyone who needs quick access to thumbnail images for legitimate purposes. The most common use cases are design inspiration and competitive research \u2014 studying what thumbnail styles are working in a niche is one of the fastest ways to improve your own click-through rate."})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"How to Use the Thumbn
1ail Downloader"}),(0,ir.jsxs)(nn,{children:[(0,ir.jsxs)(rn,{children:[(0,ir.jsx)(tn,{children:"1"}),(0,ir.jsxs)(on,{children:[(0,ir.jsx)(an,{children:"Paste Any YouTube Video URL"}),(0,ir.jsx)(Ze,{children:"Copy the URL from your browser address bar or the YouTube share button and paste it into the input field above. This tool accepts every standard YouTube URL format: youtube.com/watch?v=VIDEO_ID, youtu.be/VIDEO_ID, youtube.com/embed/VIDEO_ID, youtube.com/shorts/VIDEO_ID, and bare 11-character video IDs. It does not matter whether the video is a short, a livestream replay, or a standard upload."})]})]}),(0,ir.jsxs)(rn,{children:[(0,ir.jsx)(tn,{children:"2"}),(0,ir.jsxs)(on,{children:[(0,ir.jsx)(an,{children:"Choose a Resolution"}),(0,ir.jsx)(Ze,{children:'After the video loads, select from the available quality options. Maximum resolution (1280\xd7720, the "maxresdefault" tier) is available for most videos uploaded since 2013. Older or low-view videos may only have standard (640\xd7480), high (480\xd7360), medium (320\xd7180), or default (120\xd790) quality available. Always start with maxresdefault \u2014 if it is not available, the tool will show you only the tiers that exist for that video.'})]})]}),(0,ir.jsxs)(rn,{children:[(0,ir.jsx)(tn,{children:"3"}),(0,ir.jsxs)(on,{children:[(0,ir.jsx)(an,{children:"Download to Your Device"}),(0,ir.jsx)(Ze,{children:'Click "Download Thumbnail" to save the image file directly to your device. Files are automatically named using the video title and resolution (e.g., my_video_title_1280x720.jpg) so your downloads folder stays organized. Use "Download All Qualities" to grab every available resolution in one click, or copy the direct URL if you need to embed the image in a CMS, spreadsheet, or automation workflow.'})]})]})]})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"Understanding Thumbnail Resolutions"}),(0,ir.jsx)(Ze,{children:"YouTube stores every video thumbnail in up to five resolution tiers. Understanding when to use each one helps you pick the right file for your workflow without unnecessarily large downloads."}),(0,ir.jsxs)($e,{children:[(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Maximum Resolution \u2014 1280\xd7720 (maxresdefault):"})," The highest quality available. Use this for website headers, blog post feature images, print materials, and any design work where you will scale the image. Not all videos have this tier \u2014 it requires the uploader to have set a custom thumbnail at HD quality."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Standard Quality \u2014 640\xd7480:"})," A reliable fallback when maxresdefault is unavailable. Good for email newsletters, medium-sized web content, and social media posts where you don't need print-quality resolution."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"High Quality \u2014 480\xd7360:"})," The original standard YouTube thumbnail ratio (4:3). Useful for video gallery grids, content management thumbnails, and older-format embeds that expect 4:3 aspect ratio images."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Medium Quality \u2014 320\xd7180:"})," Compact 16:9 image suited for mobile app displays, small widget previews, and situations where bandwidth or page load speed is a priority."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Default / Low Quality \u2014 120\xd790:"})," The smallest tier, in 4:3 format. Ideal for image sitemaps, automated content catalogs, and anywhere you only need a visual placeholder."]})]})]})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"Common Use Cases"}),(0,ir.jsxs)($e,{children:[(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Competitive Thumbnail Research:"})," Download thumbnails from the top 10 videos in your niche and study them side-by-side. What colors dominate? Do they use faces? How is text positioned? Patterns in high-performing thumbnails reveal what is working for that audience and can directly inform your next design."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Your Own Channel Backup:"})," Download all of your existing thumbnails as a local backup before making changes to your channel. YouTube does not provide a bulk export option, so this tool is a practical way to preserve your design history."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Blog and Content Embeds:"})," When writing a blog post or article that references a specific YouTube video, download the thumbnail to use as your post's feature image or inline graphic. This avoids linking to YouTube's CDN and gives you control over how the image is served."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"A/B Test Reference Library:"})," If you are running thumbnail A/B tests through YouTube's built-in test feature or a third-party tool, download both thumbnail variants before the test ends so you have a permanent record of what you tested and the results."]})]})]})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"Rights & Usage Notice"}),(0,ir.jsx)(Ze,{children:"YouTube thumbnails are creative works protected by copyright. This tool is
1intended for downloading thumbnails from videos you own, videos where you have explicit permission from the creator, or for personal reference and research purposes. Do not use downloaded thumbnails to misrepresent someone else's content, re-upload them as your own, or use them commercially without the copyright holder's permission. Always respect creators' intellectual property rights."})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"Frequently Asked Questions"}),(0,ir.jsxs)($e,{children:[(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-help-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Why is maximum resolution not available for some videos?"})," The maxresdefault tier is only generated by YouTube when a creator uploads a custom thumbnail at HD quality (1280\xd7720 or higher). Videos that use auto-generated thumbnails or thumbnails uploaded at lower resolutions will not have this tier. In those cases, the next best available quality is shown automatically."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-help-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Can I download thumbnails from private or unlisted videos?"})," Private videos are not accessible via the YouTube Data API and cannot be downloaded. Unlisted videos can be downloaded if you have the direct video URL, since the API will return data for any video you can access with a valid link."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-help-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"Does downloading a thumbnail notify the video creator?"})," No. Thumbnail images are publicly accessible static files served from YouTube's CDN. Downloading them does not trigger any notification to the channel owner and does not affect your YouTube account or the video's analytics."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-help-circle"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("strong",{children:"What image format are the downloaded thumbnails?"})," YouTube stores all thumbnails as JPEG (.jpg) files. The downloaded files are saved in the same format \u2014 no conversion occurs. If you need a PNG or WebP version, you can convert the downloaded JPEG using any image editing tool after downloading."]})]})]})]}),(0,ir.jsxs)(Ke,{children:[(0,ir.jsx)(Xe,{children:"Related Tools"}),(0,ir.jsxs)($e,{children:[(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-link"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("a",{href:"/tools/thumbnail-analyzer",children:(0,ir.jsx)("strong",{children:"Thumbnail Analyzer"})})," \u2014 Upload the thumbnail you downloaded and review a heuristic visual-saliency heatmap, composition score, and design feedback."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-link"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("a",{href:"/tools/thumbnail-tester",children:(0,ir.jsx)("strong",{children:"Thumbnail Tester"})})," \u2014 Preview how your thumbnail looks in YouTube search results, suggested video feeds, and mobile before publishing."]})]}),(0,ir.jsxs)(en,{children:[(0,ir.jsx)("i",{className:"bx bx-link"}),(0,ir.jsxs)("span",{children:[(0,ir.jsx)("a",{href:"/tools/color-picker-from-image",children:(0,ir.jsx)("strong",{children:"Color Picker from Image"})})," \u2014 Extract the exact hex color codes from a downloaded thumbnail to match colors in your own designs."]})]})]})]})]}),"preview"===b&&(0,ir.jsx)(Sn,{children:s?(0,ir.jsxs)(Un,{children:[(0,ir.jsx)("i",{className:"bx bx-loader-alt bx-spin"}),(0,ir.jsx)("p",{children:"Fetching video information and thumbnails..."})]}):i?(0,ir.jsxs)(ir.Fragment,{children:[(0,ir.jsx)(Pn,{children:(0,ir.jsxs)(En,{children:[(0,ir.jsx)(Ln,{children:i.title}),(0,ir.jsxs)(_n,{children:[(0,ir.jsxs)(On,{children:[(0,ir.jsx)("i",{className:"bx bx-user"}),i.channelTitle]}),(0,ir.jsxs)(On,{children:[(0,ir.jsx)("i",{className:"bx bx-calendar"}),Y(i.publishedAt)]}),(0,ir.jsxs)(On,{children:[(0,ir.jsx)("i",{className:"bx bx-show"}),parseInt(i.viewCount).toLocaleString()," views"]}),(0,ir.jsxs)(On,{children:[(0,ir.jsx)("i",{className:"bx bx-time"}),(e=>{const n=e.match(/PT(\d+H)?(\d+M)?(\d+S)?/);if(!n)return"Unknown";const r=parseInt(n[1]||"0")||0,t=parseInt(n[2]||"0")||0,o=parseInt(n[3]||"0")||0;return r>0?"".concat(r,":").concat(t.toString().padStart(2,"0"),":").concat(o.toString().padStart(2,"0")):"".concat(t,":").concat(o.toString().padStart(2,"0"))})(i.duration)]})]})]})}),(0,ir.jsxs)(Gn,{children:[(0,ir.jsx)(qn,{src:(null===(e=i.thumbnails[m])||void 0===e?void 0:e.url)||i.url,alt:i.title}),(0,ir.jsx)(Fn,{children:(()=>{const e=A().find(e=>e.key===m);return e?"".concat(e.width," \xd7 ").concat(e.height," pixels"):"Unknown resolution"})()})]}),(0,ir.jsxs)(wn,{children:[(0,ir.jsxs)(jn,{onClick:()=>p("input"),children:[(0,ir.jsx)("i",{className:"bx bx-left-arrow-alt"}),"Back"]}),(0,ir.jsxs)(kn,{onClick:()=>f(!g),children:[(0,ir.jsx)("i",{className:"bx bx-cog"}),"Advanced Options"]}),(0,ir.jsx)(vn,{onClick:()=>T(m),disabled:!!d,children:d===m?(0,ir.jsxs)(ir.Fragment,{children:[(0,ir.jsx)("i",{className:"bx bx-loader-alt bx-spin"}),"Downloading..."]}):(0,ir.jsxs)(ir.Fragment,{children:[(0,ir.jsx)("i",{className:"bx bx-download"}),"Download Thumbnail"]})})]}),g&&(0,ir.jsxs)(Bn,{children:[(0,ir.jsx)(Mn,{children:"Advanced Download Options"}),(0,ir.jsxs)(Qn,{children:[(0,ir.jsxs)(Vn,{onClick:()=>z(),children:[(0,ir.jsx)("i",{className:"bx bx-download"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Download All Qualities"}),(0,ir.jsx)("span",{children:"Get all available resolutions"})]})]}),(0,ir.jsxs)(Vn,{onClick:()=>(async e=>{var n;if(!i)return;const r=null===(n=i.thumbnails[e])||void 0===n?void 0:n.url;
1if(r)try{await navigator.clipboard.writeText(r),alert("Thumbnail URL copied to clipboard!")}catch(t){console.error("Failed to copy URL:",t),alert("Failed to copy URL to clipboard")}})(m),children:[(0,ir.jsx)("i",{className:"bx bx-copy"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Copy Direct URL"}),(0,ir.jsx)("span",{children:"Copy thumbnail link to clipboard"})]})]}),(0,ir.jsxs)(Vn,{onClick:()=>(async e=>{var n,r;if(!i)return;const t=null===(n=i.thumbnails[e])||void 0===n?void 0:n.url;if(!t)return;const o=window.ClipboardItem;if(null!==(r=navigator.clipboard)&&void 0!==r&&r.write&&o){c("copy-".concat(e));try{const e=await fetch(t);if(!e.ok)throw new Error("Failed to fetch thumbnail image");const n=await e.blob(),r=await createImageBitmap(n),i=document.createElement("canvas");i.width=r.width,i.height=r.height;const a=i.getContext("2d");if(!a)throw new Error("Could not prepare thumbnail image");a.drawImage(r,0,0),r.close();const s=await new Promise((e,n)=>{i.toBlob(r=>{r?e(r):n(new Error("Could not convert thumbnail image"))},"image/png")});await navigator.clipboard.write([new o({"image/png":s})]),alert("Thumbnail image copied to clipboard!")}catch(s){console.error("Failed to copy thumbnail image:",s),alert("Failed to copy thumbnail image to clipboard")}finally{c(null)}}else try{var a;if(null===(a=navigator.clipboard)||void 0===a||!a.writeText)throw new Error("Clipboard text copy is unavailable");await navigator.clipboard.writeText(t),alert("Image clipboard copy is not supported in this browser, so the thumbnail URL was copied instead.")}catch(s){console.error("Failed to copy URL fallback:",s),alert("Image clipboard copy is not supported in this browser.")}})(m),children:[(0,ir.jsx)("i",{className:"bx bx-clipboard"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Copy Image"}),(0,ir.jsx)("span",{children:"Copy the thumbnail image to clipboard"})]})]}),(0,ir.jsxs)(Vn,{onClick:()=>{var e;return window.open(null===(e=i.thumbnails[m])||void 0===e?void 0:e.url,"_blank")},children:[(0,ir.jsx)("i",{className:"bx bx-link-external"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Open in New Tab"}),(0,ir.jsx)("span",{children:"View full-size thumbnail"})]})]})]})]})]}):null}),"download"===b&&i&&(0,ir.jsxs)(Wn,{children:[(0,ir.jsxs)(yn,{children:[(0,ir.jsx)("i",{className:"bx bx-check-circle"}),"Download Complete!"]}),(0,ir.jsxs)(Jn,{children:[(0,ir.jsx)(Hn,{children:(0,ir.jsx)("i",{className:"bx bx-check-circle"})}),(0,ir.jsxs)(Kn,{children:[(0,ir.jsx)("h3",{children:"Thumbnail downloaded successfully!"}),(0,ir.jsxs)("p",{children:['The thumbnail for "',i.title,'" has been saved to your downloads folder.']})]})]}),(0,ir.jsxs)(Xn,{children:[(0,ir.jsx)(Zn,{children:"What's next?"}),(0,ir.jsxs)($n,{children:[(0,ir.jsxs)(er,{onClick:()=>{p("input"),o(""),a(null),h("maxres")},children:[(0,ir.jsx)("i",{className:"bx bx-refresh"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Download Another"}),(0,ir.jsx)("span",{children:"Get thumbnails from another video"})]})]}),(0,ir.jsxs)(er,{onClick:()=>z(),children:[(0,ir.jsx)("i",{className:"bx bx-download"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Download All Qualities"}),(0,ir.jsx)("span",{children:"Get all available resolutions"})]})]}),(0,ir.jsxs)(er,{onClick:()=>r("/tools/video-analyzer/"+w(t)),children:[(0,ir.jsx)("i",{className:"bx bx-line-chart"}),(0,ir.jsxs)("div",{children:[(0,ir.jsx)("div",{children:"Analyze This Video"}),(0,ir.jsx)("span",{children:"Get detailed video insights"})]})]})]})]}),(0,ir.jsx)(Fe._,{variant:"result"})]}),(0,ir.jsx)(Be.x,{toolId:"thumbnail-downloader"})]})})})]})}},6738:(e,n,r)=>{r.d(n,{x:()=>w});var t=r(7528),o=(r(5043),r(8828)),i=r(5464);const a={"thumbnail-downloader":[{title:"YouTube Thumbnail Guide",description:"Current sizing, design checks, and testing guidance.",href:"/blog/youtube-thumbnail-guide"}],"thumbnail-tester":[{title:"YouTube Thumbnail Guide",description:"Build clearer thumbnails and test the right variables.",href:"/blog/youtube-thumbnail-guide"}],"thumbnail-analyzer":[{title:"YouTube Thumbnail Guide",description:"Use visual checks without mistaking estimates for viewer data.",href:"/blog/youtube-thumbnail-guide"}],"subscribe-link-generator":[{title:"YouTube Subscriber Tactics",description:"Turn channel visits into relevant, returning viewers.",href:"/blog/youtube-subscriber-tactics"}],"playlist-analyzer":[{title:"YouTube Playlist Strategy",description:"Organize related videos into stronger viewing paths.",href:"/blog/youtube-playlist-strategy"}],"comment-downloader":[{title:"YouTube Comment Strategy",description:"Use audience feedback to improve videos and community.",href:"/blog/youtube-comment-strategy"},{title:"YouTube Giveaway Guide",description:"Plan transparent comment-based giveaways.",href:"/blog/youtube-giveaway-guide"}],"comment-picker":[{title:"YouTube Giveaway Guide",description:"Set rules, document selection, and communicate results.",href:"/blog/youtube-giveaway-guide"},{title:"YouTube Comment Strategy",description:"Build healthier participation beyond the giveaway.",href:"/blog/youtube-comment-strategy"}],"channel-comparer":[{title:"YouTube Competitor Analysis",description:"Compare channels without copying surface-level tactics.",href:"/blog/youtube-competitor-analysis"},{title:"YouTube Niche Research",description:"Evaluate audience demand and competitive patterns.",href:"/blog/youtube-niche-research"}],"outlier-finder":[{title:"YouTube Competitor Analysis",description:"Turn unusual winners into useful content hypotheses.",href:"/blog/youtube-competitor-analysis"},{title:"YouTube Niche Research",description:"Find repeatable topics instead of chasing one-
1off spikes.",href:"/blog/youtube-niche-research"}],"youtube-calculator":[{title:"YouTube Monetization Guide",description:"Understand YPP eligibility and revenue streams.",href:"/blog/youtube-monetization-guide"}],"keyword-analyzer":[{title:"YouTube SEO Guide",description:"Connect keyword research to accurate video packaging.",href:"/blog/youtube-seo-optimization-guide"},{title:"YouTube Niche Research",description:"Check whether a topic fits a sustainable channel direction.",href:"/blog/youtube-niche-research"}],"tag-generator":[{title:"YouTube SEO Guide",description:"Prioritize the metadata that matters most for discovery.",href:"/blog/youtube-seo-optimization-guide"},{title:"YouTube Content Strategy",description:"Plan videos around audience needs and channel goals.",href:"/blog/youtube-content-strategy"}]};var s,l,d,c,m,h,u=r(579);const x=i.Ay.aside(s||(s=(0,t.A)(["\n margin: 2rem 0 0;\n padding: 1.25rem;\n border: 1px solid ",";\n border-radius: 16px;\n background: ",";\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.dark3}),b=i.Ay.h2(l||(l=(0,t.A)(["\n margin: 0 0 0.85rem;\n color: ",";\n font-size: 1.05rem;\n"])),e=>{let{theme:n}=e;return n.colors.text.primary}),p=i.Ay.div(d||(d=(0,t.A)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));\n gap: 0.75rem;\n"]))),g=(0,i.Ay)(o.N_)(c||(c=(0,t.A)(["\n display: block;\n min-width: 0;\n padding: 0.9rem 1rem;\n border: 1px solid ",";\n border-radius: 12px;\n color: ",";\n text-decoration: none;\n transition: border-color 160ms ease, transform 160ms ease;\n\n &:hover,\n &:focus-visible {\n border-color: ",";\n transform: translateY(-1px);\n }\n"])),e=>{let{theme:n}=e;return n.colors.dark5},e=>{let{theme:n}=e;return n.colors.text.primary},e=>{let{theme:n}=e;return n.colors.red5}),f=i.Ay.span(m||(m=(0,t.A)(["\n display: flex;\n align-items: center;\n gap: 0.45rem;\n font-weight: 700;\n"]))),y=i.Ay.span(h||(h=(0,t.A)(["\n display: block;\n margin-top: 0.35rem;\n color: ",";\n font-size: 0.9rem;\n line-height: 1.5;\n"])),e=>{let{theme:n}=e;return n.colors.text.secondary}),w=e=>{let{toolId:n}=e;const r=(a[n]||[]).slice(0,2);return 0===r.length?null:(0,u.jsxs)(x,{"aria-labelledby":"related-articles-".concat(n),children:[(0,u.jsx)(b,{id:"related-articles-".concat(n),children:"Learn the workflow"}),(0,u.jsx)(p,{children:r.map(e=>(0,u.jsxs)(g,{to:e.href,children:[(0,u.jsxs)(f,{children:[e.title," ",(0,u.jsx)("i",{className:"bx bx-right-arrow-alt","aria-hidden":"true"})]}),(0,u.jsx)(y,{children:e.description})]},e.href))})]})}}}]); 2//# sourceMappingURL=180.352717a4.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.