{"version":3,"file":"ToolKit.D0li7RAT.mjs","names":["c","useState","useRef","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/Bssu4WwdATFqiNyjJBtp/i57wuiOx9Ff9B97OUmjE/ToolKit.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useCallback,useEffect,useRef,useState}from\"react\";/*\r\n * Shared kit for the free tools (/tools/*) and the homepage playground.\r\n * Every tool file imports its look and its server calls from here, so the\r\n * whole set reads as one product and a change lands everywhere at once.\r\n */// ── Where things point ─────────────────────────────────────────────────\n// The app that runs audenAI and the Twitter lookups. At launch the app moves\n// to https://app.voicemoat.com: change it here (one line) in B11.\nexport const API_BASE=\"https://app.voicemoat.com\";// Every \"Start your 3-day trial\" button in the tools: the sign-up page.\nexport const TRIAL_HREF=\"/signup\";// ── Look: the new VoiceMoat site (the Framer theme) ───────────────────\n// Black and white with the site's greys, and its five soft accents\n// (lavender, mint, sun, coral, sky) used only as fills: bars, rings, badges,\n// highlights. Text is always ink or grey, never an accent color.\nconst T={black:\"var(--token-150c4a4e-408f-4cdd-8cd9-4f462c902163, #181818)\",grey200:\"var(--token-0142e593-9c62-4a02-8a77-c2bc87e6f565, #686868)\",grey100:\"var(--token-70dd917f-3e82-45ab-bf0e-41869a710944, #858585)\",border:\"var(--token-98add4f9-5140-43c9-a5d6-d7d07e477a2d, #ededed)\",grey:\"var(--token-c1043a30-7f7b-4a14-a9fb-e7a78c836d9f, #f6f6f6)\",mainGrey:\"var(--token-b264e7a4-07c4-4441-b3e8-2493ff121911, #f9f9f9)\",violet:\"var(--token-f0453c20-3d9d-4734-a34e-4c4c905f393e, #aeabff)\",green:\"var(--token-a2768412-29df-4b84-a558-9c59e0f06abe, #a2e198)\",yellow:\"var(--token-a20ab302-bf72-493d-935d-a804079dae89, #ffcc40)\",red:\"var(--token-ad059026-bd67-46b5-b137-8fc4ebcf1b28, #ec6b5e)\",blue:\"var(--token-4e70a56a-4430-42e1-bd45-03e1d3b260ab, #c2e1ff)\"};export const C={ink:T.black,grey:T.grey200,soft:T.grey100,line:T.border,paper:\"#ffffff\",wash:T.grey,page:T.mainGrey,// accents (fills only)\nlavender:T.violet,mint:T.green,sun:T.yellow,coral:T.red,sky:T.blue,lavenderSoft:\"rgba(174, 171, 255, 0.28)\",mintSoft:\"rgba(162, 225, 152, 0.35)\",sunSoft:\"rgba(255, 204, 64, 0.28)\",coralSoft:\"rgba(236, 107, 94, 0.16)\",// older names, kept so every tool maps onto the theme\nviolet:T.violet,violetSoft:\"rgba(174, 171, 255, 0.22)\",violetLine:\"rgba(174, 171, 255, 0.7)\",green:T.green,greenSoft:\"rgba(162, 225, 152, 0.35)\",amber:T.yellow,amberSoft:\"rgba(255, 204, 64, 0.28)\",pink:T.red,pinkSoft:\"rgba(236, 107, 94, 0.16)\",red:\"#c43d31\"};export const FONT='\"Inter\", \"Inter Placeholder\", system-ui, -apple-system, sans-serif';export const MONO=\"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\";// The site's soft card shadow (the FAQ card surface).\nexport const SHADOW=\"0 0 0 1px rgba(0,0,0,0.03), 0 16px 24px -12px rgba(0,0,0,0.03), 0 32px 32px -20px rgba(0,0,0,0.03), 0 40px 48px -20px rgba(0,0,0,0.02)\";/**\r\n * Band colors shared by every score: good, middling, weak, neutral brand.\r\n * `mark` is the accent (bars, rings, underlines), `bg` a soft badge fill,\r\n * `fg` the text and icon color on that fill (always ink, for contrast).\r\n */export function bandColor(tone){if(tone===\"good\")return{fg:C.ink,bg:C.mintSoft,mark:C.mint};if(tone===\"mid\")return{fg:C.ink,bg:C.sunSoft,mark:C.sun};if(tone===\"bad\")return{fg:C.ink,bg:C.coralSoft,mark:C.coral};return{fg:C.ink,bg:C.lavenderSoft,mark:C.lavender};}// One stylesheet for the things inline styles cannot do (focus, hover,\n// placeholder, animation). Scoped to .vmt so nothing leaks into the page.\n// Values follow the site: 4px buttons (Button Form), grey inputs with a grey\n// focus border (the contact form), Inter with tight letter spacing.\nconst CSS=`\r\n.vmt, .vmt * { box-sizing: border-box; }\r\n.vmt { font-family: ${FONT}; color: #181818; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; }\r\n.vmt button { font-family: inherit; letter-spacing: inherit; }\r\n.vmt-in { width: 100%; font: inherit; font-size: 15px; line-height: 1.5; letter-spacing: -0.01em; color: #181818; background: #f6f6f6; border: 1px solid #ededed; border-radius: 4px; padding: 12px 14px; outline: none; transition: border-color .15s, background .15s; resize: vertical; }\r\n.vmt-in::placeholder { color: #858585; }\r\n.vmt-in:focus { border-color: #c3c4c4; background: #ffffff; }\r\n.vmt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 16px; border-radius: 4px; font-size: 15px; font-weight: 400; line-height: 1; letter-spacing: -0.01em; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s, color .15s, transform .1s; }\r\n.vmt-btn:active { transform: scale(.98); }\r\n.vmt-btn[disabled] { opacity: .35; cursor: not-allowed; transform: none; }\r\n.vmt-btn-p { background: #181818; color: #fff; border: 1px solid #181818; }\r\n.vmt-btn-p:hover:not([disabled]) { background: #333637; border-color: #333637; }\r\n.vmt-btn-s { background: #fff; color: #181818; border: 1px solid #181818; }\r\n.vmt-btn-s:hover:not([disabled]) { background: #f6f6f6; }\r\n.vmt-btn-g { background: transparent; color: #686868; border: 1px solid transparent; height: 32px; padding: 0 10px; font-size: 14px; }\r\n.vmt-btn-g:hover { color: #181818; background: #f6f6f6; }\r\n.vmt-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border: 1px solid #ededed; border-radius: 6px; background: #f6f6f6; }\r\n.vmt-seg button { border: 0; background: transparent; color: #686868; font-size: 14px; font-weight: 400; padding: 7px 12px; border-radius: 4px; cursor: pointer; transition: background .15s, color .15s; }\r\n.vmt-seg button:hover { color: #181818; }\r\n.vmt-seg button[aria-pressed=\"true\"] { background: #181818; color: #fff; }\r\n.vmt a.vmt-link { color: #181818; text-decoration: underline; text-decoration-color: #c3c4c4; text-underline-offset: 3px; }\r\n.vmt a.vmt-link:hover { text-decoration-color: #181818; }\r\n@keyframes vmt-px { 0%, 70%, 100% { opacity: .35; } 35% { opacity: 1; } }\r\n@keyframes vmt-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }\r\n.vmt-rise { animation: vmt-in .35s ease both; }\r\n`;/** The site's section label: \"[ your rewrite ]\", 14px grey. Pass the text in lower case (keep audenAI and VoiceMoat as written). */export function Eyebrow({children,align=\"left\",style}){return /*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,lineHeight:1.2,letterSpacing:\"-0.02em\",color:C.grey,textAlign:align,...style},children:[\"[ \",children,\" ]\"]});}/** Root wrapper for every tool: fonts, the scoped stylesheet, centered at `maxWidth` (720 for most tools). */export function ToolRoot({children,gap=20,maxWidth=720,style}){return /*#__PURE__*/_jsxs(\"div\",{className:\"vmt\",style:{width:\"100%\",maxWidth,margin:\"0 auto\",display:\"flex\",flexDirection:\"column\",gap,...style},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),children]});}export function Card({children,pad=28,style,tone}){const bg=tone===\"wash\"?C.wash:tone===\"violet\"?C.lavenderSoft:C.paper;const border=C.line;return /*#__PURE__*/_jsx(\"div\",{style:{background:bg,border:`1px solid ${border}`,borderRadius:12,padding:typeof pad===\"number\"?`clamp(18px, 4vw, ${pad}px)`:pad,boxShadow:tone?\"none\":SHADOW,minWidth:0,...style},children:children});}/** Small label above an input or a result: \"Your rewrite\", \"Paste your text\". */export function Label({children,right,htmlFor}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:12,marginBottom:10},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:htmlFor,style:{fontSize:14,fontWeight:500,letterSpacing:\"-0.01em\",color:C.ink},children:children}),right]});}export function Muted({children,size=14,style}){return /*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:size,lineHeight:1.55,color:C.grey,...style},children:children});}/** \"412/1200\" counter; turns red past the cap. */export function Counter({n,max}){return /*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,fontVariantNumeric:\"tabular-nums\",color:n>max?C.red:C.soft},children:[n,\"/\",max]});}export function TextArea(props){return /*#__PURE__*/_jsx(\"textarea\",{id:props.id,className:\"vmt-in\",value:props.value,rows:props.rows||5,maxLength:props.max,placeholder:props.placeholder,onChange:e=>props.onChange(e.target.value),style:props.style});}export function TextInput(props){const input=/*#__PURE__*/_jsx(\"input\",{id:props.id,className:\"vmt-in\",type:props.type||\"text\",inputMode:props.inputMode,value:props.value,maxLength:props.max,placeholder:props.placeholder,onChange:e=>props.onChange(e.target.value),onKeyDown:e=>{if(e.key===\"Enter\"&&props.onEnter){e.preventDefault();props.onEnter();}},autoCapitalize:props.prefix?\"none\":undefined,autoCorrect:props.prefix?\"off\":undefined,spellCheck:props.prefix?false:undefined,style:{resize:\"none\",paddingLeft:props.prefix?30:14,...props.style}});if(!props.prefix)return input;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:13,top:\"50%\",transform:\"translateY(-50%)\",color:C.soft,fontSize:15,pointerEvents:\"none\"},children:props.prefix}),input]});}export function Button({children,onClick,href,kind=\"primary\",disabled,style,newTab}){const cls=`vmt-btn ${kind===\"primary\"?\"vmt-btn-p\":kind===\"secondary\"?\"vmt-btn-s\":\"vmt-btn-g\"}`;if(href)return /*#__PURE__*/_jsx(\"a\",{className:cls,href:href,onClick:onClick,style:style,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,children:children});return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:cls,onClick:onClick,disabled:disabled,style:style,children:children});}/** Segmented choice (platform, theme, length...). */export function Segmented({value,options,onChange,label}){return /*#__PURE__*/_jsx(\"div\",{className:\"vmt-seg\",role:\"group\",\"aria-label\":label,children:options.map(o=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":o.value===value,onClick:()=>onChange(o.value),children:o.label},o.value))});}export function Chip({children,tone}){const c=tone?bandColor(tone):{fg:C.grey,bg:C.paper};return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:5,borderRadius:999,border:`1px solid ${tone?\"transparent\":C.line}`,background:c.bg,color:c.fg,padding:\"4px 10px\",fontSize:12,lineHeight:\"14px\",letterSpacing:\"-0.01em\",fontWeight:500},children:children});}/** Horizontal meter, 0 to 100. */export function Meter({value,tone=\"brand\",height=8}){const v=Math.max(0,Math.min(100,value));return /*#__PURE__*/_jsx(\"div\",{style:{height,borderRadius:999,background:C.wash,boxShadow:`inset 0 0 0 1px ${C.line}`,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${v}%`,height:\"100%\",borderRadius:999,background:bandColor(tone).mark,transition:\"width .5s ease\"}})});}/** Ring gauge for a 0-100 score, with a band label under it. */export function ScoreRing({score,label,tone,size=164,suffix=\"/ 100\"}){const stroke=12;const r=(size-stroke)/2;const circ=2*Math.PI*r;const pct=Math.max(0,Math.min(100,score));const{fg,bg,mark}=bandColor(tone);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:size,height:size},children:[/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:`0 0 ${size} ${size}`,style:{transform:\"rotate(-90deg)\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:r,fill:\"none\",strokeWidth:stroke,stroke:\"#f0f0f0\"}),/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:r,fill:\"none\",strokeWidth:stroke,strokeLinecap:\"round\",stroke:mark,strokeDasharray:circ,strokeDashoffset:circ*(1-pct/100),style:{transition:\"stroke-dashoffset .6s ease\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:size*.28,fontWeight:600,letterSpacing:\"-0.03em\",fontVariantNumeric:\"tabular-nums\",color:C.ink,lineHeight:1},children:Math.round(pct)}),suffix?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:C.soft,marginTop:4},children:suffix}):null]})]}),label?/*#__PURE__*/_jsx(\"span\",{style:{borderRadius:999,background:bg,color:fg,padding:\"5px 14px\",fontSize:14,fontWeight:500,letterSpacing:\"-0.01em\"},children:label}):null]});}/** A big number with a caption under it (stats rows). */export function Stat({value,caption,tone}){return /*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\",minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:34,fontWeight:600,letterSpacing:\"-0.03em\",fontVariantNumeric:\"tabular-nums\",lineHeight:1.1,color:C.ink},children:value}),tone?/*#__PURE__*/_jsx(\"div\",{style:{width:24,height:3,borderRadius:999,background:bandColor(tone).mark,margin:\"8px auto 0\"}}):null,/*#__PURE__*/_jsx(\"div\",{style:{marginTop:6,fontSize:12.5,color:C.grey,lineHeight:1.4},children:caption})]});}/** Responsive grid: as many columns of at least `min` px as fit. */export function Grid({children,min=220,gap=12,style}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(auto-fit, minmax(min(${min}px, 100%), 1fr))`,gap,...style},children:children});}export function Row({children,gap=12,wrap=true,align=\"center\",justify=\"flex-start\",style}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:wrap?\"wrap\":\"nowrap\",alignItems:align,justifyContent:justify,gap,...style},children:children});}export function Divider({space=18}){return /*#__PURE__*/_jsx(\"div\",{style:{height:1,background:C.line,margin:`${space}px 0`}});}/** Collapsible optional block (\"Rewrite toward my voice (optional)\"). */export function Disclosure({title,hint,open,onToggle,children}){return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:onToggle,\"aria-expanded\":open,style:{display:\"flex\",width:\"100%\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,background:\"none\",border:0,padding:0,cursor:\"pointer\",textAlign:\"left\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:14.5,fontWeight:500,color:C.ink},children:[title,\" \",hint?/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:400,color:C.grey},children:hint}):null]}),/*#__PURE__*/_jsx(\"span\",{style:{color:C.grey,transform:open?\"rotate(180deg)\":\"none\",transition:\"transform .2s\",display:\"inline-flex\"},children:Icon.chevron})]}),open?/*#__PURE__*/_jsx(\"div\",{style:{marginTop:12},children:children}):null]});}// ── Icons (inline, 16px, currentColor) ─────────────────────────────────\nconst svg=(d,size=16,fill=false)=>/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:fill?\"currentColor\":\"none\",stroke:fill?\"none\":\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:d});export const Icon={arrow:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 5l7 7-7 7\"})),check:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M20 6 9 17l-5-5\"})),x:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M18 6 6 18M6 6l12 12\"})),copy:svg(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"9\",width:\"12\",height:\"12\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1\"})]})),sparkle:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9zM19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z\"})),chevron:svg(/*#__PURE__*/_jsx(\"path\",{d:\"m6 9 6 6 6-6\"})),lock:svg(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"4\",y:\"11\",width:\"16\",height:\"10\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 11V7a4 4 0 0 1 8 0v4\"})]})),alert:svg(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 9v4M12 17h.01\"})]})),retry:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5\"})),download:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M12 3v12m0 0 5-5m-5 5-5-5M5 21h14\"})),info:svg(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 16v-4M12 8h.01\"})]})),upload:svg(/*#__PURE__*/_jsx(\"path\",{d:\"M12 21V9m0 0 5 5m-5-5-5 5M5 3h14\"})),xLogo:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"currentColor\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"})}),linkedin:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"currentColor\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.34V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"})})};// ── Copy to clipboard ──────────────────────────────────────────────────\nexport async function copyText(t){try{await navigator.clipboard.writeText(t);return true;}catch{}try{const a=document.createElement(\"textarea\");a.value=t;a.style.position=\"fixed\";a.style.opacity=\"0\";document.body.appendChild(a);a.select();const ok=document.execCommand(\"copy\");a.remove();return ok;}catch{return false;}}export function CopyButton({text,label=\"Copy\",onCopied}){const[done,setDone]=useState(false);return /*#__PURE__*/_jsxs(Button,{kind:\"ghost\",onClick:async()=>{if(!await copyText(text))return;setDone(true);onCopied?.();window.setTimeout(()=>setDone(false),1600);},children:[done?Icon.check:Icon.copy,done?\"Copied\":label]});}// ── Analytics (no-op until analytics is set up in B11) ─────────────────\nexport function track(event,props){try{const ph=window.posthog;if(ph&&typeof ph.capture===\"function\")ph.capture(event,props);}catch{}}// ── Server runs: /api/tools/generate ───────────────────────────────────\n// The app counts free runs per browser with a signed pass. It comes back in\n// every reply; we keep it here and send it with the next run.\nconst PASS_KEY=\"vm_tool_pass\";function readPass(){try{return window.localStorage.getItem(PASS_KEY);}catch{return null;}}function savePass(p){if(typeof p!==\"string\"||!p)return;try{window.localStorage.setItem(PASS_KEY,p);}catch{}}const MIN_WAIT_MS=1100;/** Runs a server tool with the daily free-run gate. Same states as the live site. */export function useGatedGenerate(tool,opts){const event=opts?.event;const[status,setStatus]=useState(\"idle\");const[result,setResult]=useState(null);const[error,setError]=useState(null);const[remaining,setRemaining]=useState(null);const[limit,setLimit]=useState(null);const[resetMs,setResetMs]=useState(null);const busy=useRef(false);const generate=useCallback(async input=>{if(busy.current)return;busy.current=true;setStatus(\"analyzing\");setError(null);const started=Date.now();try{const pass=readPass();const res=await fetch(`${API_BASE}/api/tools/generate`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...pass?{\"X-Tool-Pass\":pass}:{}},body:JSON.stringify({tool,input})});const data=await res.json().catch(()=>({}));savePass(data.pass);const waited=Date.now()-started;if(waited<MIN_WAIT_MS)await new Promise(r=>setTimeout(r,MIN_WAIT_MS-waited));if(typeof data.limit===\"number\")setLimit(data.limit);if(typeof data.resetMs===\"number\")setResetMs(data.resetMs);if(data.gated){setRemaining(0);setStatus(\"gated\");if(event)track(`${event}_gated`,{tool});return;}if(res.status===429){setError(\"Too many tries in a minute. Wait a moment and try again.\");setStatus(\"error\");return;}if(!res.ok||!data.ok){setError(data.error||\"Something went wrong. Try again.\");setStatus(\"error\");return;}setResult(data.result);if(typeof data.remaining===\"number\")setRemaining(data.remaining);setStatus(\"done\");if(event)track(event,{tool});}catch{setError(\"Network error. Check your connection and try again.\");setStatus(\"error\");}finally{busy.current=false;}},[tool,event]);const reset=useCallback(()=>{setStatus(\"idle\");setResult(null);setError(null);},[]);return{status,result,error,remaining,limit,resetMs,generate,reset};}/** Scroll a result into view once it appears (not on the Framer canvas). */export function useScrollOnChange(dep){const ref=useRef(null);const first=useRef(true);useEffect(()=>{if(first.current){first.current=false;return;}const el=ref.current;if(!el)return;const top=el.getBoundingClientRect().top;if(top>window.innerHeight*.7||top<0)el.scrollIntoView({behavior:\"smooth\",block:\"start\"});},[dep]);return ref;}// ── Shared end states ──────────────────────────────────────────────────\nconst DEFAULT_MESSAGES=[\"Reading your input…\",\"Checking the patterns…\",\"Running the numbers…\"];/** The wait between submit and result. audenAI is the one doing the work. */export function AnalyzingPanel({label=\"Working on it…\",messages=DEFAULT_MESSAGES}){const[i,setI]=useState(0);useEffect(()=>{const id=window.setInterval(()=>setI(n=>(n+1)%messages.length),900);return()=>window.clearInterval(id);},[messages.length]);return /*#__PURE__*/_jsxs(Card,{pad:44,style:{textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(3, 8px)\",gap:3,justifyContent:\"center\",marginBottom:20},\"aria-hidden\":\"true\",children:[C.lavender,C.mint,C.sun,C.mint,C.sun,C.lavender,C.sun,C.lavender,C.mint].map((c,d)=>/*#__PURE__*/_jsx(\"span\",{style:{width:8,height:8,background:c,animation:`vmt-px 1.2s ${d%3*.15+Math.floor(d/3)*.1}s infinite ease-in-out`}},d))}),/*#__PURE__*/_jsx(Eyebrow,{align:\"center\",children:\"audenAI, the brain inside VoiceMoat\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:20,fontWeight:500,letterSpacing:\"-0.02em\",color:C.ink},role:\"status\",children:label}),/*#__PURE__*/_jsx(Muted,{style:{marginTop:4},children:messages[i]})]});}function resetCopy(resetMs){if(!resetMs)return\"Your free runs reset at midnight UTC.\";const hrs=Math.max(1,Math.round((resetMs-Date.now())/36e5));return`Your free runs reset in about ${hrs} hour${hrs===1?\"\":\"s\"}.`;}/** Shown once the day's free runs are used. */export function GatedPanel({slug,event,resetMs,headline=\"You've used your 3 free runs for today\",body=\"audenAI does the real work here, and that work costs us money, so the free version is capped. Start the trial to keep going in your own voice, with no daily limit.\"}){return /*#__PURE__*/_jsxs(Card,{pad:40,style:{textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",width:44,height:44,alignItems:\"center\",justifyContent:\"center\",borderRadius:999,background:C.lavenderSoft,color:C.ink},children:Icon.lock}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:\"16px 0 0\",fontSize:24,fontWeight:500,letterSpacing:\"-0.02em\",color:C.ink},children:headline}),/*#__PURE__*/_jsx(Muted,{style:{margin:\"10px auto 0\",maxWidth:440},children:body}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:22},children:/*#__PURE__*/_jsxs(Button,{href:`${TRIAL_HREF}?utm_source=tools&utm_medium=gate&utm_campaign=${slug}`,onClick:()=>track(`${event}_gate_cta`,{tool:slug}),children:[\"Start your 3-day trial \",Icon.arrow]})}),/*#__PURE__*/_jsx(Muted,{size:12.5,style:{marginTop:14},children:resetCopy(resetMs)})]});}export function ErrorPanel({message,onRetry}){return /*#__PURE__*/_jsxs(Card,{pad:36,style:{textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",width:40,height:40,alignItems:\"center\",justifyContent:\"center\",borderRadius:999,background:C.sunSoft,color:C.ink},children:Icon.alert}),/*#__PURE__*/_jsx(Muted,{style:{margin:\"12px auto 0\",maxWidth:380},children:message}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:16},children:/*#__PURE__*/_jsxs(Button,{kind:\"secondary\",onClick:onRetry,children:[Icon.retry,\" Try again\"]})})]});}/** \"2 of 3 free runs left today\". Hidden until the first run lands. */export function RunsLeft({remaining,limit}){if(remaining===null||limit===null)return null;return /*#__PURE__*/_jsx(Muted,{size:12.5,children:remaining>0?`${remaining} of ${limit} free run${remaining===1?\"\":\"s\"} left today`:\"No free runs left today\"});}/** Centered submit button with the small print under it. */export function Submit({children,onClick,disabled,note}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsx(Button,{onClick:onClick,disabled:disabled,style:{height:48,padding:\"0 26px\",fontSize:16},children:children}),note?/*#__PURE__*/_jsx(Muted,{size:12.5,style:{textAlign:\"center\"},children:note}):null]});}/** The hand-off at the end of a result: text on the left, trial button on the right. */export function FixCta({title,body,slug,event,cta=\"Start your 3-day trial\"}){return /*#__PURE__*/_jsx(Card,{pad:24,tone:\"wash\",children:/*#__PURE__*/_jsxs(Row,{justify:\"space-between\",gap:16,children:[/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 260px\",minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:16,fontWeight:500,letterSpacing:\"-0.02em\",color:C.ink},children:title}),/*#__PURE__*/_jsx(Muted,{style:{marginTop:4},children:body})]}),/*#__PURE__*/_jsxs(Button,{href:`${TRIAL_HREF}?utm_source=tools&utm_medium=cta&utm_campaign=${slug}`,onClick:()=>track(event,{tool:slug}),children:[cta,\" \",Icon.arrow]})]})});}/** Twitter handle field with the @ built in. The server reads a handle or a pasted profile link. */export function HandleField({value,onChange,onEnter,id,placeholder=\"username or paste a profile link\"}){return /*#__PURE__*/_jsx(TextInput,{id:id,value:value,onChange:onChange,prefix:\"@\",placeholder:placeholder,max:120,onEnter:onEnter});}export function fmtCount(n){if(n>=1e6)return`${(n/1e6).toFixed(1).replace(/\\.0$/,\"\")}M`;if(n>=1e3)return`${(n/1e3).toFixed(1).replace(/\\.0$/,\"\")}K`;return new Intl.NumberFormat(\"en-US\").format(n);}/** The looked-up profile: avatar, name, handle, followers. */export function AccountHeader({account}){const initial=(account.name||account.username||\"?\").charAt(0).toUpperCase();return /*#__PURE__*/_jsxs(Row,{gap:12,wrap:false,children:[account.avatarUrl?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:48,height:48,flex:\"none\",borderRadius:999,border:`1px solid ${C.line}`,backgroundImage:`url(\"${account.avatarUrl}\")`,backgroundSize:\"cover\",backgroundPosition:\"center\"}}):/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:48,height:48,flex:\"none\",borderRadius:999,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:18,fontWeight:600,background:C.lavenderSoft,color:C.ink},children:initial}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600,color:C.ink,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:account.name}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,color:C.grey,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:[\"@\",account.username,\" \\xb7 \",fmtCount(account.followers),\" followers\"]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"TRIAL_HREF\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHADOW\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CopyButton\":{\"type\":\"reactComponent\",\"name\":\"CopyButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"LookupAccount\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextArea\":{\"type\":\"reactComponent\",\"name\":\"TextArea\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"fmtCount\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"API_BASE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnalyzingPanel\":{\"type\":\"reactComponent\",\"name\":\"AnalyzingPanel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Meter\":{\"type\":\"reactComponent\",\"name\":\"Meter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Chip\":{\"type\":\"reactComponent\",\"name\":\"Chip\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FixCta\":{\"type\":\"reactComponent\",\"name\":\"FixCta\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Muted\":{\"type\":\"reactComponent\",\"name\":\"Muted\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"HandleField\":{\"type\":\"reactComponent\",\"name\":\"HandleField\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Segmented\":{\"type\":\"reactComponent\",\"name\":\"Segmented\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Counter\":{\"type\":\"reactComponent\",\"name\":\"Counter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Submit\":{\"type\":\"reactComponent\",\"name\":\"Submit\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Divider\":{\"type\":\"reactComponent\",\"name\":\"Divider\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"C\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RunsLeft\":{\"type\":\"reactComponent\",\"name\":\"RunsLeft\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"track\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ScoreRing\":{\"type\":\"reactComponent\",\"name\":\"ScoreRing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MONO\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GateStatus\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GatedPanel\":{\"type\":\"reactComponent\",\"name\":\"GatedPanel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Grid\":{\"type\":\"reactComponent\",\"name\":\"Grid\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FONT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Card\":{\"type\":\"reactComponent\",\"name\":\"Card\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Row\":{\"type\":\"reactComponent\",\"name\":\"Row\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AccountHeader\":{\"type\":\"reactComponent\",\"name\":\"AccountHeader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Stat\":{\"type\":\"reactComponent\",\"name\":\"Stat\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGatedGenerate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Eyebrow\":{\"type\":\"reactComponent\",\"name\":\"Eyebrow\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ToolRoot\":{\"type\":\"reactComponent\",\"name\":\"ToolRoot\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextInput\":{\"type\":\"reactComponent\",\"name\":\"TextInput\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Disclosure\":{\"type\":\"reactComponent\",\"name\":\"Disclosure\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useScrollOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Gated\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"bandColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"copyText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Button\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ErrorPanel\":{\"type\":\"reactComponent\",\"name\":\"ErrorPanel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Label\":{\"type\":\"reactComponent\",\"name\":\"Label\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ToolKit.map"],"mappings":"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"}