PageSourceSearch

https://www.jukeboxprint.com/react/prod/FontGeneratorPage-BLZQqN8r.js

js jukeboxprint.com collected 2026-09-24 17:21:40 UTC 72,822 bytes, 8 lines download raw bytes

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("ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz","0123456789")},{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.