{"id":5523,"date":"2026-04-15T00:00:25","date_gmt":"2026-04-15T00:00:25","guid":{"rendered":"https:\/\/fonttor.com\/?page_id=5523"},"modified":"2026-05-19T11:19:20","modified_gmt":"2026-05-19T11:19:20","slug":"bubble","status":"publish","type":"page","link":"https:\/\/fonttor.com\/bubble\/","title":{"rendered":"Bubble Font Generator \u2013 Create Instantly Free"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5523\" class=\"elementor elementor-5523\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52746f62 e-con-full e-flex e-con e-parent\" data-id=\"52746f62\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dbc8c11 elementor-widget elementor-widget-shortcode\" data-id=\"6dbc8c11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"bubble-font-generator-tool-v4\">\r\n    <style>\r\n      \r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap');\r\n\r\n        \/* Color & Spacing System Variables *\/\r\n        #bubble-font-generator-tool-v4 {\r\n            \/* COLOR SYSTEM *\/\r\n            --bubble-pink: #FFC1CC;\r\n            --sky-bubble-blue: #A7D8FF;\r\n            --candy-lilac: #D9B8FF;\r\n            --mint-bubble-green: #B2F2BB;\r\n            --peach-puff: #FFDAB9;\r\n            --foam-white: #FDFBFF;\r\n            --cloud-gray: #E8E8E8;\r\n            --bubble-shadow-gray: rgba(167, 216, 255, 0.5);\r\n            --text-color: #555;\r\n            --highlight-shine-white: #FFFFFF;\r\n            --main-bg: #F7FBFF;\r\n            --bubble-gloss-gradient: linear-gradient(45deg, var(--bubble-pink), var(--sky-bubble-blue));\r\n\r\n            \/* FLUID TYPOGRAPHY *\/\r\n            --font-h1: clamp(1.6rem, 4vw, 3.2rem);\r\n            --font-h2: clamp(1.3rem, 3vw, 2.2rem);\r\n            --font-body: clamp(0.9rem, 1.2vw, 1.1rem);\r\n            --font-small: clamp(0.75rem, 1vw, 0.95rem);\r\n\r\n            \/* FLUID SPACING *\/\r\n            --space-padding: clamp(0.5rem, 1.5vw, 1.25rem);\r\n            --space-gap: clamp(0.5rem, 1.5vw, 1rem);\r\n            --space-margin-block: clamp(0.75rem, 1.5vw, 1.25rem);\r\n            \r\n            box-sizing: border-box;\r\n            font-family: 'Poppins', sans-serif;\r\n            background-color: var(--main-bg);\r\n            color: var(--text-color);\r\n            width: 100%;\r\n            overflow-x: hidden;\r\n            font-size: var(--font-body);\r\n            line-height: 1.5;\r\n            padding-top: var(--space-margin-block) !important;\r\n        }\r\n\r\n        #bubble-font-generator-tool-v4 *,\r\n        #bubble-font-generator-tool-v4 *::before,\r\n        #bubble-font-generator-tool-v4 *::after {\r\n            box-sizing: border-box;\r\n            margin: 0;\r\n            padding: 0;\r\n        }\r\n\r\n        \/* This container class is used for all sections to enforce the 1200px max-width *\/\r\n        #bubble-font-generator-tool-v4 .container {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 0 var(--space-padding);\r\n\t\t\t\t\t   width: 100%; \/* Set the width to 100% *\/\r\n\t\t\t\t\tpadding-top: 0 !important;\r\n        }\r\n\r\n        \/* --- 50vh Header Block --- *\/\r\n        #bubble-font-generator-tool-v4 .generator-header-block {\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: center;\r\n            align-items: center;\r\n            text-align: center;\r\n            min-height: 50vh;\r\n            padding: var(--space-padding) 0;\r\n        }\r\n\r\n        #bubble-font-generator-tool-v4 h1 {\r\n            font-size: var(--font-h1);\r\n            line-height: 1.2;\r\n            font-weight: 700;\r\n            background: var(--bubble-gloss-gradient);\r\n            -webkit-background-clip: text; background-clip: text;\r\n            color: transparent;\r\n            margin-bottom: 8px;\r\n            text-align: center !important;\r\n        }\r\n\r\n        #bubble-font-generator-tool-v4 .seo-subheading {\r\n            font-size: var(--font-body);\r\n            line-height: 1.4;\r\n            color: var(--candy-lilac);\r\n            font-weight: 600;\r\n\/*             max-width: 60ch; *\/\r\n            margin-bottom: 16px;\r\n            text-align: center !important;\r\n        }\r\n\r\n        #bubble-font-generator-tool-v4 .generator-controls {\r\n            background: var(--foam-white);\r\n            border: 1px solid var(--cloud-gray);\r\n            border-radius: 20px;\r\n            padding: var(--space-padding);\r\n            box-shadow: 0 8px 32px -5px var(--bubble-shadow-gray);\r\n            width: 100%;\r\n            max-width: 1200px; \r\n            transition: max-width 0.4s ease;\r\n        }\r\n        \r\n        #bubble-font-generator-tool-v4 .input-section {\r\n            display: grid;\r\n            gap: var(--space-gap);\r\n        }\r\n        \r\n        #bubble-font-generator-tool-v4 .text-input {\r\n            width: 100%; padding: 14px; border: 1px solid var(--cloud-gray); border-radius: 12px; font-size: var(--font-body);\r\n            transition: border-color 0.3s, box-shadow 0.3s;\r\n        }\r\n        #bubble-font-generator-tool-v4 .text-input:focus { outline: none; border-color: var(--sky-bubble-blue); box-shadow: 0 0 10px var(--bubble-shadow-gray); }\r\n\r\n        #bubble-font-generator-tool-v4 .features-toggle-btn {\r\n            display: none; width: 100%; padding: 8px 12px; margin-top: 12px;\r\n            background: var(--foam-white); border: 1px solid var(--cloud-gray); border-radius: 10px;\r\n            color: var(--text-color); font-weight: 600; cursor: pointer;\r\n        }\r\n         #bubble-font-generator-tool-v4 .features-toggle-btn::after { content: ' \u2699\ufe0f Features \ud83d\udd3d'; }\r\n         #bubble-font-generator-tool-v4 .features-visible .features-toggle-btn::after { content: ' \u2699\ufe0f Features \ud83d\udd3c'; }\r\n        \r\n        #bubble-font-generator-tool-v4 .features-section { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-gap); margin-top: 12px; }\r\n        #bubble-font-generator-tool-v4 .form-group label { display: none; }\r\n        #bubble-font-generator-tool-v4 .select-input { width: 100%; padding: 10px; border: 1px solid var(--cloud-gray); border-radius: 10px; background-color: #fff; font-size: var(--font-small); }\r\n        \r\n        #bubble-font-generator-tool-v4 .generate-btn {\r\n            background: var(--bubble-pink); color: var(--highlight-shine-white); padding: 14px;\r\n            border: none; border-radius: 12px; font-size: var(--font-body); font-weight: 700;\r\n            cursor: pointer; transition: transform 0.2s, box-shadow 0.3s; margin-top: 8px;\r\n        }\r\n        #bubble-font-generator-tool-v4 .generate-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px -4px var(--candy-lilac); }\r\n        \r\n        \/* --- Output Section --- *\/\r\n        \/* The main output component has a transparent background to blend with the page *\/\r\n        #bubble-font-generator-tool-v4 #output-area { \r\n            padding: 16px 0; \r\n            background: transparent; \r\n            border-top: none; \r\n            width: 100%;\r\n        }\r\n        \r\n        \/* The grid for the results is inside the .container div, which enforces the 1200px max-width *\/\r\n        #bubble-font-generator-tool-v4 #output-container { \r\n            display: grid; \r\n            grid-template-columns: 1fr; \r\n            gap: var(--space-gap); \r\n        }\r\n\r\n        #bubble-font-generator-tool-v4 .result-card {\r\n            background-color: var(--foam-white); border: 1px solid var(--cloud-gray); border-radius: 15px; padding: var(--space-padding);\r\n            display: flex; align-items: center; justify-content: space-between; gap: 12px;\r\n            opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease-out, transform 0.5s ease-out;\r\n            height: 100px;\r\n            width: 100%;\r\n            overflow: hidden;\r\n        }\r\n        #bubble-font-generator-tool-v4 .result-card.is-visible { opacity: 1; transform: translateY(0); }\r\n        #bubble-font-generator-tool-v4 .result-text { font-size: 1.4rem; flex-grow: 1; overflow-wrap: break-word; word-wrap: break-word; max-height: 60px; overflow-y: auto; padding-right: 0.5rem; }\r\n        #bubble-font-generator-tool-v4 .copy-btn {\r\n            background-color: var(--mint-bubble-green); border: none; color: var(--text-color); padding: 8px 12px;\r\n            border-radius: 10px; cursor: pointer; font-size: var(--font-small); font-weight: 600; flex-shrink: 0; transition: background-color 0.3s;\r\n        }\r\n        #bubble-font-generator-tool-v4 .copy-btn:hover { background-color: var(--peach-puff); }\r\n        #bubble-font-generator-tool-v4 #load-more-btn {\r\n            display: block; width: 100%; max-width: 300px; margin: 16px auto 0 auto; padding: 14px; font-weight: 700;\r\n            font-size: var(--font-body); color: var(--text-color); background: var(--foam-white); border: 1px solid var(--sky-bubble-blue);\r\n            border-radius: 12px; cursor: pointer; transition: background 0.3s, color 0.3s;\r\n        }\r\n        #bubble-font-generator-tool-v4 #load-more-btn:hover { background: var(--sky-bubble-blue); color: var(--highlight-shine-white); }\r\n        #bubble-font-generator-tool-v4 #load-more-btn.hidden { display: none; }\r\n\r\n        \/* --- Restored Content Sections --- *\/\r\n        #bubble-font-generator-tool-v4 .content-section {\r\n            background-color: transparent;\r\n            padding: calc(var(--space-padding) * 2) 0; \/* Use padding on Y-axis only, as container handles X-axis *\/\r\n            margin: 32px 0;\r\n            border: none;\r\n            text-align: left;\r\n        }\r\n        #bubble-font-generator-tool-v4 .content-section h2 {\r\n            font-size: var(--font-h2); line-height: 1.3; color: var(--sky-bubble-blue);\r\n            font-weight: 700; margin-bottom: 12px;\r\n        }\r\n        #bubble-font-generator-tool-v4 .content-section p, \r\n        #bubble-font-generator-tool-v4 .content-section li { line-height: 1.5; margin-bottom: 12px; }\r\n        #bubble-font-generator-tool-v4 .content-section ul { padding-left: 20px; list-style-type: '\ud83e\udee7'; }\r\n        #bubble-font-generator-tool-v4 .content-section li { padding-left: 8px; }\r\n        #bubble-font-generator-tool-v4 .content-section ol { padding-left: 25px; }\r\n\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-item { border-bottom: 1px solid var(--cloud-gray); }\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-question {\r\n            width: 100%; background: none; border: none; text-align: left;\r\n            font-size: 1.1rem; font-weight: 600; cursor: pointer; padding: 16px 8px;\r\n            display: flex; justify-content: space-between; align-items: center; color: var(--text-color);\r\n        }\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-question::after { content: '\u2795'; font-size: 1.5rem; color: var(--candy-lilac); transition: transform 0.3s ease; }\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-item.active .faq-question::after { transform: rotate(45deg); }\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out, padding 0.4s ease-out; padding: 0 8px; }\r\n        #bubble-font-generator-tool-v4 .faq-accordion .faq-item.active .faq-answer { padding-bottom: 16px; }\r\n\r\n        \/* --- Responsive Design --- *\/\r\n        @media (max-width: 767px) {\r\n            #bubble-font-generator-tool-v4 .features-toggle-btn { display: block; }\r\n            #bubble-font-generator-tool-v4 .features-section { display: none; }\r\n            #bubble-font-generator-tool-v4 .features-visible .features-section { display: grid; grid-template-columns: 1fr; }\r\n        }\r\n        @media (min-width: 500px) { #bubble-font-generator-tool-v4 #output-container { grid-template-columns: 1fr 1fr; } }\r\n        @media (min-width: 768px) {\r\n            #bubble-font-generator-tool-v4 #output-container { grid-template-columns: repeat(2, 1fr); }\r\n        }\r\n        @media (min-width: 992px) {\r\n            #bubble-font-generator-tool-v4 #output-container { grid-template-columns: repeat(3, 1fr); }\r\n        }\r\n    <\/style>\r\n\r\n    <!-- 50vh Header Block -->\r\n    <div class=\"generator-header-block\">\r\n        <div class=\"container\">\r\n            <h1>\u2728 Bubble Font Generator \u2013 Create Instantly Free \u2728<\/h1>\r\n            <p class=\"seo-subheading\">A compact & friendly tool to create soft, cute bubble fonts. Just type, generate, and watch new styles appear as you scroll!<\/p>\r\n            \r\n            <div class=\"generator-controls\" id=\"generator-controls\">\r\n                <div class=\"input-section\">\r\n                    <input type=\"text\" id=\"user-input\" class=\"text-input\" placeholder=\"Enter text here...\" aria-label=\"Enter text to convert\">\r\n                    <button id=\"generate-btn\" class=\"generate-btn\">Generate Fonts<\/button>\r\n                <\/div>\r\n                \r\n                <button id=\"features-toggle-btn\" class=\"features-toggle-btn\" aria-expanded=\"false\" aria-controls=\"features-section\"><\/button>\r\n\r\n                <div id=\"features-section\" class=\"features-section\">\r\n                    <div class=\"form-group\"><select id=\"tone-select\" class=\"select-input\" aria-label=\"Select Tone\"><option>All Tones<\/option><option>Cute<\/option><option>Bold<\/option><\/select><\/div>\r\n                    <div class=\"form-group\"><select id=\"format-select\" class=\"select-input\" aria-label=\"Select Format\"><option>All Formats<\/option><option>Padded<\/option><option>Framed<\/option><\/select><\/div>\r\n                    <div class=\"form-group\"><select id=\"case-select\" class=\"select-input\" aria-label=\"Select Case\"><option>Default Case<\/option><option>Force Upper<\/option><option>Force Lower<\/option><\/select><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- Dynamic Output Area -->\r\n    <!-- This main tag acts as the output component wrapper. -->\r\n    <main id=\"output-area\" aria-live=\"polite\">\r\n        <!-- The .container div inside ensures the content adheres to the 1200px max-width. -->\r\n        <div class=\"container\">\r\n            <div id=\"output-container\">\r\n                <!-- Dynamically generated font results will be injected here -->\r\n            <\/div>\r\n            <button id=\"load-more-btn\" class=\"hidden\">LOAD MORE \ud83d\udc96<\/button>\r\n        <\/div>\r\n    <\/main>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            const componentWrapper = document.getElementById('bubble-font-generator-tool-v4');\r\n            if (!componentWrapper) return;\r\n\r\n            const generateBtn = componentWrapper.querySelector('#generate-btn');\r\n            const userInput = componentWrapper.querySelector('#user-input');\r\n            const outputContainer = componentWrapper.querySelector('#output-container');\r\n            const loadMoreBtn = componentWrapper.querySelector('#load-more-btn');\r\n            const featuresToggleBtn = componentWrapper.querySelector('#features-toggle-btn');\r\n            const generatorControls = componentWrapper.querySelector('#generator-controls');\r\n            const faqItems = componentWrapper.querySelectorAll('.faq-item');\r\n\r\n            let allGeneratedResults = [];\r\n            let currentlyDisplayedCount = 0;\r\n            const resultsPerLoad = window.innerWidth >= 768 ? 10 : 5;\r\n\r\n             const styleGenerators = [\r\n                { name: 'Hollow Bubble', func: text => [...text].map(c => '\u24d0\u24d1\u24d2\u24d3\u24d4\u24d5\u24d6\u24d7\u24d8\u24d9\u24da\u24db\u24dc\u24dd\u24df\u24e0\u24e1\u24e2\u24e3\u24e4\u24e5\u24e6\u24e7\u24e8'['abcdefghijklmnopqrstuvwxyz'.indexOf(c.toLowerCase())] || c).join('') },\r\n                { name: 'Bubble Outline', func: text => [...text.toUpperCase()].map(c => '\u24b6\u24b7\u24b9\u24ba\u24bb\u24bd\u24be\u24bf\u24c0\u24c1\u24c2\u24c3\u24c4\u24c5\u24c6\u24c7\u24c8\u24c9\u24ca\u24cb\u24cc\u24cd\u24ce\u24cf'['ABCDEFGHIJKLMNOPQRSTUVWXYZ'.indexOf(c)] || c).join('') },\r\n                { name: 'Soft Cloud Bubble', func: text => `\u2601 ${[...text].join(' \u2601 ')} \u2601` },\r\n                { name: 'Balloon Bubble', func: text => [...text].map(c => `\u25c9${c}`).join('') }, \r\n                { name: 'Airy Bubble', func: text => [...text].map(c => `\u25cb${c}`).join('') },\r\n                { name: 'Stuffed Bubble', func: text => [...text].map(c => `\u25cf${c}`).join('') }, \r\n                { name: 'Bubble Capsules', func: text => [...text].map(c => `\u3014${c}\u3015`).join('') },\r\n                { name: 'Jelly Bubble', func: text => `\u3030${[...text].join('\u3030')}\u3030` }, \r\n                { name: 'Marshmallow Bubble', func: text => [...text].map(c => `\u2749${c}`).join('') },\r\n                { name: 'Baby Bubble', func: text => [...text].map(c => `\u10e6${c}`).join('') }, \r\n                { name: 'Cute Dot Bubble', func: text => `\u00b7${[...text].join('\u00b7')}\u00b7` },\r\n                { name: 'Sparkle Bubble', func: text => `\u2727 ${[...text].join(' \u2727 ')} \u2727` }, \r\n                { name: 'Fluffy Bubble', func: text => [...text].map(c => `\u2740${c}`).join('') },\r\n                { name: 'Cotton Bubble', func: text => [...text].map(c => `\u0f18${c}\u0f18`).join('') }, \r\n                { name: 'Heart Bubble', func: text => `\u2763 ${[...text].join(' \u2763 ')} ` },\r\n                { name: 'Heavy Bubble', func: text => [...text].map(c => `\u2b24${c}`).join('') }, \r\n                { name: 'Chunk Bubble', func: text => [...text].map(c => `\u25a3${c}`).join('') },\r\n                { name: 'Block Bubble', func: text => [...text].map(c => `\u3010${c}\u3011`).join('') }, \r\n                { name: 'Thick Capsule Bubble', func: text => [...text].map(c => `\u3016${c}\u3017`).join('') },\r\n                { name: 'Mega Bubble', func: text => [...text].map(c => `\u25cd${c}`).join('') }, \r\n                { name: 'Impact Bubble', func: text => [...text].map(c => `\u233e${c}`).join('') },\r\n                { name: 'Solid Edge Bubble', func: text => `\u25aa${[...text].join('\u25aa')}\u25aa` }, \r\n                { name: 'Capsule Outline', func: text => [...text].map(c => `\u274f${c}`).join('') },\r\n                { name: 'Heavy Frame Bubble', func: text => [...text].map(c => `\u3014\u3014${c}\u3015\u3015`).join(' ') }, \r\n                { name: 'Star Bubble', func: text => `\u272a ${[...text].join(' \u272a ')} \u272a` },\r\n                { name: 'Ring Bubble', func: text => [...text].map(c => `\u235f${c}`).join('') }, \r\n                { name: 'Atomic Bubble', func: text => [...text].map(c => `\u25d0${c}`).join('') },\r\n                { name: 'Crescent Bubble', func: text => [...text].map(c => `\u263d${c}`).join('') }, \r\n                { name: 'Spark Bubble', func: text => `\u2726 ${[...text].join(' \u2726 ')} \u2726` },\r\n                { name: 'Orb Bubble', func: text => [...text].map(c => `\u25ce${c}`).join('') }, \r\n                { name: 'Bubble Crystal', func: text => [...text].map(c => `\u2747${c}`).join('') },\r\n                { name: 'Neon Bubble', func: text => `\u2739 ${[...text].join(' \u2739 ')} \u2739` }, \r\n                { name: 'Planet Bubble', func: text => [...text].map(c => `\u26aa${c}`).join('') },\r\n                { name: 'Soft Orbital Bubble', func: text => [...text].map(c => `\u29bf${c}`).join('') }, \r\n                { name: 'Eclipse Bubble', func: text => [...text].map(c => `\u25d1${c}`).join('') },\r\n                { name: 'Flare Bubble', func: text => [...text].map(c => `\u2742${c}`).join('') }, \r\n                { name: 'Flower Bubble', func: text => `\u2741 ${[...text].join(' \u2741 ')} \u2741` },\r\n                { name: 'Dot-Ring Bubble', func: text => [...text].map(c => `\u229a${c}`).join('') }, \r\n                { name: 'Diamond Bubble', func: text => `\u25c6${[...text].join('\u25c6')}\u25c6` },\r\n                { name: 'Soft Lens Bubble', func: text => [...text].map(c => `\u29c8${c}\u29c8`).join(' ') }, \r\n                { name: 'Heart-Circle Bubble', func: text => [...text].map(c => `\u2765${c}`).join('') }\r\n             ];\r\n\r\n            function generateAllStyles() {\r\n                let text = userInput.value.trim();\r\n                if (!text) text = \"Welcome\";\r\n                allGeneratedResults = styleGenerators.map(style => style.func(text));\r\n            }\r\n\r\n            function displayResults() {\r\n                const startIndex = currentlyDisplayedCount;\r\n                const endIndex = startIndex + resultsPerLoad;\r\n                const resultsToDisplay = allGeneratedResults.slice(startIndex, endIndex);\r\n                let delay = 0;\r\n                resultsToDisplay.forEach(resultText => {\r\n                    const card = createResultCard(resultText);\r\n                    outputContainer.appendChild(card);\r\n                    setTimeout(() => card.classList.add('is-visible'), 50 * delay++);\r\n                });\r\n                currentlyDisplayedCount = endIndex;\r\n                updateLoadMoreButton();\r\n            }\r\n\r\n            function createResultCard(text) {\r\n                const card = document.createElement('div');\r\n                card.className = 'result-card';\r\n                card.innerHTML = `<span class=\"result-text\">${text}<\/span><button class=\"copy-btn\" aria-label=\"Copy text: ${text}\">Copy<\/button>`;\r\n                return card;\r\n            }\r\n\r\n            function handleGenerateClick() {\r\n                outputContainer.innerHTML = '';\r\n                currentlyDisplayedCount = 0;\r\n                generateAllStyles();\r\n                displayResults();\r\n            }\r\n\r\n            function updateLoadMoreButton() {\r\n                loadMoreBtn.classList.toggle('hidden', currentlyDisplayedCount >= allGeneratedResults.length);\r\n            }\r\n\r\n            generateBtn.addEventListener('click', handleGenerateClick);\r\n            userInput.addEventListener('keydown', (e) => e.key === 'Enter' && handleGenerateClick());\r\n            loadMoreBtn.addEventListener('click', displayResults);\r\n            featuresToggleBtn.addEventListener('click', () => {\r\n                const isVisible = generatorControls.classList.toggle('features-visible');\r\n                featuresToggleBtn.setAttribute('aria-expanded', isVisible);\r\n            });\r\n            outputContainer.addEventListener('click', (e) => {\r\n                if (e.target.classList.contains('copy-btn')) {\r\n                    const button = e.target;\r\n                    navigator.clipboard.writeText(button.previousElementSibling.textContent).then(() => {\r\n                        button.textContent = 'Copied! \u2705';\r\n                        button.style.backgroundColor = 'var(--peach-puff)';\r\n                        setTimeout(() => {\r\n                            button.textContent = 'Copy';\r\n                            button.style.backgroundColor = '';\r\n                        }, 1500);\r\n                    }).catch(err => console.error('Failed to copy: ', err));\r\n                }\r\n            });\r\n\r\n            \/\/ Re-added FAQ Accordion logic\r\n            faqItems.forEach(item => {\r\n                const question = item.querySelector('.faq-question');\r\n                if (question) {\r\n                    question.addEventListener('click', () => {\r\n                        const answer = item.querySelector('.faq-answer');\r\n                        const isActive = item.classList.toggle('active');\r\n                        question.setAttribute('aria-expanded', isActive);\r\n                        answer.style.maxHeight = isActive ? answer.scrollHeight + 'px' : '0';\r\n                    });\r\n                }\r\n            });\r\n\r\n            \/\/ Initial Load\r\n            userInput.value = \"Bubble Fun\";\r\n            handleGenerateClick();\r\n        });\r\n    <\/script>\r\n<\/div>\r\n\r\n<!-- Content Section Start From Here  -->\r\n\r\n<div class=\"fgbubblefontgenerator-content-wrapper\">\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\r\n\r\n<style>\r\n.fgbubblefontgenerator-content-wrapper,\r\n.fgbubblefontgenerator-content-wrapper * {\r\n  box-sizing: border-box;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper {\r\n  --fg-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Arial, sans-serif;\r\n  --fg-text: #10201f;\r\n  --fg-muted: #5d6f70;\r\n  --fg-border: rgba(15, 23, 42, 0.12);\r\n  --fg-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);\r\n  --fg-radius: 24px;\r\n  --fg-brand-1: #0EA5E9;\r\n  --fg-brand-2: #EC4899;\r\n  --fg-brand-3: #BAE6FD;\r\n  --fg-soft: #f0f9ff;\r\n  --fg-glow: rgba(14,165,233,.16);\r\n  width: 100%;\r\n  display: block;\r\n  font-family: var(--fg-font) !important;\r\n  color: var(--fg-text) !important;\r\n  overflow: hidden;\r\n  -webkit-font-smoothing: antialiased;\r\n  text-rendering: geometricPrecision;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper h1,\r\n.fgbubblefontgenerator-content-wrapper h2,\r\n.fgbubblefontgenerator-content-wrapper h3,\r\n.fgbubblefontgenerator-content-wrapper h4,\r\n.fgbubblefontgenerator-content-wrapper h5,\r\n.fgbubblefontgenerator-content-wrapper h6,\r\n.fgbubblefontgenerator-content-wrapper p {\r\n  margin-top: 0 !important;\r\n  margin-bottom: 0 !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-content-section {\r\n  width: 100%;\r\n  display: block;\r\n  padding: 74px 20px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-white {\r\n  background: #ffffff !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-soft {\r\n  background:\r\n    radial-gradient(circle at 82% 20%, rgba(255, 255, 255, 0.30), transparent 24%),\r\n    linear-gradient(135deg, #016B61 0%, #70B2B2 52%, #9ECFD4 100%) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-inner-container {\r\n  width: 100%;\r\n  max-width: 1200px;\r\n  margin-left: auto;\r\n  margin-right: auto;\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-heading-wrap {\r\n  max-width: 860px;\r\n  margin: 0 auto 36px auto;\r\n  text-align: center;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-title {\r\n  margin: 0 0 12px 0 !important;\r\n  padding: 0 !important;\r\n  font-family: var(--fg-font) !important;\r\n  font-size: clamp(24px, 2.7vw, 35px) !important;\r\n  font-weight: 760 !important;\r\n  line-height: 1.22 !important;\r\n  letter-spacing: -0.025em !important;\r\n  color: #10201f !important;\r\n  text-align: center !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-soft .fgbubblefontgenerator-section-title {\r\n  color: #ffffff !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-keyword-gradient {\r\n  background: linear-gradient(135deg, var(--fg-brand-1), var(--fg-brand-2), var(--fg-brand-3));\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n  display: inline-block;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-soft .fgbubblefontgenerator-keyword-gradient {\r\n  background: linear-gradient(135deg, #ffffff 0%, #efffff 50%, #dff7f8 100%);\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n  text-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-subtitle {\r\n  margin: 0 auto !important;\r\n  padding: 0 !important;\r\n  max-width: 760px;\r\n  text-align: center !important;\r\n  font-family: var(--fg-font) !important;\r\n  font-size: clamp(15px, 1.45vw, 17px) !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1.68 !important;\r\n  color: var(--fg-muted) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-soft .fgbubblefontgenerator-section-subtitle {\r\n  color: rgba(255, 255, 255, 0.90) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid {\r\n  display: grid !important;\r\n  grid-template-columns: repeat(3, minmax(0, 1fr));\r\n  gap: 22px;\r\n  align-items: stretch;\r\n  width: 100%;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-second-grid {\r\n  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card {\r\n  --card-c1: var(--fg-brand-1);\r\n  --card-c2: var(--fg-brand-2);\r\n  --card-soft: var(--fg-soft);\r\n  --card-glow: var(--fg-glow);\r\n  --fg-mx: 50%;\r\n  --fg-my: 18%;\r\n  --fg-tilt-x: 0deg;\r\n  --fg-tilt-y: 0deg;\r\n  position: relative;\r\n  width: 100%;\r\n  min-height: 100%;\r\n  display: flex !important;\r\n  flex-direction: column;\r\n  padding: 26px;\r\n  border: 1px solid var(--fg-border);\r\n  border-radius: var(--fg-radius);\r\n  background:\r\n    radial-gradient(circle at var(--fg-mx) var(--fg-my), var(--card-glow), transparent 34%),\r\n    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(255,255,255,0.94));\r\n  box-shadow: var(--fg-shadow);\r\n  transform: translateY(18px);\r\n  opacity: 0;\r\n  transition: transform 420ms ease, opacity 420ms ease, border-color 260ms ease, box-shadow 260ms ease, background 260ms ease;\r\n  overflow: hidden;\r\n  isolation: isolate;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(1) {\r\n  --card-c1: #0EA5E9;\r\n  --card-c2: #EC4899;\r\n  --card-soft: #f0f9ff;\r\n  --card-glow: rgba(14,165,233,.16);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(2) {\r\n  --card-c1: #0f766e;\r\n  --card-c2: #2dd4bf;\r\n  --card-soft: rgba(204, 251, 241, 0.96);\r\n  --card-glow: rgba(20, 184, 166, 0.17);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(3) {\r\n  --card-c1: #2563eb;\r\n  --card-c2: #06b6d4;\r\n  --card-soft: rgba(224, 242, 254, 0.96);\r\n  --card-glow: rgba(37, 99, 235, 0.15);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(4) {\r\n  --card-c1: #7c3aed;\r\n  --card-c2: #a855f7;\r\n  --card-soft: rgba(243, 232, 255, 0.96);\r\n  --card-glow: rgba(124, 58, 237, 0.15);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(5) {\r\n  --card-c1: #f97316;\r\n  --card-c2: #f59e0b;\r\n  --card-soft: rgba(255, 247, 237, 0.96);\r\n  --card-glow: rgba(249, 115, 22, 0.15);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(6) {\r\n  --card-c1: #db2777;\r\n  --card-c2: #ec4899;\r\n  --card-soft: rgba(252, 231, 243, 0.96);\r\n  --card-glow: rgba(219, 39, 119, 0.15);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(7) {\r\n  --card-c1: #0891b2;\r\n  --card-c2: #22c55e;\r\n  --card-soft: rgba(236, 253, 245, 0.96);\r\n  --card-glow: rgba(34, 197, 94, 0.16);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid .fgbubblefontgenerator-feature-card:nth-child(8) {\r\n  --card-c1: #4f46e5;\r\n  --card-c2: #06b6d4;\r\n  --card-soft: rgba(238, 242, 255, 0.96);\r\n  --card-glow: rgba(79, 70, 229, 0.15);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card.fgbubblefontgenerator-card-visible {\r\n  transform: translateY(0);\r\n  opacity: 1;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card::before,\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  pointer-events: none;\r\n  z-index: 0;\r\n  transition: opacity 320ms ease, transform 420ms ease, width 320ms ease, height 320ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card::before {\r\n  width: 180px;\r\n  height: 180px;\r\n  right: -78px;\r\n  top: -78px;\r\n  border-radius: 999px;\r\n  background: radial-gradient(circle, var(--card-glow), transparent 72%);\r\n  opacity: 0;\r\n  transform: scale(0.76);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card::after {\r\n  width: 0;\r\n  height: 3px;\r\n  left: 26px;\r\n  bottom: 0;\r\n  border-radius: 999px;\r\n  background: linear-gradient(90deg, var(--card-c1), var(--card-c2));\r\n  opacity: 0;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card:hover {\r\n  border-color: rgba(15, 23, 42, 0.16);\r\n  box-shadow: 0 24px 58px var(--card-glow);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card:hover::before {\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap {\r\n  width: 72px !important;\r\n  height: 72px !important;\r\n  min-width: 72px !important;\r\n  min-height: 72px !important;\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n  flex: 0 0 auto !important;\r\n  border-radius: 22px;\r\n  margin: 0 0 20px 0 !important;\r\n  position: relative;\r\n  z-index: 1;\r\n  border: none !important;\r\n  overflow: visible !important;\r\n  isolation: isolate;\r\n  background: transparent !important;\r\n  color: var(--card-c1) !important;\r\n  transition: transform 280ms ease, border-radius 280ms ease, color 280ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  inset: 0;\r\n  border-radius: 22px;\r\n  background:\r\n    linear-gradient(145deg, rgba(255,255,255,0.96), var(--card-soft)),\r\n    radial-gradient(circle at 24% 18%, rgba(255,255,255,1), transparent 42%);\r\n  border: 1px solid rgba(255,255,255,0.76);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,0.96),\r\n    0 12px 26px rgba(15, 23, 42, 0.08),\r\n    0 0 0 6px rgba(15, 23, 42, 0.035);\r\n  z-index: 1;\r\n  transition: transform 280ms ease, border-radius 280ms ease, background 280ms ease, box-shadow 280ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap::after {\r\n  display: none !important;\r\n  content: none !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap i {\r\n  font-size: 26px !important;\r\n  line-height: 1 !important;\r\n  display: inline-block !important;\r\n  position: relative;\r\n  z-index: 3;\r\n  color: var(--card-c1) !important;\r\n  -webkit-text-fill-color: var(--card-c1) !important;\r\n  background: none !important;\r\n  filter: none !important;\r\n  transition: transform 280ms ease, color 280ms ease, -webkit-text-fill-color 280ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-title {\r\n  margin: 0 0 11px 0 !important;\r\n  padding: 0 !important;\r\n  position: relative;\r\n  z-index: 1;\r\n  font-family: var(--fg-font) !important;\r\n  font-size: 18.5px !important;\r\n  font-weight: 620 !important;\r\n  line-height: 1.35 !important;\r\n  letter-spacing: -0.01em !important;\r\n  color: #10201f !important;\r\n  transition: color 260ms ease, transform 260ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-title::after {\r\n  content: \"\";\r\n  display: block;\r\n  width: 0;\r\n  height: 2px;\r\n  margin-top: 9px;\r\n  border-radius: 20px;\r\n  background: linear-gradient(90deg, var(--card-c1), var(--card-c2));\r\n  transition: width 300ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-text {\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  position: relative;\r\n  z-index: 1;\r\n  font-family: var(--fg-font) !important;\r\n  font-size: 15px !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1.72 !important;\r\n  color: var(--fg-muted) !important;\r\n  flex: 1 1 auto;\r\n  transition: transform 260ms ease, color 260ms ease;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover {\r\n  transform: translateY(-8px) translateX(5px) rotate(-0.7deg);\r\n  background:\r\n    radial-gradient(circle at 92% 18%, var(--card-glow), transparent 28%),\r\n    linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,0.96)) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover::after {\r\n  width: 62px;\r\n  opacity: 1;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap {\r\n  transform: translateY(-7px) translateX(5px) rotate(-5deg) scale(1.06);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap::before {\r\n  border-radius: 28px 16px 28px 16px;\r\n  background: linear-gradient(145deg, var(--card-c1), var(--card-c2)) !important;\r\n  box-shadow:\r\n    0 16px 34px var(--card-glow),\r\n    0 0 0 6px rgba(15, 23, 42, 0.06),\r\n    inset 0 1px 0 rgba(255,255,255,0.28) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap i {\r\n  color: #ffffff !important;\r\n  -webkit-text-fill-color: #ffffff !important;\r\n  transform: scale(1.12) rotate(5deg);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title {\r\n  color: var(--card-c1) !important;\r\n  transform: translateX(5px);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title::after {\r\n  width: 50px;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-one .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-text {\r\n  transform: translateX(5px);\r\n  color: #4d6262 !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card {\r\n  transform-style: preserve-3d;\r\n  perspective: 900px;\r\n  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;\r\n  background:\r\n    radial-gradient(circle at var(--fg-mx) var(--fg-my), rgba(255,255,255,0.58), transparent 36%),\r\n    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.88)) !important;\r\n  backdrop-filter: blur(10px);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card::after {\r\n  left: 50%;\r\n  bottom: auto;\r\n  top: 0;\r\n  width: 0;\r\n  height: 4px;\r\n  transform: translateX(-50%);\r\n  opacity: 0;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover {\r\n  transform: translateY(-9px) rotateX(var(--fg-tilt-y)) rotateY(var(--fg-tilt-x));\r\n  border-color: rgba(255,255,255,0.92) !important;\r\n  box-shadow:\r\n    0 26px 62px rgba(15, 23, 42, 0.18),\r\n    0 0 0 3px rgba(255,255,255,0.22),\r\n    0 0 0 8px rgba(255,255,255,0.10) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover::after {\r\n  width: calc(100% - 52px);\r\n  opacity: 1;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap {\r\n  transform: translateZ(20px) translateY(-7px) scale(1.07);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap::before {\r\n  border-radius: 50%;\r\n  background: linear-gradient(145deg, var(--card-c1), var(--card-c2)) !important;\r\n  box-shadow:\r\n    0 16px 36px var(--card-glow),\r\n    0 0 0 7px rgba(255,255,255,0.14),\r\n    inset 0 1px 0 rgba(255,255,255,0.32) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap i {\r\n  color: #ffffff !important;\r\n  -webkit-text-fill-color: #ffffff !important;\r\n  transform: rotateY(180deg) scale(1.1);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title {\r\n  color: var(--card-c1) !important;\r\n  transform: translateY(-3px);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title::after {\r\n  width: 52px;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-two .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-text {\r\n  color: #4d6262 !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card::before {\r\n  width: 120px;\r\n  height: 120px;\r\n  right: 18px;\r\n  top: 18px;\r\n  border-radius: 999px;\r\n  background: radial-gradient(circle, var(--card-glow), transparent 70%);\r\n  opacity: 0;\r\n  transform: scale(0.7);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card::after {\r\n  width: 10px;\r\n  height: 10px;\r\n  left: auto;\r\n  right: 24px;\r\n  bottom: 24px;\r\n  border-radius: 999px;\r\n  background: linear-gradient(135deg, var(--card-c1), var(--card-c2));\r\n  opacity: 0;\r\n  transform: scale(0.4);\r\n  box-shadow: 0 0 0 0 var(--card-glow);\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover {\r\n  transform: translateY(-7px) scale(1.012) !important;\r\n  border-color: rgba(15, 23, 42, 0.16) !important;\r\n  box-shadow: 0 24px 58px var(--card-glow) !important;\r\n  background:\r\n    radial-gradient(circle at 88% 18%, var(--card-glow), transparent 28%),\r\n    linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,0.96)) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover::before {\r\n  opacity: 1 !important;\r\n  transform: scale(1) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover::after {\r\n  opacity: 1 !important;\r\n  transform: scale(1) !important;\r\n  box-shadow: 0 0 0 8px rgba(15, 23, 42, 0.035) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap {\r\n  transform: translateY(-8px) scale(1.065) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap::before {\r\n  border-radius: 50% !important;\r\n  background:\r\n    linear-gradient(145deg, rgba(255,255,255,0.96), var(--card-soft)),\r\n    radial-gradient(circle at 24% 18%, rgba(255,255,255,1), transparent 42%) !important;\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,0.96),\r\n    0 14px 30px var(--card-glow),\r\n    0 0 0 6px rgba(15, 23, 42, 0.035) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-icon-wrap i {\r\n  color: var(--card-c1) !important;\r\n  -webkit-text-fill-color: var(--card-c1) !important;\r\n  transform: translateY(-1px) scale(1.12) rotate(5deg) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title {\r\n  color: var(--card-c1) !important;\r\n  transform: translateY(-3px) !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-title::after {\r\n  width: 56px !important;\r\n}\r\n\r\n.fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-interaction-three .fgbubblefontgenerator-feature-card:hover .fgbubblefontgenerator-card-text {\r\n  transform: translateY(-2px) !important;\r\n  color: #4d6262 !important;\r\n}\r\n\r\n@media (max-width: 1100px) {\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-second-grid {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 980px) {\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-content-section {\r\n    padding: 64px 18px;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n  }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-content-section {\r\n    padding: 52px 16px;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-section-heading-wrap {\r\n    margin-bottom: 28px;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-grid,\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-second-grid {\r\n    grid-template-columns: 1fr !important;\r\n    gap: 18px;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-feature-card {\r\n    padding: 24px;\r\n    border-radius: 20px;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap {\r\n    width: 60px !important;\r\n    height: 60px !important;\r\n    min-width: 60px !important;\r\n    min-height: 60px !important;\r\n    border-radius: 20px !important;\r\n    margin-bottom: 18px !important;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap::before {\r\n    border-radius: 20px !important;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-icon-wrap i {\r\n    font-size: 21px !important;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-title {\r\n    font-size: 18px !important;\r\n  }\r\n\r\n  .fgbubblefontgenerator-content-wrapper .fgbubblefontgenerator-card-text {\r\n    font-size: 15px !important;\r\n  }\r\n}\r\n<\/style>\r\n\t\r\n\t<section class=\"fgbubblefontgenerator-content-section fgbubblefontgenerator-section-white fgbubblefontgenerator-interaction-one\">\r\n\t\t<div class=\"fgbubblefontgenerator-inner-container\">\r\n\t\t\t\t\r\n\t\t<\/div>\r\n\t<\/section>\r\n\r\n<section class=\"fgbubblefontgenerator-content-section fgbubblefontgenerator-section-white fgbubblefontgenerator-interaction-one\">\r\n<div class=\"fgbubblefontgenerator-inner-container\">\r\n\r\n<div class=\"fgbubblefontgenerator-section-heading-wrap\">\r\n<h2 class=\"fgbubblefontgenerator-section-title\">What Is a <span class=\"fgbubblefontgenerator-keyword-gradient\">Bubble Font Generator<\/span>?<\/h2>\r\n<h3 class=\"fgbubblefontgenerator-section-subtitle\">A Bubble Font Generator turns normal text into rounded, bubbly, cute, and soft font styles for bios, captions, names, posts, profiles, and creative designs.<\/h3>\r\n<\/div>\r\n\r\n<div class=\"fgbubblefontgenerator-card-grid\">\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-circle\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Bubble Style Output<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">A Bubble Font Generator converts plain words into rounded, bubbly, cute, and soft text that feels more unique, expressive, and useful for creative pages.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-swatchbook\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Creative Font Variations<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Users can explore different bubble looks for names, captions, headings, bios, comments, and short social posts.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-bezier-curve\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Decorative Letter Style<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">The generated output helps normal letters feel more visual, polished, and memorable without manual design work.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-i-cursor\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Simple Text Input<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Users only need to type or paste normal text, and the tool instantly creates bubble-style font versions.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-clipboard\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Copy and Paste Ready<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Generated font styles can be copied quickly and pasted into social media, messaging apps, profiles, or content editors.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-layer-group\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Multiple Style Choices<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">A good generator gives users multiple options so they can match the style with their mood, brand, profile, or design idea.<\/p>\r\n<\/article>\r\n\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<section class=\"fgbubblefontgenerator-content-section fgbubblefontgenerator-section-soft fgbubblefontgenerator-interaction-two\">\r\n<div class=\"fgbubblefontgenerator-inner-container\">\r\n\r\n<div class=\"fgbubblefontgenerator-section-heading-wrap\">\r\n<h2 class=\"fgbubblefontgenerator-section-title\">Why Use a <span class=\"fgbubblefontgenerator-keyword-gradient\">Bubble Font Generator<\/span>?<\/h2>\r\n<h3 class=\"fgbubblefontgenerator-section-subtitle\">It helps users create attractive styled text without design software, font downloads, or manually searching for special characters.<\/h3>\r\n<\/div>\r\n\r\n<div class=\"fgbubblefontgenerator-card-grid fgbubblefontgenerator-second-grid\">\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-bolt-lightning\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Fast Style Creation<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Users can create bubble-style fonts quickly instead of designing each letter or searching for special characters manually.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-star\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Better Visual Appeal<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Styled text helps plain words stand out with a stronger mood, better personality, and more attractive presentation.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-mobile-screen-button\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Social Media Friendly<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">The generated styles can be used on Instagram, TikTok, Facebook, Discord, WhatsApp, and other popular platforms.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-gem\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Personal Expression<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">It helps users express a theme, mood, fandom, aesthetic, or creative personality through simple text styling.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-shapes\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Symbol Decoration<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Many styles include decorative symbols, spacing effects, and special characters for a more polished visual result.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-id-badge\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Username Ideas<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Generated styles can make usernames, display names, nicknames, and profile headings look more unique and memorable.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-comments\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Caption Styling<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Stylish text can improve captions, comments, quotes, and status updates by making them more expressive and eye-catching.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-border-all\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Multiple Options<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">A useful generator shows several variations at once so users can compare, copy, and test the best-looking version.<\/p>\r\n<\/article>\r\n\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<section class=\"fgbubblefontgenerator-content-section fgbubblefontgenerator-section-white fgbubblefontgenerator-interaction-three\">\r\n<div class=\"fgbubblefontgenerator-inner-container\">\r\n\r\n<div class=\"fgbubblefontgenerator-section-heading-wrap\">\r\n<h2 class=\"fgbubblefontgenerator-section-title\">How to Use a <span class=\"fgbubblefontgenerator-keyword-gradient\">Bubble Font Generator<\/span>?<\/h2>\r\n<h3 class=\"fgbubblefontgenerator-section-subtitle\">Type your text, choose a font style, preview the output, copy your favorite version, and paste it wherever you want.<\/h3>\r\n<\/div>\r\n\r\n<div class=\"fgbubblefontgenerator-card-grid\">\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-pen-to-square\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Enter Your Text<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Start by typing a name, phrase, caption, quote, username, message, or short line that you want to style.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-list-check\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Choose a Font Style<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Look through the generated font styles and choose the version that best matches your profile, post, or design idea.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-magnifying-glass\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Preview the Result<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Check how the font looks before using it, especially when the output includes symbols, spacing, or fancy characters.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-paste\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Copy the Text<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Use the copy option to grab the selected font style without manually highlighting or retyping the output.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-share-from-square\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Paste Anywhere<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Paste the styled text into bios, comments, captions, usernames, posts, messages, or design tools.<\/p>\r\n<\/article>\r\n\r\n<article class=\"fgbubblefontgenerator-feature-card\">\r\n<div class=\"fgbubblefontgenerator-icon-wrap\">\r\n<i class=\"fa-solid fa-repeat\"><\/i>\r\n<\/div>\r\n<h4 class=\"fgbubblefontgenerator-card-title\">Try More Styles<\/h4>\r\n<p class=\"fgbubblefontgenerator-card-text\">Try different text lengths, styles, and symbols until the final version feels clear, attractive, and ready to use.<\/p>\r\n<\/article>\r\n\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function () {\r\n  var wrapper = document.querySelector(\".fgbubblefontgenerator-content-wrapper\");\r\n  if (!wrapper) { return; }\r\n\r\n  var cards = wrapper.querySelectorAll(\".fgbubblefontgenerator-feature-card\");\r\n\r\n  if (\"IntersectionObserver\" in window) {\r\n    var observer = new IntersectionObserver(function (entries) {\r\n      entries.forEach(function (entry) {\r\n        if (entry.isIntersecting) {\r\n          entry.target.classList.add(\"fgbubblefontgenerator-card-visible\");\r\n          observer.unobserve(entry.target);\r\n        }\r\n      });\r\n    }, { threshold: 0.16 });\r\n\r\n    cards.forEach(function (card, index) {\r\n      card.style.transitionDelay = (index % 8) * 45 + \"ms\";\r\n      observer.observe(card);\r\n    });\r\n  } else {\r\n    cards.forEach(function (card) {\r\n      card.classList.add(\"fgbubblefontgenerator-card-visible\");\r\n    });\r\n  }\r\n\r\n  cards.forEach(function (card) {\r\n    card.addEventListener(\"mousemove\", function (event) {\r\n      var rect = card.getBoundingClientRect();\r\n      var x = ((event.clientX - rect.left) \/ rect.width) * 100;\r\n      var y = ((event.clientY - rect.top) \/ rect.height) * 100;\r\n      var tiltX = ((x - 50) \/ 50) * 2.4;\r\n      var tiltY = ((50 - y) \/ 50) * 2.4;\r\n      card.style.setProperty(\"--fg-mx\", x.toFixed(2) + \"%\");\r\n      card.style.setProperty(\"--fg-my\", y.toFixed(2) + \"%\");\r\n      card.style.setProperty(\"--fg-tilt-x\", tiltX.toFixed(2) + \"deg\");\r\n      card.style.setProperty(\"--fg-tilt-y\", tiltY.toFixed(2) + \"deg\");\r\n    });\r\n\r\n    card.addEventListener(\"mouseleave\", function () {\r\n      card.style.setProperty(\"--fg-mx\", \"50%\");\r\n      card.style.setProperty(\"--fg-my\", \"18%\");\r\n      card.style.setProperty(\"--fg-tilt-x\", \"0deg\");\r\n      card.style.setProperty(\"--fg-tilt-y\", \"0deg\");\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5523","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/pages\/5523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/comments?post=5523"}],"version-history":[{"count":4,"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/pages\/5523\/revisions"}],"predecessor-version":[{"id":5527,"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/pages\/5523\/revisions\/5527"}],"wp:attachment":[{"href":"https:\/\/fonttor.com\/wp-json\/wp\/v2\/media?parent=5523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}