{"id":519,"date":"2026-10-18T12:42:34","date_gmt":"2026-10-18T12:42:34","guid":{"rendered":"https:\/\/ongroundmedia.com\/?page_id=519"},"modified":"2026-10-18T12:43:43","modified_gmt":"2026-10-18T12:43:43","slug":"profile-branding-tools","status":"publish","type":"page","link":"https:\/\/ongroundmedia.com\/?page_id=519","title":{"rendered":"Profile &#038; Branding Tools"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"519\" class=\"elementor elementor-519\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65e295f e-con e-atomic-element e-flexbox-base e-default-div e-ae850de \" data-id=\"65e295f\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"65e295f\">\n    \t\t<div class=\"elementor-element elementor-element-1add9f7 elementor-widget elementor-widget-html\" data-id=\"1add9f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!doctype html><html><head><meta charset=utf8><meta name=viewport content=\"width=device-width,initial-scale=1,viewport-fit=cover\"><style>:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}<\/style><\/head><body>\r\n<title>Profile & Branding Tools<\/title>\r\n<meta name=\"claude:viewport-fit-sides\" content=\"cover\">\r\n<meta name=\"description\" content=\"Write bios and LinkedIn headlines, build a link-in-bio page and generate usernames and brand names. Free profile tools.\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500..800&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap\">\r\n<style>\r\n\/* Layout: a header with a swappable brand, a hero, a five-tool switcher, then one working panel at a time (form left, results right). Brand color and logo are set once and flow into every accent. *\/\r\n:root{\r\n  --bg:#F2F3F8;\r\n  --surface:#FFFFFF;\r\n  --ink:#10131F;\r\n  --muted:#586075;\r\n  --line:#DDE0EA;\r\n  --line-strong:#BBC1D1;\r\n  --brand:#2F3CF0;\r\n  --on-brand:#FFFFFF;\r\n  --brand-fg:color-mix(in srgb,var(--brand) 80%,#000);\r\n  --brand-soft:color-mix(in srgb,var(--brand) 11%,var(--surface));\r\n  --good:#17784A;\r\n  --bad:#B3321F;\r\n  --shadow:rgba(16,19,31,.18);\r\n  --f-display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;\r\n  --f-body:'Instrument Sans','Segoe UI',system-ui,sans-serif;\r\n  --f-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;\r\n}\r\n@media (prefers-color-scheme: dark){\r\n  :root:not([data-theme=\"light\"]){\r\n    --bg:#0D0F16;--surface:#171A24;--ink:#EEF0F7;--muted:#9BA2B7;--line:#252937;--line-strong:#3B4155;\r\n    --brand-fg:color-mix(in srgb,var(--brand) 55%,#fff);\r\n    --good:#5CC58E;--bad:#F0806F;--shadow:rgba(0,0,0,.55);color-scheme:dark;\r\n  }\r\n}\r\n:root[data-theme=\"dark\"]{\r\n  --bg:#0D0F16;--surface:#171A24;--ink:#EEF0F7;--muted:#9BA2B7;--line:#252937;--line-strong:#3B4155;\r\n  --brand-fg:color-mix(in srgb,var(--brand) 55%,#fff);\r\n  --good:#5CC58E;--bad:#F0806F;--shadow:rgba(0,0,0,.55);color-scheme:dark;\r\n}\r\n*{box-sizing:border-box}\r\nhtml{-webkit-text-size-adjust:100%}\r\nbody{\r\n  margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;\r\n  padding-block:18px 64px;\r\n  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));\r\n}\r\n.page{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:40px}\r\nbutton,input,select,textarea{font:inherit;color:inherit}\r\n:focus-visible{outline:2px solid var(--brand-fg);outline-offset:2px}\r\n[hidden]{display:none!important}\r\n.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\r\n\r\n\/* buttons *\/\r\n.btn{\r\n  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:999px;\r\n  border:1px solid var(--line-strong);background:var(--surface);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;\r\n}\r\n.btn:hover{border-color:var(--ink)}\r\n.btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}\r\n.btn.primary:hover{filter:brightness(1.08)}\r\n.btn.small{min-height:32px;padding:5px 12px;font-size:12.5px}\r\n.btn.icon{width:40px;padding:0}\r\n.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}\r\n\r\n\/* header *\/\r\n.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}\r\n.logo{display:flex;align-items:center;gap:12px;min-width:0}\r\n.mark{width:38px;height:38px;border-radius:11px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;flex:none;overflow:hidden}\r\n.mark svg{width:22px;height:22px}\r\n.mark img{width:100%;height:100%;object-fit:cover;display:block}\r\n.logo b{font-family:var(--f-display);font-size:19px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n.bar-r{display:flex;gap:8px}\r\n.brandset{\r\n  position:absolute;right:0;top:50px;z-index:5;width:min(360px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;\r\n  padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px var(--shadow);\r\n}\r\n.brandset h3{margin:0;font-family:var(--f-display);font-size:17px}\r\n.brandset p{margin:0;font-size:12.5px;color:var(--muted)}\r\n.colorrow{display:flex;gap:10px;align-items:center}\r\n.colorrow input[type=color]{width:44px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:10px;background:none;cursor:pointer}\r\n.colorrow input[type=text]{flex:1;min-width:0}\r\n.logorow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\r\n\r\n\/* hero *\/\r\n.hero{display:flex;flex-direction:column;gap:14px;max-width:760px}\r\n.eyebrow{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-fg)}\r\nh1{font-family:var(--f-display);font-weight:700;font-size:clamp(34px,6vw,60px);line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}\r\n.lede{margin:0;font-size:17px;color:var(--muted);max-width:56ch}\r\n\r\n\/* switcher *\/\r\n.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}\r\n.tab{\r\n  appearance:none;-webkit-appearance:none;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;\r\n  background:var(--surface);border:1px solid var(--line);min-width:0;\r\n}\r\n.tab:hover{border-color:var(--line-strong)}\r\n.tab-i{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand-fg);display:grid;place-items:center}\r\n.tab-i svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n.tab-n{font-family:var(--f-display);font-weight:600;font-size:15.5px;line-height:1.2}\r\n.tab-c{font-size:12.5px;color:var(--muted);line-height:1.4}\r\n.tab[aria-current=\"true\"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}\r\n.tab[aria-current=\"true\"] .tab-c{color:color-mix(in srgb,var(--bg) 72%,transparent)}\r\n.tab[aria-current=\"true\"] .tab-i{background:var(--brand);color:var(--on-brand)}\r\n\r\n\/* panel *\/\r\n.panel{display:flex;flex-direction:column;gap:26px;border-top:1px solid var(--line-strong);padding-top:26px}\r\n.ph{display:flex;flex-direction:column;gap:6px}\r\n.ph h2{font-family:var(--f-display);font-size:clamp(24px,3.4vw,34px);letter-spacing:-.02em;line-height:1.1;margin:0}\r\n.ph p{margin:0;color:var(--muted)}\r\n.seo{font-size:12.5px;color:var(--muted);margin-top:6px}\r\n.seo summary{cursor:pointer;width:max-content;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}\r\n.seo-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}\r\n.seo-row:first-of-type{margin-top:8px;border-top:1px solid var(--line)}\r\n.seo-row b{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}\r\n.seo-row span{color:var(--ink);overflow-wrap:anywhere}\r\n\r\n.work{display:grid;grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:34px;align-items:start}\r\n.work.wide{grid-template-columns:minmax(0,1fr) 340px}\r\n.form{display:flex;flex-direction:column;gap:16px;min-width:0}\r\n.field{display:flex;flex-direction:column;gap:6px;min-width:0}\r\n.field>label,.cap{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}\r\n.field small{color:var(--muted);font-size:12px}\r\n.inp,textarea.inp,select.inp{\r\n  width:100%;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--surface);font-size:15px;\r\n}\r\n.inp:focus-visible{outline:none;border-color:var(--brand)}\r\n.note{font-size:12.5px;color:var(--muted);margin:0}\r\n.note.warn{color:var(--bad)}\r\n.seg{display:flex;flex-wrap:wrap;gap:6px}\r\n.seg label{position:relative;display:block}\r\n.seg input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}\r\n.seg span{display:inline-block;padding:7px 13px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;color:var(--muted)}\r\n.seg input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}\r\n.seg input:focus-visible+span{outline:2px solid var(--brand-fg);outline-offset:2px}\r\n.chk{display:flex;gap:9px;align-items:center;font-size:14px;cursor:pointer}\r\n.chk input{width:18px;height:18px;accent-color:var(--brand);margin:0}\r\n.actions{display:flex;gap:8px;flex-wrap:wrap}\r\n\r\n\/* results *\/\r\n.results{display:flex;flex-direction:column;gap:14px;min-width:0}\r\n.rh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}\r\n.rh h3{font-family:var(--f-display);font-size:18px;margin:0;letter-spacing:-.01em}\r\n.rh p{margin:0;font-size:12.5px;color:var(--muted)}\r\n.out{display:flex;flex-direction:column;gap:12px}\r\n.res{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}\r\n.res-tag{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-fg)}\r\n.res-t{width:100%;resize:none;overflow:hidden;border:0;background:transparent;font-size:15px;line-height:1.55;padding:0;outline:none;min-height:28px}\r\n.res-f{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:10px}\r\n.count{font-family:var(--f-mono);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}\r\n.count.over{color:var(--bad);font-weight:500}\r\n.empty{padding:22px;border:1px dashed var(--line-strong);border-radius:16px;color:var(--muted);font-size:14px}\r\n\r\n\/* chips (names, usernames) *\/\r\n.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}\r\n.chip{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}\r\n.chip[aria-selected=\"true\"]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}\r\n.chip-n{font-family:var(--f-mono);font-size:15px;font-weight:500;overflow-wrap:anywhere}\r\n.chip-n.disp{font-family:var(--f-display);font-size:19px;font-weight:600;letter-spacing:-.01em}\r\n.chip-m{font-family:var(--f-mono);font-size:11px;color:var(--muted)}\r\n.chip-b{display:flex;gap:6px;flex-wrap:wrap}\r\n.ib{\r\n  appearance:none;-webkit-appearance:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;cursor:pointer;\r\n  border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-decoration:none;\r\n}\r\n.ib:hover{border-color:var(--ink)}\r\n.ib svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n.ib[aria-pressed=\"true\"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}\r\n.ib[aria-pressed=\"true\"] svg{fill:currentColor}\r\n.short{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}\r\n.short-list{display:flex;flex-wrap:wrap;gap:8px}\r\n.pillx{display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border-radius:999px;background:var(--brand-soft);font-family:var(--f-mono);font-size:12.5px}\r\n.pillx button{appearance:none;-webkit-appearance:none;border:0;width:22px;height:22px;border-radius:50%;background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;color:var(--ink)}\r\n.pillx button svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}\r\n\r\n\/* link builder *\/\r\n.rows{display:flex;flex-direction:column;gap:10px}\r\n.lrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}\r\n.lrow.bad{border-color:var(--bad)}\r\n.lrow-f{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr);gap:8px}\r\n.lrow-f .inp{padding:8px 10px;font-size:14px;border-radius:10px}\r\n.lrow-f .full{grid-column:1\/-1}\r\n.lrow-b{display:flex;flex-direction:column;gap:4px}\r\n.lrow-b .ib{width:30px;height:30px}\r\n.avrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}\r\n.avprev{width:52px;height:52px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;overflow:hidden;font-weight:700;font-size:20px;flex:none}\r\n.avprev img{width:100%;height:100%;object-fit:cover}\r\n.phone{position:sticky;top:12px;width:100%;max-width:340px;margin:0 auto;height:640px;border-radius:40px;border:9px solid var(--ink);background:var(--ink);overflow:hidden;box-shadow:0 20px 44px var(--shadow)}\r\n.phone-s{height:100%;overflow:auto;border-radius:30px;background:#fff}\r\n.code{width:100%;min-height:160px;font-family:var(--f-mono);font-size:12px;line-height:1.55;padding:12px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--surface);resize:vertical}\r\n\r\n\/* toast *\/\r\n.toast{\r\n  position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,14px);background:var(--ink);color:var(--bg);\r\n  padding:10px 16px;border-radius:999px;font-family:var(--f-mono);font-size:12.5px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;\r\n  max-width:calc(100% - 32px);text-align:center;z-index:20;\r\n}\r\n.toast.on{opacity:1;transform:translate(-50%,0)}\r\n.foot{margin:0;font-size:12.5px;color:var(--muted)}\r\n\r\n@media (max-width:1000px){\r\n  .tabs{grid-template-columns:minmax(0,1fr)}\r\n  .tab{flex-direction:row;align-items:center;gap:14px}\r\n  .tab-t{display:flex;flex-direction:column;gap:2px;min-width:0}\r\n  .work,.work.wide{grid-template-columns:minmax(0,1fr)}\r\n  .phone{position:static}\r\n}\r\n@media (max-width:560px){\r\n  .seo-row{grid-template-columns:minmax(0,1fr) auto}\r\n  .seo-row b{grid-column:1\/-1}\r\n  .lrow-f{grid-template-columns:minmax(0,1fr)}\r\n  .logo b{font-size:17px}\r\n}\r\n@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}\r\n<\/style>\r\n\r\n<div class=\"page\">\r\n  <header class=\"bar\">\r\n    <div class=\"logo\"><span class=\"mark\" id=\"mark\"><\/span><b id=\"brandName\">Your Brand<\/b><\/div>\r\n    <div class=\"bar-r\">\r\n      <button class=\"btn\" id=\"brandBtn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"brandset\">\r\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"3\"\/><path d=\"M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1\"\/><\/svg>Brand\r\n      <\/button>\r\n      <button class=\"btn icon\" id=\"themeBtn\" type=\"button\" aria-label=\"Switch light or dark theme\" title=\"Switch theme\">\r\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 3.5a8.5 8.5 0 0 1 0 17z\" fill=\"currentColor\"\/><\/svg>\r\n      <\/button>\r\n    <\/div>\r\n    <div class=\"brandset\" id=\"brandset\" hidden>\r\n      <h3>Your brand<\/h3>\r\n      <p>Sets the accent color and logo across every tool and your link page.<\/p>\r\n      <div class=\"field\"><label for=\"bs-name\">Brand name<\/label><input class=\"inp\" id=\"bs-name\" type=\"text\" maxlength=\"40\" autocomplete=\"off\"><\/div>\r\n      <div class=\"field\">\r\n        <label for=\"bs-hex\">Brand color<\/label>\r\n        <div class=\"colorrow\"><input type=\"color\" id=\"bs-color\" aria-label=\"Pick brand color\"><input class=\"inp\" id=\"bs-hex\" type=\"text\" maxlength=\"7\" spellcheck=\"false\" autocomplete=\"off\"><\/div>\r\n      <\/div>\r\n      <div class=\"field\">\r\n        <label for=\"bs-file\">Logo<\/label>\r\n        <div class=\"logorow\">\r\n          <input id=\"bs-file\" type=\"file\" accept=\"image\/*\" class=\"sr\">\r\n          <label class=\"btn small\" for=\"bs-file\">Upload logo<\/label>\r\n          <button class=\"btn small\" id=\"bs-rmlogo\" type=\"button\">Remove logo<\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"actions\"><button class=\"btn small\" id=\"bs-reset\" type=\"button\">Reset<\/button><button class=\"btn small primary\" id=\"bs-done\" type=\"button\">Done<\/button><\/div>\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <section class=\"hero\">\r\n    <span class=\"eyebrow\">5 free tools<\/span>\r\n    <h1>Profile &amp; Branding Tools<\/h1>\r\n    <p class=\"lede\">Make a strong first impression. Write better bios, create a link page and find a name and handle that fit your brand.<\/p>\r\n  <\/section>\r\n\r\n  <nav class=\"tabs\" id=\"tabs\" aria-label=\"Tools\"><\/nav>\r\n\r\n  <!-- 1 Instagram -->\r\n  <section class=\"panel\" id=\"p-instagram-bio-generator\" hidden>\r\n    <header class=\"ph\"><\/header>\r\n    <div class=\"work\">\r\n      <div class=\"form\">\r\n        <p class=\"note\">Example details are filled in. Replace them with yours.<\/p>\r\n        <div class=\"field\"><label for=\"ig-name\">Brand or name<\/label><input class=\"inp\" id=\"ig-name\" value=\"Stone &amp; Wick\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"ig-do\">What you do<\/label><input class=\"inp\" id=\"ig-do\" value=\"Hand-poured soy candles\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"ig-who\">Who it is for (optional)<\/label><input class=\"inp\" id=\"ig-who\" value=\"cozy homes\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"ig-loc\">City or country (optional)<\/label><input class=\"inp\" id=\"ig-loc\" value=\"Pune, India\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"ig-proof\">Proof or hook (optional)<\/label><input class=\"inp\" id=\"ig-proof\" value=\"5,000+ orders shipped\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\">\r\n          <label for=\"ig-cta\">Call to action<\/label>\r\n          <input class=\"inp\" id=\"ig-cta\" list=\"ig-ctas\" value=\"DM to order\" autocomplete=\"off\">\r\n          <datalist id=\"ig-ctas\"><option value=\"Shop now\"><option value=\"DM to order\"><option value=\"Book a free call\"><option value=\"WhatsApp us\"><option value=\"Get the free guide\"><option value=\"Follow for daily tips\"><\/datalist>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Tone<\/span>\r\n          <div class=\"seg\" id=\"ig-tone\">\r\n            <label><input type=\"radio\" name=\"ig-tone\" value=\"friendly\" checked><span>Friendly<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"ig-tone\" value=\"professional\"><span>Professional<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"ig-tone\" value=\"bold\"><span>Bold<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"ig-tone\" value=\"minimal\"><span>Minimal<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"ig-tone\" value=\"playful\"><span>Playful<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <label class=\"chk\"><input type=\"checkbox\" id=\"ig-emo\" checked>Use emoji<\/label>\r\n        <div class=\"actions\"><button class=\"btn primary\" id=\"ig-go\" type=\"button\">Generate bios<\/button><\/div>\r\n        <p class=\"note warn\" id=\"ig-err\" role=\"alert\"><\/p>\r\n      <\/div>\r\n      <div class=\"results\">\r\n        <div class=\"rh\"><div><h3>Bio options<\/h3><p>Instagram allows 150 characters. Edit any bio below.<\/p><\/div><\/div>\r\n        <div class=\"out\" id=\"ig-out\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- 2 Link in bio -->\r\n  <section class=\"panel\" id=\"p-link-in-bio-page-builder\" hidden>\r\n    <header class=\"ph\"><\/header>\r\n    <div class=\"work wide\">\r\n      <div class=\"form\">\r\n        <p class=\"note\">Sample content is loaded. Replace it with your own and watch the page update.<\/p>\r\n        <div class=\"field\"><span class=\"cap\">Profile<\/span>\r\n          <div class=\"avrow\">\r\n            <span class=\"avprev\" id=\"lp-avprev\"><\/span>\r\n            <input id=\"lp-file\" type=\"file\" accept=\"image\/*\" class=\"sr\">\r\n            <label class=\"btn small\" for=\"lp-file\">Upload photo<\/label>\r\n            <button class=\"btn small\" id=\"lp-rmav\" type=\"button\">Use brand logo<\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\"><label for=\"lp-name\">Name<\/label><input class=\"inp\" id=\"lp-name\" maxlength=\"50\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"lp-bio\">Short bio<\/label><input class=\"inp\" id=\"lp-bio\" maxlength=\"120\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><span class=\"cap\">Links<\/span><div class=\"rows\" id=\"lp-rows\"><\/div><\/div>\r\n        <div class=\"field\"><span class=\"cap\">Add a link<\/span><div class=\"actions\" id=\"lp-add\"><\/div><\/div>\r\n        <div class=\"field\"><span class=\"cap\">Page background<\/span>\r\n          <div class=\"seg\" id=\"lp-bgs\">\r\n            <label><input type=\"radio\" name=\"lp-bg\" value=\"light\" checked><span>Light<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-bg\" value=\"dark\"><span>Dark<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-bg\" value=\"brand\"><span>Brand color<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Button style<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"lp-st\" value=\"filled\" checked><span>Filled<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-st\" value=\"outline\"><span>Outline<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-st\" value=\"soft\"><span>Soft<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Corners<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"lp-rd\" value=\"14px\" checked><span>Rounded<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-rd\" value=\"999px\"><span>Pill<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"lp-rd\" value=\"4px\"><span>Square<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"actions\">\r\n          <button class=\"btn primary\" id=\"lp-copy\" type=\"button\">Copy page HTML<\/button>\r\n          <button class=\"btn\" id=\"lp-showcode\" type=\"button\">Show code<\/button>\r\n        <\/div>\r\n        <textarea class=\"code\" id=\"lp-code\" readonly hidden aria-label=\"Page HTML\"><\/textarea>\r\n        <p class=\"note\">Save the copied code as index.html and upload it anywhere, or paste it into a custom HTML block.<\/p>\r\n      <\/div>\r\n      <div class=\"phone\" aria-label=\"Live preview\"><div class=\"phone-s\"><div class=\"lp\" id=\"lp-prev\"><\/div><\/div><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- 3 Username -->\r\n  <section class=\"panel\" id=\"p-username-generator\" hidden>\r\n    <header class=\"ph\"><\/header>\r\n    <div class=\"work\">\r\n      <div class=\"form\">\r\n        <p class=\"note\">Example details are filled in. Replace them with yours.<\/p>\r\n        <div class=\"field\"><label for=\"u-brand\">Brand or name<\/label><input class=\"inp\" id=\"u-brand\" value=\"Stone &amp; Wick\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"u-niche\">Niche keywords<\/label><input class=\"inp\" id=\"u-niche\" value=\"candles, home decor\" autocomplete=\"off\"><small>Separate with commas.<\/small><\/div>\r\n        <div class=\"field\"><span class=\"cap\">Platform<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"u-plat\" value=\"instagram\" checked><span>Instagram<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"u-plat\" value=\"youtube\"><span>YouTube<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"u-plat\" value=\"x\"><span>X<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Style<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"u-style\" value=\"clean\" checked><span>Clean<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"u-style\" value=\"niche\"><span>Niche<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"u-style\" value=\"creative\"><span>Creative<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <label class=\"chk\"><input type=\"checkbox\" id=\"u-seps\" checked>Allow dots and underscores<\/label>\r\n        <label class=\"chk\"><input type=\"checkbox\" id=\"u-nums\">Add numbers<\/label>\r\n        <div class=\"actions\"><button class=\"btn primary\" id=\"u-go\" type=\"button\">Generate usernames<\/button><\/div>\r\n        <p class=\"note warn\" id=\"u-err\" role=\"alert\"><\/p>\r\n      <\/div>\r\n      <div class=\"results\">\r\n        <div class=\"rh\"><div><h3>Handle ideas<\/h3><p id=\"u-rule\"><\/p><\/div><\/div>\r\n        <div class=\"chips\" id=\"u-out\"><\/div>\r\n        <div class=\"short\" id=\"u-short\" hidden>\r\n          <span class=\"cap\">Shortlist<\/span><div class=\"short-list\" id=\"u-shortlist\"><\/div>\r\n          <div class=\"actions\"><button class=\"btn small\" id=\"u-copyall\" type=\"button\">Copy shortlist<\/button><\/div>\r\n        <\/div>\r\n        <p class=\"note\">Availability cannot be checked from here. Use the open button on any idea to see if the handle is free.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- 4 LinkedIn -->\r\n  <section class=\"panel\" id=\"p-linkedin-headline-generator\" hidden>\r\n    <header class=\"ph\"><\/header>\r\n    <div class=\"work\">\r\n      <div class=\"form\">\r\n        <p class=\"note\">Example details are filled in. Replace them with yours.<\/p>\r\n        <div class=\"field\"><label for=\"li-role\">Your role<\/label><input class=\"inp\" id=\"li-role\" value=\"Brand strategist\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"li-ind\">Industry (optional)<\/label><input class=\"inp\" id=\"li-ind\" value=\"Marketing\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"li-skills\">Skills<\/label><input class=\"inp\" id=\"li-skills\" value=\"Brand strategy, Positioning, Content\" autocomplete=\"off\"><small>Separate with commas. Add 2 to 5.<\/small><\/div>\r\n        <div class=\"field\"><label for=\"li-who\">Who you help (optional)<\/label><input class=\"inp\" id=\"li-who\" value=\"founders of small businesses\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"li-out\">What they get (optional)<\/label><input class=\"inp\" id=\"li-out\" value=\"stand out and win better clients\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"li-proof\">Proof (optional)<\/label><input class=\"inp\" id=\"li-proof\" value=\"Led 40+ rebrands across 6 countries\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"li-years\">Years of experience (optional)<\/label><input class=\"inp\" id=\"li-years\" type=\"number\" min=\"0\" max=\"60\" value=\"8\" inputmode=\"numeric\"><\/div>\r\n        <div class=\"field\">\r\n          <label for=\"li-cta\">Call to action<\/label>\r\n          <input class=\"inp\" id=\"li-cta\" list=\"li-ctas\" value=\"Open to collaborations. Send me a message.\" autocomplete=\"off\">\r\n          <datalist id=\"li-ctas\"><option value=\"Open to new roles. Let's connect.\"><option value=\"Open to collaborations. Send me a message.\"><option value=\"Message me to talk about your project.\"><option value=\"Hiring? I would love to hear from you.\"><\/datalist>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Tone<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"li-tone\" value=\"professional\" checked><span>Professional<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"li-tone\" value=\"friendly\"><span>Friendly<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"li-tone\" value=\"confident\"><span>Confident<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"actions\"><button class=\"btn primary\" id=\"li-go\" type=\"button\">Write my profile<\/button><\/div>\r\n        <p class=\"note warn\" id=\"li-err\" role=\"alert\"><\/p>\r\n      <\/div>\r\n      <div class=\"results\">\r\n        <div class=\"rh\"><div><h3>Headlines<\/h3><p>LinkedIn allows 220 characters. Edit any option.<\/p><\/div><\/div>\r\n        <div class=\"out\" id=\"li-heads\"><\/div>\r\n        <div class=\"rh\"><div><h3>About section<\/h3><p>LinkedIn allows 2,600 characters.<\/p><\/div><\/div>\r\n        <div class=\"out\" id=\"li-about\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- 5 Brand name -->\r\n  <section class=\"panel\" id=\"p-brand-name-tagline-generator\" hidden>\r\n    <header class=\"ph\"><\/header>\r\n    <div class=\"work\">\r\n      <div class=\"form\">\r\n        <p class=\"note\">Example details are filled in. Replace them with yours.<\/p>\r\n        <div class=\"field\"><label for=\"bn-kw\">Keywords<\/label><input class=\"inp\" id=\"bn-kw\" value=\"candle, calm, home\" autocomplete=\"off\"><small>Two to four words, separated by commas.<\/small><\/div>\r\n        <div class=\"field\"><label for=\"bn-aud\">Who it is for (optional)<\/label><input class=\"inp\" id=\"bn-aud\" value=\"busy professionals\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><label for=\"bn-ben\">What customers get (optional)<\/label><input class=\"inp\" id=\"bn-ben\" value=\"slow evenings\" autocomplete=\"off\"><\/div>\r\n        <div class=\"field\"><span class=\"cap\">Style<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"bn-style\" value=\"modern\" checked><span>Modern<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-style\" value=\"techy\"><span>Techy<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-style\" value=\"classic\"><span>Classic<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-style\" value=\"playful\"><span>Playful<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-style\" value=\"premium\"><span>Premium<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"field\"><span class=\"cap\">Name length<\/span>\r\n          <div class=\"seg\">\r\n            <label><input type=\"radio\" name=\"bn-len\" value=\"short\"><span>Short (up to 7)<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-len\" value=\"medium\"><span>Medium (8 to 12)<\/span><\/label>\r\n            <label><input type=\"radio\" name=\"bn-len\" value=\"any\" checked><span>Any<\/span><\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"actions\"><button class=\"btn primary\" id=\"bn-go\" type=\"button\">Generate names<\/button><\/div>\r\n        <p class=\"note warn\" id=\"bn-err\" role=\"alert\"><\/p>\r\n      <\/div>\r\n      <div class=\"results\">\r\n        <div class=\"rh\"><div><h3>Name ideas<\/h3><p>Tap a name to write taglines for it. Star the ones you like.<\/p><\/div><\/div>\r\n        <div class=\"chips\" id=\"bn-out\"><\/div>\r\n        <div class=\"short\" id=\"bn-short\" hidden>\r\n          <span class=\"cap\">Shortlist<\/span><div class=\"short-list\" id=\"bn-shortlist\"><\/div>\r\n        <\/div>\r\n        <div class=\"rh\"><div><h3 id=\"bn-th\">Taglines<\/h3><p>Edit any tagline, then copy it.<\/p><\/div><\/div>\r\n        <div class=\"out\" id=\"bn-tags\"><\/div>\r\n        <p class=\"note\">Names are ideas only. Check trademarks and domain availability before you commit.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <p class=\"foot\">Everything runs in your browser. Nothing you type is sent anywhere.<\/p>\r\n<\/div>\r\n<div class=\"toast\" id=\"toast\" role=\"status\" aria-live=\"polite\"><\/div>\r\n\r\n<script>\r\n(function(){\r\n'use strict';\r\nvar $=function(s,r){return (r||document).querySelector(s)};\r\nvar $$=function(s,r){return Array.prototype.slice.call((r||document).querySelectorAll(s))};\r\nvar root=document.documentElement;\r\n\r\n\/* ---------- helpers ---------- *\/\r\nfunction get(k){try{return JSON.parse(localStorage.getItem(k))}catch(e){return null}}\r\nfunction put(k,v){try{localStorage.setItem(k,JSON.stringify(v))}catch(e){}}\r\nfunction esc(s){return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;').replace(\/'\/g,'&#39;')}\r\nfunction clean(s){return String(s==null?'':s).replace(\/\\s+\/g,' ').trim()}\r\nfunction stripEnd(s){return clean(s).replace(\/[.!?,;:\\s]+$\/,'')}\r\nfunction cap(s){s=String(s);return s.charAt(0).toUpperCase()+s.slice(1)}\r\nfunction lc1(s){return s.charAt(0).toLowerCase()+s.slice(1)}\r\nfunction pick(a){return a[Math.floor(Math.random()*a.length)]}\r\nfunction shuffle(a){a=a.slice();for(var i=a.length-1;i>0;i--){var j=Math.floor(Math.random()*(i+1));var t=a[i];a[i]=a[j];a[j]=t}return a}\r\nfunction splitList(s){return String(s||'').split(\/[,;\\n]+\/).map(clean).filter(Boolean)}\r\nfunction listJoin(a){return a.length<2?(a[0]||''):a.slice(0,-1).join(', ')+' and '+a[a.length-1]}\r\nvar seg=(typeof Intl!=='undefined'&&Intl.Segmenter)?new Intl.Segmenter(undefined,{granularity:'grapheme'}):null;\r\nfunction len(s){if(seg){var n=0;for(var x of seg.segment(s))n++;return n}return Array.from(s).length}\r\nfunction radio(name){var r=$('input[name=\"'+name+'\"]:checked');return r?r.value:''}\r\nfunction val(id){return $('#'+id).value}\r\nvar tt;\r\nfunction toast(m){var t=$('#toast');t.textContent=m;t.classList.add('on');clearTimeout(tt);tt=setTimeout(function(){t.classList.remove('on')},1800)}\r\nfunction copy(text,label){\r\n  function done(ok){toast(ok?'Copied '+(label||'text'):'Copy blocked. Select the text and press Ctrl+C.')}\r\n  function fb(){var ok=false;try{var ta=document.createElement('textarea');ta.value=text;ta.style.cssText='position:fixed;opacity:0;top:0;left:0';document.body.appendChild(ta);ta.select();ok=document.execCommand('copy');ta.remove()}catch(e){}done(ok)}\r\n  try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text).then(function(){done(true)},fb)}else fb()}catch(e){fb()}\r\n}\r\nfunction svg(inner){return '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">'+inner+'<\/svg>'}\r\nvar IC={\r\n  website:'<circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18\"\/>',\r\n  whatsapp:'<path d=\"M4 20l1.4-4.2A8 8 0 1 1 8.2 18.6z\"\/><path d=\"M9.5 9.5c.3 2 2 3.7 4 4l1-1.2-1.7-.8-.7.6c-.7-.3-1.4-1-1.7-1.7l.6-.7-.8-1.7z\"\/>',\r\n  instagram:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"5\"\/><circle cx=\"12\" cy=\"12\" r=\"3.6\"\/><circle cx=\"16.8\" cy=\"7.2\" r=\".6\"\/>',\r\n  youtube:'<rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"4\"\/><path d=\"M10.5 9.6v4.8l4-2.4z\"\/>',\r\n  x:'<path d=\"M5 5l14 14M19 5L5 19\"\/>',\r\n  linkedin:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"3\"\/><path d=\"M8 11v5M8 8v.01M12 16v-5M12 13c0-1.5 1-2 2-2s2 .8 2 2.2V16\"\/>',\r\n  email:'<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"\/><path d=\"M4 7l8 6 8-6\"\/>',\r\n  offer:'<path d=\"M3 12V4h8l10 10-8 8z\"\/><circle cx=\"7.5\" cy=\"8.5\" r=\"1\"\/>',\r\n  custom:'<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.700-5.700l-1 1M14 10a4 4 0 0 0-5.700 0l-3 3a4 4 0 0 0 5.700 5.700l1-1\"\/>',\r\n  bio:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"5\"\/><path d=\"M8 10h8M8 14h5\"\/>',\r\n  at:'<circle cx=\"12\" cy=\"12\" r=\"3.5\"\/><path d=\"M15.5 12v1.5a2.5 2.5 0 0 0 5 0V12a8.5 8.5 0 1 0-3.400 6.800\"\/>',\r\n  brief:'<rect x=\"3\" y=\"7\" width=\"18\" height=\"12\" rx=\"2.500\"\/><path d=\"M9 7V5.500A1.500 1.500 0 0 1 10.500 4h3A1.500 1.500 0 0 1 15 5.500V7M3 12.500h18\"\/>',\r\n  copy:'<rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"2.500\"\/><path d=\"M5 15V6a2 2 0 0 1 2-2h9\"\/>',\r\n  star:'<path d=\"M12 3.500l2.600 5.400 5.900.8-4.300 4.100 1 5.800-5.200-2.800-5.200 2.800 1-5.800L3.500 9.700l5.900-.8z\"\/>',\r\n  open:'<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"\/>',\r\n  up:'<path d=\"M12 19V6M6 11l6-6 6 6\"\/>',\r\n  down:'<path d=\"M12 5v13M6 13l6 6 6-6\"\/>',\r\n  del:'<path d=\"M6 6l12 12M18 6L6 18\"\/>'\r\n};\r\nvar TOOLS=[\r\n  {slug:'instagram-bio-generator',name:'Instagram Bio Generator',card:'Get bio options that say what you do in a few lines.',icon:'bio',\r\n   seoT:'Free Instagram Bio Generator | Bio Ideas for Business',meta:'Create an Instagram bio that explains what you do and drives action. Get ideas for brands, creators and small businesses.'},\r\n  {slug:'link-in-bio-page-builder',name:'Link-in-Bio Page Builder',card:'Put all your links on one clean page.',icon:'custom',\r\n   seoT:'Free Link in Bio Page Builder | One Link for Everything',meta:'Build a simple link-in-bio page with your website, WhatsApp, offers and social links. Free and easy, no coding needed.'},\r\n  {slug:'username-generator',name:'Username Idea Generator',card:'Find handle ideas that match your brand.',icon:'at',\r\n   seoT:'Brand Username Generator | Social Handle Ideas',meta:'Generate username ideas for Instagram, YouTube and X based on your brand or niche. Free username generator.'},\r\n  {slug:'linkedin-headline-generator',name:'LinkedIn Headline & About Generator',card:'Write a clear headline and About section.',icon:'brief',\r\n   seoT:'LinkedIn Headline & About Generator | Free Tool',meta:'Create a LinkedIn headline and About section that attract the right people. Enter your role and skills. Free generator.'},\r\n  {slug:'brand-name-tagline-generator',name:'Brand Name & Tagline Generator',card:'Get name and slogan ideas for your business.',icon:'offer',\r\n   seoT:'Brand Name & Tagline Generator | Free Business Names',meta:'Generate business name and tagline ideas from your keywords. Free brand name generator for startups and small businesses.'}\r\n];\r\nvar HUB={t:'Free Social Media Profile & Branding Tools | Bio, Names',m:'Write bios and LinkedIn headlines, build a link-in-bio page and generate usernames and brand names. Free profile tools.'};\r\n\r\n\/* ---------- editable result card ---------- *\/\r\nfunction resize(ta){ta.style.height='auto';ta.style.height=(ta.scrollHeight+2)+'px'}\r\nfunction resCard(text,limit,label,tag){\r\n  var d=document.createElement('div');d.className='res';\r\n  if(tag){var g=document.createElement('span');g.className='res-tag';g.textContent=tag;d.appendChild(g)}\r\n  var ta=document.createElement('textarea');ta.className='res-t';ta.value=text;ta.rows=1;ta.spellcheck=false;ta.setAttribute('aria-label',label);\r\n  var f=document.createElement('div');f.className='res-f';\r\n  var c=document.createElement('span');c.className='count';\r\n  var b=document.createElement('button');b.type='button';b.className='btn small';b.textContent='Copy';\r\n  function upd(){var n=len(ta.value);c.textContent=n+' \/ '+limit;c.classList.toggle('over',n>limit);resize(ta)}\r\n  ta.addEventListener('input',upd);\r\n  b.addEventListener('click',function(){copy(ta.value,label)});\r\n  f.appendChild(c);f.appendChild(b);d.appendChild(ta);d.appendChild(f);\r\n  d._upd=upd;\r\n  return d;\r\n}\r\nfunction mount(host,cards){\r\n  host.innerHTML='';\r\n  cards.forEach(function(c){host.appendChild(c)});\r\n  cards.forEach(function(c){c._upd()});\r\n}\r\nfunction emptyBox(host,msg){host.innerHTML='';var d=document.createElement('div');d.className='empty';d.textContent=msg;host.appendChild(d)}\r\nfunction resizeAll(){$$('.res-t').forEach(resize)}\r\n\r\n\/* ---------- brand ---------- *\/\r\nvar DEFAULT_BRAND={color:'#2F3CF0',name:'Your Brand',logo:null};\r\nvar brand=Object.assign({},DEFAULT_BRAND,get('pb-brand')||{});\r\nfunction hexOk(h){return \/^#[0-9a-f]{6}$\/i.test(h)}\r\nfunction lumOf(h){\r\n  var c=[1,3,5].map(function(i){var v=parseInt(h.substr(i,2),16)\/255;return v<=0.03928?v\/12.92:Math.pow((v+0.055)\/1.055,2.4)});\r\n  return 0.2126*c[0]+0.7152*c[1]+0.0722*c[2];\r\n}\r\nfunction inkOn(h){var L=lumOf(h);return (1.05)\/(L+0.05)>=(L+0.05)\/0.05?'#FFFFFF':'#10131F'}\r\nvar MARK='<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"9\" r=\"3.5\" fill=\"currentColor\"\/><path d=\"M5 19c.8-3.6 3.6-5 7-5s6.2 1.4 7 5\" fill=\"currentColor\"\/><\/svg>';\r\nfunction applyBrand(){\r\n  if(!hexOk(brand.color))brand.color=DEFAULT_BRAND.color;\r\n  root.style.setProperty('--brand',brand.color);\r\n  root.style.setProperty('--on-brand',inkOn(brand.color));\r\n  $('#brandName').textContent=brand.name||'Your Brand';\r\n  var m=$('#mark');m.innerHTML='';\r\n  if(brand.logo&&\/^data:image\\\/\/.test(brand.logo)){var im=document.createElement('img');im.alt='';im.src=brand.logo;m.appendChild(im)}else m.innerHTML=MARK;\r\n  if(typeof lpRefresh==='function')lpRefresh();\r\n}\r\nfunction saveBrand(){put('pb-brand',brand)}\r\nfunction readImage(file,max,cb){\r\n  if(!file||!\/^image\\\/\/.test(file.type))return;\r\n  var fr=new FileReader();\r\n  fr.onload=function(){\r\n    var im=new Image();\r\n    im.onload=function(){\r\n      var s=Math.min(1,max\/Math.max(im.width,im.height)),w=Math.max(1,Math.round(im.width*s)),h=Math.max(1,Math.round(im.height*s));\r\n      var cv=document.createElement('canvas');cv.width=w;cv.height=h;cv.getContext('2d').drawImage(im,0,0,w,h);\r\n      try{cb(cv.toDataURL('image\/png'))}catch(e){toast('Could not read that image')}\r\n    };\r\n    im.onerror=function(){toast('Could not read that image')};\r\n    im.src=fr.result;\r\n  };\r\n  fr.readAsDataURL(file);\r\n}\r\n$('#brandBtn').addEventListener('click',function(){\r\n  var s=$('#brandset'),open=s.hidden;s.hidden=!open;this.setAttribute('aria-expanded',open?'true':'false');\r\n  if(open){$('#bs-name').value=brand.name;$('#bs-color').value=brand.color;$('#bs-hex').value=brand.color.toUpperCase()}\r\n});\r\n$('#bs-done').addEventListener('click',function(){$('#brandset').hidden=true;$('#brandBtn').setAttribute('aria-expanded','false')});\r\n$('#bs-name').addEventListener('input',function(){brand.name=clean(this.value).slice(0,40);saveBrand();applyBrand()});\r\n$('#bs-color').addEventListener('input',function(){brand.color=this.value;$('#bs-hex').value=this.value.toUpperCase();saveBrand();applyBrand()});\r\n$('#bs-hex').addEventListener('input',function(){\r\n  var v=this.value.trim();if(v&&v.charAt(0)!=='#')v='#'+v;\r\n  if(hexOk(v)){brand.color=v;$('#bs-color').value=v;saveBrand();applyBrand()}\r\n});\r\n$('#bs-file').addEventListener('change',function(){\r\n  readImage(this.files[0],160,function(d){brand.logo=d;saveBrand();applyBrand()});this.value='';\r\n});\r\n$('#bs-rmlogo').addEventListener('click',function(){brand.logo=null;saveBrand();applyBrand()});\r\n$('#bs-reset').addEventListener('click',function(){\r\n  brand=Object.assign({},DEFAULT_BRAND);saveBrand();applyBrand();\r\n  $('#bs-name').value=brand.name;$('#bs-color').value=brand.color;$('#bs-hex').value=brand.color.toUpperCase();\r\n});\r\ndocument.addEventListener('keydown',function(e){if(e.key==='Escape'&&!$('#brandset').hidden){$('#brandset').hidden=true;$('#brandBtn').setAttribute('aria-expanded','false')}});\r\n\r\n\/* ---------- theme ---------- *\/\r\nfunction isDark(){var t=root.getAttribute('data-theme');if(t)return t==='dark';return !!(window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches)}\r\nvar th=get('pb-theme');if(th==='dark'||th==='light')root.setAttribute('data-theme',th);\r\n$('#themeBtn').addEventListener('click',function(){var n=isDark()?'light':'dark';root.setAttribute('data-theme',n);put('pb-theme',n)});\r\n\r\n\/* ---------- router + panel headers ---------- *\/\r\nvar tabsEl=$('#tabs');\r\nTOOLS.forEach(function(t){\r\n  var b=document.createElement('button');b.type='button';b.className='tab';b.setAttribute('data-slug',t.slug);\r\n  b.innerHTML='<span class=\"tab-i\">'+svg(IC[t.icon])+'<\/span><span class=\"tab-t\"><span class=\"tab-n\"><\/span><span class=\"tab-c\"><\/span><\/span>';\r\n  b.querySelector('.tab-n').textContent=t.name;b.querySelector('.tab-c').textContent=t.card;\r\n  b.addEventListener('click',function(){show(t.slug,true)});\r\n  tabsEl.appendChild(b);\r\n  var p=$('#p-'+t.slug),h=$('.ph',p);\r\n  h.innerHTML='<h2><\/h2><p><\/p><details class=\"seo\"><summary>SEO title and meta description<\/summary>'+\r\n    '<div class=\"seo-row\"><b>Title<\/b><span class=\"s1\"><\/span><button class=\"btn small\" type=\"button\">Copy<\/button><\/div>'+\r\n    '<div class=\"seo-row\"><b>Meta<\/b><span class=\"s2\"><\/span><button class=\"btn small\" type=\"button\">Copy<\/button><\/div><\/details>';\r\n  $('h2',h).textContent=t.name;$('p',h).textContent=t.card;\r\n  $('.s1',h).textContent=t.seoT;$('.s2',h).textContent=t.meta;\r\n  var cb=$$('.seo-row button',h);\r\n  cb[0].addEventListener('click',function(){copy(t.seoT,'SEO title')});\r\n  cb[1].addEventListener('click',function(){copy(t.meta,'meta description')});\r\n});\r\nfunction setMeta(t,m){\r\n  document.title=t;\r\n  var el=$('meta[name=\"description\"]');if(el)el.setAttribute('content',m);\r\n}\r\nfunction show(slug,scroll){\r\n  var t=TOOLS.filter(function(x){return x.slug===slug})[0]||TOOLS[0];\r\n  TOOLS.forEach(function(x){$('#p-'+x.slug).hidden=x.slug!==t.slug});\r\n  $$('.tab').forEach(function(b){b.setAttribute('aria-current',b.getAttribute('data-slug')===t.slug?'true':'false')});\r\n  setMeta(t.seoT,t.meta);\r\n  try{history.replaceState(null,'','#'+t.slug)}catch(e){}\r\n  resizeAll();\r\n  if(scroll){var p=$('#p-'+t.slug);try{p.scrollIntoView({behavior:'smooth',block:'start'})}catch(e){p.scrollIntoView()}}\r\n}\r\n\r\n\/* ================= 1. Instagram ================= *\/\r\nvar EM={spark:'\u2728',pin:'\ud83d\udccd',point:'\ud83d\udc47',wave:'\ud83d\udc4b',fire:'\ud83d\udd25',heart:'\ud83d\udc9b',bolt:'\u26a1',check:'\u2714\ufe0f',star:'\u2b50',smile:'\ud83d\ude0a'};\r\nfunction L(cond,text,opt){return cond?{t:text,o:!!opt}:null}\r\nvar IGT={\r\n  friendly:[\r\n    function(c){return [L(c.doo,c.doFor+c.suf('spark')),L(c.loc,c.pre('pin')+c.loc,1),L(c.proof,c.proof,1),L(c.cta,c.pre('point')+c.cta)]},\r\n    function(c){return [L(c.name,c.name+c.suf('wave')),L(c.doo,c.doFor),L(c.loc,'Based in '+c.loc,1),L(c.proof,c.pre('heart')+c.proof,1),L(c.cta,c.cta+c.suf('point'))]},\r\n    function(c){return [L(c.doo,c.pre('smile')+c.doFor),L(c.proof,c.proof,1),L(c.cta,c.pre('point')+c.cta)]},\r\n    function(c){return [L(c.name||c.doo,[c.name,c.doo,c.loc].filter(Boolean).join(' \u00b7 ')),L(c.proof,c.proof,1),L(c.cta,c.pre('point')+c.cta)]}\r\n  ],\r\n  professional:[\r\n    function(c){return [L(c.name&&c.doo,c.name+' | '+c.doo),L(c.who,'Helping '+c.who,1),L(c.proof,c.proof,1),L(c.loc,c.loc,1),L(c.cta,c.cta+' \u2193')]},\r\n    function(c){return [L(c.doo,c.doFor),L(c.proof,c.proof,1),L(c.loc,'Serving '+c.loc,1),L(c.cta,c.cta+' \u2193')]},\r\n    function(c){return [L(c.name,c.name),L(c.doo,c.doFor),L(c.proof,c.proof,1),L(c.cta,c.cta)]},\r\n    function(c){return [L(c.doo,c.doo+(c.loc?' \u00b7 '+c.loc:'')),L(c.who,'For '+c.who,1),L(c.proof,c.proof,1),L(c.cta,'\u2192 '+c.cta)]},\r\n    function(c){return [L(c.doo,c.doFor),L(c.loc,c.pre('pin')+c.loc,1),L(c.proof,c.pre('check')+c.proof,1),L(c.cta,c.pre('point')+c.cta)]}\r\n  ],\r\n  bold:[\r\n    function(c){return [L(c.doo,c.doFor+'. No fluff.'),L(c.proof,c.proof,1),L(c.loc,c.loc,1),L(c.cta,c.cta+c.suf('fire'))]},\r\n    function(c){return [L(c.name,c.name+'.'),L(c.doo,c.doFor+'.'),L(c.proof,c.proof+'.',1),L(c.cta,c.cta+'.')]},\r\n    function(c){return [L(c.doo,c.pre('bolt')+c.doo),L(c.who,'Built for '+c.who,1),L(c.proof,c.proof,1),L(c.cta,c.cta)]},\r\n    function(c){return [L(c.doo,c.doFor.toUpperCase()),L(c.proof,c.proof,1),L(c.loc,c.loc,1),L(c.cta,c.cta+' \u2192')]}\r\n  ],\r\n  minimal:[\r\n    function(c){return [L(c.doo,c.doFor),L(c.loc,c.loc,1),L(c.cta,c.cta)]},\r\n    function(c){return [L(c.name||c.doo,(c.name&&c.doo)?c.name+' \u00b7 '+c.doo:(c.name||c.doo)),L(c.cta,c.cta)]},\r\n    function(c){return [L(c.doo,c.doFor),L(c.loc,c.loc,1),L(c.proof,c.proof,1)]},\r\n    function(c){return [L(c.doo,c.doo+(c.loc?', '+c.loc:'')),L(c.cta,'\u21b3 '+c.cta)]}\r\n  ],\r\n  playful:[\r\n    function(c){return [L(c.doo,c.pre('spark')+c.doFor+c.suf('spark')),L(c.loc,'Hello from '+c.loc+c.suf('wave'),1),L(c.proof,c.proof,1),L(c.cta,c.cta+c.suf('point'))]},\r\n    function(c){return [L(c.name,c.name+c.suf('smile')),L(c.doo,c.doFor),L(c.proof,c.pre('star')+c.proof,1),L(c.cta,c.pre('point')+c.cta)]},\r\n    function(c){return [L(true,'Here for '+(c.who||'you')+c.suf('heart')),L(c.doo,c.doo),L(c.loc,c.loc,1),L(c.cta,c.cta)]},\r\n    function(c){return [L(c.name,c.pre('wave')+c.name),L(c.doo,c.doFor),L(c.cta,c.cta+c.suf('point'))]}\r\n  ]\r\n};\r\nvar TONES=['friendly','professional','bold','minimal','playful'];\r\nfunction igCtx(){\r\n  var c={name:stripEnd(val('ig-name')),doo:stripEnd(val('ig-do')),who:stripEnd(val('ig-who')),loc:stripEnd(val('ig-loc')),proof:stripEnd(val('ig-proof')),cta:stripEnd(val('ig-cta')),emo:$('#ig-emo').checked};\r\n  c.pre=function(k){return c.emo?EM[k]+' ':''};\r\n  c.suf=function(k){return c.emo?' '+EM[k]:''};\r\n  c.doFor=c.who?c.doo+' for '+c.who:c.doo;\r\n  return c;\r\n}\r\nfunction buildBio(tpl,c){\r\n  var lines=tpl(c).filter(Boolean),seen={};\r\n  lines=lines.filter(function(l){var k=l.t.toLowerCase();if(seen[k])return false;seen[k]=1;return true});\r\n  function join(){return lines.map(function(l){return l.t}).join('\\n')}\r\n  while(len(join())>150){\r\n    var idx=-1;for(var i=lines.length-1;i>=0;i--){if(lines[i].o){idx=i;break}}\r\n    if(idx<0)break;lines.splice(idx,1);\r\n  }\r\n  return join();\r\n}\r\nfunction genIG(){\r\n  var c=igCtx(),err=$('#ig-err');\r\n  if(!c.doo){err.textContent='Add what you do first.';return}\r\n  err.textContent='';\r\n  var tone=radio('ig-tone')||'friendly',out=[],seen={};\r\n  function add(t,tn){if(!t||seen[t])return;seen[t]=1;out.push({t:t,tone:tn})}\r\n  shuffle(IGT[tone]).forEach(function(tp){add(buildBio(tp,c),tone)});\r\n  var others=[];TONES.forEach(function(tn){if(tn!==tone)IGT[tn].forEach(function(tp){others.push([tp,tn])})});\r\n  shuffle(others).forEach(function(p){if(out.length<6)add(buildBio(p[0],c),p[1])});\r\n  mount($('#ig-out'),out.map(function(o,i){return resCard(o.t,150,'bio '+(i+1),cap(o.tone))}));\r\n}\r\n$('#ig-go').addEventListener('click',genIG);\r\n\r\n\/* ================= 2. Link in bio ================= *\/\r\nvar LTYPES=[\r\n  {k:'website',l:'Website',ph:'yourwebsite.com',def:'Visit our website'},\r\n  {k:'whatsapp',l:'WhatsApp',ph:'Phone with country code, e.g. 919876543210',def:'Chat on WhatsApp'},\r\n  {k:'offer',l:'Offer',ph:'yourwebsite.com\/offer',def:'Get your offer'},\r\n  {k:'instagram',l:'Instagram',ph:'@handle or full link',def:'Instagram'},\r\n  {k:'youtube',l:'YouTube',ph:'@handle or full link',def:'YouTube'},\r\n  {k:'x',l:'X',ph:'@handle or full link',def:'X'},\r\n  {k:'linkedin',l:'LinkedIn',ph:'handle or full link',def:'LinkedIn'},\r\n  {k:'email',l:'Email',ph:'you@yourbrand.com',def:'Email us'},\r\n  {k:'custom',l:'Other link',ph:'https:\/\/',def:'My link'}\r\n];\r\nfunction ltype(k){return LTYPES.filter(function(t){return t.k===k})[0]||LTYPES[LTYPES.length-1]}\r\nvar HANDLE={instagram:'https:\/\/instagram.com\/',x:'https:\/\/x.com\/',youtube:'https:\/\/youtube.com\/@',linkedin:'https:\/\/linkedin.com\/in\/'};\r\nfunction linkHref(l){\r\n  var v=clean(l.value),t=l.type;if(!v)return '';\r\n  if(t==='whatsapp'){var d=v.replace(\/\\D\/g,'');if(d.length<8||d.length>15)return '';return 'https:\/\/wa.me\/'+d+(clean(l.msg)?'?text='+encodeURIComponent(clean(l.msg)):'')}\r\n  if(t==='email'){if(\/^mailto:\/i.test(v))return v;return \/^[^\\s@]+@[^\\s@]+$\/.test(v)?'mailto:'+v:''}\r\n  if(HANDLE[t]&&!\/[\\\/.]\/.test(v))return HANDLE[t]+v.replace(\/^@\/,'');\r\n  if(\/^(https?:|mailto:|tel:)\/i.test(v))return v;\r\n  if(\/^[a-z][a-z0-9+.-]*:\/i.test(v)&&!\/^[a-z0-9.-]+:\\d+\/i.test(v))return '';\r\n  return 'https:\/\/'+v.replace(\/^\\\/+\/,'');\r\n}\r\nvar LP=get('pb-link')||null;\r\nvar LP_DEF={name:'',bio:'Short line about what you do. Edit me.',avatar:null,bg:'light',st:'filled',rd:'14px',\r\n  links:[\r\n    {type:'website',label:'Visit our website',value:'yourwebsite.com',msg:''},\r\n    {type:'whatsapp',label:'Chat on WhatsApp',value:'919999999999',msg:'Hi! I found you through your link page.'},\r\n    {type:'offer',label:'Get 10% off your first order',value:'yourwebsite.com\/offer',msg:''},\r\n    {type:'instagram',label:'Instagram',value:'yourbrand',msg:''}\r\n  ]};\r\nif(!LP||!Array.isArray(LP.links))LP=JSON.parse(JSON.stringify(LP_DEF));\r\nLP.links=LP.links.filter(function(l){return l&&typeof l==='object'}).map(function(l){return {type:ltype(l.type).k,label:String(l.label||''),value:String(l.value||''),msg:String(l.msg||'')}});\r\nif(LP.avatar&&!\/^data:image\\\/\/.test(LP.avatar))LP.avatar=null;\r\nvar LP_CSS='.lp{box-sizing:border-box;min-height:100%;background:var(--lp-bg);color:var(--lp-fg);font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,sans-serif;padding:40px 20px 32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;line-height:1.4}'+\r\n'.lp *{box-sizing:border-box}'+\r\n'.lp-av{width:88px;height:88px;border-radius:50%;object-fit:cover;background:var(--lp-accent);color:var(--lp-on);display:grid;place-items:center;font-weight:700;font-size:34px;flex:none}'+\r\n'.lp-n{font-size:21px;font-weight:700;margin:4px 0 0}'+\r\n'.lp-b{margin:0;font-size:14px;max-width:32ch;color:color-mix(in srgb,var(--lp-fg) 70%,var(--lp-bg))}'+\r\n'.lp-ls{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin-top:10px}'+\r\n'.lp-a{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--lp-r);text-decoration:none;font-weight:600;font-size:15px;border:2px solid var(--lp-accent);color:var(--lp-fg)}'+\r\n'.lp-a svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}'+\r\n'.lp-a span{flex:1;text-align:center;padding-right:20px}'+\r\n'.lp[data-s=filled] .lp-a{background:var(--lp-accent);color:var(--lp-on)}'+\r\n'.lp[data-s=outline] .lp-a{background:transparent}'+\r\n'.lp[data-s=soft] .lp-a{background:color-mix(in srgb,var(--lp-accent) 16%,var(--lp-bg));border-color:transparent}';\r\nvar styleEl=document.createElement('style');styleEl.textContent=LP_CSS+'.lp{--lp-bg:#fff;--lp-fg:#14161f;--lp-accent:#2f3cf0;--lp-on:#fff;--lp-r:14px}';document.head.appendChild(styleEl);\r\nfunction lpVars(){\r\n  var bg=LP.bg,B=brand.color,onB=inkOn(B),v={};\r\n  if(bg==='dark'){v['--lp-bg']='#12141c';v['--lp-fg']='#f2f3f8';v['--lp-accent']=B;v['--lp-on']=onB}\r\n  else if(bg==='brand'){v['--lp-bg']=B;v['--lp-fg']=onB;v['--lp-accent']=onB;v['--lp-on']=B}\r\n  else{v['--lp-bg']='#f7f7fa';v['--lp-fg']='#14161f';v['--lp-accent']=B;v['--lp-on']=onB}\r\n  v['--lp-r']=LP.rd;\r\n  return Object.keys(v).map(function(k){return k+':'+v[k]}).join(';');\r\n}\r\nfunction lpName(){return clean(LP.name)||clean(brand.name)||'Your Brand'}\r\nfunction lpInner(){\r\n  var nm=lpName(),av=LP.avatar||brand.logo,h='';\r\n  if(av&&\/^data:image\\\/\/.test(av))h+='<img decoding=\"async\" class=\"lp-av\" alt=\"\" src=\"'+esc(av)+'\">';\r\n  else h+='<div class=\"lp-av\">'+esc(nm.charAt(0).toUpperCase())+'<\/div>';\r\n  h+='<h1 class=\"lp-n\">'+esc(nm)+'<\/h1>';\r\n  if(clean(LP.bio))h+='<p class=\"lp-b\">'+esc(clean(LP.bio))+'<\/p>';\r\n  h+='<div class=\"lp-ls\">';\r\n  LP.links.forEach(function(l){\r\n    var href=linkHref(l);if(!href)return;\r\n    var lab=clean(l.label)||ltype(l.type).def;\r\n    h+='<a class=\"lp-a\" href=\"'+esc(href)+'\" target=\"_blank\" rel=\"noopener noreferrer\">'+svg(IC[l.type]||IC.custom)+'<span>'+esc(lab)+'<\/span><\/a>';\r\n  });\r\n  return h+'<\/div>';\r\n}\r\nfunction lpExport(){\r\n  var nm=lpName();\r\n  return '<!doctype html>\\n<html lang=\"en\">\\n<head>\\n<meta charset=\"utf-8\">\\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\\n<title>'+esc(nm)+'<\/title>\\n<meta name=\"description\" content=\"'+esc(clean(LP.bio))+'\">\\n<style>\\nhtml,body{margin:0}\\nbody.lp{min-height:100vh}\\n'+LP_CSS.replace(\/\\}\/g,'}\\n')+'<\/style>\\n<\/head>\\n<body class=\"lp\" data-s=\"'+esc(LP.st)+'\" style=\"'+esc(lpVars())+'\">\\n'+lpInner()+'\\n<\/body>\\n<\/html>\\n';\r\n}\r\nfunction lpSave(){put('pb-link',LP)}\r\nfunction lpRefresh(){\r\n  var p=$('#lp-prev');if(!p)return;\r\n  p.style.cssText=lpVars();p.setAttribute('data-s',LP.st);p.innerHTML=lpInner();\r\n  var av=$('#lp-avprev'),src=LP.avatar||brand.logo;av.innerHTML='';\r\n  if(src&&\/^data:image\\\/\/.test(src)){var im=document.createElement('img');im.alt='';im.src=src;av.appendChild(im)}else av.textContent=lpName().charAt(0).toUpperCase();\r\n  var code=$('#lp-code');if(!code.hidden)code.value=lpExport();\r\n}\r\nfunction lpRows(){\r\n  var host=$('#lp-rows');host.innerHTML='';\r\n  LP.links.forEach(function(l,i){\r\n    var r=document.createElement('div'),t=ltype(l.type);r.className='lrow';\r\n    var f=document.createElement('div');f.className='lrow-f';\r\n    var sel=document.createElement('select');sel.className='inp';sel.setAttribute('aria-label','Link type');\r\n    LTYPES.forEach(function(x){var o=document.createElement('option');o.value=x.k;o.textContent=x.l;if(x.k===l.type)o.selected=true;sel.appendChild(o)});\r\n    var lab=document.createElement('input');lab.className='inp';lab.placeholder=t.def;lab.value=l.label;lab.maxLength=60;lab.setAttribute('aria-label','Button text');\r\n    var vl=document.createElement('input');vl.className='inp full';vl.placeholder=t.ph;vl.value=l.value;vl.setAttribute('aria-label','Link address');vl.autocomplete='off';\r\n    f.appendChild(sel);f.appendChild(lab);f.appendChild(vl);\r\n    var msg=null;\r\n    if(l.type==='whatsapp'){msg=document.createElement('input');msg.className='inp full';msg.placeholder='Message that opens in the chat (optional)';msg.value=l.msg;msg.setAttribute('aria-label','WhatsApp message');f.appendChild(msg)}\r\n    function bad(){r.classList.toggle('bad',!linkHref(l))}\r\n    sel.addEventListener('change',function(){l.type=sel.value;lpSave();lpRows();lpRefresh()});\r\n    lab.addEventListener('input',function(){l.label=lab.value;lpSave();lpRefresh()});\r\n    vl.addEventListener('input',function(){l.value=vl.value;bad();lpSave();lpRefresh()});\r\n    if(msg)msg.addEventListener('input',function(){l.msg=msg.value;lpSave();lpRefresh()});\r\n    var b=document.createElement('div');b.className='lrow-b';\r\n    [['up','Move up',-1],['down','Move down',1],['del','Remove link',0]].forEach(function(x){\r\n      var ib=document.createElement('button');ib.type='button';ib.className='ib';ib.setAttribute('aria-label',x[1]);ib.innerHTML=svg(IC[x[0]]);\r\n      ib.addEventListener('click',function(){\r\n        if(x[2]===0)LP.links.splice(i,1);\r\n        else{var j=i+x[2];if(j<0||j>=LP.links.length)return;var tmp=LP.links[i];LP.links[i]=LP.links[j];LP.links[j]=tmp}\r\n        lpSave();lpRows();lpRefresh();\r\n      });\r\n      b.appendChild(ib);\r\n    });\r\n    r.appendChild(f);r.appendChild(b);bad();host.appendChild(r);\r\n  });\r\n  if(!LP.links.length){var e=document.createElement('p');e.className='note';e.textContent='No links yet. Add one below.';host.appendChild(e)}\r\n}\r\n(function initLP(){\r\n  var add=$('#lp-add');\r\n  LTYPES.forEach(function(t){\r\n    var b=document.createElement('button');b.type='button';b.className='btn small';b.textContent='+ '+t.l;\r\n    b.addEventListener('click',function(){\r\n      if(LP.links.length>=12){toast('Up to 12 links');return}\r\n      LP.links.push({type:t.k,label:'',value:'',msg:''});lpSave();lpRows();lpRefresh();\r\n      var ins=$$('#lp-rows .lrow');var last=ins[ins.length-1];if(last){var f=$('input.full',last)||$('input',last);if(f)f.focus()}\r\n    });\r\n    add.appendChild(b);\r\n  });\r\n  $('#lp-name').value=LP.name;$('#lp-bio').value=LP.bio;\r\n  $('#lp-name').placeholder=brand.name;\r\n  $('#lp-name').addEventListener('input',function(){LP.name=this.value;lpSave();lpRefresh()});\r\n  $('#lp-bio').addEventListener('input',function(){LP.bio=this.value;lpSave();lpRefresh()});\r\n  function setRadio(name,v){$$('input[name=\"'+name+'\"]').forEach(function(r){r.checked=r.value===v})}\r\n  setRadio('lp-bg',LP.bg);setRadio('lp-st',LP.st);setRadio('lp-rd',LP.rd);\r\n  $$('input[name=\"lp-bg\"]').forEach(function(r){r.addEventListener('change',function(){LP.bg=r.value;lpSave();lpRefresh()})});\r\n  $$('input[name=\"lp-st\"]').forEach(function(r){r.addEventListener('change',function(){LP.st=r.value;lpSave();lpRefresh()})});\r\n  $$('input[name=\"lp-rd\"]').forEach(function(r){r.addEventListener('change',function(){LP.rd=r.value;lpSave();lpRefresh()})});\r\n  $('#lp-file').addEventListener('change',function(){readImage(this.files[0],200,function(d){LP.avatar=d;lpSave();lpRefresh()});this.value=''});\r\n  $('#lp-rmav').addEventListener('click',function(){LP.avatar=null;lpSave();lpRefresh()});\r\n  $('#lp-copy').addEventListener('click',function(){\r\n    if(!LP.links.some(linkHref)){toast('Add at least one valid link first');return}\r\n    copy(lpExport(),'page HTML');\r\n  });\r\n  $('#lp-showcode').addEventListener('click',function(){\r\n    var c=$('#lp-code');c.hidden=!c.hidden;this.textContent=c.hidden?'Show code':'Hide code';if(!c.hidden)c.value=lpExport();\r\n  });\r\n  lpRows();\r\n})();\r\n\r\n\/* ================= 3. Username ================= *\/\r\nvar PLAT={\r\n  instagram:{name:'Instagram',min:1,max:30,re:\/^[a-z0-9._]+$\/,url:'https:\/\/instagram.com\/',rule:'Instagram: letters, numbers, dots and underscores. Up to 30 characters.',seps:['.','_']},\r\n  youtube:{name:'YouTube',min:3,max:30,re:\/^[a-z0-9._-]+$\/,url:'https:\/\/youtube.com\/@',rule:'YouTube: letters, numbers, dots, dashes and underscores. 3 to 30 characters.',seps:['.','_']},\r\n  x:{name:'X',min:4,max:15,re:\/^[a-z0-9_]+$\/,url:'https:\/\/x.com\/',rule:'X: letters, numbers and underscores. 4 to 15 characters.',seps:['_']}\r\n};\r\nfunction wordsOf(s){return String(s||'').toLowerCase().replace(\/&\/g,' ').split(\/[^a-z0-9]+\/).filter(Boolean)}\r\nfunction validHandle(h,p){\r\n  if(h.length<p.min||h.length>p.max||!p.re.test(h))return false;\r\n  if(\/^[._-]|[._-]$\/.test(h)||\/[._-]{2}\/.test(h))return false;\r\n  return true;\r\n}\r\nvar U_PRE=['the','get','its','hey','meet','team','go','try','join','real','shop'];\r\nvar U_SUF=['hq','co','studio','official','labs','hub','world','daily','now','club','works','lab','online'];\r\nvar U_NICHE=['daily','tips','lab','hub','studio','club','co','school','guide'];\r\nvar U_CRE=['wave','craft','spark','nest','bloom','orbit','north','glow','pulse','loop'];\r\nfunction genUsernames(brandRaw,nicheRaw,pk,style,nums,seps){\r\n  var p=PLAT[pk],bw=wordsOf(brandRaw),bj=bw.join(''),nw=splitList(nicheRaw).map(function(s){return s.toLowerCase().replace(\/[^a-z0-9]\/g,'')}).filter(Boolean);\r\n  var core=bj?[bj].concat(bw.length>1?[bw[0],bw[bw.length-1]]:[]):nw.slice(0,2);\r\n  var sepList=[''];if(seps)sepList=sepList.concat(p.seps);\r\n  var c=[];\r\n  function push(x){if(x)c.push(x)}\r\n  core.forEach(function(b){\r\n    push(b);\r\n    sepList.forEach(function(s){\r\n      if(style!=='creative'){\r\n        shuffle(U_SUF).slice(0,5).forEach(function(x){push(b+s+x)});\r\n        shuffle(U_PRE).slice(0,4).forEach(function(x){push(x+s+b)});\r\n      }\r\n      if(style!=='clean'){\r\n        nw.forEach(function(n){push(b+s+n);push(n+s+b);shuffle(U_NICHE).slice(0,2).forEach(function(x){push(n+s+x)});push('my'+s+n)});\r\n      }\r\n      if(style==='creative'){\r\n        shuffle(U_CRE).slice(0,5).forEach(function(x){push(b+s+x);push(x+s+b)});\r\n        shuffle(U_PRE).slice(0,3).forEach(function(x){push(x+s+b)});\r\n      }\r\n    });\r\n    if(nums){['1','7','21','24','26','99'].forEach(function(n){push(b+n);if(seps&&p.seps.indexOf('_')>-1)push(b+'_'+n)})}\r\n  });\r\n  if(!core.length)return [];\r\n  var seen={},res=[];\r\n  var first=core[0];\r\n  c.forEach(function(x){x=x.toLowerCase();if(!seen[x]&&validHandle(x,p)){seen[x]=1;res.push(x)}});\r\n  var head=res.indexOf(first)>-1?[first]:[];\r\n  var rest=shuffle(res.filter(function(x){return x!==first}));\r\n  return head.concat(rest).slice(0,24);\r\n}\r\nvar FAV=get('pb-fav-user');if(!Array.isArray(FAV))FAV=[];\r\nfunction favSave(){put('pb-fav-user',FAV)}\r\nfunction renderShort(){\r\n  var s=$('#u-short'),l=$('#u-shortlist');s.hidden=!FAV.length;l.innerHTML='';\r\n  FAV.forEach(function(f){\r\n    var d=document.createElement('span');d.className='pillx';\r\n    var t=document.createElement('span');t.textContent='@'+f.h;\r\n    var b=document.createElement('button');b.type='button';b.setAttribute('aria-label','Remove '+f.h);b.innerHTML=svg(IC.del);\r\n    b.addEventListener('click',function(){FAV=FAV.filter(function(x){return x.h!==f.h});favSave();renderShort();renderUsers.last&&renderUsers(renderUsers.last)});\r\n    d.appendChild(t);d.appendChild(b);l.appendChild(d);\r\n  });\r\n}\r\nfunction renderUsers(list){\r\n  renderUsers.last=list;\r\n  var host=$('#u-out'),p=PLAT[radio('u-plat')||'instagram'];\r\n  host.innerHTML='';\r\n  if(!list.length){var e=document.createElement('div');e.className='empty';e.style.gridColumn='1\/-1';e.textContent='No handles fit these limits. Try a shorter brand name, more keywords or turn on dots and underscores.';host.appendChild(e);return}\r\n  list.forEach(function(h){\r\n    var d=document.createElement('div');d.className='chip';\r\n    var n=document.createElement('div');n.className='chip-n';n.textContent='@'+h;\r\n    var m=document.createElement('div');m.className='chip-m';m.textContent=h.length+' \/ '+p.max+' characters';\r\n    var b=document.createElement('div');b.className='chip-b';\r\n    var cp=document.createElement('button');cp.type='button';cp.className='ib';cp.setAttribute('aria-label','Copy @'+h);cp.innerHTML=svg(IC.copy);cp.addEventListener('click',function(){copy('@'+h,'@'+h)});\r\n    var st=document.createElement('button');st.type='button';st.className='ib';st.setAttribute('aria-label','Add @'+h+' to shortlist');\r\n    var on=FAV.some(function(f){return f.h===h});st.setAttribute('aria-pressed',on?'true':'false');st.innerHTML=svg(IC.star);\r\n    st.addEventListener('click',function(){\r\n      var i=-1;FAV.forEach(function(f,k){if(f.h===h)i=k});\r\n      if(i>-1)FAV.splice(i,1);else FAV.push({h:h,p:radio('u-plat')||'instagram'});\r\n      favSave();st.setAttribute('aria-pressed',i>-1?'false':'true');renderShort();\r\n    });\r\n    var op=document.createElement('a');op.className='ib';op.href=p.url+h;op.target='_blank';op.rel='noopener noreferrer';op.setAttribute('aria-label','Check @'+h+' on '+p.name);op.title='Check on '+p.name;op.innerHTML=svg(IC.open);\r\n    b.appendChild(cp);b.appendChild(st);b.appendChild(op);\r\n    d.appendChild(n);d.appendChild(m);d.appendChild(b);host.appendChild(d);\r\n  });\r\n}\r\nfunction genUser(){\r\n  var err=$('#u-err');\r\n  if(!clean(val('u-brand'))&&!clean(val('u-niche'))){err.textContent='Add a brand name or a niche keyword first.';return}\r\n  err.textContent='';\r\n  var pk=radio('u-plat')||'instagram';\r\n  $('#u-rule').textContent=PLAT[pk].rule;\r\n  renderUsers(genUsernames(val('u-brand'),val('u-niche'),pk,radio('u-style')||'clean',$('#u-nums').checked,$('#u-seps').checked));\r\n}\r\n$('#u-go').addEventListener('click',genUser);\r\n$$('input[name=\"u-plat\"]').forEach(function(r){r.addEventListener('change',genUser)});\r\n$('#u-copyall').addEventListener('click',function(){if(FAV.length)copy(FAV.map(function(f){return '@'+f.h}).join('\\n'),'shortlist')});\r\n\r\n\/* ================= 4. LinkedIn ================= *\/\r\nfunction liCtx(){\r\n  return {role:stripEnd(val('li-role')),ind:stripEnd(val('li-ind')),skills:splitList(val('li-skills')).slice(0,6),who:stripEnd(val('li-who')),out:stripEnd(val('li-out')),\r\n    proof:stripEnd(val('li-proof')),years:clean(val('li-years')).replace(\/\\D\/g,''),cta:clean(val('li-cta')),tone:radio('li-tone')||'professional'};\r\n}\r\nfunction trim220(t){\r\n  t=clean(t);if(t.length<=220)return t;\r\n  var parts=t.split(' | ');\r\n  while(parts.length>1&&parts.join(' | ').length>220)parts.pop();\r\n  t=parts.join(' | ');\r\n  return t.length>220?t.slice(0,217).replace(\/\\s+\\S*$\/,'')+'...':t;\r\n}\r\nfunction headlines(c){\r\n  var out=[],sk=c.skills;\r\n  function add(t){t=trim220(t);if(t&&out.indexOf(t)<0)out.push(t)}\r\n  if(sk.length)add(c.role+' | '+sk.slice(0,3).join(' | '));\r\n  if(c.who&&c.out)add(c.role+' | Helping '+c.who+' '+c.out);\r\n  if(c.proof)add(c.role+(c.ind?' in '+c.ind:'')+' | '+c.proof);\r\n  if(sk.length>1)add(c.role+' | '+sk[0]+' & '+sk[1]+(c.cta&&c.cta.length<=34?' | '+c.cta.replace(\/[.!]+$\/,''):''));\r\n  if(c.years)add((c.ind?c.ind+' ':'')+c.role+' | '+c.years+'+ years of experience'+(sk.length?' | '+sk.slice(0,2).join(', '):''));\r\n  if(c.who&&c.out)add('Helping '+c.who+' '+c.out+' | '+c.role);\r\n  if(out.length<3)add(c.role+(c.ind?' | '+c.ind:''));\r\n  return out.slice(0,5);\r\n}\r\nfunction aboutText(c,full){\r\n  var role=c.role,sk=c.skills,t=c.tone,P=[];\r\n  var hook;\r\n  if(c.who&&c.out){\r\n    hook=t==='friendly'?'I love helping '+c.who+' '+c.out+'.':t==='confident'?cap(c.who)+' come to me to '+c.out+'.':'I help '+c.who+' '+c.out+'.';\r\n  }else hook=(t==='friendly'?'Hi, I am a ':'I am a ')+role+(c.ind?' working in '+c.ind:'')+'.';\r\n  P.push(hook);\r\n  if(full){\r\n    var yrs=c.years?c.years+'+ years':'';\r\n    var body;\r\n    if(t==='friendly')body=\"I'm a \"+role+(c.ind?' working in '+c.ind:'')+(yrs?\", and I've been at it for \"+yrs:'')+'.'+(sk.length?' My day-to-day is '+listJoin(sk.map(lc1))+'.':'');\r\n    else if(t==='confident')body=(yrs?yrs+' as a '+role:'I am a '+role)+(c.ind?' in '+c.ind:'')+'.'+(sk.length?' '+cap(listJoin(sk.map(lc1)))+' are what I do best.':'');\r\n    else body='As a '+role+(yrs?' with '+yrs+' of experience':'')+(c.ind?' in '+c.ind:'')+(sk.length?', I focus on '+listJoin(sk.map(lc1))+'.':'.');\r\n    P.push(body);\r\n  }\r\n  if(c.proof)P.push((t==='friendly'?'A few highlights: ':'')+c.proof+'.');\r\n  if(full&&sk.length)P.push((t==='friendly'?'Here is what I can help with:\\n':'What I can help with:\\n')+sk.map(function(s){return '\u2022 '+cap(s)}).join('\\n'));\r\n  if(c.cta)P.push(c.cta.replace(\/\\s*$\/,'').replace(\/[^.!?]$\/,'$&.'));\r\n  return P.join('\\n\\n');\r\n}\r\nfunction genLI(){\r\n  var c=liCtx(),err=$('#li-err');\r\n  if(!c.role){err.textContent='Add your role first.';return}\r\n  err.textContent='';\r\n  mount($('#li-heads'),headlines(c).map(function(h,i){return resCard(h,220,'headline '+(i+1))}));\r\n  mount($('#li-about'),[resCard(aboutText(c,false),2600,'short About','Short version'),resCard(aboutText(c,true),2600,'full About','Full version')]);\r\n}\r\n$('#li-go').addEventListener('click',genLI);\r\n\r\n\/* ================= 5. Brand names ================= *\/\r\nvar STY={\r\n  modern:{pre:['neo','nova','zen','lumi','vero','flo'],suf:['ly','ify','io','ora','ium','ia','ex'],pow:['Loop','Pulse','Grid','Wave','Shift','Flow']},\r\n  techy:{pre:['byte','data','nano','cyber','quant'],suf:['ify','ix','ex','ware','stack','hub','labs','ly'],pow:['Stack','Node','Core','Logic','Forge','Sync']},\r\n  classic:{pre:['the'],suf:['House','Studio','Works','Society','Collective','& Co'],pow:['Oak','North','Harbor','Cedar','Anchor','Heritage']},\r\n  playful:{pre:['hey','pop','happy','zippy'],suf:['oo','zy','pop','ie','ly','ito'],pow:['Buzz','Spark','Doodle','Bloom','Pip','Jolly']},\r\n  premium:{pre:['maison','atelier','aurum','opus'],suf:['ora','ique','elle','ium','a','ine'],pow:['Aurum','Verde','Onyx','Ivory','Lumen','Solstice']}\r\n};\r\nfunction kwWords(s){return splitList(s).map(function(x){var w=wordsOf(x);return w.length?w[w.length-1]:''}).filter(function(x){return x.length>1})}\r\nfunction blend(a,b){\r\n  if(a.length<3||b.length<3)return '';\r\n  var i=Math.ceil(a.length\/2),j=Math.floor(b.length\/2),r=a.slice(0,i)+b.slice(j);\r\n  return (\/[^aeiouy]{3}\/.test(r)||\/(.)\\1\\1\/.test(r)||\/[aeiou]{3}\/.test(r))?'':r;\r\n}\r\nfunction dropVowel(w,suf){return \/[aeiou]$\/.test(w)&&\/^[aeiou]\/.test(suf)?w.slice(0,-1):w}\r\nfunction genNames(kw,style,lenPref){\r\n  var s=STY[style],c=[];\r\n  function push(x){if(x)c.push(x)}\r\n  kw.forEach(function(a,ai){\r\n    s.suf.forEach(function(x){\r\n      if(\/^[A-Z&]\/.test(x)||x==='& Co'){push(cap(a)+' '+x)}\r\n      else push(cap(dropVowel(a,x)+x));\r\n    });\r\n    s.pre.forEach(function(x){push(style==='classic'?'The '+cap(a):cap(x+a))});\r\n    s.pow.forEach(function(x){push(cap(a)+x);push(x+cap(a))});\r\n    kw.forEach(function(b,bi){if(ai!==bi){push(cap(blend(a,b)));push(cap(a)+cap(b))}});\r\n    push(cap(a.slice(0,Math.max(3,a.length-1))+pick(['a','o','i'])));\r\n  });\r\n  var seen={},res=[];\r\n  c.forEach(function(n){\r\n    var k=n.toLowerCase(),letters=n.replace(\/[^A-Za-z]\/g,'').length;\r\n    if(seen[k]||letters<3||letters>16)return;\r\n    if(kw.indexOf(k)>-1)return;\r\n    if(lenPref==='short'&&letters>7)return;\r\n    if(lenPref==='medium'&&(letters<8||letters>12))return;\r\n    seen[k]=1;res.push(n);\r\n  });\r\n  return shuffle(res).slice(0,24);\r\n}\r\nvar BN={names:[],sel:'',kw:[]};\r\nvar FAVN=get('pb-fav-brand');if(!Array.isArray(FAVN))FAVN=[];\r\nfunction favnSave(){put('pb-fav-brand',FAVN)}\r\nfunction renderShortN(){\r\n  var s=$('#bn-short'),l=$('#bn-shortlist');s.hidden=!FAVN.length;l.innerHTML='';\r\n  FAVN.forEach(function(n){\r\n    var d=document.createElement('span');d.className='pillx';\r\n    var t=document.createElement('span');t.textContent=n;\r\n    var b=document.createElement('button');b.type='button';b.setAttribute('aria-label','Remove '+n);b.innerHTML=svg(IC.del);\r\n    b.addEventListener('click',function(){FAVN=FAVN.filter(function(x){return x!==n});favnSave();renderShortN();renderNames()});\r\n    t.style.cursor='pointer';t.addEventListener('click',function(){BN.sel=n;renderNames();renderTags()});\r\n    d.appendChild(t);d.appendChild(b);l.appendChild(d);\r\n  });\r\n}\r\nfunction renderNames(){\r\n  var host=$('#bn-out');host.innerHTML='';\r\n  if(!BN.names.length){var e=document.createElement('div');e.className='empty';e.style.gridColumn='1\/-1';e.textContent='No names fit these settings. Try Any length or add another keyword.';host.appendChild(e);return}\r\n  BN.names.forEach(function(n){\r\n    var d=document.createElement('div');d.className='chip';d.setAttribute('aria-selected',n===BN.sel?'true':'false');\r\n    var pick_=document.createElement('button');pick_.type='button';pick_.style.cssText='appearance:none;background:none;border:0;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:inherit';\r\n    pick_.setAttribute('aria-label','Write taglines for '+n);\r\n    var t=document.createElement('span');t.className='chip-n disp';t.textContent=n;\r\n    var m=document.createElement('span');m.className='chip-m';m.textContent=n.toLowerCase().replace(\/[^a-z0-9]\/g,'')+'.com';\r\n    pick_.appendChild(t);pick_.appendChild(m);\r\n    pick_.addEventListener('click',function(){BN.sel=n;renderNames();renderTags()});\r\n    var b=document.createElement('div');b.className='chip-b';\r\n    var cp=document.createElement('button');cp.type='button';cp.className='ib';cp.setAttribute('aria-label','Copy '+n);cp.innerHTML=svg(IC.copy);cp.addEventListener('click',function(){copy(n,n)});\r\n    var st=document.createElement('button');st.type='button';st.className='ib';st.setAttribute('aria-label','Add '+n+' to shortlist');\r\n    st.setAttribute('aria-pressed',FAVN.indexOf(n)>-1?'true':'false');st.innerHTML=svg(IC.star);\r\n    st.addEventListener('click',function(){\r\n      var i=FAVN.indexOf(n);if(i>-1)FAVN.splice(i,1);else FAVN.push(n);\r\n      favnSave();st.setAttribute('aria-pressed',i>-1?'false':'true');renderShortN();\r\n    });\r\n    b.appendChild(cp);b.appendChild(st);\r\n    d.appendChild(pick_);d.appendChild(b);host.appendChild(d);\r\n  });\r\n}\r\nfunction taglines(name,kw,aud,ben){\r\n  var k1=kw[0]||'work',k2=kw[1],T=[];\r\n  if(ben)T.push(cap(ben)+', made simple.');\r\n  if(k2)T.push('Where '+k1+' meets '+k2+'.');\r\n  T.push('Your '+k1+', done right.');\r\n  if(aud)T.push(cap(k1)+' for '+aud+'.');\r\n  T.push('Think '+k1+'. Think '+name+'.');\r\n  T.push('Better '+k1+', every day.');\r\n  T.push('Simple '+k1+'. Real results.');\r\n  T.push('Made for people who care about '+k1+'.');\r\n  if(ben&&aud)T.push('Made for '+aud+', for '+ben+'.');\r\n  T.push(name+'. '+cap(k1)+' with purpose.');\r\n  return T.slice(0,8);\r\n}\r\nfunction renderTags(){\r\n  var host=$('#bn-tags'),n=BN.sel;\r\n  if(!n){emptyBox(host,'Generate names, then tap one to see taglines.');$('#bn-th').textContent='Taglines';return}\r\n  $('#bn-th').textContent='Taglines for '+n;\r\n  mount(host,taglines(n,BN.kw,stripEnd(val('bn-aud')),stripEnd(val('bn-ben'))).map(function(t,i){return resCard(t,80,'tagline '+(i+1))}));\r\n}\r\nfunction genBN(){\r\n  var err=$('#bn-err'),kw=kwWords(val('bn-kw'));\r\n  if(!kw.length){err.textContent='Add at least one keyword first.';return}\r\n  err.textContent='';\r\n  BN.kw=kw;BN.names=genNames(kw,radio('bn-style')||'modern',radio('bn-len')||'any');\r\n  BN.sel=BN.names[0]||'';\r\n  renderNames();renderTags();\r\n}\r\n$('#bn-go').addEventListener('click',genBN);\r\n\r\n\/* ---------- boot ---------- *\/\r\napplyBrand();\r\nrenderShort();renderShortN();\r\ngenIG();genUser();genLI();genBN();\r\nlpRefresh();\r\nvar h0=(location.hash||'').replace('#','');\r\nshow(TOOLS.some(function(t){return t.slug===h0})?h0:TOOLS[0].slug,false);\r\nwindow.addEventListener('hashchange',function(){var h=(location.hash||'').replace('#','');if(TOOLS.some(function(t){return t.slug===h}))show(h,false)});\r\nwindow.addEventListener('resize',resizeAll);\r\n})();\r\n<\/script>\r\n\r\n<\/body><\/html>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Profile &#038; Branding Tools Your Brand Brand Your brand Sets the accent color and logo across every tool and your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-519","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=519"}],"version-history":[{"count":4,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/519\/revisions"}],"predecessor-version":[{"id":523,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/519\/revisions\/523"}],"wp:attachment":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}