1import{j as e,r as ns}from"./client-BDJMow-F.js";import{a as os,r as d}from"./tabler-icons-development-DI2L2NPt.js";import{T as is}from"./ToolsBreadcrumb-CWvUAVzG.js";import{E as rs}from"./ExploreToolsSection-BO8ODazJ.js";import{F as ls}from"./FAQSection-CsDzIwzj.js";import{t as Ne}from"./toolTypeRoles.module-CRugzuNx.js";import{u as cs}from"./useIsomorphicLayoutEffect-CKh7l_iJ.js";import"./CloudinaryImage-B1iMtP-y.js";import"./chevron-down-CeIlD8WT.js";import"./createLucideIcon-CBKpTRs4.js";const Se="abcdefghijklmnopqrstuvwxyz",ds="0123456789",Ce="\0",q=s=>Array.from(s);function f(s,n,a){const t={};return s&&q(s).forEach((r,i)=>{r!==Ce&&(t[Se[i].toUpperCase()]=r)}),n&&q(n).forEach((r,i)=>{r!==Ce&&(t[Se[i]]=r)}),a&&q(a).forEach((r,i)=>{t[ds[i]]=r}),t}const M="Mathematical Alphanumeric Symbols",me="Enclosed Alphanumeric Supplement",$=[{id:"script-bold",name:"Bold script",group:"cursive",risk:"low",demand:28e3,tag:"Most popular",block:M,map:f("ððððððððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©","ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðððð")},{id:"script",name:"Script",group:"cursive",risk:"low",demand:6e3,block:M,note:"Eleven letters already existed in Unicode before this block, so they were reused rather than duplicated. B, E, F, H, I, L, M, R, e, g and o all come from Letterlike Symbols.",map:f("ðâ¬ððâ°â±ð¢ââð¥ð¦ââ³ð©ðªð«ð¬âð®ð¯ð°ð±ð²ð³ð´ðµ","ð¶ð·ð¸ð¹â¯ð»âð½ð¾ð¿ððððâ´ð
ðððððððððð")},{id:"fraktur-bold",name:"Bold blackletter",group:"gothic",risk:"low",demand:14400,tag:"Popular",block:M,map:f("ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðððððð
","ðððððððððððððððððððððððððð")},{id:"fraktur",name:"Blackletter",group:"gothic",risk:"low",demand:5e3,block:M,note:"C, H, I, R and Z sit in Letterlike Symbols instead. They draw correctly but carry different code points, which is why some tools output broken squares for exactly those five.",map:f("ðð
âððððââððððððððâðððððððâ¨","ððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·")},{id:"gothic-real",name:"Gothic, the real one",group:"gothic",risk:"high",block:"Gothic, U+10330",gaps:["c","x","y"],note:"The actual Gothic alphabet, cut in the 4th century by Bishop Wulfila to translate the Bible into Gothic. Not blackletter. Mapped by sound, so c, x and y have no Gothic equivalent and stay plain. Most devices have no Gothic font.",map:f("ð°ð±\0ð³ð´ðð²ð·ð¹ð¾ðºð»ð¼ð½ðððµðððð¿ð
ð
\0\0ð¶","ð°ð±\0ð³ð´ðð²ð·ð¹ð¾ðºð»ð¼ð½ðððµðððð¿ð
ð
\0\0ð¶")},{id:"runic",name:"Runic",group:"gothic",risk:"high",block:"Runic, U+16A0",note:"Elder Futhark runes, mapped by sound where possible and by shape where not. Historically inaccurate as a Latin alphabet. Many phones have no runic font and will show empty boxes.",map:f("á¨áá²ááá á·áºááá²ááá¾ááá©á±ááá¢á¡á¹á²á¦á","á¨áá²ááá á·áºááá²ááá¾ááá©á±ááá¢á¡á¹á²á¦á")},{id:"double",name:"Outline",group:"display",risk:"low",demand:1800,block:M,map:f("ð¸ð¹âð»ð¼ð½ð¾âðððððâðâââðððððððâ¤","ððððððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«","ððððððððð ð¡")},{id:"bold",name:"Bold serif",group:"weight",risk:"low",demand:2200,block:M,map:f("ðððððð
ðððððððððððððððððððð","ððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³","ðððððððððð")}
1,{id:"italic",name:"Italic serif",group:"weight",risk:"low",demand:2300,block:M,note:"Lowercase h is missing. Unicode points you at the Planck constant instead, because a maths italic h already existed. There are no digits in this style at all.",map:f("ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðððððð
ðððððððð","ðððððððâððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§")},{id:"bolditalic",name:"Bold italic serif",group:"weight",risk:"low",block:M,map:f("ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðð","ðððð
ðððððððððððððððððððððð")},{id:"sans",name:"Plain sans",group:"weight",risk:"low",block:M,map:f("ð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹","ðºð»ð¼ð½ð¾ð¿ðððððð
ðððððððððððððð","ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«")},{id:"sans-bold",name:"Bold sans",group:"weight",risk:"low",demand:7900,tag:"Popular",block:M,map:f("ððððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ð","ð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðððððð
ðð","ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµ")},{id:"sans-italic",name:"Italic sans",group:"weight",risk:"low",block:M,map:f("ððððððððððððððððððððððððð ð¡","ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»")},{id:"sans-bolditalic",name:"Bold italic sans",group:"weight",risk:"low",block:M,map:f("ð¼ð½ð¾ð¿ðððððð
ðððððððððððððððð","ððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯")},{id:"mono",name:"Typewriter",group:"display",risk:"low",demand:1200,block:M,map:f("ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ðððððð
ðððð","ððððððððððððððððððððððð ð¡ð¢ð£","ð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿")},{id:"smallcaps",name:"Small caps",group:"display",risk:"med",demand:10500,tag:"Popular",block:"Phonetic Extensions",gaps:["q","x"],note:"Unicode never made a small capital q or x. These letters were added for phonetics, and phoneticians had no use for those two. Both stay full size.",map:f("á´Êá´á´
á´ê°É¢Êɪá´á´Êá´É´á´á´\0Êê±á´á´á´ á´¡\0Êá´¢","á´Êá´á´
á´ê°É¢Êɪá´á´Êá´É´á´á´\0Êê±á´á´á´ á´¡\0Êá´¢")},{id:"wide",name:"Wide",group:"display",risk:"low",demand:1600,block:"Halfwidth and Fullwidth Forms",note:"Made for Japanese typesetting, where a Latin letter had to occupy the same square as a kanji. That is why every character is exactly one em wide.",map:f("ABCDEFGHIJKLï¼ï¼®ï¼¯ï¼°ï¼±ï¼²ï¼³ï¼´ï¼µï¼¶ï¼·ï¼¸ï¼¹ï¼º","ï½ï½ï½ï½ï½
ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½ï½","ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼")},{id:"tiny",name:"Tiny",group:"display",risk:"high",demand:3700,block:"Superscripts and Phonetic Extensions",gaps:["q"],note:"Stitched together from four separate blocks by people who wanted a small alphabet and settled for whatever existed. No superscript q was ever encoded.",map:f("ᴬᴮê²á´°á´±ê³á´³á´´á´µá´¶á´·á´¸á´¹á´ºá´¼á´¾\0á´¿Ë¢áµáµâ±½áµË£Ê¸á¶»","áµáµá¶áµáµá¶ áµÊ°â±Ê²áµË¡áµâ¿áµáµ\0ʳˢáµáµáµÊ·Ë£Ê¸á¶»","â°Â¹Â²Â³â´âµâ¶â·â¸â¹")},{id:"sub",name:"Dropped",group:"display",risk:"high",block:"Subscripts",gaps:["b","c","d","f","g","q","w","y","z"],note:"Only seventeen subscript letters exist. Unicode encoded the ones chemists and mathematicians needed and stopped. Nine letters have no version at all.",map:f("","â\0\0\0â\0\0âᵢⱼââââââ\0áµ£ââᵤᵥ\0â\0\0","ââââââ
ââââ")},{id:"circled",name:"Bubble",group:"enclosed",risk:"low",demand:3e3,block:"Enclosed Alphanumerics",map:f("â¶â·â¸â¹âºâ»â¼â½â¾â¿ââââââ
ââââââââââ","âââââââââââââââââ â¡â¢â£â¤â¥â¦â§â¨â©","âªâ â¡â¢â£â¤â¥â¦â§â¨")},{id:"circled-fill",name:"Bubble solid",group:"enclosed",risk:"high",block:me,note:"Encoded next to emoji. Several platforms decide these are emoji too and render them in colour, which turns your text into a row of icons.",map:f("ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
¡ð
¢ð
£ð
¤ð
¥ð
¦ð
§ð
¨ð
©","ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
¡ð
¢ð
£ð
¤ð
¥ð
¦ð
§ð
¨ð
©")},{id:"squared",name:"Squared",group:"enclosed",risk:"med",block:me,map:f("ð°ð±ð²ð³ð´ð
1µð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
","ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
")},{id:"squared-fill",name:"Squared solid",group:"enclosed",risk:"high",block:me,note:"The letters a, b, o and p double as the blood type emoji. On almost every phone they turn red and the word breaks apart. This one looks great on desktop and fails everywhere that matters.",map:f("ð
°ð
±ð
²ð
³ð
´ð
µð
¶ð
·ð
¸ð
¹ð
ºð
»ð
¼ð
½ð
¾ð
¿ðððððð
ðððð","ð
°ð
±ð
²ð
³ð
´ð
µð
¶ð
·ð
¸ð
¹ð
ºð
»ð
¼ð
½ð
¾ð
¿ðððððð
ðððð")},{id:"paren",name:"Bracketed",group:"enclosed",risk:"med",block:"Enclosed Alphanumerics",map:f("ððððððððððððððððð ð¡ð¢ð£ð¤ð¥ð¦ð§ð¨ð©","âââââ â¡â¢â£â¤â¥â¦â§â¨â©âªâ«â¬ââ®â¯â°â±â²â³â´âµ")},{id:"flags",name:"Flag letters",group:"enclosed",risk:"high",block:"Regional Indicator Symbols",merge:!0,note:"This is the alphabet flag emoji are built from. Any two letters forming a country code silently merge into a flag. Type us and you get one American flag, not two letters. There is no way around it. That is what these characters are for.",map:f("ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿","ð¦ð§ð¨ð©ðªð«ð¬ðð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðºð»ð¼ð½ð¾ð¿")},{id:"upside",name:"Upside down",group:"effect",risk:"med",demand:6800,reverse:!0,block:"Mixed, mostly IPA and Latin Extended",note:"There is no upside down alphabet in Unicode. This is assembled from unrelated letters that happen to look inverted. The turned a is a real phonetic vowel. The turned m is a Greek letter. Your eye does the rest.",map:(()=>{const s=f("âáºÆá¡Æâ²â
HIÅ¿ÊË¥WNOÔÎá´Sâ¥â©ÎMXâ
Z","ÉqÉpÇɯɥıɾÊlɯuodbɹsÊnÊÊxÊz");return s["?"]="¿",s["!"]="¡",s["."]="Ë",s[","]="'",s["'"]=",",s["&"]="â
",s["("]=")",s[")"]="(",s})()},{id:"mirror",name:"Mirrored",group:"effect",risk:"med",reverse:!0,block:"Mixed",map:f("Aá ÆÔÆê»ÓHIáÊâ
MÐOê¼QЯƧTUVWXYZ","ÉdâbÉÊϱÊiêÊlmnoqpÉ¿ê
Æuvwxyz")},{id:"cyrillic",name:"Lookalike",group:"effect",risk:"high",block:"Cyrillic and Armenian",note:"Real letters from other alphabets that happen to resemble Latin ones. This is also how phishing domains are built, so some platforms strip them and some flag the account.",map:f("ÐÐСDÐFGÐÐÐÐLÐNÐÐ QRÐ
ТUVWÐ¥Ò®Z","аЬÑdеfgÕ°ÑÑкÓмnоÑÔгÑtuvÔÑ
Ñz")},{id:"greek",name:"Faux greek",group:"effect",risk:"med",block:"Greek and Coptic",map:f("ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎΠΩΡΣΤΥVΨΧΥÎ","αβcδεfgηιjкλмnÏÏqÑsÑÏ
vÏxÏz")},{id:"syllabic",name:"Aesthetic",group:"effect",risk:"med",demand:2600,block:"Unified Canadian Aboriginal Syllabics",note:"Borrowed from Canadian Aboriginal Syllabics, a real writing system used for Cree, Inuktitut and Ojibwe. Popular as an aesthetic look, and meaningless to anyone who actually reads it.",map:f("á©á·ááªá´á´Ç¤á¼IáKáªá°áOáÔááTáá¯á¯áYá","á©á·ááªá´á´Ç¤á¼IáKáªá°áOáÔááTáá¯á¯áYá")},{id:"braille",name:"Braille",group:"display",risk:"med",block:"Braille Patterns",note:"Real Braille cells, correctly mapped to Grade 1 letters. Worth knowing that a screen reader will not read these as Braille and a Braille display may render them literally rather than as text. It is a visual style, not an accessibility feature.",map:f("â â â â â â â â â â â
â â â â â â â â â ⠥⠧⠺â ⠽⠵","â â â â â â â â â â â
â â â â â â â â â ⠥⠧⠺â ⠽⠵")}],pe=[{id:"none",name:"None",char:""},{id:"strike",name:"Strikethrough",char:"̶"},{id:"under",name:"Underline",char:"̲"},{id:"dunder",name:"Double underline",char:"̳"},{id:"slash",name:"Slash",char:"̸"},{id:"over",name:"Overline",char:"Ì
"},{id:"squig",name:"Squiggle",char:"Ì´"}],ge=[{id:"none",name:"None",l:"",r:"",sep:""},{id:"star",name:"Stars",l:"⦠",r:" â¦",sep:""},{id:"sparkle",name:"Sparkles",l:"Ë à¼ ",r:" â。Ë",sep:""},{id:"bracket",name:"Corner brackets",l:"ã",r:"ã",sep:""},{id:"wave",name:"Waves",l:"â",r:"â",sep:""},{id:"dot",name:"Dot spaced",l:"",r:"",sep:"·"},{id:"space",name:"Letter spaced",l:"",r:"",sep:" "},{id:"arrow",name:"Arrows",l:"⤠",r:" â¤",sep:""},{id:"rule",name:"Rules",l:"â¬â¬ ",r:" â¬â¬",sep:""},{id:"heart",name:"Hearts",l:"â¡ ",r:" â¡",sep:""},{id:"flower",name:"Flowers",l:"â ",r:" â",sep:""},{id:"diamond",name:"Diamonds",l:"â ",r:" â",sep:""}],Z=[{id:"instagram",name:"Instagram",lim:150,limName:"bio",ok:"Bio and display name take every style here",no:"Your @handle stays plain, but your display name and bio can be styled"}
1,{id:"x",name:"X",lim:160,limName:"bio",ok:"Display name and posts work",no:"Your @handle stays plain, but your display name and posts can be styled"},{id:"discord",name:"Discord",lim:32,limName:"nickname",ok:"Messages and per server nicknames work, and the role colour makes them land differently",no:"Your username stays plain, but your nickname and messages can be styled"},{id:"facebook",name:"Facebook",lim:101,limName:"bio",ok:"Bio, posts and comments work",no:"Your name field stays plain, but your bio and posts can be styled"},{id:"tiktok",name:"TikTok",lim:80,limName:"bio",ok:"Bio and nickname work",no:"Your @username stays plain, but your nickname and bio can be styled"},{id:"roblox",name:"Roblox",lim:20,limName:"display name",ok:"Display name takes Unicode, and it is free to change with a 7 day cooldown",no:"Some fancy styles get blocked by the filter, and your @username stays plain either way"},{id:"youtube",name:"YouTube",lim:50,limName:"channel name",ok:"Channel name and description work",no:"Your @handle stays plain, and a styled channel name will not show up in search"},{id:"snapchat",name:"Snapchat",lim:80,limName:"bio",ok:"Display name and bio work, and the display name is the only text you control on Snapchat",no:"Your @username stays plain, but your display name and bio can be styled"}],Te={cursive:[["Allura","allura","Formal copperplate"],["Pacifico","pacifico","Relaxed brush"],["Caveat","caveat","Real handwriting"],["Nothing You Could Do","nothing-you-could-do","Casual marker"]],gothic:[["Fraunces","fraunces","Weighted old style"],["Abril Fatface","abril-fatface","High contrast display"],["DM Serif Display","dm-serif-display","Sharp editorial"],["Playfair Display","playfair-display","Transitional display"]],display:[["Bebas Neue","bebas-neue","Condensed poster caps"],["Anton","anton","Heavy grotesque"],["Monoton","monoton","Inline retro"],["Bowlby One","bowlby-one","Chunky slab"]],weight:[["Inter","inter","Screen workhorse"],["Outfit","outfit","Geometric sans"],["Space Grotesk","space-grotesk","Technical sans"],["Manrope","manrope","Rounded modern"]],enclosed:[["Unbounded","unbounded","Wide display"],["Syne","syne","Expressive contemporary"],["Bricolage Grotesque","bricolage-grotesque","Quirky editorial"],["Instrument Serif","instrument-serif","Tight display serif"]],effect:[["Monoton","monoton","Inline retro"],["Unbounded","unbounded","Wide display"],["Bowlby One","bowlby-one","Chunky slab"],["Anton","anton","Heavy grotesque"]]},he=["aesthetic","Stephanie","vibes","dream","BBBilly","sunset","chaos","luna","Estrella","iconic","Zephyr","wavy","Alexandria Rose","midnight dreamer","Sebastian James","golden hour vibes","Anastasia Belle","just here for chaos","Maximilian","wildflower soul","Christopher Lee","certified daydreamer","Valentina","lost in the sauce"],ms={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-.00
17 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",x:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z",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",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",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",roblox:"M18.926 23.998 0 18.892 5.075.002 24 5.108ZM15.348 10.09l-5.282-1.453-1.414 5.273 5.282 1.453z",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",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"},We=[{url:"https://res.cloudinary.com/dbtcocjdk/image/fetch/f_auto,q_auto,dpr_2.0,w_600/https://storage.jukeboxprint.com/s/images/pattern-maker-og-card.png",alt:""}],Ee=[{bg:["#fda4af","#e11d48"],skin:"#7c2d12",hair:"#1c1917",style:"bob"},{bg:["#a5b4fc","#4f46e5"],skin:"#fed7aa",hair:"#78350f",style:"curls"},{bg:["#fcd34d","#f59e0b"],skin:"#92400e",hair:"#292524",style:"fade"},{bg:["#6ee7b7","#059669"],skin:"#fde68a",hair:"#0c0a09",style:"bun"},{bg:["#c4b5fd","#7c3aed"],skin:"#fbcfe8",hair:"#581c87",style:"long"},{bg:["#7dd3fc","#0284c7"],skin:"#f5d0a9",hair:"#44403c",style:"cap"}],hs=["â¤ï¸","ð","ð¥","â¨","ð¥¹","ð","ð","ð","â","ð","ð","ð
","(ââ¿â)"],fs={faces:"ð ð ð ð ð ð
𤣠ð ð ð ð ð ð ð¥°
1ð 𤩠ð ð ð ð 𥲠ð ð ð 𤪠ð ð¤ ð¤ 𤫠ð¤ 𫡠𤨠ð ð ð¶ ð ð ð ð¬ 𤥠ð ð ðª ð´ 𥱠ð· ð¤ ð¤ 𤢠𤮠𥵠𥶠ðµ 𤯠ð¤ 𥳠𥸠ð ð¤ ð§ ð 𫤠ð ð ð® ð¯ ð² ð³ 𥺠𥹠ð¦ ð§ ð¨ ð° ð¥ ð¢ ð ð± ð ð£ ð ð ð© ð« 𥲠ð¤ ð¡ ð 𤬠ð ð¿ ð â ï¸ ð© 𤡠ð» ð½ ð¤",hearts:"â¤ï¸ ð§¡ ð ð ð ð ð¤ ð¤ ð¤ ð â¤ï¸âð¥ â¤ï¸â𩹠ð ð ð ð ð ð ð ð â¥ï¸ ⡠⥠⥠â£ï¸ ð ð» ð«¶ ð ð¹ ð¸ ð",hands:"ð ð¤ ð â ð ð ð¤ ð¤ âï¸ ð¤ ð«° ð¤ ð¤ ð¤ ð ð ð ð âï¸ ð ð â ð ð¤ ð¤ ð ð ð«¶ ð 𤲠ð¤ ð âï¸ ð
𤳠ðª",stars:"â ð ⨠ð« â¡ ð¥ ð âï¸ ð ð ð â
âï¸ âï¸ âï¸ ð§ ð â
â ⦠⧠⩠⪠⫠⬠â ⮠⯠Ⱐâ ⵠⶠⷠ⸠⹠⺠â â",symbols:"â â â â â â ⢠· ° â» â¼ï¸ âï¸ â â â â ã°ï¸ â â â
âï¸ â ï¸ ð« â â»ï¸ âï¸ ð± âï¸ â®ï¸ âï¸ â¯ï¸ â¾ï¸ ã½ï¸ â³ï¸ â´ï¸ âï¸ Â© ® ⢠§ ¶ â â¡ â 。 Ë â â¹ à¿ â¡ â¿ â â â â¾ â½ â âº Ë â© à» ê± ï½¡ Ë â ਠৠâ â ê° ê± â° â¯ â§ â á° á°á© ๠ᯠâ ⢠⣠â â á â
â¥",arrows:"â â â â â â â â â â â â â â â ⤠â â â â â â â¡ â¬
⬠⬠⩠⪠⤴ ⤵ ð ð â¶ â â² â¼ â© âª",people:"ð¶ ð§ ð¦ ð§ ð§ ð¨ ð© ð§ ð´ ðµ ðð» ðð¼ ðð½ ðð¾ ðð¿ ðð» ðð½ ðð¿ ðð½ ðªð¾ ð§âð» ð¨âð» ð©âð» ð©ð¾âð» ð§âð¨ ð¨âð³ ð©âð ð§âð ð¨âð©âð§ ð¨âð©âð§âð¦ ð©âð©âð¦ ð¨âð¨âð§âð¦ ð©ââ¤ï¸âð¨ ð©ââ¤ï¸âðâð© ð³ï¸âð ð´ââ ï¸ ðºð¸ ð¨ð¦ ð¬ð§ ð¯ðµ ð§ð· ð²ð½ ð®ð³ ð©ðª",kaomoji:"(ââ¿â)|Êâ¢á´¥â¢Ê|(ã¥ï½¡ââ¿â¿â。)ã¥|¯\\_(ã)_/¯|(â¯Â°â¡Â°ï¼â¯ï¸µ â»ââ»|â¬â⬠ã( ã-ãã)|ಠ_ಠ|(。â¢Ì︿â¢Ì。)|(â¿â â¿â )|(â§â¡â¦)|(ââ _â )|(ï¾âã®â)ï¾*:ï½¥ï¾â§|(ã£ËÌ©ââ®ËÌ©)ã£|à»(âá´â)à¥|( Ëï¸¹Ë )|(*/Ïï¼¼*)|Ù©(ââ¿â)Û¶|(â¢_â¢)|( â¢_â¢)>ââ -â |(à¸'Ì-'Ì)à¸|ã½(â¢â¿â¢)ã|(´。⢠ᵠâ¢ï½¡`)"},us=[{id:"popular",name:"Popular"},{id:"kaomoji",name:"Kaomoji"},{id:"faces",name:"Faces"},{id:"hearts",name:"Hearts"},{id:"hands",name:"Hands"},{id:"stars",name:"Stars"},{id:"symbols",name:"Symbols"},{id:"arrows",name:"Arrows"},{id:"people",name:"People"}],ps={posts:412,followers:18400,following:284,likes:12e5,subs:41200,videos:128,friends:148,snapscore:184203},gs={posts:"Posts",followers:"Followers",following:"Following",likes:"Likes",subs:"Subscribers",videos:"Videos",friends:"Friends",
1snapscore:"Snapscore"},Me=["slay","boom","vibe","iconic","main","aura","based","rizz","fr","bet","mood","core","fire","glow","era","yeah","wavy","lush","gold","moon","star","dream","soft","hype","real","chill","lit","bloom"],Ae=["â¨","ð¥","ð¤","â","ð","ð","ð¸"],Ie=["(ââ¿â)","(â§â¡â¦)","(ã)","Ë(ã£ââ¿â)ã£"],Re=["script-bold","fraktur-bold","bolditalic","script","sans-bold","fraktur","bold","italic"],Le=[{name:"maya",s:"script-bold",lines:["â§ los angeles â§","photographer","she / her ðï¸"]},{name:"kai",s:"fraktur-bold",lines:["music + moods ðµ","new york city","link below â"]},{name:"luna",s:"bolditalic",lines:["â¡ digital artist â¡","commissions open","dm to collab"]},{name:"noah",s:"sans-bold",lines:["skate · film · coffee","based in miami","say hi ð"]},{name:"jade",s:"script",lines:["â¿ soft girl era â¿","poetry + plants","be gentle ð¿"]}],Be=["alexandria","sebastian","anastasia","maximilian","valentina","christopher","evangeline","theodore"],xs=["script-bold","fraktur-bold","bolditalic","sans-bold","double"],Fe=["#6d5ce0","#c05b8e","#c77b52","#4a9d84","#5b7fb0"],ys=["script-bold","fraktur-bold","gothic-real","double","circled","wide","syllabic","mono"],Oe=["#eef2ff","#fdf0f6","#fff3ea","#ecfaf1","#f3f0fe","#fef7e6","#e9f7fb","#fdeef0"];function D(s,n,a,t,r){if(!s)return"";let i=q(s).map(c=>n.map[c]||c);n.reverse&&(i=i.reverse());let l=i.join(t.sep);return a.char&&(l=q(l).map(c=>c===" "?c:c+a.char).join("")),t.l+l+t.r}function Pe(s,n){if(!n.gaps)return[];const a={};return q(s.toLowerCase()).forEach(t=>{a[t]=1}),n.gaps.filter(t=>a[t])}function z(s){return $.find(n=>n.id===s)||$[0]}function _e(){const s={};if(typeof document>"u")return s;const a=document.createElement("canvas").getContext("2d");if(!a)return s;const t=(l,c)=>(a.font="42px "+c,a.measureText(l).width),r=t("ï¿¿ï¿¿","monospace"),i=l=>{const c=t(l,"monospace"),b=t(l,"sans-serif"),h=t(l,"serif");return!(c===r&&b===r&&h===r||c===0&&b===0)};return $.forEach(l=>{const c=l.map.a||l.map.A||l.map.m;s[l.id]=c?!i(c):!1}),s}const bs=(()=>{const s={};return $.forEach(n=>{Object.keys(n.map).forEach(a=>{const t=n.map[a];s[t]||(s[t]={ch:a,ids:[]}),s[t].ids.push(n.id)})}),s})();function vs(s){if(!s)return{kind:"empty"};const n=s.replace(/[\u0300-\u036F]/g,""),a={};let t="";q(n).forEach(l=>{const c=bs[l];c?(t+=c.ch,c.ids.forEach(b=>{a[b]=(a[b]||0)+1})):t+=l});const r=Object.keys(a).sort((l,c)=>a[c]-a[l])[0],i=/[\u0300-\u036F]/.test(s);return r?{kind:"match",styleName:z(r).name,plain:t,hadZalgo:i}:i?{kind:"zalgo-only",plain:t,hadZalgo:i}:{kind:"plain"}}function He(s){if(s=Math.max(0,Math.round(s)),s<1e3)return""+s;if(s<1e6){const a=s/1e3;return(a<10?a.toFixed(1).replace(/\.0$/,""):String(Math.round(a)))+"k"}const n=s/1e6;return(n<10?n.toFixed(1).replace(/\.0$/,""):String(Math.round(n)))+"m"}function qe(s){if(!(typeof document>"u")){if(typeof window<"u"&&window.isSecureContext&&navigator.clipboard?.writeText){navigator.clipboard.writeText(s).catch(()=>Ue(s));return}Ue(s)}}function Ue(s){const n=document.createElement("textarea");if(n.value=s,n.setAttribute("readonly",""),n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),navigator.userAgent.match(/ipad|iphone/i)){const a=document.createRange();a.selectNodeContents(n);const t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(a)),n.setSelectionRange(0,999999)}else n.select();try{document.execCommand("copy")}catch{}document.body.removeChild(n)}const js={style_id:void 0,style_group:void 0,surface:void 0,zalgo:void 0,category:void 0,units:void 0,platform:void 0,style:void 0};function se(s,n={}){if(typeof window>"u")return;const a=window;a.dataLayer&&a.dataLayer.push({...js,...n,event:s})}function Ye({id:s}){const n=ms[s];return n?e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:n})}):null}function ks({i:s,size:n}){const a=Ee[s%Ee.length],t="fgav"+s;let r=null;return a.style==="bob"&&(r=e.jsx("path",{d:"M14 27c0-9 5-14 12-14s12 5 12 14v3c0 2-2 2-2 0v-4c-3 2-17 2-20 0v4c0 2-2 2-2 0z",fill:a.hair})),a.style==="curls"&&(r=e.jsxs("g",{fill:a.hair,children:[e.jsx("circle",{cx:"17",cy:"24",r:"5"}),e.jsx("circle",{cx:"26",cy:"20",r:"6"}),e.jsx("circle",{cx:"35",cy:"24",r:"5"}),e.jsx("circle",{cx:"21",cy:"19",r:"4"}),e.jsx("circle",{cx:"31",cy:"19",r:"4"})]})),a.style==="fade"&&(r=e.jsx("path",{d:"M15 26c0-8 5-13 11-13s11 5 11 13c0 1-1 1-1 0-2-5-18-5-20 0 0 1-1 1-1 0z",fill:a.hair})),a.style==="bun"&&(r=e.jsxs("g",{fill:a.hair,children:[e.jsx("circle",{cx:"26",cy:"12",r:"5"}),e.jsx("path",{d:"M15 27c0-8 5-13 11-13s11 5 11 13c0 1-1 1-1 0-2-5-18-5-20 0 0 1-1 1-1 0z"})]})),a.style==="long"&&(r=e.jsx("path",{d:"M14 28c0-9 5-15 12-15s12 6 12 15v11c0 2-3 2-3 0V28c-3 3-15 3-18 0v11c0 2-3 2-3 0z",fill:a.hair})),a.style==="cap"&&(r=e.jsxs("g",{fill:a.hair,children:[e.jsx("path",{d:"M14 25c0-
17 5-12 12-12s12 5 12 12z"}),e.jsx("rect",{x:"10",y:"24",width:"20",height:"3",rx:"1.5"})]})),e.jsxs("svg",{className:"fg-face",width:n,height:n,viewBox:"0 0 52 52","aria-hidden":"true",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"1",children:[e.jsx("stop",{offset:"0",stopColor:a.bg[0]}),e.jsx("stop",{offset:"1",stopColor:a.bg[1]})]})}),e.jsx("circle",{cx:"26",cy:"26",r:"26",fill:`url(#${t})`}),e.jsx("path",{d:"M9 52c1-9 8-14 17-14s16 5 17 14z",fill:a.skin}),e.jsx("circle",{cx:"26",cy:"27",r:"10",fill:a.skin}),r,e.jsx("circle",{cx:"22.5",cy:"27",r:"1.3",fill:"#1c1917"}),e.jsx("circle",{cx:"29.5",cy:"27",r:"1.3",fill:"#1c1917"}),e.jsx("path",{d:"M23 31.5c1.8 1.6 4.2 1.6 6 0",stroke:"#1c1917",strokeWidth:"1.3",fill:"none",strokeLinecap:"round"})]})}function Ge({size:s,ring:n,userSrc:a,cdnOk:t,onPick:r,face:i="page"}){let l;a?l=e.jsx("span",{className:"fg-av-img",style:{width:s,height:s,backgroundImage:`url(${a})`}}):t?l=e.jsx("img",{className:"fg-face",src:We[0].url,width:s,height:s,alt:"",loading:"lazy",decoding:"async",crossOrigin:"anonymous",style:{objectFit:"cover",width:s,height:s}}):l=e.jsx(ks,{i:0,size:s});const c=e.jsxs("button",{type:"button",className:"fg-face-btn","data-face":i,onClick:r,"aria-label":"Upload your profile picture",children:[l,e.jsxs("span",{className:"fg-av-edit","aria-hidden":"true",children:[e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("path",{d:"M4 7h3l2-2h6l2 2h3v12H4z"}),e.jsx("circle",{cx:"12",cy:"13",r:"3.2"})]}),e.jsx("b",{children:"Change"})]})]});return n?e.jsx("span",{className:"fg-ring",children:c}):c}function U({text:s,className:n,style:a}){const t=s.split(` 2`);return e.jsx("div",{className:n,style:a,children:t.map((r,i)=>e.jsxs(os.Fragment,{children:[i>0&&e.jsx("br",{}),r]},i))})}function ws({k:s,fmt:n,onStatClick:a}){return e.jsx("b",{className:"fg-stat","data-stat":s,title:"Click to edit",tabIndex:0,role:"button",onClick:t=>a(s,t.currentTarget),onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),a(s,t.currentTarget))},children:n(s)})}function Ve(s){const n=r=>e.jsx(ws,{k:r,fmt:s.fmt,onStatClick:s.onStatClick},r),a=e.jsx("span",{className:"fg-name-txt",children:s.name}),t=s.handle.replace(/^@/,"")||"yourhandle";return s.platform==="instagram"?e.jsxs("div",{className:"fg-mock-ig",children:[e.jsxs("div",{className:"fg-mk-top",children:[s.avatar(62,!0),e.jsxs("div",{className:"fg-mk-nums",children:[e.jsxs("span",{className:"fg-mk-num",children:[n("posts"),e.jsx("span",{children:"posts"})]}),e.jsxs("span",{className:"fg-mk-num",children:[n("followers"),e.jsx("span",{children:"followers"})]}),e.jsxs("span",{className:"fg-mk-num",children:[n("following"),e.jsx("span",{children:"following"})]})]})]}),e.jsx("div",{className:"fg-mk-name",children:a}),e.jsx(U,{text:s.bio,className:"fg-mk-bio"}),e.jsxs("div",{className:"fg-mk-acts",children:[e.jsx("span",{className:"fg-mk-btn fg-mk-btn-ig",children:"Follow"}),e.jsx("span",{className:"fg-mk-btn fg-mk-btn-alt",children:"Message"})]})]}):s.platform==="x"?e.jsxs("div",{className:"fg-mock-x fg-x-profile",children:[e.jsxs("div",{className:"fg-xp-top",children:[s.avatar(64),e.jsx("span",{className:"fg-mk-btn fg-xp-follow",children:"Follow"})]}),e.jsx("div",{className:"fg-mk-name",style:{fontSize:18,marginTop:8},children:a}),e.jsxs("div",{className:"fg-xp-handle",children:["@",t]}),e.jsx(U,{text:s.bio,className:"fg-xp-bio"}),e.jsxs("div",{className:"fg-xp-stats",children:[n("following")," ",e.jsx("span",{children:"Following"})," ",n("followers")," ",e.jsx("span",{children:"Followers"})]})]}):s.platform==="discord"?e.jsxs("div",{className:"fg-mock-dc fg-dc-profile",children:[e.jsx("div",{className:"fg-dcp-banner"}),e.jsx("div",{className:"fg-dcp-avwrap",children:s.avatar(74)}),e.jsxs("div",{className:"fg-dcp-card",children:[e.jsx("div",{className:"fg-mk-name",style:{fontSize:20,color:"#fff",lineHeight:1.15},children:a}),e.jsx("div",{className:"fg-dcp-handle",children:t}),e.jsx("div",{className:"fg-dcp-divider"}),e.jsx("div",{className:"fg-dcp-label",children:"About Me"}),e.jsx(U,{text:s.bio,className:"fg-dcp-bio"}),e.jsx("div",{className:"fg-dcp-label",style:{marginTop:12},children:"Member Since"}),e.jsx("div",{className:"fg-dcp-since",children:"May 12, 2021"})]})]}):s.platform==="facebook"?e.jsxs("div",{className:"fg-mock-fb fg-fb-profile",children:[e.jsx("div",{className:"fg-fbp-cover"}),e.jsxs("div",{className:"fg-fbp-body",children:[s.avatar(72),e.jsx("div",{className:"fg-mk-name",style:{textAlign:"center",fontSize:20,marginTop:6},children:a}),e.jsxs("div",{className:"fg-fbp-stats",children:[n("followers")," followers · ",n("friends")," friends"]}),e.jsx(U,{text:s.bio,className:"fg-fbp-bio"}),e.jsxs("div",{className:"fg-mk-acts",style:{justifyContent:"center"},children:[e.jsx("span",{className:"fg-mk-btn fg-fbp-add",children:"Add friend"}),e.jsx("span",{className:"fg-mk-btn fg-mk-btn-alt",children:"Message"})]})]})]}):s.platform==="tiktok"?e.jsxs("div",{className:"fg-mock-tt",style:{textAlign:"center"},children:[e.jsx("span",{className:"fg-ring",style:{display:"inline-block",marginBottom:9},children:s.avatar(64)}),e.jsx("div",{className:"fg-mk-name",children:a}),e.jsxs("div",{className:"fg-mk-handle",style:{marginBottom:11},children:["@",t]}),e.jsxs("div",{className:"fg-mk-nums",style:{justifyContent:"center",marginBottom:11},children:[e.jsxs("span",{className:"fg-mk-num",children:[n("following"),e.jsx("span",{children:"following"})]}),e.jsxs("span",{className:"fg-mk-num",children:[n("followers"),e.jsx("span",{children:"followers"})]}),e.jsxs("span",{className:"fg-mk-num",children:[n("likes"),e.jsx("span",{children:"likes"})]})]}),e.jsx("div",{className:"fg-mk-acts",children:e.jsx("span",{className:"fg-mk-btn fg-mk-btn-tt",children:"Follow"})}),e.jsx(U,{text:s.bio,className:"fg-mk-bio",style:{marginTop:10}})]}):s.platform==="roblox"?e.jsxs("div",{className:"fg-mock-rb",children:[e.jsxs("div",{className:"fg-rb-head",children:[s.avatar(46),e.jsxs("div",{style:{minWidth:0},children:[e.jsx("div",{className:"fg-mk-name",children:a}),e.jsxs("div",{className:"fg-mk-handle",children:["@",t]})]})]}),e.jsx(U,{text:s.bio,className:"fg-mk-bio",style:{margin:"2px 0 10px"}}),e.jsxs("div",{className:"fg-rb-strip",children:[e.jsxs("span",{className:"fg-rb-chip",children:["Friends ",n("friends")]}),e.jsxs("span",{className:"fg-rb-chip",children:["Followers ",n("followers")]})]}),e.jsxs("div",{className:"fg-mk-acts",children:[e.jsx("span",{className:"fg-mk-btn fg-mk-btn-rb",children:"Add Friend"}),e.jsx("span",{className:"fg-mk-btn fg-mk-btn-alt",children:"Chat"})]})]}):s.platform==="youtube"?e.jsxs("div",{className:"fg-mock-yt",children:[e.jsxs("div",{className:"fg-yt-head",children:[s.avatar(52),e.jsxs("div",{style:{minWidth:0},children:[e.jsx("div",{className:"fg-mk-name",style:{fontSize:17},children:a}),e.jsxs("div",{className:"fg-mk-handle",children:["@",t," · ",n("subs")," subscribers · ",n("videos")," videos"]})]})]}),e.jsx(U,{text:s.bio,className:"fg-mk-bio"}),e.jsxs("div",{className:"fg-mk-acts",children:[e.jsx("span",{className:"fg-mk-btn fg-mk-btn-yt",children:"Subscribe"}),e.jsx("span",{className:"fg-mk-btn fg-mk-btn-alt",children:"Join"})]})]}):e.jsxs("div",{className:"fg-mock-sc",children:[e.jsxs("div",{className:"fg-sc-card",children:[s.avatar(56),e.jsx("div",{className:"fg-mk-name",style:{textAlign:"center",marginTop:8},children:a}),e.jsxs("div",{className:"fg-mk-handle",style:{textAlign:"center"},children:["@",t]}),e.jsx(U,{text:s.bio,className:"fg-mk-bio",style:{textAlign:"center",marginTop:8}}),e.jsxs("div",{className:"fg-sc-score",children:["Snapscore ",n("snapscore")]})]}),e.jsx("div",{className:"fg-mk-acts",children:e.jsx("span",{className:"fg-mk-btn fg-mk-btn-sc",children:"Add Friend"})})]})}function Ke({edit:s,value:n,onCommit:a}){const t=d.useRef(null),r=d.useRef(null),[i,l]=d.useState(""),[c,b]=d.useState(!1),[h,y]=d.use
2State(null),v=d.useRef(s);v.current=s;const x=d.useRef(i);x.current=i;const N=(p,j)=>p==="snapscore"?j.toLocaleString("en-US"):He(j),I=()=>{const p=v.current,j=t.current;if(!p||!j)return;const T=p.anchor.getBoundingClientRect(),C=j.getBoundingClientRect(),O=window.visualViewport&&window.visualViewport.height||window.innerHeight;let B=T.top-C.height-10;B<8&&(B=T.bottom+10),B=Math.max(8,Math.min(B,O-C.height-8));let m=T.left+T.width/2-C.width/2;m=Math.max(8,Math.min(m,window.innerWidth-C.width-8));const g=T.left+T.width/2-m;y({top:B,left:m,arrow:Math.max(14,Math.min(g,C.width-14))}),b(B>T.bottom)};if(cs(()=>{if(s)return l(String(n)),s.anchor.classList.add("is-editing"),I(),requestAnimationFrame(()=>{I(),r.current?.focus(),r.current?.select()}),()=>{s.anchor.classList.remove("is-editing"),y(null)}},[s]),d.useEffect(()=>{if(!s)return;const p=()=>I();window.addEventListener("scroll",p,!0),window.addEventListener("resize",p),window.visualViewport?.addEventListener("resize",p);const j=T=>{const C=t.current,O=T.target;C&&!C.contains(O)&&!O.closest(".fg-stat")&&L()};return document.addEventListener("mousedown",j),()=>{window.removeEventListener("scroll",p,!0),window.removeEventListener("resize",p),window.visualViewport?.removeEventListener("resize",p),document.removeEventListener("mousedown",j)}},[s]),!s)return null;const R=parseInt(i,10),S=isNaN(R)?"Type a number":"Shows as "+N(s.key,Math.min(R,999e6)),L=()=>{const p=v.current;if(!p)return;const j=parseInt(x.current,10);a(p.key,isNaN(j)?null:Math.min(Math.max(0,j),999e6))};return ns.createPortal(e.jsx("div",{className:"jbx-fontgen",children:e.jsxs("div",{ref:t,className:"fg-statpop is-open"+(c?" is-below":""),style:{position:"fixed",zIndex:300,top:h?h.top:0,left:h?h.left:0,visibility:h?"visible":"hidden","--fg-arrow":h?h.arrow+"px":void 0},children:[e.jsx("div",{className:"fg-statpop-label",children:gs[s.key]||"Count"}),e.jsx("input",{ref:r,type:"text",inputMode:"numeric","aria-label":"Edit count",className:"fg-statpop-input",value:i,onChange:p=>l(p.target.value.replace(/[^0-9]/g,"")),onKeyDown:p=>{p.key==="Enter"?(p.preventDefault(),L()):p.key==="Escape"&&(p.preventDefault(),a(s.key,null))},onBlur:L}),e.jsx("div",{className:"fg-statpop-hint",children:S})]})}),document.body)}const fe=pe[0],ue=ge[0];let ne=null;function Ns(){if(typeof window>"u")return Promise.resolve(null);const s=window;return s.htmlToImage?Promise.resolve(s.htmlToImage):ne||(ne=new Promise(n=>{const a=s.define,t=a&&a.amd;t&&a&&(a.amd=void 0);const r=document.createElement("script");r.src="https://cdnjs.cloudflare.com/ajax/libs/html-to-image/1.11.11/html-to-image.min.js",r.onload=()=>{t&&a&&(a.amd=t),n(s.htmlToImage||null)},r.onerror=()=>{t&&a&&(a.amd=t),n(null)},document.head.appendChild(r)}),ne)}function Ss(s){const[n,a]=s.split(","),t=n.match(/data:([^;]+)/)?.[1]||"image/png",r=atob(a),i=new Uint8Array(r.length);for(let l=0;l<r.length;l++)i[l]=r.charCodeAt(l);return new Blob([i],{type:t})}function De(s,n){const a=URL.createObjectURL(s),t=document.createElement("a");t.href=a,t.download=n,document.body.appendChild(t),t.click(),t.remove(),setTimeout(()=>URL.revokeObjectURL(a),1e3)}async function Cs(s){const n=Array.from(s.querySelectorAll("img"));await Promise.all(n.map(async a=>{const t=a.getAttribute("src")||"";if(!(!t||t.startsWith("data:")))try{const r=new Image;r.crossOrigin="anonymous",r.src=t,await r.decode();const i=document.createElement("canvas");i.width=r.naturalWidth,i.height=r.naturalHeight,i.getContext("2d")?.drawImage(r,0,0),a.src=i.toDataURL("image/png")}catch{}}))}function Ze(s,n){const a=navigator;if(window.matchMedia&&window.matchMedia("(hover: none)").matches&&typeof navigator.share=="function"){const r=new File([s],n,{type:"image/png"});if(a.canShare?.({files:[r]})){navigator.share({files:[r],title:"Your profile card"}).catch(i=>{i?.name!=="AbortError"&&De(s,n)});return}}De(s,n)}function ze(s,n){const a=s.getBoundingClientRect(),t=Math.round(a.width),r=Math.round(a.height),i=4,l=s.cloneNode(!0);(function v(x,N){const I=getComputedStyle(x);let R="";for(let S=0;S<I.length;S++){const L=I[S];R+=L+":"+I.getPropertyValue(L)+";"}N.setAttribute("style",R);for(let S=0;S<x.children.length;S++)v(x.children[S],N.children[S])})(s,l);const c=new XMLSerializer().serializeToString(l),b='<svg xmlns="http://www.w3.org/2000/svg" width="'+t+'" height="'+r+'"><foreignObject width="100%" height="100%"><div xmlns="http://www.w3.org/1999/xhtml">'+c+"</div></foreignObject></svg>",h=URL.createObjectURL(new Blob([b],{type:"image/svg+xml;charset=utf-8"})),y=new Image;y.onload=()=>{const v=document.createElement("canvas");v.width=t*i,v.height=r*i;const x=v.getContext("2d");if(!x){URL.revokeObjectURL(h);return}x.scale(i,i),x.drawImage(y,0,0),URL.revokeObjectURL(h),v.toBlob(N=>{N&&Ze(N,n)},"image/png")},y.onerror=()=>URL.revokeObjectURL(h),y.src=h}function Ts(s){const[n,a]=d.useState("your name"),[t,r]=d.useState("yourhandle"),[i,l]=d.useState(`photographer 3shot on film, mostly
4dm for bookings`),[c,b]=d.useState(s.initialStyle),[h,y]=d.useState(s.initialPlatform),[v,x]=d.useState(!1),[N,I]=d.useState(""),[R,S]=d.useState(null),L=d.useRef(null),p=d.useRef(null);if(d.useEffect(()=>{if(s.open)return a((s.initialName||"your name").slice(0,60)),r("yourhandle"),l(`photographer 5shot on film, mostly 6dm for bookings`),b(s.initialStyle),y(s.initialPlatform),x(!1),document.body.style.overflow="hidden",se("card_modal_open",{}),()=>{document.body.style.overflow=""}},[s.open]),d.useEffect(()=>{if(!s.open)return;const m=P=>{P.key==="Escape"&&s.onClose()},g=()=>x(!1);return document.addEventListener("keydown",m),document.addEventListener("click",g),()=>{document.removeEventListener("keydown",m),document.removeEventListener("click",g)}},[s.open]),!s.open)return null;const j=(n||"your name").slice(0,18),T=D(n||"your name",z(c),fe,ue),C=()=>p.current?.click(),O=m=>{const g=m.target.files&&m.target.files[0];if(!g)return;const P=new FileReader;P.onload=E=>{const A=String(E.target?.result||"");A&&(s.onAvatarUpload(A),I(g.name.slice(0,20)))},P.readAsDataURL(g),m.target.value=""},B=()=>{const m=L.current?.firstElementChild;if(!m)return;const g="my-"+h+"-card.png",P=()=>{const E=document.createElement("div");E.className="jbx-fontgen",E.style.cssText="position:fixed;left:-10000px;top:0;z-index:-1;width:"+m.offsetWidth+"px;";const A=m.cloneNode(!0);A.classList.add("is-exporting"),E.appendChild(A),document.body.appendChild(E),Promise.all([Ns(),Cs(A)]).then(async([X])=>{if(X&&X.toPng)try{const W=navigator.userAgent,ie=/iP(hone|ad|od)/.test(W)||/Safari\//.test(W)&&!/Chrom(e|ium)|Edg\//.test(W)?3:1;let Y="";for(let J=0;J<ie;J++)Y=await X.toPng(A,{pixelRatio:4,cacheBust:!1,skipFonts:!0,backgroundColor:null});E.remove(),Ze(Ss(Y),g)}catch{ze(A,g),E.remove()}else ze(A,g),E.remove()})};document.fonts&&document.fonts.ready?document.fonts.ready.then(()=>requestAnimationFrame(P)):requestAnimationFrame(P),se("card_downloaded",{platform:h,style:c})};return e.jsxs("div",{className:"fg-modal",children:[e.jsx("div",{className:"fg-modal-scrim",onClick:s.onClose}),e.jsxs("div",{className:"fg-modal-box",role:"dialog","aria-modal":"true","aria-label":"Edit and download your profile card",children:[e.jsx("button",{type:"button",className:"fg-modal-x","aria-label":"Close",onClick:s.onClose,children:"Ã"}),e.jsxs("div",{className:"fg-modal-grid",children:[e.jsxs("div",{className:"fg-modal-left",children:[e.jsx("div",{className:"fg-modal-h",children:"Your profile card"}),e.jsxs("div",{className:"fg-modal-field",children:[e.jsx("span",{children:"Font style"}),e.jsxs("div",{className:"fg-dd",children:[e.jsxs("button",{type:"button",className:"fg-dd-btn","aria-haspopup":"listbox","aria-expanded":v,onClick:m=>{m.stopPropagation(),x(!v)},children:[e.jsx("span",{className:"fg-dd-val",children:D(j,z(c),fe,ue)}),e.jsx("svg",{viewBox:"0 0 12 12","aria-hidden":"true",children:e.jsx("path",{d:"M2 4l4 4 4-4",stroke:"currentColor",strokeWidth:"1.6",fill:"none",strokeLinecap:"round"})})]}),v&&e.jsx("div",{className:"fg-dd-panel",role:"listbox",onClick:m=>m.stopPropagation(),children:$.map(m=>e.jsxs("button",{type:"button",role:"option","aria-selected":m.id===c,className:"fg-dd-opt"+(m.id===c?" is-sel":""),onClick:()=>{b(m.id),x(!1)},children:[e.jsxs("span",{className:"fg-dd-opt-col",children:[e.jsx("span",{className:"fg-dd-opt-preview",children:D(j,m,fe,ue)}),e.jsx("span",{className:"fg-dd-opt-name",children:m.name})]}),e.jsx("svg",{className:"fg-dd-tick",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"M4 12l5 5 11-11"})})]},m.id))})]})]}),e.jsxs("label",{className:"fg-modal-field",children:[e.jsx("span",{children:"Display name"}),e.jsx("input",{type:"text",maxLength:60,placeholder:"your name",value:n,onChange:m=>a(m.target.value)})]}),e.jsxs("label",{className:"fg-modal-field",children:[e.jsx("span",{children:"Handle"}),e.jsx("input",{type:"text",maxLength:30,placeholder:"yourhandle",value:t,onChange:m=>r(m.target.value)})]}),e.jsxs("label",{className:"fg-modal-field",children:[e.jsx("span",{children:"Bio"}),e.jsx("textarea",{rows:3,maxLength:200,placeholder:"write a short bio",value:i,onChange:m=>l(m.target.value)})]}),e.jsxs("div",{className:"fg-modal-field",children:[e.jsx("span",{children:"Profile picture"}),e.jsxs("div",{className:"fg-upload",children:[e.jsx("button",{type:"button",className:"fg-upload-btn",onClick:C,children:"Upload a photo"}),e.jsx("input",{ref:p,type:"file",accept:"image/*",hidden:!0,onChange:O}),e.jsx("span",{className:"fg-upload-hint",children:N||"or keep the current one"})]}),e.jsx("p",{className:"fg-note",style:{marginTop:6},children:"Your photo never leaves your device â everything happens in your browser."})]}),e.jsxs("div",{className:"fg-modal-field",style:{marginBottom:0},children:[e.jsx("span",{children:"Which card"}),e.jsx("div",{className:"fg-platchips",children:Z.map(m=>e.jsxs("button",{type:"button","aria-label":m.name,className:"fg-platchip"+(m.id===h?" is-sel":""),onClick:()=>y(m.id),children:[e.jsx(Ye,{id:m.id}),e.jsx("span",{children:m.name})]},m.id))})]})]}),e.jsxs("div",{className:"fg-modal-right",children:[e.jsx("div",{className:"fg-card-preview",ref:L,children:e.jsx("div",{className:"fg-card-frame fg-card-"+h,children:e.jsx(Ve,{name:T,handle:t,bio:i||"write a short bio",platform:h,stats:s.stats,fmt:s.fmtStat,onStatClick:(m,g)=>S({key:m,anchor:g}),avatar:(m,g)=>e.jsx(Ge,{size:m,ring:g,userSrc:s.userAvatar,cdnOk:s.cdnOk,onPick:C,face:"card"})})})}),e.jsx("button",{type:"button",className:"jb-btn jb-btn-purple fg-card-dl",onClick:B,children:"Download your social profile"}),e.jsx("p",{className:"fg-card-note",children:"Saves as a PNG with rounded corners, ready to post or share."})]})]})]}),e.jsx(Ke,{edit:R,value:R?s.stats[R.key]:0,onCommit:(m,g)=>{s.onStatCommit(m,g),S(null)}})]})}const Es=pe[0],Ms=ge[0],As=e.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[e.jsx("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2.5"}),e.jsx("path",{d:"M5 15H4a1 1 0 01-1-1V4a1 1 0 011-1h10a1 1 0 011 1v1"})]}),Is=e.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:e.jsx("path",{d:"M4.5 12.5l5 5 10-11"})});function Rs(s){if(s==="popular")return hs;const n=fs[s];
6return s==="kaomoji"?n.split("|"):n.split(" ").filter(Boolean)}const Ls=d.forwardRef(function(n,a){const[t,r]=d.useState(""),[i,l]=d.useState("script-bold"),[c,b]=d.useState("instagram"),[h,y]=d.useState([]),[v,x]=d.useState({}),[N,I]=d.useState(he[0]),[R,S]=d.useState(!1),[L,p]=d.useState(null),[j,T]=d.useState("popular"),[C,O]=d.useState(null),[B,m]=d.useState(!1),[g,P]=d.useState({...ps}),[E,A]=d.useState(null),[X,W]=d.useState(!1),[oe,ie]=d.useState(""),Y=d.useRef(null),J=d.useRef(null),ye=d.useRef(!0),Q=d.useRef(t);Q.current=t;const re=Es,le=Ms,Je=0;d.useImperativeHandle(a,()=>({useStyle:o=>l(o),getText:()=>Q.current})),d.useEffect(()=>{x(_e()),document.fonts&&document.fonts.ready&&document.fonts.ready.then(()=>x(_e()));const o=new Image;o.crossOrigin="anonymous",o.onload=()=>m(!0),o.onerror=()=>m(!1),o.src=We[0].url},[]),d.useEffect(()=>{if(t)return;let o=0,u;const k=setInterval(()=>{if(!ye.current||Q.current){clearInterval(k);return}o++,S(!0),u=setTimeout(()=>{I(he[o%he.length]),S(!1)},320)},2600);return()=>{clearInterval(k),clearTimeout(u)}},[t]);const G=o=>{ye.current=!1,o&&!Q.current&&r(N)},be=t||N,ee=z(i),H=D(t,ee,re,le),ve=Z.find(o=>o.id===c)||Z[0],Qe=d.useMemo(()=>{const o=$.slice().sort((w,_)=>(_.demand||0)-(w.demand||0)),u=o.filter(w=>h.includes(w.id)),k=o.filter(w=>!h.includes(w.id));return u.concat(k)},[h]),es=(o,u)=>{const k=z(o),w=D(Q.current||N,k,re,le);w&&(qe(w),p(o),setTimeout(()=>p(_=>_===o?null:_),1500),se("font_style_copied",{style_id:k.id,style_group:k.group,zalgo:Je>0,surface:u}))},ss=o=>{const u=Y.current;if(G(),!u)return;const k=u.selectionStart??u.value.length,w=u.selectionEnd??u.value.length,_=u.value.slice(0,k)+o+u.value.slice(w);r(_),requestAnimationFrame(()=>{u.focus();const K=k+o.length;try{u.setSelectionRange(K,K)}catch{}}),se("symbol_inserted",{category:j,units:o.length})},as=o=>{const u=o.target.files&&o.target.files[0];if(!u)return;const k=new FileReader;k.onload=w=>O(String(w.target?.result||"")||null),k.readAsDataURL(u),o.target.value=""},je=o=>o==="snapscore"?g[o].toLocaleString("en-US"):He(g[o]),ke=(o,u)=>{u!==null&&P(k=>({...k,[o]:u})),A(null)},ce=H.length,V=H?Z.filter(o=>ce>o.lim):[],de=H?Z.filter(o=>ce<=o.lim):[],we=Pe(t,ee),F=vs(oe);return e.jsxs("section",{className:"maker",id:"maker",children:[e.jsx("div",{className:"maker-panel",children:e.jsxs("div",{className:"fg-layout",children:[e.jsxs("div",{className:"fg-stage",children:[e.jsxs("div",{className:"fg-typebox",children:[e.jsx("input",{ref:Y,type:"text",className:"fg-typein",id:"fgIn",maxLength:200,placeholder:"Enter text","aria-label":"Text to convert",autoComplete:"off",spellCheck:!1,value:t,onFocus:()=>G(),onChange:o=>{r(o.target.value),o.target.value&&G()}}),e.jsx("button",{type:"button",className:"fg-typeclear","aria-label":"Clear text",onClick:()=>{G(),r(""),Y.current?.focus()},children:"Ã"})]}),e.jsx("div",{className:"fg-lenhint","aria-live":"polite",children:t&&e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"fg-len-count",children:[e.jsx("b",{children:ce})," units"]}),V.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"fg-len-sep",children:"/"}),e.jsx("span",{className:"fg-len-over",children:"over on"}),V.map(o=>e.jsx("span",{className:"fg-len-pill",children:o.name},o.id))]})]})}),e.jsxs("div",{className:"fg-pick",id:"fgPick",children:[e.jsx("div",{className:"fg-pick-top",children:e.jsx("span",{className:"fg-pick-h",children:"Emoji"})}),e.jsx("div",{className:"fg-pick-cats",role:"group","aria-label":"Symbol category",children:us.map(o=>e.jsx("button",{type:"button",className:"fg-pcat"+(j===o.id?" is-active":""),onClick:()=>T(o.id),children:o.name},o.id))}),e.jsx("div",{className:"fg-grid"+(j==="kaomoji"?" is-wide":""),children:Rs(j).map((o,u)=>e.jsx("button",{type:"button",className:"fg-sym"+(o.length>2?" fg-sym-txt":""),"aria-label":"Add "+o,onClick:()=>ss(o),children:o},u))})]}),e.jsx("div",{className:"fg-list",children:Qe.map(o=>{const u=D(be,o,re,le),k=Pe(be,o),w=h.includes(o.id),_=v[o.id],K=L===o.id;return e.jsxs("div",{"data-s":o.id,className:"fg-row"+(o.id===i?" is-active":"")+(_?" is-dead":""),onClick:()=>{G(!0),l(o.id)},children:[e.jsxs("div",{className:"fg-rowmeta",children:[e.jsxs("div",{className:"fg-rowhead",children:[e.jsx("span",{className:"fg-rowname",children:o.name}),o.tag&&e.jsx("span",{className:"fg-tag"+((o.demand||0)>=28e3?" fg-tag-top":""),children:o.tag}),_&&e.jsx("span",{className:"fg-mark is-dead",children:"no font on this device"}),k.length>0&&e.jsxs("span",{className:"fg-mark",children:["no ",k.join(" or ")," in this style"]})]}),e.jsx("div",{className:"fg-out"+(R&&!t?" is-fading":""),children:u||e.jsx("span",{className:"fg-ph",children:"Type something above"})})]}),e.jsx("button",{type:"button",className:"fg-star"+(w?" is-on":""),"aria-pressed":w,"aria-label":w?"Remove from saved":"Save style",onClick:te=>{te.stopPropagation(),y(w?h.filter(ts=>ts!==o.id):h.concat([o.id]))},children:w?"â ":"â"}),e.jsxs("button",{type:"button",className:"fg-copy"+(K?" is-done":""),onClick:te=>{te.stopPropagation(),G(!0),es(o.id,"list")},children:[K?Is:As,K?"Copied":"Copy"]})]},o.id)})})]}),e.jsxs("div",{className:"fg-side",children:[e.jsxs("div",{className:"fg-card",children:[e.jsx("div",{className:"fg-cardtitle",children:"See it in place"}),e.jsx("div",{className:"fg-tabs",role:"group","aria-label":"Choose platform",children:Z.map(o=>e.jsxs("button",{type:"button",className:"fg-tab"+(o.id===c?" is-active":""),onClick:()=>b(o.id),children:[e.jsx("span",{className:"fg-tab-logo","aria-hidden":"true",children:e.jsx(Ye,{id:o.id})}),o.name]},o.id))}),e.jsx("div",{className:"fg-mock",children:e.jsx(Ve,{name:H||"Your name",handle:"yourhandle",bio:`photographer 7shot on film, mostly 8dm for bookings`,platform:c,stats:g,fmt:je,onStatClick:(o,u)=>A({key:o,anchor:u}),avatar:(o,u)=>e.jsx(Ge,{size:o,ring:u,userSrc:C,cdnOk:B,onPick:()=>J.current?.click()})})}),e.jsx("input",{ref:J,type:"file",accept:"image/*",hidden:!0,onChange:as}),e.jsxs("button",{type:"button",className:"fg-card-cta",onClick:()=>W(!0),children:[e.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[e.jsx("path",{d:"M4 5h16v14H4z"}),e.jsx("path",{d:"M4 15l4-4 3 3 5-5 4 4"}),e.jsx("circle",{cx:"9",cy:"9",r:"1.4"})]}),"Edit your bio and save the card"]}),e.jsxs("div",{className:"fg-line fg-line-ok",children:[e.jsx("span",{className:"fg-line-i",children:e.jsx("svg",{viewBox:"0 0 24 24",children:e.jsx("path",{d:"M4 12.5l5 5 11-11"})})}),e.jsx("span",{children:ve.ok})]}),e.jsxs("div",{className:"fg-line fg-line-no",children:[e.jsx("span",{className:"fg-line-i",children:e.jsx("svg",{viewBox:"0 0 24 24",children:e.jsx("path",{d:"M6 6l12 12M18 6L6 18"})})}),e.jsx("span",{children:ve.no})]}),e.jsx("p",{className:"fg-note",style:{marginTop:12},children:"Photo uploads are 100% private â your picture never leaves your device."})]}),t&&e.jsxs("div",{className:"fg-card",children:[e.jsx("div",{className:"fg-cardtitle",children:ee.name}),e.jsxs("div",{className:"fg-fitline",children:[H&&V.length===0&&e.jsx("span",{className:"fg-fit ok",children:"Works everywhere"}),H&&V.length>0&&de.length===0&&e.jsx("span",{className:"fg-fit no",children:"Too long, make it shorter"}),H&&V.length>0&&de.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"fg-fit ok",children:["Works on ",de.length]}),V.map(o=>e.jsxs("span",{className:"fg-fit no",children:[o.name," too long"]},o.id))]})]}),v[ee.id]&&e.jsx("div",{className:"fg-box is-bad",children:"Your phone can't show this one, you'll see empty boxes. Other people might too."}),we.length>0&&e.jsxs("div",{className:"fg-box is-warn",children:["Heads up, this font can't style the letter ",we.map(o=>`"${o}"`).join(" or "),", so it shows up plain while the rest gets styled."]})]}),t&&e.jsxs("details",{className:"fg-side-more",children:[e.jsx("summary",{children:"More about this style"}),e.jsxs("div",{className:"fg-card",children:[e.jsx("div",{className:"fg-cardtitle",children:"Turn it back"}),e.jsx("p",{className:"fg-note",style:{marginBottom:9},children:"Paste styled text to get plain letters back and see which style it was."}),e.jsx("input",{type:"text",className:"fg-decode",placeholder:"Paste styled text","aria-label":"Decode styled text",autoComplete:"off",spellCheck:!1,value:oe,onChange:o=>ie(o.target.value)}),e.jsxs("div",{className:"fg-insp"+(F.kind==="match"||F.kind==="zalgo-only"?" is-match":" is-empty"),children:[F.kind==="empty"&&"Nothing pasted yet.",F.kind==="plain"&&"That looks like plain text already, no styling found.",(F.kind==="match"||F.kind==="zalgo-only")&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"fg-insp-head",children:[e.jsx("svg",{className:"fg-insp-tick",viewBox:"0 0 24 24","aria-hidden":"true",children:e.jsx("path",{d:"M5 13l4 4 10-11"})}),F.kind==="match"?e.jsxs(e.Fragment,{children:["That's ",e.jsx("b",{children:F.styleName})]}):"Cleaned up the zalgo accents"]}),e.jsxs("div",{className:"fg-insp-plain",children:["Plain text: ",e.jsx("b",{children:F.plain})]}),F.kind==="match"&&F.hadZalgo&&e.jsx("span",{className:"fg-insp-note",children:"zalgo accents removed"})]})]})]}),e.jsxs("div",{className:"fg-card",children:[e.jsx("div",{className:"fg-cardtitle",children:"Want the real typeface"}),e.jsx("p",{className:"fg-note",style:{marginBottom:11},children:"These are characters, not fonts. They cannot be printed or placed in a design file. Closest real faces, free for commercial use."}),e.jsx("div",{className:"fg-bridge",children:(Te[ee.group]||Te.display).map(o=>e.jsxs("a",{href:`https://www.jukeboxprint.com/fonts/font-preview/${o[1]}`,children:[e.jsx("span",{children:o[0]}),e.jsx("em",{children:o[2]})]},o[1]))})]})]})]})]})}),e.jsx(Ke,{edit:E,value:E?g[E.key]:0,onCommit:ke}),e.jsx(Ts,{open:X,onClose:()=>W(!1),initialName:t,initialStyle:i,initialPlatform:c,userAvatar:C,onAvatarUpload:o=>O(o),cdnOk:B,stats:g,fmtStat:je,onStatCommit:ke})]})}),$e=pe[0],Xe=ge[0],ae=(s,n)=>D(s,z(n),$e,Xe);
8function xe(){const[s,n]=d.useState(!1);return d.useEffect(()=>{window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&n(!0)},[]),s}const Bs={text:ae("dream","script-bold"),plain:!1};function Fs(){const s=xe(),[n,a]=d.useState(Bs),[t,r]=d.useState(!1);return d.useEffect(()=>{const i=Me.map((h,y)=>y);for(let h=i.length-1;h>0;h--){const y=Math.floor(Math.random()*(h+1));[i[h],i[y]]=[i[y],i[h]]}let l=0;const c=h=>{const y=h%5;if(y===2){a({text:Ie[h%Ie.length],plain:!0});return}const v=Me[i[h%i.length]],x=ae(v,Re[h%Re.length]);if(y===4){const N=Ae[h%Ae.length];a({text:N+" "+x+" "+N,plain:!0})}else a({text:x,plain:!1})};if(s)return;const b=setInterval(()=>{r(!0),setTimeout(()=>{l++,c(l),r(!1)},400)},2600);return()=>clearInterval(b)},[s]),e.jsx("div",{className:"hero-word"+(t?" is-swap":"")+(n.plain?" is-plain":""),"aria-hidden":"true",children:n.text})}function Os(){const s=xe(),[n,a]=d.useState(0),[t,r]=d.useState(!1);d.useEffect(()=>{if(s)return;const l=setInterval(()=>{r(!0),setTimeout(()=>{a(c=>c+1),r(!1)},360)},3200);return()=>clearInterval(l)},[s]);const i=Le[n%Le.length];return e.jsxs("div",{className:"fg-bio-show"+(t?" is-swap":""),children:[e.jsx("div",{className:"fg-bio-name",children:ae(i.name,i.s)}
8),e.jsx("div",{className:"fg-bio-lines",children:i.lines.map((l,c)=>e.jsx("span",{className:"fg-bio-line",children:l},c))})]})}function Ps(){const s=xe(),[n,a]=d.useState(0),[t,r]=d.useState(!1);d.useEffect(()=>{if(s)return;const l=setInterval(()=>{r(!0),setTimeout(()=>{a(c=>c+1),r(!1)},640)},4200);return()=>clearInterval(l)},[s]);const i=Be[n%Be.length];return e.jsxs("div",{className:"fg-un-show"+(t?" is-swap":""),children:[xs.map((l,c)=>e.jsx("div",{className:"fg-un-line",style:{color:Fe[c%Fe.length],animationDelay:c*.14+"s"},children:ae(i,l)},l+n)),e.jsxs("div",{className:"fg-un-handle",children:["@",i]})]})}function _s({makerRef:s}){const[n,a]=d.useState(null),t=i=>{s.current?.useStyle(i);const l=document.getElementById("maker"),c=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;l?.scrollIntoView({behavior:c?"auto":"smooth",block:"start"}),setTimeout(()=>document.getElementById("fgIn")?.focus(),c?0:500)},r=i=>{const l=z(i);qe(D(s.current?.getText()||"aesthetic",l,$e,Xe)),a(i),setTimeout(()=>a(c=>c===i?null:c),1400),se("font_style_copied",{style_id:l.id,style_group:l.group,surface:"specimen"})};return e.jsxs("section",{className:"pop-section reveal",children:[e.jsxs("div",{className:"pop-head",children:[e.jsx("h2",{className:"pop-h2",children:"Popular font styles: cursive, bubble, gothic and more"}),e.jsx("p",{children:"About 27 of these are real, complete alphabets. The rest are assembled from lookalike letters borrowed from other writing systems. When a site advertises 300 styles, it is counting these same alphabets wearing different decorations."})]}),e.jsx("div",{className:"pop-grid",children:ys.map((i,l)=>{const c=z(i),b=Oe[l%Oe.length];return e.jsxs("div",{className:"pop-card",style:{background:b},children:[e.jsxs("div",{className:"fg-spec",style:{background:b},children:[e.jsx("span",{className:"fg-spec-tag",children:c.name}),e.jsx("span",{className:"fg-spec-word",children:ae("aesthetic",i)})]}),e.jsxs("div",{className:"pop-acts",children:[e.jsx("button",{type:"button",className:"pop-btn",onClick:()=>t(i),children:"Use this"}),e.jsx("button",{type:"button",className:"pop-btn",onClick:()=>r(i),children:n===i?"Copied":"Copy"})]})]},i)})})]})}const Zs=({tools:s=[],faqs:n=[]})=>{const a=d.useRef(null);return d.useEffect(()=>{const t=document.querySelectorAll(".jbx-fontgen .reveal"),r=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!("IntersectionObserver"in window)||r){t.forEach(l=>l.classList.add("is-visible"));return}const i=new IntersectionObserver(l=>{l.forEach(c=>{c.isIntersecting&&(c.target.classList.add("is-visible"),i.unobserve(c.target))})},{rootMargin:"0px 0px -10% 0px"});return t.forEach(l=>i.observe(l)),()=>i.disconnect()},[]),e.jsxs("div",{className:"jbx-fontgen",children:[e.jsxs("div",{className:"hero-band",id:"heroBand",children:[e.jsx("div",{className:"fg-breadcrumb",children:e.jsx(is,{items:[{name:"Font generator",url:"https://www.jukeboxprint.com/tools/font-generator"}]})}),e.jsx("section",{className:"hero",children:e.jsxs("div",{className:"hero-grid",children:[e.jsxs("div",{className:"hero-left",children:[e.jsx("h1",{className:"hero-h1",children:"Font generator"}),e.jsx("p",{className:"hero-sub",children:"Free fancy text generator with copy and paste fonts for Instagram, TikTok, Discord and more. No signup required."}),e.jsx("a",{className:"jb-btn jb-btn-purple",href:"#maker",children:"Start typing"})]}),e.jsx("div",{className:"hero-right",children:e.jsx(Fs,{})})]})})]}),e.jsx(Ls,{ref:a}),e.jsxs("section",{className:"features reveal","aria-label":"Why use this font generator",children:[e.jsxs("div",{className:"feature-bar",children:[e.jsxs("div",{className:"feature-bar-copy",children:[e.jsx("h2",{className:"feature-bar-title",children:"Instagram fonts: fancy text to copy and paste"}),e.jsxs("p",{className:"feature-bar-text",children:["Instagram only gives you one font, so your bio looks like everyone else's. These copy and paste fonts fix that. Type your name, pick an aesthetic style, and paste it straight into your Instagram bio, name or caption. It sticks on the first try because you are swapping in real characters, not styling text, the same trick that makes emoji show up anywhere. Works on TikTok, Discord and everywhere else too. No app, no signup. And while you are dressing up your profile, the ",e.jsx("a",{href:"https://www.jukeboxprint.com/tools/remove-background",children:"background remover"})," cleans up your profile picture in one click."]})]}),e.jsx("div",{className:"feature-bar-media",children:e.jsx("div",{className:"feature-card-grid",id:"fcBudget",children:e.jsx("img",{className:"fg-feat-img",src:"https://storage.jukeboxprint.com/s/images/instagram-custom-handle-maker.png",alt:"Instagram profile with a custom styled handle made in the font generator",loading:"lazy",width:1200,height:900})})})]}),e.jsxs("div",{className:"feature-bar reverse",children:[e.jsxs("div",{className:"feature-bar-copy",children:[e.jsx("h2",{className:"feature-bar-title",children:"Fancy text for Instagram and TikTok bios"}),e.jsxs("p",{className:"feature-bar-text",children:["A bio in a script or bold or aesthetic font stops the scroll where a plain one does not. Build a whole bio here line by line, a different style on each line, then drop in hearts, stars or sparkles between the words. Your name in cursive, your city in small caps, a clean line for your link. It is the fastest way to a bio that looks put together instead of default, and you can see exactly how it lands in a real Instagram or TikTok profile before you paste a single character. If you are chasing a whole look, pull the colors for it from any photo with the ",e.jsx("a",{href:"https://www.jukeboxprint.com/tools/color-palette-generator",children:"color palette generator"}),"."]})]}),e.jsx("div",{className:"feature-bar-media",children:e.jsx("div",{className:"feature-card-grid",id:"fcGothic",children:e.jsx(Os,{})})})]}),e.jsxs("div",{className:"feature-bar",children:[e.jsxs("div",{className:"feature-bar-copy",children:[e.jsx("h2",{className:"feature-bar-title",children:"Copy and paste fonts for usernames and display names"}),e.jsx("p",{className:"feature-bar-text",children:"A display name in a distinctive style is how you stand out in a Discord server, a TikTok feed or an Instagram tag. One important catch worth knowing up front: the @handle, your actual login, only accepts plain letters and numbers on every platform, so it stays the same. What you can style is the display name, the one people actually read. This shows you which styles work on Instagram, TikTok, Discord, Roblox, Snapchat and more, and flags anything a given app will reject before you waste time on it."})]}),e.jsx("div",{className:"feature-bar-media",children:e.jsx("div",{className:"feature-card-grid",id:"fcC
8heck",children:e.jsx(Ps,{})})})]})]}),e.jsx(_s,{makerRef:a}),e.jsxs("section",{className:"body-section reveal",children:[e.jsxs("div",{className:"body-intro",children:[e.jsx("h2",{className:"body-h2",children:"What a font generator actually does"}),e.jsx("p",{children:"It does not change your font. It changes your letters."}),e.jsx("p",{children:"Unicode is the list every device agrees on for what a character is. It holds about 150,000 of them. In 2001 the Consortium added a block called Mathematical Alphanumeric Symbols, because mathematicians needed a bold A that was distinct from a normal A. In an equation those mean different things, and encoding the difference as styling would lose it the moment the text was copied. So they were encoded as separate characters instead. Around a thousand of them, purely for maths papers."}),e.jsx("p",{children:"Nobody uses them for maths papers. They use them for Instagram bios. The letter a is U+0061. Script ðª is U+1D4EA. They are as unrelated as a and é and ä¸, and a font generator is a lookup table between them. That is the whole product, and it is why the result survives a paste into an app whose code you do not control. Instagram is not loading a typeface you supplied. It is drawing characters, and these are characters."}),e.jsxs("p",{children:["If what you actually need is a real typeface, a file you can install and print with, that is a different thing entirely: browse our ",e.jsx("a",{href:"https://www.jukeboxprint.com/fonts/",children:"font library"})," for those, or start with the ",e.jsx("a",{href:"https://www.jukeboxprint.com/blog/12-of-the-most-popular-fonts-in-graphic-design",children:"most popular fonts in graphic design"})," if you are not sure where to begin."]}),e.jsxs("p",{children:["And when a name comes out so good it deserves to exist off the screen, the ",e.jsx("a",{href:"https://www.jukeboxprint.com/sticker-maker",children:"sticker maker"})," will print it as something you can actually peel and stick."]})]}),e.jsxs("div",{className:"body-points",children:[e.jsxs("div",{className:"body-point",children:[e.jsx("h3",{children:"Handles will never work"}),e.jsx("p",{children:"Bios, display names, nicknames and posts all accept these. The @handle does not, on any platform, and no tool can change that. Instagram, TikTok, X, Discord, YouTube and Roblox all restrict handles to plain characters. Changing one is possible but rationed: Snapchat allows it once a year and Roblox charges 1,000 Robux for it. If a generator implies your handle can be styled it is wasting your afternoon."})]}),e.jsxs("div",{className:"body-point",children:[e.jsx("h3",{children:"Nobody can search for you"}),e.jsx("p",{children:"Search treats ð³ and j as unrelated characters, on the platform and in Google alike. A styled name will not be found by anyone typing it normally. Screen readers fare worse: most announce styled text character by character with full Unicode names, or skip it in silence. If the words carry meaning rather than decoration, leave them plain."})]}),e.jsxs("div",{className:"body-point",children:[e.jsx("h3",{children:"None of it can be printed"}),e.jsxs("p",{children:["There is no font file, no weights, no kerning and no licence, so none of this can go on a poster, a sticker, a card or into a design file. For that you want a real typeface. Every font in ",e.jsx("a",{href:"https://www.jukeboxprint.com/fonts/font-preview",children:"our library"})," is free for commercial use, and the panel beside each style points at the closest match."]})]})]})]}),n.length>0&&e.jsx(ls,{faqs:n,title:"Frequently asked questions",titleClassName:Ne.faqHeading,includeSchema:!0,schemaId:"https://www.jukeboxprint.com/tools/font-generator#faq",className:"bg-white",isHtmlContent:!0}),e.jsx(rs,{tools:s,headingClassName:Ne.toolsGridHeading})]})};export{Zs as default};
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.