<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:media="http://search.yahoo.com/mrss/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI Image Generation &#8211; Flowpast.com &#8211; Your Workflow Automation Library</title>
	<atom:link href="https://flowpast.com/function/ai-image/feed/" rel="self" type="application/rss+xml" />
	<link>https://flowpast.com</link>
	<description>Flowpast.com - Pre-Built n8n, Make &#38; Zapier Workflow Templates</description>
	<lastBuildDate>Fri, 23 Jan 2026 02:40:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://flowpast.com/wp-content/uploads/2025/12/cropped-icon-32x32.png</url>
	<title>AI Image Generation &#8211; Flowpast.com &#8211; Your Workflow Automation Library</title>
	<link>https://flowpast.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Build a Batch Image Resizing Script with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-batch-image-resizing-script-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:40:53 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001590</guid>

					<description><![CDATA[Mixed image batches break workflows - use this AI Prompt to build a resilient resizer with aspect safe sizing, adaptive compression, logs, and safe outputs. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: batch image resizing -->
<div class="hook-introduction">

<p>Mixed image batches are where “simple resizing” scripts fall apart. A few PNGs with transparency, a random TIFF from a designer, or a partially corrupt JPEG can derail the whole run. And if your script overwrites originals or recompresses lossy files twice, you only notice after the damage is done.</p>



<p>This <strong>batch image resizing</strong> AI prompt is built for <strong>marketing ops leads</strong> who need consistent web and print asset outputs across campaigns, <strong>e-commerce managers</strong> cleaning up thousands of product images from multiple suppliers, and <strong>agency production teams</strong> standardizing client deliverables without risking originals. The output is a production-ready resizing pipeline plan (with code structure, logging strategy, format rules, and safe folder conventions) you can hand to a developer or implement yourself.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It designs a batch-capable resizing workflow that preserves aspect ratio by default and only crops or stretches when you explicitly opt in.</li>
          <li>It specifies how to handle JPEG, PNG, WebP, GIF, and TIFF differently, including transparency-safe rules for graphics and sensible defaults for photos.</li>
          <li>It defines two resizing modes (percentage scaling and fixed width × height) and clarifies what happens when only one dimension is provided.</li>
          <li>It chooses compression per image by using content-aware logic (photo-like vs graphic-like) plus a user quality preference, rather than one-size-fits-all settings.</li>
          <li>It outlines a streaming/queue-style batch approach, with failure-tolerant logging, per-file error handling, and protections against overwriting originals.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a giant folder of supplier images and you need web-ready versions without guessing which ones should stay PNG.</li>
          <li>Your current script crashes halfway through because a few files are corrupt, locked, or oddly encoded.</li>
          <li>You must produce two outputs from the same source set (for example: 1600px web images and higher-quality print assets) while keeping naming consistent.</li>
          <li>You’ve been burned by rerunning a job and accidentally recompressing the already-processed JPEGs, causing visible quality loss.</li>
          <li>You’re scaling a workflow and need predictable logs, organized outputs, and a repeatable “run this again next month” pipeline.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A complete pipeline specification you can translate into Python/Node/bash, including modules, functions, and processing stages.</li>
           <li>A clear decision tree for format handling (JPEG/PNG/WebP/GIF/TIFF) with recommended settings and exceptions.</li>
           <li>A folder and naming convention plan that prevents overwrites and separates originals, working files, and outputs.</li>
           <li>A logging and error report design, including what to log per file and how to summarize failures at the end.</li>
           <li>A strategy to avoid repeated lossy recompression across runs (output detection, hashes, or manifest-based skipping).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Production-Ready Batch Image Resizer Script</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[SOURCE_PATHS]</code></td>
                                <td class="var-desc">
                                    Provide the file paths or directories where the images to be processed are located. Include multiple paths if batch processing is needed.                                    <div class="var-example">For example: "/home/user/images/raw_photos, /mnt/external_drive/project_assets"</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SOURCE_PATHS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_SIZE]</code></td>
                                <td class="var-desc">
                                    Specify the desired dimensions for resizing images. Use either fixed width and height (e.g., 800x600) or percentage scaling (e.g., 50%).                                    <div class="var-example">For example: "1024x768 or 75%"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TARGET_SIZE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[OUTPUT_FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the file format for the resized images. Common options include JPEG, PNG, WebP, GIF, or TIFF.                                    <div class="var-example">For example: "JPEG"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[OUTPUT_FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[QUALITY_PREFERENCE]</code></td>
                                <td class="var-desc">
                                    Specify the desired image quality level for compression. Use terms like &#039;high&#039;, &#039;balanced&#039;, or &#039;low&#039;, or provide a numeric value (e.g., 80 for JPEG quality).                                    <div class="var-example">For example: "balanced or 85"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[QUALITY_PREFERENCE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[OUTPUT_PATH]</code></td>
                                <td class="var-desc">
                                    Provide the directory where the resized images should be saved. Ensure the path is writable and organized for batch outputs.                                    <div class="var-example">For example: "/home/user/images/resized_outputs"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[OUTPUT_PATH]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[OVERWRITE_SOURCES]</code></td>
                                <td class="var-desc">
                                    Indicate whether original images should be overwritten during processing. Use &#039;yes&#039; to allow overwriting or &#039;no&#039; to preserve originals.                                    <div class="var-example">For example: "no"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[OVERWRITE_SOURCES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RESIZE_MODE]</code></td>
                                <td class="var-desc">
                                    Specify the resizing method to be used. Options include &#039;percentage scaling&#039; or &#039;fixed dimensions&#039; based on your requirement.                                    <div class="var-example">For example: "fixed dimensions"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[RESIZE_MODE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[METADATA_MODE]</code></td>
                                <td class="var-desc">
                                    Define how metadata (e.g., EXIF, IPTC) should be handled. Options include &#039;preserve&#039;, &#039;remove&#039;, or &#039;custom&#039; for specific configurations.                                    <div class="var-example">For example: "preserve"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[METADATA_MODE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[WORKER_COUNT]</code></td>
                                <td class="var-desc">
                                    Specify the number of parallel workers or threads to use for batch processing. Choose a value based on CPU cores and workload size.                                    <div class="var-example">For example: "4"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[WORKER_COUNT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Provide a string in uppercase with underscores separating words. This could be used for naming conventions or identifiers.                                    <div class="var-example">For example: "IMAGE_RESIZE_PIPELINE"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="prompt-header-visible subheader">Must-Haves</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Safety Boundaries (What This Is NOT)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">If Inputs Are Missing or Ambiguous</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Code Requirements</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Design a production-ready, batch-capable image resizing pipeline script that can process very large mixed-format image sets while keeping visual fidelity high for both web delivery and print use. The solution must preserve aspect ratio by default, choose compression intelligently per-image, avoid unnecessary recompression, and produce organized, human-readable outputs.

## PERSONA
You are an automation systems designer with a past life in professional photography and post-production. You communicate like an experienced engineer: practical, explicit about tradeoffs, and focused on reliability at scale. You balance aesthetic integrity (no accidental distortion) with performance realities (file size, throughput, memory limits).

## CONSTRAINTS
### Must-Haves
- Preserve aspect ratio unless the user explicitly requests cropping or stretching.
- Support common formats: JPEG, PNG, WebP, GIF, TIFF (and handle each appropriately).
- Provide two resizing modes:
  - Percentage scaling
  - Fixed target dimensions (width x height)
- Choose compression strategy per image based on content characteristics (photo-like vs graphic-like) and user quality preference.
- Batch process without loading everything into RAM at once; use streaming/queue-like handling.
- Continue processing after failures; log and report errors (corrupt files, permission issues, unsupported files).
- Never overwrite originals unless explicitly allowed.
- Avoid repeated lossy recompression (e.g., don’t re-encode already-processed outputs in subsequent runs unless asked).
- Maintain metadata when reasonable and configurable.

### Safety Boundaries (What This Is NOT)
- Not a GUI application.
- Not a full DAM/cataloging system (no tagging/search database).
- Not an AI upscaler/restoration tool.
- Not a color-managed print-prepress workflow replacement (no ICC profiling pipeline beyond basic pass-through unless explicitly requested).

### If Inputs Are Missing or Ambiguous
- Ask clarifying questions before writing final code when critical inputs are absent (paths, resize intent, overwrite rules).
- If only partial sizing info is provided, default to aspect-ratio-safe behavior (e.g., width-only or height-only scaling) and clearly state the assumption.
- If format or quality preference is unspecified, default to “same as source” and “balanced”.

## PROCESS
1. **Pre-Analysis (mandatory)**  
   Restate the user’s goals and summarize the chosen approach (resizing mode, formats, output structure, compression logic, metadata handling). List any assumptions and any questions that must be answered.

2. **Phase A — Guardrails &amp; Config**  
   Validate input paths, output destination, resize settings, overwrite policy, and tool availability. Create a configuration block the user can edit.

3. **Phase B — Media Inspection &amp; Decisioning**  
   For each file: detect format, read dimensions, estimate content type (photo vs graphic) using simple heuristics (palette/alpha presence, edge density, color count proxies, etc.), then decide:
   - resize method (contain/fit, crop-to-fill only if requested, stretch only if requested)
   - output format rules
   - compression/quality parameters

4. **Phase C — Batch Execution at Scale**  
   Process files iteratively with controlled concurrency (worker pool) and per-file isolation. Include:
   - progress reporting
   - structured logging
   - retry/skip behavior
   - memory-safe IO

5. **Phase D — Output Packaging &amp; Naming**  
   Generate a timestamped folder name that encodes the operation (e.g., date + action + target size/scale). Write outputs without collisions and produce a final summary report.

## INPUTS
- **Source image locations:** [SOURCE_PATHS]
- **Resize target (dimensions like 1920x1080 or percent like 50%):** [TARGET_SIZE]
- **Preferred output format (or same as source):** [OUTPUT_FORMAT]
- **Quality preference (maximum quality / balanced / minimum file size):** [QUALITY_PREFERENCE]
- **Destination directory:** [OUTPUT_PATH]
- **Allow overwrite of originals (yes/no):** [OVERWRITE_SOURCES]
- **Resize behavior (preserve / crop-to-fill / stretch):** [RESIZE_MODE]
- **Metadata handling (preserve / strip):** [METADATA_MODE]
- **Max concurrency / workers:** [WORKER_COUNT]

## OUTPUT SPECIFICATION
Deliver a single, complete script (choose one language ecosystem and stick to it) with the following sections and headings:

1. **Requirements &amp; Setup**
   - Dependencies and install commands
   - OS notes if relevant

2. **Configuration**
   - Clearly labeled variables users edit:
     - {SourcePaths}
     - {TargetSize}
     - {OutputFormat}
     - {QualityPreference}
     - {OutputPath}
     - {OverwriteSources}
     - {ResizeMode}
     - {MetadataMode}
     - {WorkerCount}

3. **Core Implementation**
   - {PathValidationModule}
   - {ImageInspectionModule}
   - {ResizeAndEncodeModule}
   - {BatchRunnerModule}
   - {LoggingAndProgressModule}
   - {OutputOrganizerModule}

4. **Usage Examples**
   - A basic invocation example using [SOURCE_PATHS] and [TARGET_SIZE]
   - An advanced example showing crop-to-fill or format conversion and worker tuning

5. **Troubleshooting**
   - Common failures and fixes (permissions, missing codecs/libs, corrupt files, huge TIFFs, GIF handling expectations)

### Code Requirements
- Provide the full script in code blocks with syntax highlighting.
- Include clear inline comments that explain why decisions are made (especially compression choice and aspect-ratio math).
- Implement per-format handling rules (at minimum):
  - JPEG: quality-based compression, optional progressive encoding
  - PNG: lossless compression level, keep alpha
  - WebP: lossy/lossless selection aligned to content type
  - GIF: document limitations; avoid destructive resizing if it breaks animation unless explicitly supported
  - TIFF: handle large files safely; consider conversion options if requested
- Include progress output that works in long runs and a final {RunSummary} report (counts for processed, skipped, failed; total bytes saved where possible).
- Ensure no “load everything then process” pattern; process as a stream with bounded concurrency.

## QUALITY CHECKS
Before presenting the final script, verify and state that the deliverable satisfies:
- Aspect ratio is preserved by default and only deviates when [RESIZE_MODE] explicitly requests it.
- Compression is not “one-size-fits-all”; encoding decisions vary by content and format.
- Batch design is memory-safe and uses bounded parallelism via [WORKER_COUNT].
- Errors are isolated per file and do not abort the entire run; failures are logged and summarized.
- Variable format compliance: user-provided inputs appear only as [UPPERCASE_WITH_UNDERSCORES], and AI-filled placeholders appear only as {Title Case}.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDesign a production-ready, batch-capable image resizing pipeline script that can process very large mixed-format image sets while keeping visual fidelity high for both web delivery and print use. The solution must preserve aspect ratio by default, choose compression intelligently per-image, avoid unnecessary recompression, and produce organized, human-readable outputs.\r\n\r\n## PERSONA\r\nYou are an automation systems designer with a past life in professional photography and post-production. You communicate like an experienced engineer: practical, explicit about tradeoffs, and focused on reliability at scale. You balance aesthetic integrity (no accidental distortion) with performance realities (file size, throughput, memory limits).\r\n\r\n## CONSTRAINTS\r\n### Must-Haves\r\n- Preserve aspect ratio unless the user explicitly requests cropping or stretching.\r\n- Support common formats: JPEG, PNG, WebP, GIF, TIFF (and handle each appropriately).\r\n- Provide two resizing modes:\r\n  - Percentage scaling\r\n  - Fixed target dimensions (width x height)\r\n- Choose compression strategy per image based on content characteristics (photo-like vs graphic-like) and user quality preference.\r\n- Batch process without loading everything into RAM at once; use streaming\/queue-like handling.\r\n- Continue processing after failures; log and report errors (corrupt files, permission issues, unsupported files).\r\n- Never overwrite originals unless explicitly allowed.\r\n- Avoid repeated lossy recompression (e.g., don\u2019t re-encode already-processed outputs in subsequent runs unless asked).\r\n- Maintain metadata when reasonable and configurable.\r\n\r\n### Safety Boundaries (What This Is NOT)\r\n- Not a GUI application.\r\n- Not a full DAM\/cataloging system (no tagging\/search database).\r\n- Not an AI upscaler\/restoration tool.\r\n- Not a color-managed print-prepress workflow replacement (no ICC profiling pipeline beyond basic pass-through unless explicitly requested).\r\n\r\n### If Inputs Are Missing or Ambiguous\r\n- Ask clarifying questions before writing final code when critical inputs are absent (paths, resize intent, overwrite rules).\r\n- If only partial sizing info is provided, default to aspect-ratio-safe behavior (e.g., width-only or height-only scaling) and clearly state the assumption.\r\n- If format or quality preference is unspecified, default to \u201csame as source\u201d and \u201cbalanced\u201d.\r\n\r\n## PROCESS\r\n1. **Pre-Analysis (mandatory)**  \r\n   Restate the user\u2019s goals and summarize the chosen approach (resizing mode, formats, output structure, compression logic, metadata handling). List any assumptions and any questions that must be answered.\r\n\r\n2. **Phase A \u2014 Guardrails & Config**  \r\n   Validate input paths, output destination, resize settings, overwrite policy, and tool availability. Create a configuration block the user can edit.\r\n\r\n3. **Phase B \u2014 Media Inspection & Decisioning**  \r\n   For each file: detect format, read dimensions, estimate content type (photo vs graphic) using simple heuristics (palette\/alpha presence, edge density, color count proxies, etc.), then decide:\r\n   - resize method (contain\/fit, crop-to-fill only if requested, stretch only if requested)\r\n   - output format rules\r\n   - compression\/quality parameters\r\n\r\n4. **Phase C \u2014 Batch Execution at Scale**  \r\n   Process files iteratively with controlled concurrency (worker pool) and per-file isolation. Include:\r\n   - progress reporting\r\n   - structured logging\r\n   - retry\/skip behavior\r\n   - memory-safe IO\r\n\r\n5. **Phase D \u2014 Output Packaging & Naming**  \r\n   Generate a timestamped folder name that encodes the operation (e.g., date + action + target size\/scale). Write outputs without collisions and produce a final summary report.\r\n\r\n## INPUTS\r\n- **Source image locations:** [SOURCE_PATHS]\r\n- **Resize target (dimensions like 1920x1080 or percent like 50%):** [TARGET_SIZE]\r\n- **Preferred output format (or same as source):** [OUTPUT_FORMAT]\r\n- **Quality preference (maximum quality \/ balanced \/ minimum file size):** [QUALITY_PREFERENCE]\r\n- **Destination directory:** [OUTPUT_PATH]\r\n- **Allow overwrite of originals (yes\/no):** [OVERWRITE_SOURCES]\r\n- **Resize behavior (preserve \/ crop-to-fill \/ stretch):** [RESIZE_MODE]\r\n- **Metadata handling (preserve \/ strip):** [METADATA_MODE]\r\n- **Max concurrency \/ workers:** [WORKER_COUNT]\r\n\r\n## OUTPUT SPECIFICATION\r\nDeliver a single, complete script (choose one language ecosystem and stick to it) with the following sections and headings:\r\n\r\n1. **Requirements & Setup**\r\n   - Dependencies and install commands\r\n   - OS notes if relevant\r\n\r\n2. **Configuration**\r\n   - Clearly labeled variables users edit:\r\n     - {SourcePaths}\r\n     - {TargetSize}\r\n     - {OutputFormat}\r\n     - {QualityPreference}\r\n     - {OutputPath}\r\n     - {OverwriteSources}\r\n     - {ResizeMode}\r\n     - {MetadataMode}\r\n     - {WorkerCount}\r\n\r\n3. **Core Implementation**\r\n   - {PathValidationModule}\r\n   - {ImageInspectionModule}\r\n   - {ResizeAndEncodeModule}\r\n   - {BatchRunnerModule}\r\n   - {LoggingAndProgressModule}\r\n   - {OutputOrganizerModule}\r\n\r\n4. **Usage Examples**\r\n   - A basic invocation example using [SOURCE_PATHS] and [TARGET_SIZE]\r\n   - An advanced example showing crop-to-fill or format conversion and worker tuning\r\n\r\n5. **Troubleshooting**\r\n   - Common failures and fixes (permissions, missing codecs\/libs, corrupt files, huge TIFFs, GIF handling expectations)\r\n\r\n### Code Requirements\r\n- Provide the full script in code blocks with syntax highlighting.\r\n- Include clear inline comments that explain why decisions are made (especially compression choice and aspect-ratio math).\r\n- Implement per-format handling rules (at minimum):\r\n  - JPEG: quality-based compression, optional progressive encoding\r\n  - PNG: lossless compression level, keep alpha\r\n  - WebP: lossy\/lossless selection aligned to content type\r\n  - GIF: document limitations; avoid destructive resizing if it breaks animation unless explicitly supported\r\n  - TIFF: handle large files safely; consider conversion options if requested\r\n- Include progress output that works in long runs and a final {RunSummary} report (counts for processed, skipped, failed; total bytes saved where possible).\r\n- Ensure no \u201cload everything then process\u201d pattern; process as a stream with bounded concurrency.\r\n\r\n## QUALITY CHECKS\r\nBefore presenting the final script, verify and state that the deliverable satisfies:\r\n- Aspect ratio is preserved by default and only deviates when [RESIZE_MODE] explicitly requests it.\r\n- Compression is not \u201cone-size-fits-all\u201d; encoding decisions vary by content and format.\r\n- Batch design is memory-safe and uses bounded parallelism via [WORKER_COUNT].\r\n- Errors are isolated per file and do not abort the entire run; failures are logged and summarized.\r\n- Variable format compliance: user-provided inputs appear only as [UPPERCASE_WITH_UNDERSCORES], and AI-filled placeholders appear only as {Title Case}.";
    const variables = ["[SOURCE_PATHS]","[TARGET_SIZE]","[OUTPUT_FORMAT]","[QUALITY_PREFERENCE]","[OUTPUT_PATH]","[OVERWRITE_SOURCES]","[RESIZE_MODE]","[METADATA_MODE]","[WORKER_COUNT]","[UPPERCASE_WITH_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Define your two output profiles up front.</strong> The prompt is strongest when you tell it exactly what “web” and “print” mean for you (dimensions, quality target, and format preferences). Try: “Create outputs: Web=1600px long edge, ~200–350KB target; Print=3000px long edge, minimal compression; preserve transparency.”</li>


<li><strong>Tell it what must never change.</strong> If metadata matters (EXIF orientation, ICC pass-through, timestamps), say so explicitly and ask for config flags. A useful follow-up: “Add a metadata policy: keep EXIF by default, strip GPS, and normalize orientation so resized outputs display correctly everywhere.”</li>

<li><strong>Give it real failure scenarios to design for.</strong> You will get a more reliable script plan if you list the ugly edge cases: corrupt files, CMYK JPEGs, 16-bit PNGs, or permission errors. Prompt addition: “Assume 2% of files fail; continue, log, and output an end-of-run summary CSV.”</li>


<li><strong>Iterate on compression rules, not just sizes.</strong> After the first draft, push the prompt to be more explicit about when to choose JPEG vs WebP vs PNG. Ask: “Now rewrite the compression strategy with thresholds and examples (photo-like, screenshot-like, transparency, flat color), and recommend sane quality ranges.”</li>


<li><strong>Add a rerun-safe mechanism.</strong> Honestly, this is where most batch scripts quietly fail over time. Request a manifest approach: “Add a manifest.json (or SQLite if needed) that records source path, mtime/hash, output paths, and settings, so reruns skip unchanged files and avoid double recompression.”</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="related-prompts-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Related Prompts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you’re also standardizing the people side of a workflow, these prompts pair well with a production pipeline mindset:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For teams documenting how work levels up over time, <a href="https://flowpast.com/prompts/build-a-career-growth-playbook-ai-prompt/">Build a Career Growth Playbook AI Prompt</a> helps you turn “tribal knowledge” into a clear progression plan. It fits nicely when you want your image pipeline to be owned and maintained, not just built once and forgotten.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When someone is moving into a more technical operations lane (like owning automation, scripts, and tooling), <a href="https://flowpast.com/prompts/build-a-career-skill-stack-optimizer-with-this-ai-prompt/">Build a Career Skill Stack Optimizer with this AI Prompt</a> can map the skills that support reliable delivery. Useful if you’re training a marketer-turned-ops lead to manage vendors and code reviews.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If your organization is reassigning responsibilities (for example, creative ops absorbing asset processing that used to sit with engineering), <a href="https://flowpast.com/prompts/build-a-career-pivot-roadmap-with-this-ai-prompt/">Build a Career Pivot Roadmap with this AI Prompt</a> provides a structured transition plan. It’s a practical complement when you’re changing processes and need adoption, not just a script.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Quick reference:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-career-growth-playbook-ai-prompt/">Build a Career Growth Playbook AI Prompt</a>: Document expectations, scope, and progression.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-career-pivot-roadmap-with-this-ai-prompt/">Build a Career Pivot Roadmap with this AI Prompt</a>: Plan a structured role transition.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-career-longevity-roadmap-with-this-ai-prompt/">Build a Career Longevity Roadmap with this AI Prompt</a>: Sustain performance and avoid burnout.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-career-growth-blueprint-with-this-ai-prompt/">Build a Career Growth Blueprint with this AI Prompt</a>: Set goals, milestones, and evidence.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-career-skill-stack-optimizer-with-this-ai-prompt/">Build a Career Skill Stack Optimizer with this AI Prompt</a>: Prioritize skills that compound over time.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this batch image resizing AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Marketing operations managers</strong> use this to turn messy campaign asset folders into consistent web and print derivatives, with logs that make handoffs painless. <strong>E-commerce content managers</strong> rely on it when supplier images arrive in mixed formats and inconsistent sizing, and they need safe outputs without overwriting originals. <strong>Creative operations leads</strong> benefit because the prompt forces clear decisions on format handling, metadata, and naming conventions that reduce rework. <strong>Automation-minded developers</strong> also use it as a spec to implement quickly, since it bakes in streaming, error tolerance, and rerun safety.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this batch image resizing AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-commerce and retail</strong> teams get value fast because product photos, color variants, and supplier packs often arrive as a chaotic mix of JPEG, PNG, and occasional TIFF. <strong>Media and publishing</strong> groups use it to prepare large photo sets for fast web delivery while still keeping higher-quality masters for future layouts. <strong>Agencies</strong> benefit when they have to meet different client specs (naming, sizes, formats) and need a repeatable pipeline that logs everything. <strong>Real estate and hospitality</strong> teams use it to process large shoots efficiently, generating web-optimized sets while maintaining aspect ratio and avoiding accidental distortion.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for batch image resizing scripts produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like &#8220;<em>Write me a script to resize images in a folder</em>&#8221; fails because it: lacks format-specific handling (PNG transparency, GIF behavior, TIFF quirks), provides no clear resizing rules (percentage vs fixed dimensions and what to do when aspect ratios differ), ignores rerun safety so outputs get recompressed again, produces brittle code that crashes on corrupt or locked files instead of logging and continuing, and misses operational details like output folders, naming conventions, and end-of-run reporting. In practice, you get something that works on a tiny test folder and falls over on real production batches.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this batch image resizing prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. Even though the prompt has no form variables, you customize it by supplying your constraints: target sizes (percentage or width × height), whether cropping is allowed, preferred output formats, quality targets, and a metadata policy (keep, strip, or pass-through). You should also specify how you want outputs organized (mirrored folders, date-stamped runs, or per-size subfolders) and whether “never overwrite” is absolute. A good follow-up ask is: “Before writing the final design, ask me 10 clarifying questions about sizes, formats, transparency, metadata, naming, and rerun behavior, then produce the script outline.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this batch image resizing prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving the resizing mode unspecified — instead of “resize images for web,” say “Resize by long edge to 1600px; do not upscale smaller images.” Another common error is being vague about cropping: “make them 1200×1200” can imply forced square crops, while “fit within 1200×1200, preserve aspect ratio, add no padding” is unambiguous. People also forget to define output rules for transparency; “convert everything to JPEG” will break logos, while “keep PNG when alpha is present, otherwise consider WebP/JPEG” is safer. Finally, many omit rerun behavior; request “skip if output exists and matches settings” to avoid repeated lossy recompression.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this batch image resizing prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal if you need a drag-and-drop GUI tool, since it is explicitly designed for scripting and automation. It’s also not the right fit when you require a full digital asset management system with search, tagging, and approvals. And if you need color-managed print prepress (ICC conversions, proofing pipelines, press profiles), you’ll want a dedicated workflow tool rather than a resizing script. In those cases, use an off-the-shelf DAM or a professional prepress pipeline, then apply resizing as a smaller step.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this batch image resizing AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Marketing operations managers use this to turn messy campaign asset folders into consistent web and print derivatives, with logs that make handoffs painless. E-commerce content managers rely on it when supplier images arrive in mixed formats and inconsistent sizing, and they need safe outputs without overwriting originals. Creative operations leads benefit because the prompt forces clear decisions on format handling, metadata, and naming conventions that reduce rework. Automation-minded developers also use it as a spec to implement quickly, since it bakes in streaming, error tolerance, and rerun safety."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this batch image resizing AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-commerce and retail teams get value fast because product photos, color variants, and supplier packs often arrive as a chaotic mix of JPEG, PNG, and occasional TIFF. Media and publishing groups use it to prepare large photo sets for fast web delivery while still keeping higher-quality masters for future layouts. Agencies benefit when they have to meet different client specs (naming, sizes, formats) and need a repeatable pipeline that logs everything. Real estate and hospitality teams use it to process large shoots efficiently, generating web-optimized sets while maintaining aspect ratio and avoiding accidental distortion."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for batch image resizing scripts produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Write me a script to resize images in a folder\" fails because it: lacks format-specific handling (PNG transparency, GIF behavior, TIFF quirks), provides no clear resizing rules (percentage vs fixed dimensions and what to do when aspect ratios differ), ignores rerun safety so outputs get recompressed again, produces brittle code that crashes on corrupt or locked files instead of logging and continuing, and misses operational details like output folders, naming conventions, and end-of-run reporting. In practice, you get something that works on a tiny test folder and falls over on real production batches."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this batch image resizing prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Even though the prompt has no form variables, you customize it by supplying your constraints: target sizes (percentage or width × height), whether cropping is allowed, preferred output formats, quality targets, and a metadata policy (keep, strip, or pass-through). You should also specify how you want outputs organized (mirrored folders, date-stamped runs, or per-size subfolders) and whether “never overwrite” is absolute. A good follow-up ask is: “Before writing the final design, ask me 10 clarifying questions about sizes, formats, transparency, metadata, naming, and rerun behavior, then produce the script outline.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this batch image resizing prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving the resizing mode unspecified — instead of “resize images for web,” say “Resize by long edge to 1600px; do not upscale smaller images.” Another common error is being vague about cropping: “make them 1200×1200” can imply forced square crops, while “fit within 1200×1200, preserve aspect ratio, add no padding” is unambiguous. People also forget to define output rules for transparency; “convert everything to JPEG” will break logos, while “keep PNG when alpha is present, otherwise consider WebP/JPEG” is safer. Finally, many omit rerun behavior; request “skip if output exists and matches settings” to avoid repeated lossy recompression."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this batch image resizing prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal if you need a drag-and-drop GUI tool, since it is explicitly designed for scripting and automation. It’s also not the right fit when you require a full digital asset management system with search, tagging, and approvals. And if you need color-managed print prepress (ICC conversions, proofing pipelines, press profiles), you’ll want a dedicated workflow tool rather than a resizing script. In those cases, use an off-the-shelf DAM or a professional prepress pipeline, then apply resizing as a smaller step."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Batch resizing isn’t hard until it is. Use this prompt to design a script that survives real-world folders, protects originals, and delivers consistent outputs you can trust.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001590.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Create a Kids Book Series Concept with this AI Prompt</title>
		<link>https://flowpast.com/prompts/create-a-kids-book-series-concept-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:35:26 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000630</guid>

					<description><![CDATA[Struggling to make kid-friendly topics fun - this AI Prompt builds an original series-ready book concept with characters, world, plot. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: kids book series -->

<div class="hook-introduction">

<p>You’ve got a great idea for a children’s book. Then you try to turn it into a series and everything gets fuzzy. The characters feel thin, the world has no “rules,” and the educational angle comes out sounding like a lecture.</p>



<p>This <strong>kids book series</strong> is built for <strong>children’s authors</strong> who need a series-ready concept they can actually write, <strong>content leads at kids’ education brands</strong> who want story worlds that teach without preaching, and <strong>freelance ghostwriters</strong> who must pitch a fresh concept to a client fast. The output is a complete concept package: a learning core, a story-ready world, a recurring cast with growth arcs, and multiple book engines (conflicts, surprises, and “next mystery” hooks).</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It turns a single topic into a kid-friendly series theme with a clear educational thread.</li>
          <li>It selects one primary teachable idea plus 2–3 supporting sub-lessons, phrased in “kid language.”</li>
          <li>It builds a distinctive story world where the rules mirror the logic of the topic (cycles, patterns, systems, cause and effect).</li>
          <li>It designs a recurring cast with motivations, flaws, and growth that can evolve across multiple books.</li>
          <li>It creates repeatable story engines: conflicts, surprises, and unresolved hooks that naturally set up book 2, 3, and beyond.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a topic you care about, but you cannot see how to teach it through story actions instead of explanations.</li>
          <li>You’re pitching a series to an editor or client and need more than “a cute character learns a lesson.”</li>
          <li>Your book 1 concept works, but there’s no obvious way to generate new adventures without repeating yourself.</li>
          <li>You want to avoid overused frameworks (the dream reveal, the generic field trip) and still keep the idea accessible.</li>
          <li>You’re expanding a brand universe (books, videos, classroom resources) and need consistent world rules and recurring locations.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A series concept package centered on one topic, designed for multi-book longevity.</li>
           <li>1 primary teachable idea plus 2–3 sub-lessons, each rewritten as kid-language learning goals.</li>
           <li>A story-ready setting with 3–5 world rules that can fuel future plots.</li>
           <li>A recurring cast overview including character roles, tensions, and growth arcs across books.</li>
           <li>A set of series “book engines,” including conflict types, surprise mechanisms, and at least one next-mystery hook.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Series-Ready Kids Book Concept Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Specify the central theme or subject that the book will focus on teaching and exploring. Choose a topic that is educational, engaging, and suitable for children.                                    <div class="var-example">For example: "Environmental conservation, focusing on the importance of recycling and protecting wildlife."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the intended readers of the book, including their age group, interests, and any relevant developmental characteristics.                                    <div class="var-example">For example: "Children aged 7-10 who enjoy adventure stories with magical elements and relatable characters."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Define the tone of the story, including the emotional feel and style of language to be used. Ensure the tone matches the target audience and the educational objectives.                                    <div class="var-example">For example: "Playful and imaginative with a touch of mystery, using accessible language and humor."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Specify the structure or type of book you envision, such as a picture book, chapter book, or early reader series. Consider the complexity suitable for the age group.                                    <div class="var-example">For example: "A chapter book series with 10-15 short chapters and illustrations scattered throughout."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Design an original, kid-friendly book theme centered on **[TOPIC]** that is entertaining *and* instructive, with clear potential to grow into a multi-book series. The deliverable must include a story-ready world, cast, learning focus, character growth, and story engines (conflicts + surprises) that naturally teach concepts tied to **[TOPIC]**.

## PERSONA
Write as a seasoned children’s fiction creator and series architect—highly imaginative, developmentally aware, and skilled at weaving real learning into playful adventures. Keep language accessible and vivid, like you’re pitching a new book concept to an editor.

## CONSTRAINTS
- Suitable for children (no graphic violence, cruelty, or mature themes).
- Educational thread must be accurate *and* easy to grasp through story actions, not lectures.
- Theme must feel fresh (avoid common, overused “school field trip” or “it was all a dream” frameworks unless you reinvent them heavily).
- Build in series longevity: recurring locations, expandable rules of the world, and unresolved “next mystery” hooks.
- Use **delivery standards** below; follow the **deliverable structure** exactly.

### What This Is NOT
- Not a full manuscript, chapter-by-chapter outline, or final prose pages.
- Not a dry lesson plan or textbook summary of **[TOPIC]**.
- Not a marketing plan, cover copy, or illustration brief (unless explicitly requested in inputs).

## PROCESS
1. **Pre-Analysis (required):** State your understanding of the assignment in 2–4 sentences, including the intended age feel you’re aiming for and what part of **[TOPIC]** you’ll teach through the story.
2. **Learning Core:** Select 1 primary teachable idea within **[TOPIC]** plus 2–3 supporting sub-lessons. Convert each into “kid language” phrasing.
3. **World Forge:** Invent a distinctive setting where the rules of the place mirror the logic of **[TOPIC]** (e.g., cause/effect, cycles, systems, patterns). Add 3–5 world rules that can fuel multiple books.
4. **Hero Team:** Create main characters (kids or kid-coded beings) with contrasting traits, including a flaw that will create trouble. Ensure each has a personal goal tied to the learning core.
5. **Growth Paths:** Map how each main character changes by the end (what they believe at the start vs. what they learn to do differently).
6. **Story Engine:** Propose a central problem, escalating obstacles, and a “hook mechanism” (a recurring story device that makes future episodes easy).
7. **Surprises:** Add 2–3 plot reversals that are fair (foreshadowable) and directly connected to **[TOPIC]** understanding.
8. **Allies &amp; Guides:** Add supporting characters (animal, magical, inventor, librarian, etc.) who help—but do not solve everything. Give each a clear function.
9. **Ending + Series Doorway:** Provide a satisfying resolution with a moral/insight linked to **[TOPIC]**, plus 2 sequel seeds.

### Edge Case Handling
- If **[TOPIC]** is broad, choose a specific slice and explain your choice in the Pre-Analysis.
- If **[TOPIC]** is sensitive/advanced (e.g., heavy science, tragedy, conflict), simplify to age-appropriate metaphors and focus on safe, constructive angles.
- If **[TOPIC]** is unclear, propose 3 interpretations and proceed with the strongest one.

## INPUTS
- **Topic for the book:** [TOPIC]
- **Primary user segment (optional):** [TARGET_AUDIENCE]
- **Tone preference (optional):** [TONE]
- **Format/length preference (optional):** [FORMAT]

## OUTPUT SPECIFICATION
Provide the following sections in order:

1. **Task Understanding**
   - {Intended Age Feel}
   - {Learning Focus Chosen From Topic}
   - {One-Sentence Promise Of The Series}

2. **Theme Statement**
   - {Theme Logline} (1–2 sentences)
   - {Core Lesson In Kid Words}
   - {Supporting Lessons} (bullets)

3. **Setting &amp; World Rules**
   - {World Name And Description}
   - {Key Locations} (3–6 bullets)
   - {World Rules That Enable Many Stories} (3–5 bullets)
   - {Series “Home Base” Location}

4. **Main Characters**
   For each main character:
   - {Name}
   - {Role In The Group}
   - {Personality Snapshot}
   - {Flaw / Limitation}
   - {Personal Goal}
   - {Arc: Start → Shift → End}

5. **Support Cast**
   For each supporting character:
   - {Name}
   - {Type (mentor/sidekick/rival/etc.)}
   - {How They Help The Learning Without Lecturing}
   - {Recurring Series Potential}

6. **Plot Blueprint (Book 1)**
   - {Inciting Incident}
   - {Main Problem}
   - {Rising Challenges} (3–5 bullets tied to lessons)
   - {Plot Twists} (2–3 bullets)
   - {Climax Choice The Heroes Must Make}
   - {Resolution + Clear Takeaway}

7. **Series Expansion Hooks**
   - {Recurring Hook Mechanism}
   - {Next-Book Seeds} (2–4 bullets)
   - {Long-Arc Mystery Or Goal} (1–2 sentences)

## QUALITY CHECKS
At the end, include a brief checklist confirming:
- Educational content is embedded in events, not explained like a lecture.
- Characters demonstrate meaningful growth connected to **[TOPIC]**.
- Setting has reusable rules and locations suitable for a series.
- Plot includes at least two fair surprises tied to the learning.
- The concept is age-appropriate, original, and easy to pitch in one sentence.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDesign an original, kid-friendly book theme centered on **[TOPIC]** that is entertaining *and* instructive, with clear potential to grow into a multi-book series. The deliverable must include a story-ready world, cast, learning focus, character growth, and story engines (conflicts + surprises) that naturally teach concepts tied to **[TOPIC]**.\r\n\r\n## PERSONA\r\nWrite as a seasoned children\u2019s fiction creator and series architect\u2014highly imaginative, developmentally aware, and skilled at weaving real learning into playful adventures. Keep language accessible and vivid, like you\u2019re pitching a new book concept to an editor.\r\n\r\n## CONSTRAINTS\r\n- Suitable for children (no graphic violence, cruelty, or mature themes).\r\n- Educational thread must be accurate *and* easy to grasp through story actions, not lectures.\r\n- Theme must feel fresh (avoid common, overused \u201cschool field trip\u201d or \u201cit was all a dream\u201d frameworks unless you reinvent them heavily).\r\n- Build in series longevity: recurring locations, expandable rules of the world, and unresolved \u201cnext mystery\u201d hooks.\r\n- Use **delivery standards** below; follow the **deliverable structure** exactly.\r\n\r\n### What This Is NOT\r\n- Not a full manuscript, chapter-by-chapter outline, or final prose pages.\r\n- Not a dry lesson plan or textbook summary of **[TOPIC]**.\r\n- Not a marketing plan, cover copy, or illustration brief (unless explicitly requested in inputs).\r\n\r\n## PROCESS\r\n1. **Pre-Analysis (required):** State your understanding of the assignment in 2\u20134 sentences, including the intended age feel you\u2019re aiming for and what part of **[TOPIC]** you\u2019ll teach through the story.\r\n2. **Learning Core:** Select 1 primary teachable idea within **[TOPIC]** plus 2\u20133 supporting sub-lessons. Convert each into \u201ckid language\u201d phrasing.\r\n3. **World Forge:** Invent a distinctive setting where the rules of the place mirror the logic of **[TOPIC]** (e.g., cause\/effect, cycles, systems, patterns). Add 3\u20135 world rules that can fuel multiple books.\r\n4. **Hero Team:** Create main characters (kids or kid-coded beings) with contrasting traits, including a flaw that will create trouble. Ensure each has a personal goal tied to the learning core.\r\n5. **Growth Paths:** Map how each main character changes by the end (what they believe at the start vs. what they learn to do differently).\r\n6. **Story Engine:** Propose a central problem, escalating obstacles, and a \u201chook mechanism\u201d (a recurring story device that makes future episodes easy).\r\n7. **Surprises:** Add 2\u20133 plot reversals that are fair (foreshadowable) and directly connected to **[TOPIC]** understanding.\r\n8. **Allies & Guides:** Add supporting characters (animal, magical, inventor, librarian, etc.) who help\u2014but do not solve everything. Give each a clear function.\r\n9. **Ending + Series Doorway:** Provide a satisfying resolution with a moral\/insight linked to **[TOPIC]**, plus 2 sequel seeds.\r\n\r\n### Edge Case Handling\r\n- If **[TOPIC]** is broad, choose a specific slice and explain your choice in the Pre-Analysis.\r\n- If **[TOPIC]** is sensitive\/advanced (e.g., heavy science, tragedy, conflict), simplify to age-appropriate metaphors and focus on safe, constructive angles.\r\n- If **[TOPIC]** is unclear, propose 3 interpretations and proceed with the strongest one.\r\n\r\n## INPUTS\r\n- **Topic for the book:** [TOPIC]\r\n- **Primary user segment (optional):** [TARGET_AUDIENCE]\r\n- **Tone preference (optional):** [TONE]\r\n- **Format\/length preference (optional):** [FORMAT]\r\n\r\n## OUTPUT SPECIFICATION\r\nProvide the following sections in order:\r\n\r\n1. **Task Understanding**\r\n   - {Intended Age Feel}\r\n   - {Learning Focus Chosen From Topic}\r\n   - {One-Sentence Promise Of The Series}\r\n\r\n2. **Theme Statement**\r\n   - {Theme Logline} (1\u20132 sentences)\r\n   - {Core Lesson In Kid Words}\r\n   - {Supporting Lessons} (bullets)\r\n\r\n3. **Setting & World Rules**\r\n   - {World Name And Description}\r\n   - {Key Locations} (3\u20136 bullets)\r\n   - {World Rules That Enable Many Stories} (3\u20135 bullets)\r\n   - {Series \u201cHome Base\u201d Location}\r\n\r\n4. **Main Characters**\r\n   For each main character:\r\n   - {Name}\r\n   - {Role In The Group}\r\n   - {Personality Snapshot}\r\n   - {Flaw \/ Limitation}\r\n   - {Personal Goal}\r\n   - {Arc: Start \u2192 Shift \u2192 End}\r\n\r\n5. **Support Cast**\r\n   For each supporting character:\r\n   - {Name}\r\n   - {Type (mentor\/sidekick\/rival\/etc.)}\r\n   - {How They Help The Learning Without Lecturing}\r\n   - {Recurring Series Potential}\r\n\r\n6. **Plot Blueprint (Book 1)**\r\n   - {Inciting Incident}\r\n   - {Main Problem}\r\n   - {Rising Challenges} (3\u20135 bullets tied to lessons)\r\n   - {Plot Twists} (2\u20133 bullets)\r\n   - {Climax Choice The Heroes Must Make}\r\n   - {Resolution + Clear Takeaway}\r\n\r\n7. **Series Expansion Hooks**\r\n   - {Recurring Hook Mechanism}\r\n   - {Next-Book Seeds} (2\u20134 bullets)\r\n   - {Long-Arc Mystery Or Goal} (1\u20132 sentences)\r\n\r\n## QUALITY CHECKS\r\nAt the end, include a brief checklist confirming:\r\n- Educational content is embedded in events, not explained like a lecture.\r\n- Characters demonstrate meaningful growth connected to **[TOPIC]**.\r\n- Setting has reusable rules and locations suitable for a series.\r\n- Plot includes at least two fair surprises tied to the learning.\r\n- The concept is age-appropriate, original, and easy to pitch in one sentence.";
    const variables = ["[TOPIC]","[TARGET_AUDIENCE]","[TONE]","[FORMAT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Pick a narrow topic slice, not a whole subject.</strong> “Space” is too big; “how craters form” gives the prompt something teachable that can show up in action scenes. If you want breadth, ask the AI to anchor book 1 on one slice and reserve other slices for later titles.</li>


<li><strong>Set an age feel before you run it.</strong> The prompt asks for developmentally aware writing, but you still need to decide what “kid-friendly” means for your project. Add a one-line instruction like: “Aim for ages 6–8 with short sentences, playful metaphors, and minimal sarcasm.”</li>


<li><strong>Force “show, don’t tell” learning moments.</strong> After you get the Learning Core, follow up with: “For each sub-lesson, give 2 scene ideas where the character learns it by doing something, not by being told.” That single tweak usually fixes the “textbook vibe,” honestly.</li>


<li><strong>Iterate on the world rules until they generate plots.</strong> A good rule should create problems. After the first output, try asking: “Rewrite the 5 world rules so each one naturally causes a complication, a misunderstanding, or a surprise twist.”</li>


<li><strong>Cross-check the cast with a character dossier prompt.</strong> When you like the core concept, deepen the hero and sidekick using <a href="https://flowpast.com/prompts/build-a-story-ready-character-dossier-with-this-ai-prompt/">Build a Story-Ready Character Dossier with this AI Prompt</a>. Then return and say: “Update the series engines to fit these finalized character flaws and goals.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your series concept is solid, these prompts help you develop the characters, scenes, and story packaging that bring it to life.</p>



<p>If you also need a richer “before the book starts” history for your hero (the wound, the want, the reason they react the way they do), use <a href="https://flowpast.com/prompts/write-a-cinematic-character-backstory-with-this-ai-prompt/">Write a Cinematic Character Backstory with this AI Prompt</a>. It’s a clean way to turn a simple kid protagonist into someone consistent enough to carry five adventures without drifting out of character.</p>



<p>When you’re ready to test how the world rules actually feel on the page, draft a few key moments with <a href="https://flowpast.com/prompts/write-cinematic-fiction-scenes-with-this-ai-prompt/">Write Cinematic Fiction Scenes with this AI Prompt</a>. Take one conflict engine from your series concept (a recurring obstacle, a recurring surprise) and generate 2–3 scene variants to see what tone fits best.</p>



<p>For teams doing story-first marketing (or classroom content that needs narrative momentum), <a href="https://flowpast.com/prompts/write-a-story-driven-video-script-with-this-ai-prompt/">Write a Story-Driven Video Script with this AI Prompt</a> helps you translate your book concept into a short episode format. It’s handy if your “series” will live across media: read-aloud videos, animated shorts, or lesson companions.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/write-a-cinematic-character-backstory-with-this-ai-prompt/">Write a Cinematic Character Backstory with this AI Prompt</a>: Backstory that drives consistent motivations.</li>


<li><a href="https://flowpast.com/prompts/write-cinematic-fiction-scenes-with-this-ai-prompt/">Write Cinematic Fiction Scenes with this AI Prompt</a>: Draft vivid scenes from your concept.</li>


<li><a href="https://flowpast.com/prompts/write-a-story-driven-video-script-with-this-ai-prompt/">Write a Story-Driven Video Script with this AI Prompt</a>: Turn story beats into video scripts.</li>


<li><a href="https://flowpast.com/prompts/create-relatable-story-angles-with-this-ai-prompt/">Create Relatable Story Angles with this AI Prompt</a>: Find emotional angles kids recognize.</li>


<li><a href="https://flowpast.com/prompts/build-a-story-ready-character-dossier-with-this-ai-prompt/">Build a Story-Ready Character Dossier with this AI Prompt</a>: Deepen character voice, flaws, and goals.</li>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this kids book series AI prompt?</span>

<p class="answer"><strong>Children’s authors</strong> use this to turn a single idea into a repeatable series framework (world rules, cast, and conflicts) instead of a one-off plot. <strong>Publishing freelancers and ghostwriters</strong> rely on it to create pitch-ready concept packages quickly, with clear learning goals and “book 2” hooks. <strong>Curriculum writers at edtech or museums</strong> apply it to wrap accurate concepts in story action, so learning happens through choices and consequences. <strong>Content strategists for kids brands</strong> use it to build a consistent story universe that can extend into videos, activity sheets, and read-aloud scripts.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this kids book series AI prompt?</span>

<p class="answer"><strong>Children’s publishing</strong> gets value because the prompt outputs what editors look for: a fresh concept, clear audience feel, and series longevity beyond book 1. <strong>Education and edtech</strong> teams use it to design stories that teach a defined learning core (one big idea plus sub-lessons) without turning into a lesson plan. <strong>Museums, nonprofits, and science centers</strong> can build mission-aligned characters and worlds that explain tricky topics through playful cause-and-effect adventures. <strong>Kids media studios</strong> use the world rules and recurring conflicts as a foundation for episodic content and character bibles.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for creating a kids book series concept produce weak results?</span>

<p class="answer">A typical prompt like “Write me a kids book series about space” fails because it: lacks a defined learning core (so the “lesson” becomes random), provides no world rules that generate plots, ignores developmental language and tone, produces generic character types instead of growth arcs, and misses repeatable story engines that can sustain multiple books. You usually end up with a cute premise and nowhere to go. This prompt forces structure: what gets taught, how it gets taught through action, and how the world keeps creating new problems to solve.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this kids book series prompt for my specific situation?</span>

<p class="answer">Yes. The main variable is [TOPIC], so customize by narrowing it (for example, “pollination” instead of “plants”) and stating an age feel (like “ages 5–7, read-aloud rhythm”). You can also add constraints the base prompt mentions but doesn’t lock in, such as “make the humor gentle,” “avoid magic,” or “set it in a coastal town.” After you get the first concept, a strong follow-up is: “Give me three alternate versions of the World Forge with different settings, but keep the same Learning Core.”</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this kids book series prompt?</span>

<p class="answer">The biggest mistake is leaving [TOPIC] too vague—instead of “friendship,” try “repairing friendships after a misunderstanding (apologizing, making amends, rebuilding trust).” Another common error is asking for a full manuscript even though the prompt is designed for a concept package; better: request “a 5-book lineup with one-sentence premises” after the concept is done. People also forget to specify the intended age feel, which can cause language that skews too old or too babyish; give a range and reading format (early reader vs. read-aloud). Finally, many users accept world rules that are decorative rather than plot-generating, so push for rules that cause problems (“If you break rule #2, what goes wrong immediately?”).</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this kids book series prompt?</span>

<p class="answer">This prompt isn’t ideal for teams who only need a quick rhyme or a single bedtime story with no plans to expand. It also won’t be a perfect fit if you have not chosen a topic yet and you’re hoping the AI will pick your entire direction from scratch. And if your goal is final, publish-ready prose pages, you’ll need a drafting prompt after this concept work. In those cases, start with basic brainstorming or jump straight into scene writing once you already know the concept.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this kids book series AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s authors use this to turn a single idea into a repeatable series framework (world rules, cast, and conflicts) instead of a one-off plot. Publishing freelancers and ghostwriters rely on it to create pitch-ready concept packages quickly, with clear learning goals and “book 2” hooks. Curriculum writers at edtech or museums apply it to wrap accurate concepts in story action, so learning happens through choices and consequences. Content strategists for kids brands use it to build a consistent story universe that can extend into videos, activity sheets, and read-aloud scripts."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this kids book series AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s publishing gets value because the prompt outputs what editors look for: a fresh concept, clear audience feel, and series longevity beyond book 1. Education and edtech teams use it to design stories that teach a defined learning core (one big idea plus sub-lessons) without turning into a lesson plan. Museums, nonprofits, and science centers can build mission-aligned characters and worlds that explain tricky topics through playful cause-and-effect adventures. Kids media studios use the world rules and recurring conflicts as a foundation for episodic content and character bibles."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for creating a kids book series concept produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a kids book series about space” fails because it: lacks a defined learning core (so the “lesson” becomes random), provides no world rules that generate plots, ignores developmental language and tone, produces generic character types instead of growth arcs, and misses repeatable story engines that can sustain multiple books. You usually end up with a cute premise and nowhere to go. This prompt forces structure: what gets taught, how it gets taught through action, and how the world keeps creating new problems to solve."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this kids book series prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. The main variable is [TOPIC], so customize by narrowing it (for example, “pollination” instead of “plants”) and stating an age feel (like “ages 5–7, read-aloud rhythm”). You can also add constraints the base prompt mentions but doesn’t lock in, such as “make the humor gentle,” “avoid magic,” or “set it in a coastal town.” After you get the first concept, a strong follow-up is: “Give me three alternate versions of the World Forge with different settings, but keep the same Learning Core.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this kids book series prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving [TOPIC] too vague—instead of “friendship,” try “repairing friendships after a misunderstanding (apologizing, making amends, rebuilding trust).” Another common error is asking for a full manuscript even though the prompt is designed for a concept package; better: request “a 5-book lineup with one-sentence premises” after the concept is done. People also forget to specify the intended age feel, which can cause language that skews too old or too babyish; give a range and reading format (early reader vs. read-aloud). Finally, many users accept world rules that are decorative rather than plot-generating, so push for rules that cause problems (“If you break rule #2, what goes wrong immediately?”)."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this kids book series prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams who only need a quick rhyme or a single bedtime story with no plans to expand. It also won’t be a perfect fit if you have not chosen a topic yet and you’re hoping the AI will pick your entire direction from scratch. And if your goal is final, publish-ready prose pages, you’ll need a drafting prompt after this concept work. In those cases, start with basic brainstorming or jump straight into scene writing once you already know the concept."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>A strong series isn’t just a character and a moral. It’s a world that keeps generating adventures. Paste the prompt into your AI tool, pick a focused topic, and build a concept you can grow for years.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000630.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>AI Prompt to Write a Childrens Book Title</title>
		<link>https://flowpast.com/prompts/ai-prompt-to-write-a-childrens-book-title/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:34:26 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000629</guid>

					<description><![CDATA[Kid book titles feel bland - the ultimate AI Prompt that crafts one catchy 5 to 6 word title with theme hints for caregivers. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: childrens book title -->
<div class="hook-introduction">

<p>Your children’s book can be wonderful and still get ignored. Often it’s the title. Too long, too vague, or it sounds like every other “The Little ___ Who ___” on the shelf.</p>



<p>This <strong>childrens book title</strong> is built for <strong>children’s authors</strong> who have a solid story idea but can’t land the name, <strong>self-publishing parents</strong> testing a concept before paying for illustrations, and <strong>educators creating classroom readers</strong> who need a title kids can say out loud. The output is one standout 5–6 word title (plus a short rationale) that hints at theme and emotional tone without spoiling the plot.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates the story focus, audience age/level, and theme in a quick pre-analysis so you can confirm the direction.</li>
          <li>It extracts 2–4 “title ingredients” (character type, setting vibe, emotional promise, and learning angle) from your inputs.</li>
          <li>It generates candidate titles using specific naming patterns such as character-led, place-led, and action-led structures.</li>
          <li>It filters options for read-aloud clarity, memorability, intrigue, and “cover punch,” then narrows to the strongest choice.</li>
          <li>It delivers a final pick with a one-sentence rationale tied to your core theme or message.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a great premise, but every title you try feels either bland or too complicated for kids to repeat.</li>
          <li>You are about to commission a cover and want a short title that looks bold at thumbnail size.</li>
          <li>You’re writing to a specific reading level and need simple words that still feel playful and meaningful.</li>
          <li>You’re seeing competing books with stronger shelf appeal and you need a title that signals wonder or learning fast.</li>
          <li>You’re validating a concept with caregivers, librarians, or teachers and need a title that sounds trustworthy and fun.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>One final children’s book title limited to 5–6 words.</li>
           <li>A short pre-analysis summary of your audience, tone, and story focus.</li>
           <li>A brief selection rationale (one sentence) connected to the core theme/message.</li>
           <li>A set of candidate titles generated via multiple naming patterns (before the final is chosen).</li>
           <li>A simple checklist-style filter logic showing why the winner beat the other options.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Children’s Book Title Generator (5–6 Words)</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Provide the main subject or focus of the children’s book. This could be an idea, concept, or theme that the story revolves around.                                    <div class="var-example">For example: "Friendship between a fox and a rabbit in a magical forest."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Ensure that all user inputs follow the specified format with uppercase letters and underscores. This applies to placeholders like [TOPIC].                                    <div class="var-example">For example: "[TOPIC], [CORE_THEME_OR_MESSAGE], [UNIQUE_ELEMENTS]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NUMBER_OF_TITLES]</code></td>
                                <td class="var-desc">
                                    Indicate how many title suggestions you would like generated. Provide a number, typically between 1 and 10.                                    <div class="var-example">For example: "3"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[NUMBER_OF_TITLES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CORE_THEME_OR_MESSAGE]</code></td>
                                <td class="var-desc">
                                    Describe the central idea or lesson the story aims to convey. This should be a short, meaningful phrase or sentence.                                    <div class="var-example">For example: "The importance of teamwork and trust."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CORE_THEME_OR_MESSAGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AGE_GROUP]</code></td>
                                <td class="var-desc">
                                    Specify the intended age range for the book’s audience. Include numerical values or descriptive ranges.                                    <div class="var-example">For example: "4–8 years old."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TARGET_AGE_GROUP]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the type of book format, such as picture book, early-reader chapter book, or graphic novel.                                    <div class="var-example">For example: "Picture book."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UNIQUE_ELEMENTS]</code></td>
                                <td class="var-desc">
                                    List any distinctive features of the story, such as specific characters, settings, or twists that make it stand out.                                    <div class="var-example">For example: "A talking tree that helps animals solve problems."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UNIQUE_ELEMENTS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Describe the emotional tone or mood of the book, such as adventurous, cozy, zany, or gentle.                                    <div class="var-example">For example: "Adventurous and playful."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a standout children’s book title that fits a story about [TOPIC], matches the intended reading level, and appeals to both kids and the adults who choose books for them. The title must feel playful and meaningful while hinting at the story’s heart without giving away the plot.

## PERSONA
You are a seasoned creator of picture books and early-reader fiction who specializes in bright, imaginative naming that works aloud in classrooms and at bedtime. You balance whimsy with clarity and keep an eye on what looks great on a cover.

## CONSTRAINTS
- Title length: **5–6 words maximum**
- Language: simple, readable, and easy to pronounce for the age group
- Must suggest **wonder/adventure/learning** and align with the story’s emotional tone
- Should be distinctive enough to stand out on a bookstore shelf
- Avoid spoilers; tease the premise rather than summarize it
- Variable format compliance: use **[UPPERCASE_WITH_UNDERSCORES]** only for user inputs and **{Title Case}** only for AI-filled placeholders

### What This Is NOT
- Not a full plot outline, synopsis, tagline set, or cover copy package  
- Not a series naming system or trademark/legal clearance  
- Not a list of dozens of options (unless the user explicitly changes [NUMBER_OF_TITLES])

## PROCESS
1. **Pre-analysis (required):** Briefly restate your understanding of the story focus, audience age, theme, and unique elements based on the provided inputs.
2. Extract 2–4 “title ingredients” from the inputs (e.g., main character type, setting vibe, emotional promise, learning angle).
3. Generate multiple candidate titles using different naming patterns, such as:
   - Character-led: “{Character} and the {Wonder}”
   - Place-led: “The {Magical Place} Mystery”
   - Action-led: “How {Character} Learned to {Skill}”
4. Filter candidates by: readability for age, memorability, intrigue, and shelf/cover punch.
5. Select the best final title and give a one-sentence rationale tied to [CORE_THEME_OR_MESSAGE].

### Edge Case Handling
- If any input is missing or vague, make **one reasonable assumption** and clearly label it as an assumption.
- If [TARGET_AGE_GROUP] spans widely (e.g., “3–10”), optimize for the **younger end** unless [FORMAT] indicates otherwise.
- If [UNIQUE_ELEMENTS] contains many items, prioritize the **most distinctive** one for naming.

## INPUTS
- **Story topic:** [TOPIC]  
- **Target age group:** [TARGET_AGE_GROUP]  
- **Core theme or message:** [CORE_THEME_OR_MESSAGE]  
- **Unique elements (characters/setting/special twist):** [UNIQUE_ELEMENTS]  
- **Number of title options to generate (optional):** [NUMBER_OF_TITLES]  
- **Tone (optional; e.g., cozy, zany, adventurous, gentle):** [TONE]  

## OUTPUT SPECIFICATION
Provide:
- **{Task Understanding}** (1–2 sentences)
- **{Final Title}** (must be 5–6 words max)
- **{Why This Title Works}** (one sentence referencing age fit + theme + intrigue)

If [NUMBER_OF_TITLES] is provided and greater than 1, also include:
- **{Alternate Titles}** (a short list), each meeting the same length rule.

## QUALITY CHECKS
Before finalizing, verify:
- Length is within **5–6 words**
- Easy to say aloud and age-appropriate for [TARGET_AGE_GROUP]
- Communicates the right emotional promise (curiosity, wonder, excitement, comfort)
- Hints at the experience/learning without revealing the ending
- Distinctive phrasing that doesn’t feel generic or overly similar to common classics            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a standout children\u2019s book title that fits a story about [TOPIC], matches the intended reading level, and appeals to both kids and the adults who choose books for them. The title must feel playful and meaningful while hinting at the story\u2019s heart without giving away the plot.\r\n\r\n## PERSONA\r\nYou are a seasoned creator of picture books and early-reader fiction who specializes in bright, imaginative naming that works aloud in classrooms and at bedtime. You balance whimsy with clarity and keep an eye on what looks great on a cover.\r\n\r\n## CONSTRAINTS\r\n- Title length: **5\u20136 words maximum**\r\n- Language: simple, readable, and easy to pronounce for the age group\r\n- Must suggest **wonder\/adventure\/learning** and align with the story\u2019s emotional tone\r\n- Should be distinctive enough to stand out on a bookstore shelf\r\n- Avoid spoilers; tease the premise rather than summarize it\r\n- Variable format compliance: use **[UPPERCASE_WITH_UNDERSCORES]** only for user inputs and **{Title Case}** only for AI-filled placeholders\r\n\r\n### What This Is NOT\r\n- Not a full plot outline, synopsis, tagline set, or cover copy package  \r\n- Not a series naming system or trademark\/legal clearance  \r\n- Not a list of dozens of options (unless the user explicitly changes [NUMBER_OF_TITLES])\r\n\r\n## PROCESS\r\n1. **Pre-analysis (required):** Briefly restate your understanding of the story focus, audience age, theme, and unique elements based on the provided inputs.\r\n2. Extract 2\u20134 \u201ctitle ingredients\u201d from the inputs (e.g., main character type, setting vibe, emotional promise, learning angle).\r\n3. Generate multiple candidate titles using different naming patterns, such as:\r\n   - Character-led: \u201c{Character} and the {Wonder}\u201d\r\n   - Place-led: \u201cThe {Magical Place} Mystery\u201d\r\n   - Action-led: \u201cHow {Character} Learned to {Skill}\u201d\r\n4. Filter candidates by: readability for age, memorability, intrigue, and shelf\/cover punch.\r\n5. Select the best final title and give a one-sentence rationale tied to [CORE_THEME_OR_MESSAGE].\r\n\r\n### Edge Case Handling\r\n- If any input is missing or vague, make **one reasonable assumption** and clearly label it as an assumption.\r\n- If [TARGET_AGE_GROUP] spans widely (e.g., \u201c3\u201310\u201d), optimize for the **younger end** unless [FORMAT] indicates otherwise.\r\n- If [UNIQUE_ELEMENTS] contains many items, prioritize the **most distinctive** one for naming.\r\n\r\n## INPUTS\r\n- **Story topic:** [TOPIC]  \r\n- **Target age group:** [TARGET_AGE_GROUP]  \r\n- **Core theme or message:** [CORE_THEME_OR_MESSAGE]  \r\n- **Unique elements (characters\/setting\/special twist):** [UNIQUE_ELEMENTS]  \r\n- **Number of title options to generate (optional):** [NUMBER_OF_TITLES]  \r\n- **Tone (optional; e.g., cozy, zany, adventurous, gentle):** [TONE]  \r\n\r\n## OUTPUT SPECIFICATION\r\nProvide:\r\n- **{Task Understanding}** (1\u20132 sentences)\r\n- **{Final Title}** (must be 5\u20136 words max)\r\n- **{Why This Title Works}** (one sentence referencing age fit + theme + intrigue)\r\n\r\nIf [NUMBER_OF_TITLES] is provided and greater than 1, also include:\r\n- **{Alternate Titles}** (a short list), each meeting the same length rule.\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- Length is within **5\u20136 words**\r\n- Easy to say aloud and age-appropriate for [TARGET_AGE_GROUP]\r\n- Communicates the right emotional promise (curiosity, wonder, excitement, comfort)\r\n- Hints at the experience\/learning without revealing the ending\r\n- Distinctive phrasing that doesn\u2019t feel generic or overly similar to common classics";
    const variables = ["[TOPIC]","[UPPERCASE_WITH_UNDERSCORES]","[NUMBER_OF_TITLES]","[CORE_THEME_OR_MESSAGE]","[TARGET_AGE_GROUP]","[FORMAT]","[UNIQUE_ELEMENTS]","[TONE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Define the caregiver “yes.”</strong> Kids react to rhythm, but adults choose many purchases. Add one line about what the adult is hoping the book supports (bedtime calm, bravery at school, learning to share). Follow-up prompt: “Generate titles that feel playful to kids but reassuring to parents who value {CORE_THEME_OR_MESSAGE}.”</li>


<li><strong>Pick a reading level, then show it.</strong> Don’t just say “for 5-year-olds.” Specify “read-aloud picture book” or “early reader Level 1,” and include a couple of example words you want to be in-range (like “moon,” “map,” “brave,” “garden”). Then ask: “Now rewrite the finalists using only one- and two-syllable words.”</li>


<li><strong>Give a vibe, not a plot.</strong> This prompt is designed to avoid spoilers, so you’ll get better results when you describe tone and emotional arc instead of listing twists. Try inputs like “cozy mystery in a snowy town” or “curious adventure with gentle humor,” rather than “then the dragon is actually the teacher.”</li>


<li><strong>Push contrast on round two.</strong> After the first output, ask for extremes to surface fresher angles. For example: “Make option 2 more whimsical and musical, and make option 4 more simple and classic, like a library staple.”</li>


<li><strong>Stress-test the title aloud.</strong> Honestly, the mouth-feel matters. Ask the model to run a quick read-aloud check: “List any hard-to-pronounce clusters and suggest easier substitutions without changing meaning.” This is especially useful if your topic includes tricky names or fantasy terms.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once you’ve nailed the title, these prompts can help you build the learning experience around your book idea and the audience you’re writing for.</p>



<p>If you also need a structured way to turn your book goal into a realistic skill plan (for example, improving your own writing chops or building a classroom companion unit), <a href="https://flowpast.com/prompts/build-a-resilient-learning-system-with-this-ai-prompt/">Build a Resilient Learning System with this AI Prompt</a> helps you map routines, feedback loops, and review cycles so the project doesn’t stall halfway through.</p>



<p>When you’re developing kid-facing learning content alongside the story, <a href="https://flowpast.com/prompts/build-an-adaptive-language-tutor-with-this-ai-prompt/">Build an Adaptive Language Tutor with this AI Prompt</a> is a smart pairing. It’s useful for tailoring vocabulary practice, comprehension questions, or simple language exercises that match the same age band your title is targeting.</p>



<p>For creators who want to level up their own technical skills to support publishing workflows (formatting scripts, data cleanup, automation), <a href="https://flowpast.com/prompts/build-a-python-study-roadmap-with-this-ai-prompt/">Build a Python Study Roadmap with this AI Prompt</a> gives you a sequenced plan. It pairs nicely if you’re building repeatable systems for series production or classroom material generation.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-resilient-learning-system-with-this-ai-prompt/">Build a Resilient Learning System with this AI Prompt</a>: Keep creative projects on track.</li>


<li><a href="https://flowpast.com/prompts/build-an-adaptive-language-tutor-with-this-ai-prompt/">Build an Adaptive Language Tutor with this AI Prompt</a>: Tailor practice to reading level.</li>


<li><a href="https://flowpast.com/prompts/build-a-python-study-roadmap-with-this-ai-prompt/">Build a Python Study Roadmap with this AI Prompt</a>: Skill plan for automation support.</li>

<li><a href="https://flowpast.com/prompts/build-student-performance-analytics-in-python-ai-prompt/">Build Student Performance Analytics in Python AI Prompt</a>: Track learning outcomes with data.</li>


<li><a href="https://flowpast.com/prompts/optimize-python-memory-footprint-ai-prompt/">Optimize Python Memory Footprint AI Prompt</a>: Run scripts faster and leaner.</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this childrens book title AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Children’s book authors</strong> use this to turn a solid premise into a short, cover-ready title that still feels magical. <strong>Self-publishing creators</strong> rely on it when they need to pick a title before paying for cover design, ISBN setup, or ads. <strong>Educators and reading specialists</strong> benefit because the prompt keeps language simple and read-aloud friendly for a defined level. <strong>Content marketers for kids’ brands</strong> use it to name story-led lead magnets and printable mini-books that must appeal to both kids and caregivers.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this childrens book title AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Publishing and self-publishing</strong> teams use it to brainstorm titles that fit category expectations (picture book vs early reader) without drifting into generic phrasing. <strong>Education companies</strong> apply it when naming leveled readers, phonics stories, or classroom booklets where pronunciation and simplicity matter. <strong>Parenting and childcare brands</strong> get value when creating branded story content, bedtime series, or character-led learning campaigns that must feel warm and trustworthy. <strong>Libraries and literacy nonprofits</strong> can use it to title reading-challenge stories and short educational booklets designed for quick discovery.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for writing a children’s book title produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a children’s book title for my story” fails because it: lacks a forced 5–6 word constraint, so you get long, clunky names; provides no naming patterns, so the options sound samey; ignores reading level and read-aloud clarity, which leads to hard words for the age group; produces vague titles instead of teasing wonder/adventure/learning; and skips a filtering step, so it never explains why one choice is best for a cover and a shelf.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this childrens book title prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes, and you should. The key variable is your story [TOPIC], but you can also steer results by adding the intended reading level, the emotional tone, and a clear [CORE_THEME_OR_MESSAGE] (for example, “trying again after mistakes”). If you want more options, explicitly change [NUMBER_OF_TITLES] so the prompt will generate a longer shortlist before selecting the final. Follow-up prompt: “Using the same [TOPIC] and [CORE_THEME_OR_MESSAGE], create 8 candidates that sound great at bedtime, then pick the best one for a bold cover.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this childrens book title prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving [TOPIC] too vague — instead of “friendship,” try “a shy hedgehog learning to ask to play at recess.” Another common error is skipping reading level details, which makes the model choose words kids can’t pronounce; “for young kids” is weaker than “read-aloud picture book for ages 4–6.” People also forget to define [CORE_THEME_OR_MESSAGE], so the rationale becomes fluffy; “be kind” is less useful than “kindness is noticing small feelings.” Finally, changing [NUMBER_OF_TITLES] without asking for variety can create near-duplicates, so request distinct patterns (character-led, place-led, action-led) in the same run.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this childrens book title prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for trademark-sensitive launches where legal clearance is a must, because it does not check existing titles. It’s also not the best fit if you want dozens of names with no filtering or if you need a full package (subtitle, back-cover copy, series system) in one go. If you’re still unsure what the book is about, do a quick concept and audience definition exercise first, then come back when [TOPIC] and theme are clearer.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this childrens book title AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s book authors use this to turn a solid premise into a short, cover-ready title that still feels magical. Self-publishing creators rely on it when they need to pick a title before paying for cover design, ISBN setup, or ads. Educators and reading specialists benefit because the prompt keeps language simple and read-aloud friendly for a defined level. Content marketers for kids’ brands use it to name story-led lead magnets and printable mini-books that must appeal to both kids and caregivers."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this childrens book title AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Publishing and self-publishing teams use it to brainstorm titles that fit category expectations (picture book vs early reader) without drifting into generic phrasing. Education companies apply it when naming leveled readers, phonics stories, or classroom booklets where pronunciation and simplicity matter. Parenting and childcare brands get value when creating branded story content, bedtime series, or character-led learning campaigns that must feel warm and trustworthy. Libraries and literacy nonprofits can use it to title reading-challenge stories and short educational booklets designed for quick discovery."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for writing a children’s book title produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a children’s book title for my story” fails because it: lacks a forced 5–6 word constraint, so you get long, clunky names; provides no naming patterns, so the options sound samey; ignores reading level and read-aloud clarity, which leads to hard words for the age group; produces vague titles instead of teasing wonder/adventure/learning; and skips a filtering step, so it never explains why one choice is best for a cover and a shelf."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this childrens book title prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, and you should. The key variable is your story [TOPIC], but you can also steer results by adding the intended reading level, the emotional tone, and a clear [CORE_THEME_OR_MESSAGE] (for example, “trying again after mistakes”). If you want more options, explicitly change [NUMBER_OF_TITLES] so the prompt will generate a longer shortlist before selecting the final. Follow-up prompt: “Using the same [TOPIC] and [CORE_THEME_OR_MESSAGE], create 8 candidates that sound great at bedtime, then pick the best one for a bold cover.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this childrens book title prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving [TOPIC] too vague — instead of “friendship,” try “a shy hedgehog learning to ask to play at recess.” Another common error is skipping reading level details, which makes the model choose words kids can’t pronounce; “for young kids” is weaker than “read-aloud picture book for ages 4–6.” People also forget to define [CORE_THEME_OR_MESSAGE], so the rationale becomes fluffy; “be kind” is less useful than “kindness is noticing small feelings.” Finally, changing [NUMBER_OF_TITLES] without asking for variety can create near-duplicates, so request distinct patterns (character-led, place-led, action-led) in the same run."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this childrens book title prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for trademark-sensitive launches where legal clearance is a must, because it does not check existing titles. It’s also not the best fit if you want dozens of names with no filtering or if you need a full package (subtitle, back-cover copy, series system) in one go. If you’re still unsure what the book is about, do a quick concept and audience definition exercise first, then come back when [TOPIC] and theme are clearer."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A strong title does real work: it signals level, tone, and promise in seconds. Paste this prompt into your AI tool, give it a clear [TOPIC] and theme, and walk away with a 5–6 word title that’s ready for the cover.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000629.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Create Kids Book Character Art Brief AI Prompt</title>
		<link>https://flowpast.com/prompts/create-kids-book-character-art-brief-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:32:24 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000627</guid>

					<description><![CDATA[Character ideas feel fuzzy - use this AI Prompt to craft a kid-friendly character concept plus a production-ready illustration brief. Access our full AI prompt library for every model.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: kids book character -->
<div class="hook-introduction">

<p>Your character idea sounds cute in your head, but the moment you try to explain it, it gets vague fast. Artists ask smart questions you can’t answer yet (silhouette, palette, facial expression range), and image models “fill in the gaps” with random choices. That’s how you end up with a character that doesn’t fit the age group, the theme, or the tone of your story.</p>



<p>This <strong>kids book character</strong> prompt is built for <strong>children’s authors</strong> who have a story topic but need a production-ready hero, <strong>illustrators</strong> who want crisp art direction before sketching, and <strong>publishers or marketers</strong> developing a kid-facing concept that must stay inclusive and age-appropriate. The output is a character concept package: two design directions, a chosen refined design, plus clear visual specs (palette, shapes, accessories, expression notes) you can hand to an artist or an image model.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates your character description, topic, and age range, then sets 2–3 design priorities before generating anything.</li>
          <li>It extracts essentials from your description (body type, face, clothing, accessories, personality signals, and story role) so the design stays consistent.</li>
          <li>It produces two distinct visual directions for the same character, giving you options without drifting away from your brief.</li>
          <li>It selects the stronger direction and refines it into a definitive concept using clear, production-ready art direction language.</li>
          <li>It builds a color and emotion plan that aims for kid-friendly readability: confident palette, clean silhouette, and uplifting tone.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re preparing to hire an illustrator and you need to stop sending “vibes” and start sending specifications.</li>
          <li>You tried generating character art with an image model, but the results change every run and nothing feels consistent.</li>
          <li>You have a strong book topic, yet the main character doesn’t clearly reinforce the theme on the cover or in key scenes.</li>
          <li>You’re targeting a specific age band and want to avoid designs that skew too babyish, too scary, or accidentally teen-coded.</li>
          <li>You’re building a small series or a classroom resource and need a repeatable character design you can reuse safely.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A short pre-analysis summary plus 2–3 design priorities tailored to your target age group and topic.</li>
           <li>One essentials breakdown list covering body, face, outfit, accessories, and personality cues in a consistent format.</li>
           <li>Two character design directions (direction A and direction B) described with distinct shapes, style notes, and story-role signals.</li>
           <li>A final refined “hero” character brief with clear do/don’t notes to prevent contradictions or off-tone details.</li>
           <li>A bold palette and emotion plan, including suggested expressions/poses that keep the character readable and friendly.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Children’s Book Character Art Brief Generator</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AGE_GROUP]</code></td>
                                <td class="var-desc">
                                    Specify the intended age range for the book&#039;s audience, including developmental stage or reading level if relevant.                                    <div class="var-example">For example: "Ages 4-6, early readers who are just beginning to recognize simple words and enjoy colorful, playful illustrations."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TARGET_AGE_GROUP]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Provide the main theme or subject of the book that the character and illustrations should support.                                    <div class="var-example">For example: "Friendship and teamwork in a magical forest setting."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Detail the character&#039;s physical appearance, personality traits, and role in the story to guide the illustration concept.                                    <div class="var-example">For example: "A cheerful raccoon who loves solving puzzles, wears a red scarf and has a small backpack with tools for adventures."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Describe the overall emotional tone or mood of the book to ensure the character design aligns with it.                                    <div class="var-example">For example: "Playful and uplifting, with a focus on curiosity and exploration."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the type of illustration output needed, such as style, resolution, or medium specifications.                                    <div class="var-example">For example: "Digital illustration optimized for print with bold outlines and flat colors."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Explain the broader setting or background of the book, including any relevant cultural, geographical, or story-specific details.                                    <div class="var-example">For example: "Set in a whimsical underwater world where all characters are sea creatures learning about cooperation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create an original children’s-book character illustration concept (ready for an artist or image model to render) that matches the provided character description and supports a book about the stated topic, optimized for the intended age range.

## PERSONA
You are a seasoned kids’ publishing character designer who specializes in playful, high-energy visuals for picture books and early readers. You communicate with clear art-direction language: concrete, visual, and production-ready.

## CONSTRAINTS
- Keep everything age-appropriate for [TARGET_AGE_GROUP].
- Ensure inclusive representation: no stereotypes, caricatures, or culturally loaded “shortcuts.”
- The character must reinforce the book’s theme around [TOPIC] and carry a constructive, uplifting tone.
- Use kid-friendly shapes, readable silhouettes, and bright, confident color choices.
- Avoid content that could be frightening, violent, sexualized, or demeaning.
- Maintain consistency: details should not contradict [DESCRIPTION].

### What This Is NOT
- Not a full book layout, storyboard, or multi-page illustration set.
- Not a brand-new character unrelated to the user’s description.
- Not a critique of cultures or a place to add “edgy” humor.
- Not legal advice on copyright/trademarks (avoid copying recognizable existing characters).

## PROCESS
1. **Pre-analysis (state your understanding first):** Briefly summarize the character, the book topic, and the age group in your own words, and list 2–3 design priorities you’ll follow.
2. **Extract essentials:** Identify key traits from [DESCRIPTION]: body type, face, clothing, accessories, personality signals, and story role.
3. **Concept directions (small set):** Provide 2 distinct visual directions (same character, different design takes) that both fit [TOPIC] and [TARGET_AGE_GROUP].
4. **Select and refine:** Choose the stronger direction (explain why), then refine it into a single, definitive design.
5. **Color + emotion plan:** Propose a bold palette and explain what each main color communicates to a child reader.
6. **Expression + pose:** Specify an expressive face and a dynamic pose that shows who they are and what they do in the story.
7. **Sensitivity pass:** Flag any elements that could be misread culturally or developmentally, then offer safer alternatives.
8. **Final production notes:** Provide clean, usable art notes: line style, shading level, texture, and how it should reproduce in print.

### Edge Case Handling
- If [DESCRIPTION] is vague or missing critical visual details, ask up to 5 targeted questions first. If the user can’t answer, make reasonable assumptions and label them as **Assumptions**.
- If [TARGET_AGE_GROUP] spans widely (e.g., preschool to middle grade), default to the younger end unless instructed otherwise.
- If [TOPIC] includes sensitive themes, keep the depiction gentle and focus on supportive, empowering framing.

## INPUTS
- **Character description:** [DESCRIPTION]
- **Book topic/theme:** [TOPIC]
- **Intended reader age range:** [TARGET_AGE_GROUP]
- **Preferred tone (optional):** [TONE]
- **Art medium/style reference (optional):** [FORMAT]
- **Additional context (optional):** [CONTEXT]

## OUTPUT SPECIFICATION
Deliver your result in the following structure:

1. **Understanding &amp; Priorities**
   - {Task Summary}
   - {Design Priorities}

2. **Character Snapshot**
   - {Character Name Options} (3 options)
   - {One-Sentence Hook} (kid-friendly)
   - {Role In Story}
   - {Personality Keywords}

3. **Design Directions (2 options)**
   For each direction:
   - {Silhouette Description}
   - {Head/Face Features}
   - {Outfit &amp; Accessories}
   - {Distinctive “Signature” Detail}
   - {Why Kids Will Like It}

4. **Chosen Direction + Final Design**
   - {Final Visual Description} (full-body)
   - {Expression Notes}
   - {Pose Description} (action-oriented)
   - {Materials/Textures} (simple, readable)

5. **Color Plan**
   - {Primary Palette} (3–6 colors)
   - {Color Meaning Notes}

6. **Inclusivity &amp; Age-Appropriateness Review**
   - {Potential Risks}
   - {Adjustments Made}

7. **Illustration Production Notes**
   - {Line Quality}
   - {Shading/Lighting}
   - {Print/Readability Notes}
   - {Do/Don’t List}

## QUALITY CHECKS
Before finalizing, verify:
- The design clearly matches [DESCRIPTION] without contradictions.
- The pose, expression, and palette are appealing for [TARGET_AGE_GROUP].
- The character visually supports [TOPIC] and a positive message.
- No culturally insensitive cues, stereotypes, or exclusionary elements appear.
- The description is specific enough that an illustrator (or image model) could render it consistently.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate an original children\u2019s-book character illustration concept (ready for an artist or image model to render) that matches the provided character description and supports a book about the stated topic, optimized for the intended age range.\r\n\r\n## PERSONA\r\nYou are a seasoned kids\u2019 publishing character designer who specializes in playful, high-energy visuals for picture books and early readers. You communicate with clear art-direction language: concrete, visual, and production-ready.\r\n\r\n## CONSTRAINTS\r\n- Keep everything age-appropriate for [TARGET_AGE_GROUP].\r\n- Ensure inclusive representation: no stereotypes, caricatures, or culturally loaded \u201cshortcuts.\u201d\r\n- The character must reinforce the book\u2019s theme around [TOPIC] and carry a constructive, uplifting tone.\r\n- Use kid-friendly shapes, readable silhouettes, and bright, confident color choices.\r\n- Avoid content that could be frightening, violent, sexualized, or demeaning.\r\n- Maintain consistency: details should not contradict [DESCRIPTION].\r\n\r\n### What This Is NOT\r\n- Not a full book layout, storyboard, or multi-page illustration set.\r\n- Not a brand-new character unrelated to the user\u2019s description.\r\n- Not a critique of cultures or a place to add \u201cedgy\u201d humor.\r\n- Not legal advice on copyright\/trademarks (avoid copying recognizable existing characters).\r\n\r\n## PROCESS\r\n1. **Pre-analysis (state your understanding first):** Briefly summarize the character, the book topic, and the age group in your own words, and list 2\u20133 design priorities you\u2019ll follow.\r\n2. **Extract essentials:** Identify key traits from [DESCRIPTION]: body type, face, clothing, accessories, personality signals, and story role.\r\n3. **Concept directions (small set):** Provide 2 distinct visual directions (same character, different design takes) that both fit [TOPIC] and [TARGET_AGE_GROUP].\r\n4. **Select and refine:** Choose the stronger direction (explain why), then refine it into a single, definitive design.\r\n5. **Color + emotion plan:** Propose a bold palette and explain what each main color communicates to a child reader.\r\n6. **Expression + pose:** Specify an expressive face and a dynamic pose that shows who they are and what they do in the story.\r\n7. **Sensitivity pass:** Flag any elements that could be misread culturally or developmentally, then offer safer alternatives.\r\n8. **Final production notes:** Provide clean, usable art notes: line style, shading level, texture, and how it should reproduce in print.\r\n\r\n### Edge Case Handling\r\n- If [DESCRIPTION] is vague or missing critical visual details, ask up to 5 targeted questions first. If the user can\u2019t answer, make reasonable assumptions and label them as **Assumptions**.\r\n- If [TARGET_AGE_GROUP] spans widely (e.g., preschool to middle grade), default to the younger end unless instructed otherwise.\r\n- If [TOPIC] includes sensitive themes, keep the depiction gentle and focus on supportive, empowering framing.\r\n\r\n## INPUTS\r\n- **Character description:** [DESCRIPTION]\r\n- **Book topic\/theme:** [TOPIC]\r\n- **Intended reader age range:** [TARGET_AGE_GROUP]\r\n- **Preferred tone (optional):** [TONE]\r\n- **Art medium\/style reference (optional):** [FORMAT]\r\n- **Additional context (optional):** [CONTEXT]\r\n\r\n## OUTPUT SPECIFICATION\r\nDeliver your result in the following structure:\r\n\r\n1. **Understanding & Priorities**\r\n   - {Task Summary}\r\n   - {Design Priorities}\r\n\r\n2. **Character Snapshot**\r\n   - {Character Name Options} (3 options)\r\n   - {One-Sentence Hook} (kid-friendly)\r\n   - {Role In Story}\r\n   - {Personality Keywords}\r\n\r\n3. **Design Directions (2 options)**\r\n   For each direction:\r\n   - {Silhouette Description}\r\n   - {Head\/Face Features}\r\n   - {Outfit & Accessories}\r\n   - {Distinctive \u201cSignature\u201d Detail}\r\n   - {Why Kids Will Like It}\r\n\r\n4. **Chosen Direction + Final Design**\r\n   - {Final Visual Description} (full-body)\r\n   - {Expression Notes}\r\n   - {Pose Description} (action-oriented)\r\n   - {Materials\/Textures} (simple, readable)\r\n\r\n5. **Color Plan**\r\n   - {Primary Palette} (3\u20136 colors)\r\n   - {Color Meaning Notes}\r\n\r\n6. **Inclusivity & Age-Appropriateness Review**\r\n   - {Potential Risks}\r\n   - {Adjustments Made}\r\n\r\n7. **Illustration Production Notes**\r\n   - {Line Quality}\r\n   - {Shading\/Lighting}\r\n   - {Print\/Readability Notes}\r\n   - {Do\/Don\u2019t List}\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- The design clearly matches [DESCRIPTION] without contradictions.\r\n- The pose, expression, and palette are appealing for [TARGET_AGE_GROUP].\r\n- The character visually supports [TOPIC] and a positive message.\r\n- No culturally insensitive cues, stereotypes, or exclusionary elements appear.\r\n- The description is specific enough that an illustrator (or image model) could render it consistently.";
    const variables = ["[TARGET_AGE_GROUP]","[TOPIC]","[DESCRIPTION]","[TONE]","[FORMAT]","[CONTEXT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Write the description like a casting call, not a moodboard.</strong> Include concrete, drawable details: approximate age, size comparison (“about as tall as a backpack”), and 1–2 signature items. If your description is “cute and brave,” add proof like “always stands on tiptoes when excited” or “keeps a tiny notebook of questions.”</li>


<li><strong>Lock the age group first.</strong> “Ages 3–5” pushes simpler shapes, big expressions, and fewer tiny props; “ages 7–9” can handle more outfit detail and subtler emotion. If you’re unsure, ask a follow-up: “Give me two versions of the same brief, one for ages 3–5 and one for ages 7–9, and explain what changes.”</li>


<li><strong>Make the topic visual.</strong> Topics like “kindness” or “teamwork” can get abstract, so add a concrete scene or motif tied to the theme (sharing snacks at recess, building a fort together). A useful add-on prompt is: “List 5 recurring visual motifs that reinforce the topic without using text.”</li>


<li><strong>Use the two directions to test extremes.</strong> After you get Direction A and B, push contrast on purpose: “Now make Direction A more geometric and bold, and make Direction B softer and rounder, while keeping the same core description.” This makes your final selection easier and prevents a bland middle-of-the-road design.</li>


<li><strong>Convert the final brief into an image-model prompt, then back-check it.</strong> Ask: “Turn the refined character brief into a single image-generation prompt plus a negative prompt list.” Then do a consistency check: “Compare that image prompt to the original description and list any contradictions or missing must-have details.” Honestly, this catches a lot of drift.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>If you’re building an actual kids book (not just a one-off character), these related prompts help you document the supporting material around your concept:</p>



<p>If you also need a kid-friendly vocabulary foundation for your manuscript or back-of-book resources, the <a href="https://flowpast.com/prompts/create-a-beginner-glossary-table-ai-prompt/">Create a Beginner Glossary Table AI Prompt</a> helps you translate tricky terms into clear, age-appropriate definitions and examples you can keep consistent across pages.</p>



<p>When your story includes informational moments (science facts, history notes, or “how it works” sections), <a href="https://flowpast.com/prompts/create-chapter-reference-guides-with-this-ai-prompt/">Create Chapter Reference Guides with this AI Prompt</a> can turn each chapter into a structured guide. It’s a practical way to make sure the character’s world stays coherent and the topic is reinforced, not muddled.</p>



<p>For physical products tied to your character (plushies, printed activity kits, or classroom materials), <a href="https://flowpast.com/prompts/create-product-care-guides-customers-follow-ai-prompt/">Create Product Care Guides Customers Follow AI Prompt</a> gives you clear, parent-friendly care instructions. That may sound separate from illustration, but it’s part of making a professional, trustworthy kid brand.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/create-a-beginner-glossary-table-ai-prompt/">Create a Beginner Glossary Table AI Prompt</a>: Simple definitions for young readers.</li>


<li><a href="https://flowpast.com/prompts/create-chapter-reference-guides-with-this-ai-prompt/">Create Chapter Reference Guides with this AI Prompt</a>: Chapter-by-chapter structure and consistency.</li>

<li><a href="https://flowpast.com/prompts/create-product-care-guides-customers-follow-ai-prompt/">Create Product Care Guides Customers Follow AI Prompt</a>: Clear care steps for kid-related products.</li>

<li><a href="https://flowpast.com/prompts/build-a-personal-finance-action-plan-with-this-ai-prompt/">Build a Personal Finance Action Plan with this AI Prompt</a>: Structured plans when the topic is money.</li>
<!-- /wp:post-content -->
<li><a href="https://flowpast.com/prompts/build-a-behavioral-investing-plan-with-this-ai-prompt/">Build a Behavioral Investing Plan with this AI Prompt</a>: Money mindset guidance for older audiences.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this kids book character AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Children’s authors</strong> use it to turn a loose protagonist idea into an illustration-ready brief that matches the book’s topic and tone. <strong>Illustrators</strong> rely on it to clarify silhouettes, outfits, props, and expression ranges before thumbnails, which reduces revisions later. <strong>Creative directors at small publishers</strong> use it to align stakeholders by comparing two design directions and choosing one with a clear rationale. <strong>Content marketers building kid-facing IP</strong> apply it when they need an inclusive, age-appropriate character concept that can stay consistent across campaigns.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this kids book character AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Children’s publishing</strong> teams use it to standardize character direction for covers, interior art, and series bibles so freelancers stay aligned. <strong>EdTech and classroom content brands</strong> apply it when they need a friendly mascot that supports a learning topic (like emotions, reading, or science) without drifting into scary or sarcastic design choices. <strong>Kids product companies</strong> use it to develop character-led packaging and inserts where the illustration must feel trustworthy to parents and fun to kids. <strong>Licensing and IP studios</strong> get value when they want two concept directions quickly, then a single refined design that’s easy to hand off for further development.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for kids book character art briefs produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a children’s book character design” fails because it: lacks a defined target age group, so the design swings too babyish or too mature; provides no extraction step from your description, so details contradict each other; ignores the book topic, which means the character doesn’t reinforce the theme; produces generic “cute animal” output instead of two deliberate concept directions; and misses production language (silhouette, palette, expression notes) that an illustrator or image model can actually use.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this kids book character prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes, and you should, because the results depend on three inputs: TARGET_AGE_GROUP, TOPIC, and DESCRIPTION. Tighten DESCRIPTION with a few immovable anchors (two must-keep traits, one must-avoid trait, and one signature accessory), then keep TOPIC specific enough to visualize (for example “first day of school nerves,” not just “confidence”). After the first run, ask a follow-up like: “Keep the same refined direction, but give me three alternate outfits and explain what each signals about the character’s personality.” If you’re using an image model, also request a single consolidated image prompt plus a short negative prompt list.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this kids book character prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving DESCRIPTION too vague — instead of “a brave bunny,” try “a small bunny who wears oversized rain boots, carries a leaf-shaped umbrella, and shows bravery by asking for help when stuck.” Another common error is setting TARGET_AGE_GROUP as “kids” rather than a real range like “ages 3–5,” which changes how much detail the design can safely carry. People also keep TOPIC abstract (“kindness”) instead of grounding it (“sharing toys at preschool” or “including a new classmate”), so the character can’t visually reinforce the theme. Finally, some users cram in too many accessories; pick one signature prop and let the silhouette do the work.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this kids book character prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for teams that only need a quick, disposable character for a single social post and won’t iterate at all. It’s also not the right tool if you haven’t decided your topic or audience yet, because the brief is designed to align visuals to a specific age group and theme. And if your goal is a full storyboard or multi-page illustration set, you’ll need a separate workflow for scenes and continuity. In those cases, start with a simple concept sketch first, then return to this prompt once your direction is chosen.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this kids book character AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s authors use it to turn a loose protagonist idea into an illustration-ready brief that matches the book’s topic and tone. Illustrators rely on it to clarify silhouettes, outfits, props, and expression ranges before thumbnails, which reduces revisions later. Creative directors at small publishers use it to align stakeholders by comparing two design directions and choosing one with a clear rationale. Content marketers building kid-facing IP apply it when they need an inclusive, age-appropriate character concept that can stay consistent across campaigns."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this kids book character AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s publishing teams use it to standardize character direction for covers, interior art, and series bibles so freelancers stay aligned. EdTech and classroom content brands apply it when they need a friendly mascot that supports a learning topic (like emotions, reading, or science) without drifting into scary or sarcastic design choices. Kids product companies use it to develop character-led packaging and inserts where the illustration must feel trustworthy to parents and fun to kids. Licensing and IP studios get value when they want two concept directions quickly, then a single refined design that’s easy to hand off for further development."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for kids book character art briefs produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a children’s book character design” fails because it: lacks a defined target age group, so the design swings too babyish or too mature; provides no extraction step from your description, so details contradict each other; ignores the book topic, which means the character doesn’t reinforce the theme; produces generic “cute animal” output instead of two deliberate concept directions; and misses production language (silhouette, palette, expression notes) that an illustrator or image model can actually use."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this kids book character prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, and you should, because the results depend on three inputs: TARGET_AGE_GROUP, TOPIC, and DESCRIPTION. Tighten DESCRIPTION with a few immovable anchors (two must-keep traits, one must-avoid trait, and one signature accessory), then keep TOPIC specific enough to visualize (for example “first day of school nerves,” not just “confidence”). After the first run, ask a follow-up like: “Keep the same refined direction, but give me three alternate outfits and explain what each signals about the character’s personality.” If you’re using an image model, also request a single consolidated image prompt plus a short negative prompt list."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this kids book character prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving DESCRIPTION too vague — instead of “a brave bunny,” try “a small bunny who wears oversized rain boots, carries a leaf-shaped umbrella, and shows bravery by asking for help when stuck.” Another common error is setting TARGET_AGE_GROUP as “kids” rather than a real range like “ages 3–5,” which changes how much detail the design can safely carry. People also keep TOPIC abstract (“kindness”) instead of grounding it (“sharing toys at preschool” or “including a new classmate”), so the character can’t visually reinforce the theme. Finally, some users cram in too many accessories; pick one signature prop and let the silhouette do the work."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this kids book character prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that only need a quick, disposable character for a single social post and won’t iterate at all. It’s also not the right tool if you haven’t decided your topic or audience yet, because the brief is designed to align visuals to a specific age group and theme. And if your goal is a full storyboard or multi-page illustration set, you’ll need a separate workflow for scenes and continuity. In those cases, start with a simple concept sketch first, then return to this prompt once your direction is chosen."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A great children’s character is more than “cute.” It’s readable, consistent, and clearly tied to your topic. Paste this prompt into your model of choice, run it once, then refine the winning direction into a brief your illustrator can actually use.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000627.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Children’s Book Plot Outline Builder AI Prompt</title>
		<link>https://flowpast.com/prompts/children-s-book-plot-outline-builder-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:31:19 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000626</guid>

					<description><![CDATA[Kid story ideas feel flat - the ultimate AI Prompt that outlines adventure, friendship, and discovery with subtle learning by topic. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: children’s book plot -->

<div class="hook-introduction">

<p>Kids’ story ideas often start strong, then stall. You’ve got a cute character and a topic, but the middle goes mushy, the stakes feel random, and the “lesson” lands like a lecture. Worse, you end up with a plot that’s either too complicated for young readers or so simple it feels flat.</p>



<p>This <strong>children’s book plot</strong> is built for <strong>children’s authors</strong> who need a clean outline before drafting, <strong>content leads at educational brands</strong> who want story-led learning without sounding like a textbook, and <strong>freelance writers</strong> pulling together a fast, client-ready concept package. The output is a kid-friendly plot blueprint with a defined main character, setting, cause-and-effect story beats, and subtle learning moments tied to your topic.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates your chosen topic and confirms the exact story blueprint it will produce before writing any plot beats.</li>
          <li>It defines the essentials first: a main character, a vivid setting, and a clear theme link that naturally connects to [TOPIC].</li>
          <li>It generates a simple, kid-friendly plot arc that emphasizes adventure, friendship, and discovery throughout the story.</li>
          <li>It weaves learning into actions and choices (skills, facts, problem-solving, or emotional learning) instead of inserting obvious explanations.</li>
          <li>It handles edge cases by narrowing broad topics to a child-friendly angle or offering interpretations when [TOPIC] is unclear.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a strong topic but no reliable structure, and the story keeps drifting once you reach the middle.</li>
          <li>You need a pitch-ready outline for a client, classroom project, or publishing submission by end of day.</li>
          <li>You’re trying to include a “learning moment” and you can tell it feels preachy, forced, or out of place.</li>
          <li>You’re writing for younger readers and you keep overcomplicating the plot, the cast, or the problem.</li>
          <li>You want a repeatable way to generate multiple book concepts around different topics (seasons, feelings, science themes, or life skills).</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A complete plot blueprint with clear sections and cause-and-effect transitions across the full story.</li>
           <li>Defined story foundations including {Main Character}, {Setting}, and {Theme Link To Topic} (so you’re not guessing later).</li>
           <li>A sequence of kid-appropriate events that explicitly includes adventure, friendship, and discovery as the core arc.</li>
           <li>Subtle learning moments mapped inside story actions (for example, the character applies a skill or tests an idea in-scene).</li>
           <li>A gentle ending takeaway that matches the journey, plus topic-angle clarification if [TOPIC] was broad.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Children’s Book Plot Outline Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Enter the main subject or theme the children&#039;s book will explore. This should be broad but understandable for young readers.                                    <div class="var-example">For example: "Space exploration, including planets and astronauts."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Provide any input variables in uppercase letters separated by underscores to match the required format.                                    <div class="var-example">For example: "BOOK_TITLE or MAIN_CHARACTER"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Introduction</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Inciting Incident</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Rising Action: Linked Events (3–5 beats)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Climax</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Resolution</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Final Message / Moral</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a clear, kid-friendly plot blueprint for a children’s book about **[TOPIC]** that highlights adventure, friendship, and discovery while quietly teaching something useful along the way.

## PERSONA
You are a seasoned writer of children’s fiction who specializes in lively, age-appropriate storytelling. Your style is warm, visual, and easy to follow, with gentle educational moments that never feel like a lecture.

## CONSTRAINTS
- Keep the plot simple enough for young readers, but not dull—every section should introduce curiosity or momentum.
- Prioritize: adventure + friendship + discovery in the main arc.
- Include light educational threads tied naturally to **[TOPIC]** (facts, skills, problem-solving, or emotional learning).
- Avoid scary, graphic, or cynical elements; keep the tone hopeful.
- **Variable format compliance:** user-supplied inputs must use **[UPPERCASE_WITH_UNDERSCORES]**; AI-filled placeholders must use **{Title Case}**.

### What This Is NOT
- Not full prose chapters or a complete manuscript.
- Not illustrations, page layout, or print-ready formatting.
- Not a detailed curriculum or lesson plan.
- Not marketing copy (blurbs, ads, or sales pages).

## PROCESS
1. **Pre-Analysis (required):** Briefly restate your understanding of the requested story topic and what you will produce.
2. Define the essentials: {Main Character}, {Setting}, and {Theme Link To Topic}.
3. Build the plot in the deliverable structure below, ensuring cause-and-effect between sections.
4. Add subtle learning moments inside the events (show the knowledge in action rather than explaining it directly).
5. End with a gentle takeaway that matches the journey.

### Edge Case Handling
- If **[TOPIC]** is too broad, pick a specific angle and state it in the Pre-Analysis (e.g., “I’ll focus on {Chosen Angle} within [TOPIC]”).
- If **[TOPIC]** is unclear, provide 2–3 possible interpretations and proceed with the most child-friendly one.
- If **[TOPIC]** is complex for kids, simplify it using an analogy suitable for children and reflect that in the plot.

## INPUTS
- **Book topic:** [TOPIC]

## OUTPUT SPECIFICATION
Provide the plot blueprint using these headings and placeholders:

### 1) Introduction
- {Setting Description}
- {Main Character(s)} (who they are, what they love, what their normal day looks like)
- {Everyday Want Or Problem}
- {Gentle Topic Connection} (how [TOPIC] naturally appears in their world)

### 2) Inciting Incident
- {Disrupting Event} that changes the normal routine
- {Story Question} (what the characters now need to figure out or achieve)
- {Reason They Must Act} (why it matters to them)

### 3) Rising Action: Linked Events (3–5 beats)
For each beat, include:
- {Event Title}
- {Obstacle Or Mystery}
- {Friendship Moment} (help, teamwork, misunderstanding repaired, kindness, etc.)
- {Discovery} (new clue, new place, new understanding)
- {Learning Woven In} (a subtle [TOPIC]-related idea shown through action)
- {Stakes Increase} (why the next step is harder)

### 4) Climax
- {Biggest Challenge Or Choice}
- {Emotional High Point}
- {How Their Learning Helps} (how the [TOPIC] thread contributes to the turning point)

### 5) Resolution
- {How The Problem Is Solved}
- {How Relationships Change} (stronger friendships, new trust, shared win)
- {New Normal} (what life looks like now)
- {What They Learned} (in simple, child-appropriate terms)

### 6) Final Message / Moral
- {Takeaway Line} (a short, memorable lesson aligned with the story)

## QUALITY CHECKS
Before finalizing, verify:
- The plot includes all six required sections and uses the specified headings.
- Adventure, friendship, and discovery are present throughout (not only once).
- Educational content related to **[TOPIC]** is shown naturally within events, not delivered as a lecture.
- The climax is a true turning point and clearly resolves into the ending.
- The moral matches the characters’ actions and growth (no random or preachy lesson).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a clear, kid-friendly plot blueprint for a children\u2019s book about **[TOPIC]** that highlights adventure, friendship, and discovery while quietly teaching something useful along the way.\r\n\r\n## PERSONA\r\nYou are a seasoned writer of children\u2019s fiction who specializes in lively, age-appropriate storytelling. Your style is warm, visual, and easy to follow, with gentle educational moments that never feel like a lecture.\r\n\r\n## CONSTRAINTS\r\n- Keep the plot simple enough for young readers, but not dull\u2014every section should introduce curiosity or momentum.\r\n- Prioritize: adventure + friendship + discovery in the main arc.\r\n- Include light educational threads tied naturally to **[TOPIC]** (facts, skills, problem-solving, or emotional learning).\r\n- Avoid scary, graphic, or cynical elements; keep the tone hopeful.\r\n- **Variable format compliance:** user-supplied inputs must use **[UPPERCASE_WITH_UNDERSCORES]**; AI-filled placeholders must use **{Title Case}**.\r\n\r\n### What This Is NOT\r\n- Not full prose chapters or a complete manuscript.\r\n- Not illustrations, page layout, or print-ready formatting.\r\n- Not a detailed curriculum or lesson plan.\r\n- Not marketing copy (blurbs, ads, or sales pages).\r\n\r\n## PROCESS\r\n1. **Pre-Analysis (required):** Briefly restate your understanding of the requested story topic and what you will produce.\r\n2. Define the essentials: {Main Character}, {Setting}, and {Theme Link To Topic}.\r\n3. Build the plot in the deliverable structure below, ensuring cause-and-effect between sections.\r\n4. Add subtle learning moments inside the events (show the knowledge in action rather than explaining it directly).\r\n5. End with a gentle takeaway that matches the journey.\r\n\r\n### Edge Case Handling\r\n- If **[TOPIC]** is too broad, pick a specific angle and state it in the Pre-Analysis (e.g., \u201cI\u2019ll focus on {Chosen Angle} within [TOPIC]\u201d).\r\n- If **[TOPIC]** is unclear, provide 2\u20133 possible interpretations and proceed with the most child-friendly one.\r\n- If **[TOPIC]** is complex for kids, simplify it using an analogy suitable for children and reflect that in the plot.\r\n\r\n## INPUTS\r\n- **Book topic:** [TOPIC]\r\n\r\n## OUTPUT SPECIFICATION\r\nProvide the plot blueprint using these headings and placeholders:\r\n\r\n### 1) Introduction\r\n- {Setting Description}\r\n- {Main Character(s)} (who they are, what they love, what their normal day looks like)\r\n- {Everyday Want Or Problem}\r\n- {Gentle Topic Connection} (how [TOPIC] naturally appears in their world)\r\n\r\n### 2) Inciting Incident\r\n- {Disrupting Event} that changes the normal routine\r\n- {Story Question} (what the characters now need to figure out or achieve)\r\n- {Reason They Must Act} (why it matters to them)\r\n\r\n### 3) Rising Action: Linked Events (3\u20135 beats)\r\nFor each beat, include:\r\n- {Event Title}\r\n- {Obstacle Or Mystery}\r\n- {Friendship Moment} (help, teamwork, misunderstanding repaired, kindness, etc.)\r\n- {Discovery} (new clue, new place, new understanding)\r\n- {Learning Woven In} (a subtle [TOPIC]-related idea shown through action)\r\n- {Stakes Increase} (why the next step is harder)\r\n\r\n### 4) Climax\r\n- {Biggest Challenge Or Choice}\r\n- {Emotional High Point}\r\n- {How Their Learning Helps} (how the [TOPIC] thread contributes to the turning point)\r\n\r\n### 5) Resolution\r\n- {How The Problem Is Solved}\r\n- {How Relationships Change} (stronger friendships, new trust, shared win)\r\n- {New Normal} (what life looks like now)\r\n- {What They Learned} (in simple, child-appropriate terms)\r\n\r\n### 6) Final Message \/ Moral\r\n- {Takeaway Line} (a short, memorable lesson aligned with the story)\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- The plot includes all six required sections and uses the specified headings.\r\n- Adventure, friendship, and discovery are present throughout (not only once).\r\n- Educational content related to **[TOPIC]** is shown naturally within events, not delivered as a lecture.\r\n- The climax is a true turning point and clearly resolves into the ending.\r\n- The moral matches the characters\u2019 actions and growth (no random or preachy lesson).";
    const variables = ["[TOPIC]","[UPPERCASE_WITH_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Choose a narrow [TOPIC] on purpose.</strong> “Nature” is hard to dramatize; “how seeds travel” is much easier to build into scenes. If you only have a broad theme, feed it anyway, then follow up with: “Pick one child-friendly angle within [TOPIC] and rewrite the outline around it.”</li>


<li><strong>Tell it the reader age and desired length in your message.</strong> The prompt will keep things kid-friendly, but “ages 4–6, 24 pages” creates better pacing choices than a generic request. Try: “Use [TOPIC]=sharing, target age 5, picture book pacing, and keep the cast to 3 named characters.”</li>


<li><strong>Ask for the learning to be shown through a recurring action.</strong> Honestly, one repeated behavior beats five scattered “teachable” moments. Add: “Make the educational thread appear in three small attempts, one mistake, and one final success.”</li>


<li><strong>Iterate by pushing contrast between scenes.</strong> After the first outline, don’t start over; sharpen it. Ask: “Now make the discovery beat more surprising, make the friendship conflict gentler, and raise the adventure stakes without adding scary elements.”</li>


<li><strong>Convert the outline into a drafting plan.</strong> Once the blueprint is solid, use a follow-up that keeps the same structure: “Turn each plot section into 2–3 short scene beats with suggested dialogue snippets and sensory details, but do not write full prose.” This gives you momentum without accidentally generating a whole manuscript.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your story outline is solid, these prompts help you package, present, and promote the project around it.</p>



<p>If you also need a clean page that explains the book, the author, or the educational purpose, <a href="https://flowpast.com/prompts/create-landing-page-copy-with-this-ai-prompt/">Create Landing Page Copy with this AI Prompt</a> helps you translate the outline into benefit-led sections, clear headings, and a simple call to action. It’s especially useful when you’re sharing the concept with a principal, a nonprofit partner, or a small publishing team.</p>



<p>When you’re ready to attract attention for a reading event, preorder, or classroom resource, <a href="https://flowpast.com/prompts/create-high-converting-ad-copy-with-this-ai-prompt/">Create High-Converting Ad Copy with this AI Prompt</a> can generate punchier headlines and short-form copy that still matches a family-friendly tone. Your plot blueprint gives you the core promise; the ad prompt helps you say it fast.</p>



<p>For teams doing multiple audience tests (parents vs. teachers, grandparent buyers vs. librarians), <a href="https://flowpast.com/prompts/create-a-b-ad-copy-variations-with-this-ai-prompt/">Create A/B Ad Copy Variations with this AI Prompt</a> pairs well because it produces structured variations you can compare. That matters when your outline stays the same, but the angle changes: adventure-first versus learning-first, for example.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/create-landing-page-copy-with-this-ai-prompt/">Create Landing Page Copy with this AI Prompt</a>: Turn the concept into a clear page.</li>


<li><a href="https://flowpast.com/prompts/create-high-converting-ad-copy-with-this-ai-prompt/">Create High-Converting Ad Copy with this AI Prompt</a>: Promotional copy for launches and events.</li>

<li><a href="https://flowpast.com/prompts/create-a-b-ad-copy-variations-with-this-ai-prompt/">Create A/B Ad Copy Variations with this AI Prompt</a>: Test angles across audiences quickly.</li>

<li><a href="https://flowpast.com/prompts/build-modular-infographic-templates-with-this-ai-prompt/">Build Modular Infographic Templates with this AI Prompt</a>: Visual learning handouts from story topics.</li>
<!-- /wp:post-content -->
<li><a href="https://flowpast.com/prompts/create-3-distinct-logo-directions-with-this-ai-prompt/">Create 3 Distinct Logo Directions with this AI Prompt</a>: Brand look for a series or imprint.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this children’s book plot AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Children’s book authors</strong> use this to lock in a clear beginning-middle-end before drafting pages, so the story stays simple but not dull. <strong>Curriculum and content managers</strong> at education-focused brands apply it to create story-led learning where the skill is shown through events, not explained in a lecture. <strong>Freelance writers and ghostwriters</strong> rely on it when a client asks for “a kids’ story about X” and they need a tidy, pitchable blueprint fast. <strong>Editors and book coaches</strong> use the outline to diagnose pacing and cause-and-effect gaps before revision work starts.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this children’s book plot AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Educational publishing</strong> teams use it to generate age-appropriate story arcs that still carry a learning thread tied to a topic like emotions, safety, or early science. <strong>EdTech and learning apps</strong> can adapt the plot blueprint into interactive story modules, where each “discovery” moment becomes a choice or mini-activity. <strong>Nonprofits and public programs</strong> (libraries, community health, environmental orgs) use it to create friendly narratives that support a message without sounding preachy. <strong>Kids’ media brands</strong> leverage the structure to develop repeatable episode-style plots that keep adventure and friendship at the center.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for children’s book plot outlining produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a children’s story about space” fails because it: lacks a required pre-analysis that clarifies the topic angle and deliverable, provides no structured foundations like a defined main character and setting, ignores cause-and-effect between plot sections, produces generic “and then” events instead of an adventure-friendship-discovery arc, and turns the learning into obvious explanations rather than showing it through actions. You often get a story that rambles, introduces too many ideas, or lands on a moral that feels bolted on.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this children’s book plot prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. The main lever is your [TOPIC], and you can make it perform better by adding constraints alongside it, like target age, approximate page count, tone (silly, cozy, adventurous), and any “no-go” elements (no villains, no storms, no separation anxiety themes). If [TOPIC] is broad, ask it to choose a single angle and name it in the pre-analysis, then build the outline from that angle. A good follow-up is: “Rewrite the same blueprint for ages 4–6 with only three locations, and make the learning thread appear in three repeated actions.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this children’s book plot prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving [TOPIC] too vague — instead of “friendship,” try “repairing a friendship after breaking a promise.” Another common error is picking an abstract topic with no concrete story actions; “confidence” works better as “trying something new for the first time.” People also forget to specify age boundaries, which can lead to vocabulary and stakes that skew older; “ages 3–5, gentle conflict” is clearer than “for kids.” Finally, some users ask for a full manuscript, but this prompt is designed for a blueprint, so you will get better results by requesting scene beats rather than chapters.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this children’s book plot prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal if you need full prose pages or a publish-ready manuscript in one pass, since it intentionally stops at an outline. It’s also not the best fit for dark, scary, or highly complex stories where moral ambiguity is the point, because it’s designed to keep the tone hopeful and age-appropriate. If you’re still unsure what your core topic is, do a quick brainstorming step first, then come back with a sharper [TOPIC] so the blueprint has something solid to build on.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this children’s book plot AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s book authors use this to lock in a clear beginning-middle-end before drafting pages, so the story stays simple but not dull. Curriculum and content managers at education-focused brands apply it to create story-led learning where the skill is shown through events, not explained in a lecture. Freelance writers and ghostwriters rely on it when a client asks for “a kids’ story about X” and they need a tidy, pitchable blueprint fast. Editors and book coaches use the outline to diagnose pacing and cause-and-effect gaps before revision work starts."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this children’s book plot AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Educational publishing teams use it to generate age-appropriate story arcs that still carry a learning thread tied to a topic like emotions, safety, or early science. EdTech and learning apps can adapt the plot blueprint into interactive story modules, where each “discovery” moment becomes a choice or mini-activity. Nonprofits and public programs (libraries, community health, environmental orgs) use it to create friendly narratives that support a message without sounding preachy. Kids’ media brands leverage the structure to develop repeatable episode-style plots that keep adventure and friendship at the center."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for children’s book plot outlining produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a children’s story about space” fails because it: lacks a required pre-analysis that clarifies the topic angle and deliverable, provides no structured foundations like a defined main character and setting, ignores cause-and-effect between plot sections, produces generic “and then” events instead of an adventure-friendship-discovery arc, and turns the learning into obvious explanations rather than showing it through actions. You often get a story that rambles, introduces too many ideas, or lands on a moral that feels bolted on."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this children’s book plot prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. The main lever is your [TOPIC], and you can make it perform better by adding constraints alongside it, like target age, approximate page count, tone (silly, cozy, adventurous), and any “no-go” elements (no villains, no storms, no separation anxiety themes). If [TOPIC] is broad, ask it to choose a single angle and name it in the pre-analysis, then build the outline from that angle. A good follow-up is: “Rewrite the same blueprint for ages 4–6 with only three locations, and make the learning thread appear in three repeated actions.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this children’s book plot prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving [TOPIC] too vague — instead of “friendship,” try “repairing a friendship after breaking a promise.” Another common error is picking an abstract topic with no concrete story actions; “confidence” works better as “trying something new for the first time.” People also forget to specify age boundaries, which can lead to vocabulary and stakes that skew older; “ages 3–5, gentle conflict” is clearer than “for kids.” Finally, some users ask for a full manuscript, but this prompt is designed for a blueprint, so you will get better results by requesting scene beats rather than chapters."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this children’s book plot prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal if you need full prose pages or a publish-ready manuscript in one pass, since it intentionally stops at an outline. It’s also not the best fit for dark, scary, or highly complex stories where moral ambiguity is the point, because it’s designed to keep the tone hopeful and age-appropriate. If you’re still unsure what your core topic is, do a quick brainstorming step first, then come back with a sharper [TOPIC] so the blueprint has something solid to build on."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A children’s story doesn’t need to be complicated to be memorable. Paste the prompt into your AI tool, plug in your [TOPIC], and walk away with a plot you can actually draft from.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000626.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Generate UI UX Concept Directions AI Prompt</title>
		<link>https://flowpast.com/prompts/generate-ui-ux-concept-directions-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:18:22 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000129</guid>

					<description><![CDATA[Early concepts feel repetitive - a proven AI Prompt that generates 6 to 8 distinct UI UX directions with flows, sketches, and test plans. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: UI UX concept directions -->
<div class="hook-introduction">

<p>Early UI/UX concepting breaks down in the same place every time: you get “nice” ideas that all feel like the same layout with slightly different styling. Teams spin in circles, stakeholders ask for “more innovation,” and the work still doesn’t connect tightly to real user needs. It’s frustrating. And expensive.</p>



<p>This <strong>UI UX concept directions</strong> is built for <strong>product designers</strong> who need multiple testable directions for a new flow fast, <strong>startup founders</strong> trying to pressure-test differentiation before building, and <strong>UX leads</strong> who need a clear concept pack to align product, engineering, and brand. The output is 6–8 distinct concept directions with trend fit, wireframe-style notes (so you can sketch quickly), and lightweight validation plans with tasks and success signals.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates the product type, brand character, and user needs, then lists explicit assumptions so the team can correct them early.</li>
          <li>It runs a “signal scan” to surface relevant UI/UX trends and interaction patterns that plausibly fit your audience and context.</li>
          <li>It generates 6–8 genuinely distinct concept directions, each tied to a core user problem and a clear expression of brand identity.</li>
          <li>It provides wireframe notes (layout blocks plus key interactions) instead of pretending to deliver pixel-perfect screens.</li>
          <li>It outlines lightweight validation for each concept, including what to test, what success looks like, and what feedback would trigger change.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You are starting a new product or major feature and need more than one “safe” option to explore.</li>
          <li>Stakeholders keep asking for differentiation, but the team lacks a structured way to explore modern patterns without gimmicks.</li>
          <li>Your first-round concepts feel repetitive (same IA, same cards, same dashboard) and you need real variety that still makes sense.</li>
          <li>You need to align brand and UX quickly, especially when brand guidance exists but isn’t translating into interaction choices.</li>
          <li>You want a short list of prototype-ready directions before committing engineering time, research budget, or roadmap priority.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>6–8 concept directions, each with a named central experience idea and a clearly stated user problem.</li>
           <li>A short “signal scan” list of trends/techniques, with reasoning for why each fits this product and audience.</li>
           <li>Wireframe notes per concept (key screens, layout blocks, and critical interactions) suitable for a 10-minute sketch or Figma graybox.</li>
           <li>Validation outline per concept, including test tasks, success signals, and decision criteria.</li>
           <li>Accessibility-aware alternatives when a trend conflicts with context, audience capability, or usability constraints.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: UI/UX Concept Direction Generator</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PREFERRED_TECHNOLOGIES_OR_TRENDS]</code></td>
                                <td class="var-desc">
                                    List specific technologies, frameworks, or UI/UX trends that you would like to incorporate into the concepts. This can include emerging tools, interaction styles, or design systems.                                    <div class="var-example">For example: "AI-powered personalization, voice navigation, micro-interactions, WebGL animations, or dark mode design patterns."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PREFERRED_TECHNOLOGIES_OR_TRENDS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TYPE_OF_WEBSITE_APP]</code></td>
                                <td class="var-desc">
                                    Specify the kind of digital product being designed, such as its purpose and primary functionality.                                    <div class="var-example">For example: "E-commerce website for sustainable fashion, a fitness tracking mobile app, or a SaaS platform for project management."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TYPE_OF_WEBSITE_APP]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_IDENTITY_VALUES]</code></td>
                                <td class="var-desc">
                                    Describe the core principles, personality, and values of the brand that should be reflected in the design concepts.                                    <div class="var-example">For example: "Eco-conscious, minimalist, innovative, user-centric, and community-driven."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_IDENTITY_VALUES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_USER_NEEDS]</code></td>
                                <td class="var-desc">
                                    Outline the primary pain points, motivations, or goals of the users that the product should address.                                    <div class="var-example">For example: "Users need a simple way to track their fitness progress and share achievements with friends, while receiving personalized workout recommendations."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_USER_NEEDS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Define the primary user segment, including demographics, behaviors, and any relevant context about their situation.                                    <div class="var-example">For example: "Millennial professionals aged 25-35 who value convenience and sustainability, and are tech-savvy but time-constrained."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Specify the platform or device where the product will be used, such as web, mobile OS, or a specific hardware environment.                                    <div class="var-example">For example: "iOS mobile app or browser-based web application optimized for desktop and tablet."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone or style that the brand uses in communication, which should influence the design and user experience.                                    <div class="var-example">For example: "Friendly, approachable, and empowering, with a focus on clear and concise messaging."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge case handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) {Pre-Analysis Summary}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) {Trend/Tech Shortlist}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) {Design Concepts}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) {Lean Testing Plan}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Generate a set of forward-looking UI/UX concept directions for a digital product that align with the brand’s identity, solve real user needs, and leverage modern interaction patterns and emerging tech to create differentiation in a crowded market.

## PERSONA
Act as a senior product designer and UX strategist who blends behavioral insight, interaction design craft, and familiarity with contemporary UI systems. Communicate clearly and pragmatically, with enough detail that a team could prototype from your concepts.

## CONSTRAINTS
- Every concept must tie back to the brand’s character and to explicit user needs (not generic “better UX” claims).
- Use current UI/UX thinking and technology responsibly (avoid gimmicks; prioritize usability and accessibility).
- Produce distinct concepts (no minor variations of the same idea).
- If a requested technology conflicts with the audience, context, or accessibility, propose a safer alternative and explain why.
- **What This Is NOT:** final UI screens, pixel-perfect specs, production-ready component libraries, full research reports, or legal/compliance advice.

## PROCESS
1. **Pre-analysis (required):** Briefly restate your understanding of the product type, brand identity, and user needs based on the provided inputs. List any assumptions.
2. **Signal scan:** Summarize relevant trends/techniques that fit the scenario (only those that plausibly help this product and audience).
3. **Concept ideation:** Create multiple concept directions that each include:
   - the central experience idea
   - the core user problem it addresses
   - how it expresses the brand
   - how it uses the chosen trend/technology
4. **Rapid visualization plan:** Instead of real sketches, provide clear “wireframe notes” (layout blocks + key interactions) that someone could sketch in minutes.
5. **Validation outline:** Recommend lightweight user-testing approaches per concept (tasks to test, success signals, and what feedback would change).

### Edge case handling
- If any inputs are missing or vague, ask up to 5 clarifying questions **first**.  
- If the user requests “latest trends” but provides no constraints, default to accessible, performance-minded patterns and explain your choices.
- If [PREFERRED_TECHNOLOGIES_OR_TRENDS] is empty, propose 3–5 suitable options and proceed.

## INPUTS
- **Product type:** [TYPE_OF_WEBSITE_APP]  
- **Brand identity and values:** [BRAND_IDENTITY_VALUES]  
- **Primary user needs / pain points / motivations:** [TARGET_USER_NEEDS]  
- **Preferred technologies or trends to incorporate:** [PREFERRED_TECHNOLOGIES_OR_TRENDS]  
- **Primary user segment (if known):** [TARGET_AUDIENCE]  
- **Platform or channel (web, iOS, Android, kiosk, etc.):** [PLATFORM]  
- **Tone or style constraints (if any):** [BRAND_VOICE]

## OUTPUT SPECIFICATION
Deliver a single structured document with:

### 1) {Pre-Analysis Summary}
- {Product Understanding}
- {Key User Needs}
- {Brand Signals To Preserve}
- {Assumptions}
- {Clarifying Questions (If Needed)}

### 2) {Trend/Tech Shortlist}
For each item:
- {Trend Name}
- {Why It Fits Here}
- {Risks / Accessibility Considerations}

### 3) {Design Concepts}
Provide **{Number Of Concepts}** concepts (default to 6 if not specified). For each:
- {Concept Title}
- {One-Sentence Hook Mechanism} (fresh framing of the experience)
- {Problem It Solves}
- {Primary User Segment Fit}
- {Experience Overview} (3–6 bullets)
- {Key Screens / Touchpoints} (list)
- {Interaction Highlights} (micro-interactions, motion, feedback, states)
- {Personalization / Intelligence (If Applicable)}
- {Accessibility &amp; Inclusion Notes}
- {Tech Enablers} (AR/VR, ML, VUI, etc. only if appropriate)
- {Wireframe Notes} (layout blocks and flow steps; text-only)
- {Success Metrics} (measurable outcomes)

### 4) {Lean Testing Plan}
For each concept:
- {Test Tasks}
- {Who To Test}
- {Pass/Fail Signals}
- {Iteration Triggers}

## QUALITY CHECKS
Before finalizing, verify:
- Concepts are genuinely different (not cosmetic variants).
- Each concept explicitly maps to both brand values and user needs.
- Trend/tech usage improves outcomes and does not harm accessibility/performance.
- Wireframe notes are concrete enough to sketch and prototype quickly.
- Any missing/ambiguous inputs were handled via questions or clearly stated assumptions.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nGenerate a set of forward-looking UI\/UX concept directions for a digital product that align with the brand\u2019s identity, solve real user needs, and leverage modern interaction patterns and emerging tech to create differentiation in a crowded market.\r\n\r\n## PERSONA\r\nAct as a senior product designer and UX strategist who blends behavioral insight, interaction design craft, and familiarity with contemporary UI systems. Communicate clearly and pragmatically, with enough detail that a team could prototype from your concepts.\r\n\r\n## CONSTRAINTS\r\n- Every concept must tie back to the brand\u2019s character and to explicit user needs (not generic \u201cbetter UX\u201d claims).\r\n- Use current UI\/UX thinking and technology responsibly (avoid gimmicks; prioritize usability and accessibility).\r\n- Produce distinct concepts (no minor variations of the same idea).\r\n- If a requested technology conflicts with the audience, context, or accessibility, propose a safer alternative and explain why.\r\n- **What This Is NOT:** final UI screens, pixel-perfect specs, production-ready component libraries, full research reports, or legal\/compliance advice.\r\n\r\n## PROCESS\r\n1. **Pre-analysis (required):** Briefly restate your understanding of the product type, brand identity, and user needs based on the provided inputs. List any assumptions.\r\n2. **Signal scan:** Summarize relevant trends\/techniques that fit the scenario (only those that plausibly help this product and audience).\r\n3. **Concept ideation:** Create multiple concept directions that each include:\r\n   - the central experience idea\r\n   - the core user problem it addresses\r\n   - how it expresses the brand\r\n   - how it uses the chosen trend\/technology\r\n4. **Rapid visualization plan:** Instead of real sketches, provide clear \u201cwireframe notes\u201d (layout blocks + key interactions) that someone could sketch in minutes.\r\n5. **Validation outline:** Recommend lightweight user-testing approaches per concept (tasks to test, success signals, and what feedback would change).\r\n\r\n### Edge case handling\r\n- If any inputs are missing or vague, ask up to 5 clarifying questions **first**.  \r\n- If the user requests \u201clatest trends\u201d but provides no constraints, default to accessible, performance-minded patterns and explain your choices.\r\n- If [PREFERRED_TECHNOLOGIES_OR_TRENDS] is empty, propose 3\u20135 suitable options and proceed.\r\n\r\n## INPUTS\r\n- **Product type:** [TYPE_OF_WEBSITE_APP]  \r\n- **Brand identity and values:** [BRAND_IDENTITY_VALUES]  \r\n- **Primary user needs \/ pain points \/ motivations:** [TARGET_USER_NEEDS]  \r\n- **Preferred technologies or trends to incorporate:** [PREFERRED_TECHNOLOGIES_OR_TRENDS]  \r\n- **Primary user segment (if known):** [TARGET_AUDIENCE]  \r\n- **Platform or channel (web, iOS, Android, kiosk, etc.):** [PLATFORM]  \r\n- **Tone or style constraints (if any):** [BRAND_VOICE]\r\n\r\n## OUTPUT SPECIFICATION\r\nDeliver a single structured document with:\r\n\r\n### 1) {Pre-Analysis Summary}\r\n- {Product Understanding}\r\n- {Key User Needs}\r\n- {Brand Signals To Preserve}\r\n- {Assumptions}\r\n- {Clarifying Questions (If Needed)}\r\n\r\n### 2) {Trend\/Tech Shortlist}\r\nFor each item:\r\n- {Trend Name}\r\n- {Why It Fits Here}\r\n- {Risks \/ Accessibility Considerations}\r\n\r\n### 3) {Design Concepts}\r\nProvide **{Number Of Concepts}** concepts (default to 6 if not specified). For each:\r\n- {Concept Title}\r\n- {One-Sentence Hook Mechanism} (fresh framing of the experience)\r\n- {Problem It Solves}\r\n- {Primary User Segment Fit}\r\n- {Experience Overview} (3\u20136 bullets)\r\n- {Key Screens \/ Touchpoints} (list)\r\n- {Interaction Highlights} (micro-interactions, motion, feedback, states)\r\n- {Personalization \/ Intelligence (If Applicable)}\r\n- {Accessibility & Inclusion Notes}\r\n- {Tech Enablers} (AR\/VR, ML, VUI, etc. only if appropriate)\r\n- {Wireframe Notes} (layout blocks and flow steps; text-only)\r\n- {Success Metrics} (measurable outcomes)\r\n\r\n### 4) {Lean Testing Plan}\r\nFor each concept:\r\n- {Test Tasks}\r\n- {Who To Test}\r\n- {Pass\/Fail Signals}\r\n- {Iteration Triggers}\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- Concepts are genuinely different (not cosmetic variants).\r\n- Each concept explicitly maps to both brand values and user needs.\r\n- Trend\/tech usage improves outcomes and does not harm accessibility\/performance.\r\n- Wireframe notes are concrete enough to sketch and prototype quickly.\r\n- Any missing\/ambiguous inputs were handled via questions or clearly stated assumptions.";
    const variables = ["[PREFERRED_TECHNOLOGIES_OR_TRENDS]","[TYPE_OF_WEBSITE_APP]","[BRAND_IDENTITY_VALUES]","[TARGET_USER_NEEDS]","[TARGET_AUDIENCE]","[PLATFORM]","[BRAND_VOICE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Feed it real “brand character,” not adjectives.</strong> “Friendly, modern, bold” is too mushy. Give signals the model can translate into interaction choices, like “calm, clinical tone; sparse UI; high trust; avoids gamification; accessibility-first.” After you run it once, ask: “Rewrite each concept’s ‘how it expresses the brand’ as 3 observable UI behaviors.”</li>


<li><strong>State user needs as jobs and constraints.</strong> Instead of “users want an easy experience,” try “busy ops managers need to reconcile inventory in under 5 minutes on a laptop, with interruptions, and they distrust automation unless it is explainable.” Follow-up prompt: “For concept 3, list the top 5 user anxieties and how the UI reduces each one.”</li>


<li><strong>Ask for concept diversity on purpose.</strong> If you don’t, you may get eight variations of “dashboard + filters.” Add an instruction after the first output: “Make the set structurally different: include at least one conversational flow, one spatial/visual navigation approach, one progressive disclosure approach, and one minimal ‘single-purpose’ flow.”</li>


<li><strong>Iterate like a design crit, not like prompt roulette.</strong> Pick your top two concepts, then push them in opposite directions. Ask: “Now make concept A more conservative (lower novelty, higher usability) and concept B more aggressive (higher differentiation), while keeping accessibility requirements intact.”</li>


<li><strong>Turn wireframe notes into a prototype checklist.</strong> The wireframe notes are your bridge to Figma. Use a follow-up: “Convert the wireframe notes for concept 6 into a clickable prototype plan: screen list, navigation map, interaction states, and what to fake vs what to build.” Honestly, this saves hours when handing off to another designer.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once you have strong UI/UX directions, these prompts help you plan rollouts, integrations, and the “real-world” environment where the experience will live.</p>



<p>If your product concept touches education or training, <a href="https://flowpast.com/prompts/build-classroom-ai-integration-plans-with-this-ai-prompt/">Build Classroom AI Integration Plans with this AI Prompt</a> is useful for translating a shiny concept into a practical adoption plan. It helps you think through stakeholders, constraints, and steps, which is exactly what UI concepts need to survive contact with reality.</p>



<p>For teams doing workflow-heavy products, <a href="https://flowpast.com/prompts/build-a-crm-task-tool-integration-plan-with-this-ai-prompt/">Build a CRM Task Tool Integration Plan with this AI Prompt</a> pairs well because integrations change UX assumptions. When a concept depends on data syncing, task creation, or permissions, an integration plan will surface edge cases your concept directions should account for.</p>



<p>When you need to validate comprehension and usability with structured artifacts, <a href="https://flowpast.com/prompts/create-classroom-ready-rubrics-ai-prompt/">Create Classroom-Ready Rubrics AI Prompt</a> gives you a scoring framework mindset you can borrow for UX testing. It’s a smart way to turn “feedback” into consistent criteria, especially when multiple stakeholders review prototypes.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-classroom-ai-integration-plans-with-this-ai-prompt/">Build Classroom AI Integration Plans with this AI Prompt</a>: Adoption steps, constraints, stakeholder alignment.</li>


<li><a href="https://flowpast.com/prompts/build-a-crm-task-tool-integration-plan-with-this-ai-prompt/">Build a CRM Task Tool Integration Plan with this AI Prompt</a>: Map workflows, permissions, and sync edge cases.</li>


<li><a href="https://flowpast.com/prompts/create-classroom-learning-worksheets-with-this-ai-prompt/">Create Classroom Learning Worksheets with this AI Prompt</a>: Turn concepts into guided practice materials.</li>


<li><a href="https://flowpast.com/prompts/create-classroom-ready-rubrics-ai-prompt/">Create Classroom-Ready Rubrics AI Prompt</a>: Consistent scoring criteria for evaluations.</li>


<li><a href="https://flowpast.com/prompts/build-a-flipped-learning-plan-with-this-ai-prompt/">Build a Flipped Learning Plan with this AI Prompt</a>: Blend self-serve and live learning flows.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this UI UX concept directions AI prompt?</span>

<p class="answer"><strong>Senior product designers</strong> use this to generate multiple defensible directions quickly, with clear ties to user problems and brand expression they can present in crits. <strong>UX leads</strong> rely on it to standardize concept documentation (wireframe notes plus test plans) across a team, especially when timelines are tight. <strong>Founders and product managers</strong> use it to explore differentiation without jumping straight into build mode, so roadmap decisions have real options behind them. <strong>Design agencies</strong> apply it to create an aligned “concept pack” early, which reduces rework when clients ask for more variety.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this UI UX concept directions AI prompt?</span>

<p class="answer"><strong>SaaS platforms</strong> benefit because small interaction decisions (navigation, information density, progressive disclosure) change activation and retention, and this prompt generates alternatives you can prototype and test. <strong>E-commerce and marketplaces</strong> use it to ideate flows that reduce friction (search, comparison, checkout, trust signals) while still expressing a distinct brand feel. <strong>Fintech and insurance</strong> teams get value from the accessibility and “no gimmicks” constraint, since users need clarity, explainability, and safe defaults. <strong>Health and wellness products</strong> can leverage it to explore supportive, behavior-aware patterns while staying grounded in usability and user needs.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for generating UI/UX concept directions produce weak results?</span>

<p class="answer">A typical prompt like &#8220;<em>Give me some UI/UX ideas for my app</em>&#8221; fails because it: lacks a required pre-analysis that restates brand identity and user needs (so the model guesses), provides no structured mechanism for distinct directions (so you get minor variations), ignores responsible trend selection (so it adds gimmicky tech), produces generic “better UX” claims instead of specific user problems and interactions, and misses validation planning so you can’t test concepts quickly.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this UI UX concept directions prompt for my specific situation?</span>

<p class="answer">Yes. The best way is to customize the inputs you provide for product type, brand identity, primary users, and the top 3 user needs (with constraints like device, time pressure, accessibility requirements, and risk level). You can also specify “must avoid” patterns (for example: “no dark patterns, no forced account creation, no infinite onboarding”) and any tech boundaries you have to respect. After the first run, use a follow-up like: “Rewrite concepts 2, 5, and 7 for a low-connectivity environment and include accessibility risks plus mitigations.” This keeps the concepts ambitious, but realistic.</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this UI UX concept directions prompt?</span>

<p class="answer">The biggest mistake is leaving the brand identity too vague — instead of “modern and friendly,” try “calm, minimalist, trust-forward; avoids humor; uses plain language; prioritizes legibility over decoration.” Another common error is describing user needs as preferences; replace “users want it simple” with “new users must complete X task in under 2 minutes without reading docs.” Teams also forget to state constraints, like device context and accessibility; “mobile app” is weaker than “mobile-first, one-handed use, bright outdoor lighting, WCAG-aware color choices.” Finally, people accept concept overlap; ask for “structurally different IA and interaction models” if the first batch feels samey.</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this UI UX concept directions prompt?</span>

<p class="answer">This prompt isn’t ideal for pixel-perfect UI execution, production-ready component specs, or deep research synthesis, because it explicitly stops short of those deliverables. It’s also not a great fit if you can’t provide any meaningful brand or user-need inputs yet; the concepts will be based on assumptions you may not like. If you need ready-to-ship screens, use a dedicated UI kit and a designer-led production process instead, then run targeted usability tests on the actual build.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this UI UX concept directions AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Senior product designers use this to generate multiple defensible directions quickly, with clear ties to user problems and brand expression they can present in crits. UX leads rely on it to standardize concept documentation (wireframe notes plus test plans) across a team, especially when timelines are tight. Founders and product managers use it to explore differentiation without jumping straight into build mode, so roadmap decisions have real options behind them. Design agencies apply it to create an aligned “concept pack” early, which reduces rework when clients ask for more variety."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this UI UX concept directions AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS platforms benefit because small interaction decisions (navigation, information density, progressive disclosure) change activation and retention, and this prompt generates alternatives you can prototype and test. E-commerce and marketplaces use it to ideate flows that reduce friction (search, comparison, checkout, trust signals) while still expressing a distinct brand feel. Fintech and insurance teams get value from the accessibility and “no gimmicks” constraint, since users need clarity, explainability, and safe defaults. Health and wellness products can leverage it to explore supportive, behavior-aware patterns while staying grounded in usability and user needs."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for generating UI/UX concept directions produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Give me some UI/UX ideas for my app\" fails because it: lacks a required pre-analysis that restates brand identity and user needs (so the model guesses), provides no structured mechanism for distinct directions (so you get minor variations), ignores responsible trend selection (so it adds gimmicky tech), produces generic “better UX” claims instead of specific user problems and interactions, and misses validation planning so you can’t test concepts quickly."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this UI UX concept directions prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. The best way is to customize the inputs you provide for product type, brand identity, primary users, and the top 3 user needs (with constraints like device, time pressure, accessibility requirements, and risk level). You can also specify “must avoid” patterns (for example: “no dark patterns, no forced account creation, no infinite onboarding”) and any tech boundaries you have to respect. After the first run, use a follow-up like: “Rewrite concepts 2, 5, and 7 for a low-connectivity environment and include accessibility risks plus mitigations.” This keeps the concepts ambitious, but realistic."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this UI UX concept directions prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving the brand identity too vague — instead of “modern and friendly,” try “calm, minimalist, trust-forward; avoids humor; uses plain language; prioritizes legibility over decoration.” Another common error is describing user needs as preferences; replace “users want it simple” with “new users must complete X task in under 2 minutes without reading docs.” Teams also forget to state constraints, like device context and accessibility; “mobile app” is weaker than “mobile-first, one-handed use, bright outdoor lighting, WCAG-aware color choices.” Finally, people accept concept overlap; ask for “structurally different IA and interaction models” if the first batch feels samey."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this UI UX concept directions prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for pixel-perfect UI execution, production-ready component specs, or deep research synthesis, because it explicitly stops short of those deliverables. It’s also not a great fit if you can’t provide any meaningful brand or user-need inputs yet; the concepts will be based on assumptions you may not like. If you need ready-to-ship screens, use a dedicated UI kit and a designer-led production process instead, then run targeted usability tests on the actual build."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Concept direction work should create options you can actually prototype and test, not a pile of lookalike “inspiration.” Paste this prompt into your AI tool, answer with real constraints, and walk into your next review with 6–8 directions worth debating.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000129.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build an Accessible UI Color System with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-an-accessible-ui-color-system-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:17:14 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5000128</guid>

					<description><![CDATA[Color choices hurt usability - the ultimate AI Prompt that builds an accessible UI palette with tokens, contrast notes, and usage examples. Explore thousands of AI prompts by function and industry.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: accessible UI color system -->

<div class="hook-introduction">

<p>Most UI color palettes fail in the same places: text that looks “fine” in Figma but misses contrast in real screens, states that blur together, and tokens that no one knows how to apply. Then the fixes come late. After dev handoff. When every tweak is expensive.</p>



<p>This <strong>accessible UI color system</strong> is built for <strong>product designers</strong> who need a usable palette for a new app by next sprint, <strong>UX leads</strong> who must align color with brand meaning without breaking WCAG expectations, and <strong>design consultants</strong> packaging a “design system starter” for a client who needs decisions with rationale. The output is a modern, emotionally resonant palette with HEX codes, accessibility/contrast notes (with stated assumptions), and practical usage guidance for surfaces, text, borders, states, and feedback colors.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates your product, audience, and brand attributes so the palette is grounded in clear assumptions instead of vibes.</li>
          <li>It translates brand values into 3–5 measurable color attributes (and “avoid” notes) that guide hue, saturation, and contrast choices.</li>
          <li>It generates a practical interface-ready palette with specific HEX codes for neutrals, text, surfaces, borders, and semantic feedback colors.</li>
          <li>It includes accessibility guidance by referencing WCAG contrast expectations, stating font-size assumptions when you don’t provide them.</li>
          <li>It adds UI usage recommendations (where each token goes) tied to audience response, color psychology, and current UI color trends.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You are starting a product UI and you need a credible color direction before components and typography lock in.</li>
          <li>Your current palette looks modern, but links, disabled states, or subtle borders disappear for real users on common displays.</li>
          <li>You have brand values like “trustworthy” or “premium,” but the interface colors don’t communicate them consistently.</li>
          <li>Stakeholders keep requesting “make it pop,” and you need a reasoned system that protects readability and hierarchy.</li>
          <li>You are scaling a design system and want token-ready colors that work across light/dark surfaces and interaction states.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A complete palette proposal with 12–20+ HEX-coded tokens across neutrals, brand accents, and semantic colors.</li>
           <li>Contrast notes for key pairings (for example, text-on-surface and button-on-surface) with assumptions clearly stated.</li>
           <li>UI usage examples that map tokens to surfaces, text tiers, borders, focus rings, hover/active/disabled states, and alerts.</li>
           <li>A short rationale per color that ties UI function to brand meaning and expected audience emotional response.</li>
           <li>Up to 3 clarifying questions when input is missing, or a documented set of reasonable assumptions to keep you moving.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Accessible UI Color System Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TYPE_OF_WEBSITE_APP]</code></td>
                                <td class="var-desc">
                                    Specify the type of digital product being designed, such as a website or app, and its primary function or focus.                                    <div class="var-example">For example: "E-commerce website for sustainable fashion or a fitness tracking mobile app."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TYPE_OF_WEBSITE_APP]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the primary users of the product, including demographics, professional or personal traits, and any context relevant to their needs.                                    <div class="var-example">For example: "Young professionals aged 25-35 interested in eco-friendly products, with a preference for minimalist design and intuitive interfaces."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_IDENTITY_AND_VALUES]</code></td>
                                <td class="var-desc">
                                    Provide the core attributes, mission, and values of the brand that should influence the color system design.                                    <div class="var-example">For example: "A modern, innovative brand focused on sustainability, transparency, and empowering users through technology."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_IDENTITY_AND_VALUES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Indicate the industry or market category the product belongs to, especially if it differs from the type of product being designed.                                    <div class="var-example">For example: "Healthcare technology or online education."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    List optional keywords that describe the desired emotional or stylistic tone for the color system.                                    <div class="var-example">For example: "Calm, approachable, premium, or playful."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Mention any specific competitors or design references to avoid or align with, if applicable.                                    <div class="var-example">For example: "Avoid designs that resemble competitor X, or align with the clean look of competitor Y’s app."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Scope Boundaries — What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Pre-Analysis Summary</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Color Strategy</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Palette (with HEX)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Accessibility Notes</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) UI Usage Examples (written “mini-mock” mapping)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Design a modern, emotionally resonant, accessibility-aware color system for a digital product, tailored to a specific user group and grounded in brand meaning, color psychology, and current UI trends.

## PERSONA
You are a senior UI/UX color specialist with strong practice in brand-to-interface translation, perceptual psychology, and inclusive design for web/app products. You communicate with crisp rationale, practical UI guidance, and clear accessibility considerations.

## CONSTRAINTS
- Prioritize readability and inclusivity: meet or exceed WCAG contrast expectations where applicable (state assumptions if exact font sizes aren’t provided).
- Keep the palette practical for real interfaces (states, surfaces, text, borders, feedback colors).
- Avoid vague color names; always provide HEX codes (and optional RGB/HSL if useful).
- Tie every recommended color to: brand meaning + audience response + UI function.
- If any input is missing or unclear, ask up to 3 focused questions or make explicit, reasonable assumptions and proceed.

### Scope Boundaries — What This Is NOT
- Not a full visual identity/brand redesign.
- Not a complete UI kit or component library build.
- Not a marketing campaign art direction guide across all media.
- Not a replacement for final contrast testing in the real layout; it’s a proposal with guidelines.

## PROCESS
1. **Pre-analysis (state your understanding):** Briefly restate the product type, ideal recipient, and the brand attributes you will map into color.
2. **Brand translation:** Convert the brand values into 3–5 color attributes (e.g., “calm,” “premium,” “energetic,” “clinical,” “playful”) and note what to avoid.
3. **Audience fit:** Explain likely audience preferences and emotional triggers related to color (including cultural or context considerations when relevant).
4. **Trend alignment:** Summarize relevant interface color trends for the product category and choose a direction (e.g., “muted minimal,” “high-chroma accents,” “soft neutrals,” “dark-first”).
5. **Accessibility plan:** Specify contrast targets, color-blind safety considerations, and how you’ll preserve meaning without relying on hue alone.
6. **Palette build:** Produce:
   - A primary set (2–3 main brand colors)
   - A supporting set (neutrals + surfaces)
   - Accent colors (used sparingly)
   - Semantic colors (success/warning/error/info) if appropriate
7. **UI application map:** Show where each color goes (backgrounds, text, nav, buttons, links, focus, borders, cards).
8. **Validation &amp; iteration notes:** Call out any risks (e.g., contrast edge cases) and suggest next tests.

## INPUTS
- **Product type (website/app):** [TYPE_OF_WEBSITE_APP]
- **Ideal recipient (who it’s for):** [TARGET_AUDIENCE]
- **Brand identity and values:** [BRAND_IDENTITY_AND_VALUES]
- **Industry/category (if distinct from product type):** [INDUSTRY]
- **Preferred vibe or tone keywords (optional):** [TONE]
- **Competitors or references to avoid/align with (optional):** [CONTEXT]

## OUTPUT SPECIFICATION
Provide the deliverable using these sections and placeholders:

### 1) Pre-Analysis Summary
- {Product Summary}
- {Audience Snapshot}
- {Brand-to-Color Translation Notes}
- {Key Assumptions Or Clarifying Questions}

### 2) Color Strategy
- {Chosen Direction}
- {Rationale Linked To Brand And Audience}
- {Trend Notes For This Category}

### 3) Palette (with HEX)
**Primary (2–3):**
- {Primary Color 1 Name}: {Hex} — {Psychology} — {UI Role}
- {Primary Color 2 Name}: {Hex} — {Psychology} — {UI Role}
- {Primary Color 3 Name (Optional)}: {Hex} — {Psychology} — {UI Role}

**Neutrals / Surfaces:**
- {Background}: {Hex}
- {Surface/Card}: {Hex}
- {Text Primary}: {Hex}
- {Text Secondary}: {Hex}
- {Border/Divider}: {Hex}

**Accents (sparingly):**
- {Accent 1 Name}: {Hex} — {Best Used For}
- {Accent 2 Name (Optional)}: {Hex} — {Best Used For}

**Semantic (if needed):**
- {Success}: {Hex}
- {Warning}: {Hex}
- {Error}: {Hex}
- {Info}: {Hex}

### 4) Accessibility Notes
- {Contrast Targets And Assumptions}
- {Color-Blind Considerations}
- {Non-Color Cues Recommendations (icons, patterns, labels)}
- {Focus State Guidance}

### 5) UI Usage Examples (written “mini-mock” mapping)
Include a concise mapping such as:
- {Top Navigation}: background {Hex}, text {Hex}, active state {Hex}
- {Primary Button}: default {Hex}, hover {Hex}, pressed {Hex}, text {Hex}
- {Secondary Button}: default {Hex}, border {Hex}, text {Hex}
- {Links}: default {Hex}, visited {Hex}, underline behavior
- {Page Background And Cards}: {Hex}/{Hex}
- {Forms}: input bg {Hex}, border {Hex}, focus ring {Hex}, error state {Hex}
- {Charts/Badges (if relevant)}: {Hex Assignments}

(If [CONTEXT] includes “dark mode” or the product implies it, also add: {Dark Mode Palette Notes}.)

## QUALITY CHECKS
Before finalizing, verify and explicitly confirm:
- Contrast and legibility are addressed with clear targets and assumptions.
- Palette includes practical neutrals and states (not just “pretty colors”).
- Every primary color has a stated psychological intent and UI job.
- Accents are limited and assigned to specific attention moments.
- Accessibility does not depend on hue alone (supports color-vision differences).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDesign a modern, emotionally resonant, accessibility-aware color system for a digital product, tailored to a specific user group and grounded in brand meaning, color psychology, and current UI trends.\r\n\r\n## PERSONA\r\nYou are a senior UI\/UX color specialist with strong practice in brand-to-interface translation, perceptual psychology, and inclusive design for web\/app products. You communicate with crisp rationale, practical UI guidance, and clear accessibility considerations.\r\n\r\n## CONSTRAINTS\r\n- Prioritize readability and inclusivity: meet or exceed WCAG contrast expectations where applicable (state assumptions if exact font sizes aren\u2019t provided).\r\n- Keep the palette practical for real interfaces (states, surfaces, text, borders, feedback colors).\r\n- Avoid vague color names; always provide HEX codes (and optional RGB\/HSL if useful).\r\n- Tie every recommended color to: brand meaning + audience response + UI function.\r\n- If any input is missing or unclear, ask up to 3 focused questions or make explicit, reasonable assumptions and proceed.\r\n\r\n### Scope Boundaries \u2014 What This Is NOT\r\n- Not a full visual identity\/brand redesign.\r\n- Not a complete UI kit or component library build.\r\n- Not a marketing campaign art direction guide across all media.\r\n- Not a replacement for final contrast testing in the real layout; it\u2019s a proposal with guidelines.\r\n\r\n## PROCESS\r\n1. **Pre-analysis (state your understanding):** Briefly restate the product type, ideal recipient, and the brand attributes you will map into color.\r\n2. **Brand translation:** Convert the brand values into 3\u20135 color attributes (e.g., \u201ccalm,\u201d \u201cpremium,\u201d \u201cenergetic,\u201d \u201cclinical,\u201d \u201cplayful\u201d) and note what to avoid.\r\n3. **Audience fit:** Explain likely audience preferences and emotional triggers related to color (including cultural or context considerations when relevant).\r\n4. **Trend alignment:** Summarize relevant interface color trends for the product category and choose a direction (e.g., \u201cmuted minimal,\u201d \u201chigh-chroma accents,\u201d \u201csoft neutrals,\u201d \u201cdark-first\u201d).\r\n5. **Accessibility plan:** Specify contrast targets, color-blind safety considerations, and how you\u2019ll preserve meaning without relying on hue alone.\r\n6. **Palette build:** Produce:\r\n   - A primary set (2\u20133 main brand colors)\r\n   - A supporting set (neutrals + surfaces)\r\n   - Accent colors (used sparingly)\r\n   - Semantic colors (success\/warning\/error\/info) if appropriate\r\n7. **UI application map:** Show where each color goes (backgrounds, text, nav, buttons, links, focus, borders, cards).\r\n8. **Validation & iteration notes:** Call out any risks (e.g., contrast edge cases) and suggest next tests.\r\n\r\n## INPUTS\r\n- **Product type (website\/app):** [TYPE_OF_WEBSITE_APP]\r\n- **Ideal recipient (who it\u2019s for):** [TARGET_AUDIENCE]\r\n- **Brand identity and values:** [BRAND_IDENTITY_AND_VALUES]\r\n- **Industry\/category (if distinct from product type):** [INDUSTRY]\r\n- **Preferred vibe or tone keywords (optional):** [TONE]\r\n- **Competitors or references to avoid\/align with (optional):** [CONTEXT]\r\n\r\n## OUTPUT SPECIFICATION\r\nProvide the deliverable using these sections and placeholders:\r\n\r\n### 1) Pre-Analysis Summary\r\n- {Product Summary}\r\n- {Audience Snapshot}\r\n- {Brand-to-Color Translation Notes}\r\n- {Key Assumptions Or Clarifying Questions}\r\n\r\n### 2) Color Strategy\r\n- {Chosen Direction}\r\n- {Rationale Linked To Brand And Audience}\r\n- {Trend Notes For This Category}\r\n\r\n### 3) Palette (with HEX)\r\n**Primary (2\u20133):**\r\n- {Primary Color 1 Name}: {Hex} \u2014 {Psychology} \u2014 {UI Role}\r\n- {Primary Color 2 Name}: {Hex} \u2014 {Psychology} \u2014 {UI Role}\r\n- {Primary Color 3 Name (Optional)}: {Hex} \u2014 {Psychology} \u2014 {UI Role}\r\n\r\n**Neutrals \/ Surfaces:**\r\n- {Background}: {Hex}\r\n- {Surface\/Card}: {Hex}\r\n- {Text Primary}: {Hex}\r\n- {Text Secondary}: {Hex}\r\n- {Border\/Divider}: {Hex}\r\n\r\n**Accents (sparingly):**\r\n- {Accent 1 Name}: {Hex} \u2014 {Best Used For}\r\n- {Accent 2 Name (Optional)}: {Hex} \u2014 {Best Used For}\r\n\r\n**Semantic (if needed):**\r\n- {Success}: {Hex}\r\n- {Warning}: {Hex}\r\n- {Error}: {Hex}\r\n- {Info}: {Hex}\r\n\r\n### 4) Accessibility Notes\r\n- {Contrast Targets And Assumptions}\r\n- {Color-Blind Considerations}\r\n- {Non-Color Cues Recommendations (icons, patterns, labels)}\r\n- {Focus State Guidance}\r\n\r\n### 5) UI Usage Examples (written \u201cmini-mock\u201d mapping)\r\nInclude a concise mapping such as:\r\n- {Top Navigation}: background {Hex}, text {Hex}, active state {Hex}\r\n- {Primary Button}: default {Hex}, hover {Hex}, pressed {Hex}, text {Hex}\r\n- {Secondary Button}: default {Hex}, border {Hex}, text {Hex}\r\n- {Links}: default {Hex}, visited {Hex}, underline behavior\r\n- {Page Background And Cards}: {Hex}\/{Hex}\r\n- {Forms}: input bg {Hex}, border {Hex}, focus ring {Hex}, error state {Hex}\r\n- {Charts\/Badges (if relevant)}: {Hex Assignments}\r\n\r\n(If [CONTEXT] includes \u201cdark mode\u201d or the product implies it, also add: {Dark Mode Palette Notes}.)\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify and explicitly confirm:\r\n- Contrast and legibility are addressed with clear targets and assumptions.\r\n- Palette includes practical neutrals and states (not just \u201cpretty colors\u201d).\r\n- Every primary color has a stated psychological intent and UI job.\r\n- Accents are limited and assigned to specific attention moments.\r\n- Accessibility does not depend on hue alone (supports color-vision differences).";
    const variables = ["[TYPE_OF_WEBSITE_APP]","[TARGET_AUDIENCE]","[BRAND_IDENTITY_AND_VALUES]","[INDUSTRY]","[TONE]","[CONTEXT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Feed it real interface context.</strong> Give the product type (mobile app, web dashboard, marketing site) and your primary surfaces (light-only, dark-only, both). If you can, add one sentence like: “Most screens are form-heavy with dense tables,” because density changes how subtle neutrals can be.</li>


<li><strong>Specify the “emotion” in user terms.</strong> “Modern and friendly” is vague; “calm confidence for anxious first-time users” is usable. After the first run, try: “Rewrite the brand translation as 5 color attributes with one do/don’t example each.”</li>


<li><strong>Ask for token names that match your system.</strong> If your team uses Tailwind-like naming or design tokens, request it explicitly. Follow-up prompt: “Output tokens as: color.surface.0/50/100, color.text.primary/secondary, color.border.subtle/strong, color.brand.primary/hover, plus semantic.success/warn/error.”</li>


<li><strong>Iterate on contrast with targeted constraints.</strong> Don’t just say “make it more accessible.” Ask: “Keep brand.primary hue, but adjust saturation/lightness so white text passes on primary buttons, and primary text passes on surface.50.” Then: “Now make option 2 more aggressive and option 4 more conservative.”</li>


<li><strong>Force real-state coverage.</strong> Many palettes look good until you add focus, disabled, and destructive states. Prompt it: “Add states for brand.primary (default/hover/active/disabled) and a focus ring color that is visible on both surface.0 and surface.900; include a one-line rationale for each pairing.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once you’ve nailed a readable, consistent UI palette, these prompts help you tighten the lifecycle messaging that often lives right inside the product experience.</p>



<p>If you also need to reduce checkout drop-off, <a href="https://flowpast.com/prompts/create-abandoned-cart-recovery-emails-ai-prompt/">Create Abandoned Cart Recovery Emails AI Prompt</a> helps you write high-intent messages that match your UI’s tone (and can even reference the same semantic language you use in alerts and confirmations).</p>



<p>For teams doing a broader retention push, <a href="https://flowpast.com/prompts/build-a-cart-recovery-system-with-this-ai-prompt/">Build a Cart Recovery System with this AI Prompt</a> pairs well because it moves from “single email” thinking into a coordinated system of touchpoints. That matters when your product UI already has clear states and feedback patterns and you want comms to feel just as deliberate.</p>



<p>When paid media and onsite experience need to reinforce each other, <a href="https://flowpast.com/prompts/create-a-cart-recovery-retargeting-plan-with-this-ai-prompt/">Create a Cart Recovery Retargeting Plan with this AI Prompt</a> gives you a plan you can align to your new color system (creative cues, urgency levels, and message hierarchy). Frankly, mismatched “brand feel” between ads and product UI is more common than it should be.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/create-abandoned-cart-recovery-emails-ai-prompt/">Create Abandoned Cart Recovery Emails AI Prompt</a>: Write cart emails with clear intent.</li>


<li><a href="https://flowpast.com/prompts/build-a-cart-recovery-system-with-this-ai-prompt/">Build a Cart Recovery System with this AI Prompt</a>: Turn recovery into a lifecycle system.</li>


<li><a href="https://flowpast.com/prompts/create-a-cart-recovery-retargeting-plan-with-this-ai-prompt/">Create a Cart Recovery Retargeting Plan with this AI Prompt</a>: Plan retargeting that matches onsite experience.</li>


<li><a href="https://flowpast.com/prompts/build-abandoned-cart-email-and-sms-flow-with-this-ai-prompt/">Build Abandoned Cart Email and SMS Flow with this AI Prompt</a>: Create coordinated email + SMS flows.</li>


<li><a href="https://flowpast.com/prompts/write-a-re-engagement-email-sequence-with-this-ai-prompt/">Write a Re-Engagement Email Sequence with this AI Prompt</a>: Win back lapsed users with sequences.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this accessible UI color system AI prompt?</span>

<p class="answer"><strong>Product Designers</strong> use this to get token-ready HEX colors for surfaces, text, and states without guessing what “good contrast” means. <strong>Design System Leads</strong> rely on it to produce consistent roles for neutrals, brand accents, and semantic feedback colors that can be mapped into tokens. <strong>UX Managers</strong> use the built-in rationale (brand meaning, audience response, trend alignment) to defend color decisions in reviews. <strong>Front-end Leads</strong> benefit because the output includes practical pairings and assumptions, which reduces back-and-forth during implementation.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this accessible UI color system AI prompt?</span>

<p class="answer"><strong>SaaS products</strong> get value because dashboards need clear hierarchy across dense tables, charts, and multi-level text, and this prompt generates neutrals plus states that don’t blur together. <strong>Fintech and insurance</strong> teams use it to balance “trust” and “clarity” while keeping semantic colors (success/warning/error) distinct and readable for critical flows like payments and claims. <strong>Healthcare and wellness apps</strong> benefit from the audience-fit section, which helps avoid overly clinical or overly playful palettes depending on user sensitivity and context. <strong>E-learning platforms</strong> use it to keep focus indicators, links, and interactive elements accessible across long reading sessions and varied devices.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building an accessible UI palette produce weak results?</span>

<p class="answer">A typical prompt like &#8220;<em>Make me an accessible color palette for my app</em>&#8221; fails because it: lacks brand-to-interface translation, so colors don’t reflect meaning or positioning; provides no structured token roles (text, surfaces, borders, states), so the palette is unusable in a real UI; ignores audience context and emotional triggers, which leads to generic “tech blue” outcomes; produces HEX lists without contrast assumptions or pairings, so accessibility is guessed instead of reasoned; and misses trend alignment, so the result can look dated or inconsistent with your product category.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this accessible UI color system prompt for my specific situation?</span>

<p class="answer">Yes. Start by adding your product type, your audience (who they are and what they’re trying to do), and 3–5 brand attributes you want expressed in the interface. If you have constraints, include them explicitly, like “must work in dark mode,” “primary CTA must be green,” or “avoid red/green reliance due to color-vision deficiency risk.” After the first output, ask a follow-up like: “Generate a second option with lower chroma accents and stricter contrast targets for small text; keep the same brand meaning.” If anything is missing, the prompt will ask up to three focused questions or state assumptions so you can still move forward.</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this accessible UI color system prompt?</span>

<p class="answer">The biggest mistake is giving fuzzy brand attributes; instead of “modern and premium,” try “premium minimal, calm, precise, low-noise, with one high-energy accent reserved for primary CTA.” Another common error is not specifying your surfaces, so you get colors that don’t translate; “we need light + dark mode with cards on surface.900” is far better than “make it work everywhere.” People also forget to mention key UI elements like links and focus rings, which leads to accessibility gaps; ask for “link default/hover/visited and focus ring on light and dark surfaces.” Finally, teams treat the contrast notes as final testing; use the output as a proposal, then validate in your real typography sizes and components.</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this accessible UI color system prompt?</span>

<p class="answer">This prompt isn’t ideal for a full brand identity overhaul, because it’s explicitly not a visual identity redesign. It’s also not the right choice if you need a complete UI kit with components and spacing rules, or if you require final compliance sign-off without testing in real layouts. If you only need a quick one-off color suggestion for a landing page, you may be better served by a simpler palette generator and then manual contrast checks. Use this when you want a system, not a single swatch.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this accessible UI color system AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Product Designers use this to get token-ready HEX colors for surfaces, text, and states without guessing what “good contrast” means. Design System Leads rely on it to produce consistent roles for neutrals, brand accents, and semantic feedback colors that can be mapped into tokens. UX Managers use the built-in rationale (brand meaning, audience response, trend alignment) to defend color decisions in reviews. Front-end Leads benefit because the output includes practical pairings and assumptions, which reduces back-and-forth during implementation."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this accessible UI color system AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS products get value because dashboards need clear hierarchy across dense tables, charts, and multi-level text, and this prompt generates neutrals plus states that don’t blur together. Fintech and insurance teams use it to balance “trust” and “clarity” while keeping semantic colors (success/warning/error) distinct and readable for critical flows like payments and claims. Healthcare and wellness apps benefit from the audience-fit section, which helps avoid overly clinical or overly playful palettes depending on user sensitivity and context. E-learning platforms use it to keep focus indicators, links, and interactive elements accessible across long reading sessions and varied devices."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building an accessible UI palette produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Make me an accessible color palette for my app\" fails because it: lacks brand-to-interface translation, so colors don’t reflect meaning or positioning; provides no structured token roles (text, surfaces, borders, states), so the palette is unusable in a real UI; ignores audience context and emotional triggers, which leads to generic “tech blue” outcomes; produces HEX lists without contrast assumptions or pairings, so accessibility is guessed instead of reasoned; and misses trend alignment, so the result can look dated or inconsistent with your product category."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this accessible UI color system prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Start by adding your product type, your audience (who they are and what they’re trying to do), and 3–5 brand attributes you want expressed in the interface. If you have constraints, include them explicitly, like “must work in dark mode,” “primary CTA must be green,” or “avoid red/green reliance due to color-vision deficiency risk.” After the first output, ask a follow-up like: “Generate a second option with lower chroma accents and stricter contrast targets for small text; keep the same brand meaning.” If anything is missing, the prompt will ask up to three focused questions or state assumptions so you can still move forward."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this accessible UI color system prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is giving fuzzy brand attributes; instead of “modern and premium,” try “premium minimal, calm, precise, low-noise, with one high-energy accent reserved for primary CTA.” Another common error is not specifying your surfaces, so you get colors that don’t translate; “we need light + dark mode with cards on surface.900” is far better than “make it work everywhere.” People also forget to mention key UI elements like links and focus rings, which leads to accessibility gaps; ask for “link default/hover/visited and focus ring on light and dark surfaces.” Finally, teams treat the contrast notes as final testing; use the output as a proposal, then validate in your real typography sizes and components."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this accessible UI color system prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for a full brand identity overhaul, because it’s explicitly not a visual identity redesign. It’s also not the right choice if you need a complete UI kit with components and spacing rules, or if you require final compliance sign-off without testing in real layouts. If you only need a quick one-off color suggestion for a landing page, you may be better served by a simpler palette generator and then manual contrast checks. Use this when you want a system, not a single swatch."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>A palette shouldn’t be a handful of pretty HEX codes. It should be a repeatable set of decisions you can ship and defend. Paste this prompt into your AI tool, run it once, then iterate on contrast pairings and states until it fits your product.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5000128.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Create a Scroll Reactive Landing Page Blueprint AI Prompt</title>
		<link>https://flowpast.com/prompts/create-a-scroll-reactive-landing-page-blueprint-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:14:21 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001405</guid>

					<description><![CDATA[Crowded AI markets blur together - use this AI Prompt to map a cinematic scroll reactive WebGL landing page with scenes, UI states, and fallbacks. Explore thousands of AI prompts by function and industry.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: scroll reactive landing page -->

<div class="hook-introduction">

<p>Your AI landing page probably looks like everyone else’s. Big gradient. Floating blobs. A vague “futuristic” vibe that feels interchangeable, and frankly, forgettable. When the category is crowded, that sameness costs you attention and trust.</p>



<p>This <strong>scroll reactive landing page</strong> is built for <strong>growth marketers</strong> launching an AI product that needs a premium first impression, <strong>creative directors</strong> trying to translate a visual “world” into something engineers can actually ship, and <strong>product marketing leads</strong> who need a page concept with clear scene beats, UI states, and fallback rules. The output is a developer-ready creative blueprint: scroll scenes, motion choreography, shader behavior notes, accessibility safeguards, and performance fallbacks in plain language.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It defines a cinematic visual system for a Three.js/WebGL landing page, including dithering character, grain logic, lighting rules, and composition habits.</li>
          <li>It breaks the page into scroll-reactive “scenes” and describes how each scene evolves with motion, depth, and color grading as the user advances.</li>
          <li>It specifies shader and material behavior in natural language so a graphics engineer can implement the look without needing you to provide code.</li>
          <li>It pairs every experimental visual move with guardrails for legibility, accessibility, and performance, including reduced-motion and weak-device plans.</li>
          <li>It flags cliché aesthetics to avoid (generic gradients, sci‑fi HUD tropes) and forces distinctive creative decisions anchored in a consistent system.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You are preparing a hero landing page for an AI product and need it to feel “entered another world” without sacrificing clarity.</li>
          <li>Your team keeps debating style directions, but no one is writing a spec that connects art direction to build constraints.</li>
          <li>You have stakeholders asking for WebGL polish, yet engineering needs a plan for fallbacks, network slowness, and mobile thermals.</li>
          <li>Competitors’ pages all look similar, and you need a defensible visual signature that still aligns with an enterprise-grade UI.</li>
          <li>You’re scaling acquisition and want a repeatable “scene architecture” that can be adapted for future campaigns and feature launches.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A multi-scene scroll blueprint (typically 5–8 sections) with clear scene goals, transitions, and state changes.</li>
           <li>A visual style spec describing dithering, grain, displacement, particle atmospherics, and depth-driven color grading in implementable terms.</li>
           <li>A choreography outline for GSAP-driven motion beats, including pacing notes and what responds to scroll versus time.</li>
           <li>A fallback matrix for weak devices, slow networks, and reduced-motion users, plus what degrades first and what must remain.</li>
           <li>A readability and accessibility checklist tailored to WebGL UI overlays (contrast targets, hit areas, and “never obscure text” rules).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Scroll-Reactive WebGL Landing Page Blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide a detailed overview of the company’s positioning, competitive landscape, and the visual aesthetic they aim to achieve. Include any relevant background or market challenges.                                    <div class="var-example">For example: "A cutting-edge AI platform targeting creative professionals, aiming to differentiate itself through immersive, cinematic visuals that evoke innovation and exclusivity."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Describe the product’s core functionality, key features, and unique selling points in a concise manner.                                    <div class="var-example">For example: "An AI-driven generative design tool that transforms creative briefs into high-fidelity 3D visuals, optimized for real-time rendering and collaboration."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Define the primary users of the product, including their profession, needs, and specific challenges they face.                                    <div class="var-example">For example: "Creative technologists and design studios seeking cutting-edge tools to enhance WebGL visual production and streamline generative workflows."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone and style of communication the brand uses to engage its audience, including any specific qualities or characteristics.                                    <div class="var-example">For example: "Precise, cinematic, and systems-oriented, emphasizing innovation, technical mastery, and accessibility."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TECHNICAL_CONSTRAINTS]</code></td>
                                <td class="var-desc">
                                    List the practical limitations or requirements for the landing page, such as performance, accessibility, or compatibility considerations.                                    <div class="var-example">For example: "Must support older GPUs, offer reduced-motion alternatives, and load efficiently on slow networks without sacrificing visual fidelity."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TECHNICAL_CONSTRAINTS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Specify the intended platform or environment for the landing page, including any relevant technologies or frameworks.                                    <div class="var-example">For example: "Three.js/WebGL environment with GSAP for scroll-driven animations and choreography."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT (Scope Boundaries)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Aesthetic Foundation (Reference-True System)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Hero Section Design (Above-the-Fold Moment)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Scroll Narrative (Act-by-Act Journey)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Component Specifications (UI Overlay System)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Shader Behaviors (Creative-Director Language, Engineer-Translatable)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Interaction Patterns (Micro-Behavior Spec)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Responsive Strategy (Multi-Device + Degradation)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Technical Architecture (Plain-English Build Guidance)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">9) Developer Handoff (Acceptance Criteria + QA Notes)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a complete creative-direction blueprint for a full-screen, scroll-reactive AI product landing page that feels radically distinct in a saturated market. The page must deliver an immersive “entered another world” sensation using dithered shader styling, organic 3D displacement, grain, depth-driven color grading, and restrained particle atmospherics—designed for Three.js/WebGL with GSAP-driven choreography—while staying legible, accessible, and feasible for an enterprise-grade build.

## PERSONA
Act as an elite creative technologist specializing in real-time WebGL visuals and interactive art direction. You’re known for pairing high-concept generative aesthetics with pragmatic design systems that engineering teams can ship. Your voice is precise, cinematic, and systems-oriented: you describe what it should look and feel like, how it evolves over scroll, and how developers can translate it—without writing code.

## CONSTRAINTS
- Prioritize **visual system + creative direction + developer-ready specs**; do **not** produce implementation code.
- Treat the reference aesthetic as ground truth: extract details with “forensic” specificity (materials, grain, dithering character, contrast, lighting logic, composition habits).
- Describe shader and motion behavior in **natural language** that a graphics engineer can implement.
- Every experimental move must be paired with **readability, accessibility, and performance** safeguards.
- Assume the market is visually repetitive; avoid generic “futuristic gradients” and cliché sci-fi UI tropes.
- Include edge-case plans for weak devices, reduced-motion users, and slow networks.

### What This Is NOT (Scope Boundaries)
- Not a marketing copywriting deliverable (you may suggest UI label tone, but don’t write full page copy).
- Not a code tutorial, shader source, or Three.js/GSAP snippets.
- Not a full brand identity redesign (only what’s required to ship this landing-page visual system).
- Not a generic moodboard; deliver implementable, section-by-section specifications.

## PROCESS
1. **Pre-Analysis (required):** Briefly restate your understanding of the company positioning, the reference aesthetic, the primary user segment, and the technical limits. List 3 assumptions you’ll operate under if anything is missing.
2. **Reference Deconstruction:** Break down the reference into repeatable primitives (palette logic, grain model, dither pattern personality, lighting rules, camera language, geometry motifs, typography relationship to canvas).
3. **System Design:** Define the visual grammar (tokens, rules, do/don’t) so multiple sections feel unified while still evolving.
4. **Page Architecture + Scroll Cinema:** Map the landing page into a scroll journey with distinct “acts.” Define how the WebGL scene transforms, when UI elements appear, and how transitions feel.
5. **Component Blueprint:** Specify UI components and states so the overlay UI looks intentional against complex motion.
6. **Motion + Interaction Specs:** Document hover, scroll, pointer tracking, and micro-interactions with timing guidance.
7. **Responsiveness + Performance:** Provide adaptation rules across devices, plus graceful degradation paths.
8. **Developer Handoff Package:** Summarize implementation guidance, acceptance criteria, and accessibility requirements.

### Edge Case Handling
- If the reference is vague or not provided, propose **two** aesthetic directions consistent with the brief and explain what reference details you’d need to lock one in.
- If technical constraints are strict, provide a “full fidelity” plan and a “constrained build” variant (same art direction, fewer GPU costs).
- If audience/personality is ambiguous, default to enterprise trust + frontier innovation, and note what would change for consumers vs. developers vs. executives.

## INPUTS
- **Visual reference (upload or description):** [CONTEXT]
- **Product positioning and what the company ships:** [PRODUCT_DESCRIPTION]
- **Primary user segment and stakeholders:** [TARGET_AUDIENCE]
- **Brand tone and emotional impact:** [BRAND_VOICE]
- **Engineering limits, device targets, and constraints:** [TECHNICAL_CONSTRAINTS]
- **Platform / delivery surface (e.g., web, webview, desktop):** [PLATFORM]

## OUTPUT SPECIFICATION
Use markdown headers and provide the following sections in order. Use placeholders only where noted.

### 1) Aesthetic Foundation (Reference-True System)
Include:
- **Mood + keywords:** {Mood Drivers}
- **Palette:** 8–12 colors with hex codes and roles (e.g., “Foreground Ink,” “Depth Fog,” “Dither Highlight”): {Color Tokens}
- **Texture model:** grain type, scale, motion, and when it’s applied: {Grain &amp; Texture Rules}
- **Dither identity:** pattern style, threshold behavior, edge handling, and how it reads at different scales: {Dither Characteristics}
- **Lighting/camera language:** lens feel, exposure, DOF usage (if any), motion cadence: {Cinematography Rules}
- **Geometry motifs:** recurring forms, displacement “personality,” silhouette principles: {Form Library}
- **“Do / Avoid” list:** at least 6 each, tuned to this market: {Design Guardrails}

### 2) Hero Section Design (Above-the-Fold Moment)
Describe:
- **Canvas composition:** scene layout, focal point, negative space for type: {Hero Composition}
- **Load-in sequence:** steps and visual beats with timing ranges (not frame-perfect): {Load-in Beats}
- **Typography treatment:** hierarchy, size ranges, weights, tracking, and contrast rules against motion: {Type System}
- **Initial shader state:** what’s visible at rest and what subtly moves: {Hero Shader Baseline}
- **Trust cues:** enterprise polish details (restraint, alignment, UI discipline): {Credibility Signals}

### 3) Scroll Narrative (Act-by-Act Journey)
Provide an act map with sections (e.g., Act I, Act II, Act III, etc.). For each section include:
- **Goal of the moment:** {Section Intent}
- **WebGL transformation:** displacement changes, dither evolution, color grading shifts: {Scene Evolution}
- **Content reveal behavior:** how UI enters/exits (masking, parallax, pinning, fade logic): {Content Choreography}
- **Transition style:** how the user perceives “moving to the next dimension”: {Transition Feel}
- **Screenshot hooks:** what makes this moment share-worthy without being gimmicky: {Capture Moment}

### 4) Component Specifications (UI Overlay System)
Define component-level design with states:
- Navigation (default / scrolled / active): {Nav Spec}
- Primary + secondary buttons (idle / hover / pressed / disabled / focus): {Button Spec}
- Cards or feature blocks (structure, borders, blur/no blur, grain interactions): {Card Spec}
- Form elements (if any): {Form Spec}
- System tokens (radius, spacing, borders, shadows/glows—if used): {UI Tokens}
Include accessibility notes per component (focus visibility, contrast targets).

### 5) Shader Behaviors (Creative-Director Language, Engineer-Translatable)
Describe each effect as:
- **What the viewer sees**
- **What drives it** (scroll position, depth, velocity, pointer proximity, time)
- **How it should be parameterized** (sliders/tunable variables)
Include at minimum:
- Dithering (threshold logic, banding control, edge cases): {Dither Behavior}
- Organic displacement (frequency, amplitude, “viscosity,” calm vs. intense states): {Displacement Behavior}
- Depth-based color grading (near/far palette mapping, fog curves): {Depth Grade Behavior}
- Grain/noise pipeline (screen-space vs. texture-space feel): {Noise Behavior}
- Particle system (density, motion rules, when it appears, how subtle): {Particle Behavior}

### 6) Interaction Patterns (Micro-Behavior Spec)
Detail:
- Pointer tracking (what reacts, what must not): {Pointer Response}
- Hover affordances (how to remain elegant atop complex visuals): {Hover System}
- Scroll behavior (pinning, easing feel, acceleration limits): {Scroll Feel}
- Micro-interactions (delight without clutter): {Micro-Details}
Include recommended timing ranges (e.g., “fast: ~120–180ms, medium: ~220–320ms, slow: ~450–700ms”) and easing character descriptions.

### 7) Responsive Strategy (Multi-Device + Degradation)
Provide:
- Breakpoint philosophy and layout shifts: {Layout Rules}
- WebGL quality tiers (high/medium/low) and what changes per tier: {Quality Scaling}
- Reduced motion mode plan: {Reduced Motion Plan}
- Battery/thermal considerations on mobile: {Mobile Safeguards}
- Fallback when WebGL fails (static/2D substitute that preserves identity): {Fallback Design}

### 8) Technical Architecture (Plain-English Build Guidance)
Include:
- Stack assumptions (Three.js/WebGL + GSAP orchestration): {Stack Outline}
- Scene organization (layers, passes, post-processing philosophy): {Scene Structure}
- Performance targets (FPS expectations by tier, GPU budget heuristics): {Perf Targets}
- Asset strategy (textures, compression, lazy-loading, preloading): {Asset Plan}
- Implementation notes for dev handoff (naming conventions, tunable params list): {Build Notes}

### 9) Developer Handoff (Acceptance Criteria + QA Notes)
Include:
- A compact checklist of what must match the art direction: {Visual Acceptance Criteria}
- Timing chart (scroll segments → transformations → UI events) using relative ranges (percent-of-scroll or section offsets): {Timing Chart}
- Accessibility requirements (contrast, focus, reduced motion, keyboard nav): {A11y Requirements}
- Testing matrix (devices/browsers, performance checks): {QA Matrix}

## QUALITY CHECKS
At the end, add a “Validation” section with 4–5 bullet checks confirming:
- The design is clearly differentiated from generic AI “future gradient” pages.
- The dither/displacement/grain system is consistent and tokenized for repeatability.
- Each section has a distinct scroll-driven transformation and a legibility plan.
- Performance and degradation paths are explicitly defined.
- Accessibility (reduced motion, focus, contrast) is integrated—not bolted on.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a complete creative-direction blueprint for a full-screen, scroll-reactive AI product landing page that feels radically distinct in a saturated market. The page must deliver an immersive \u201centered another world\u201d sensation using dithered shader styling, organic 3D displacement, grain, depth-driven color grading, and restrained particle atmospherics\u2014designed for Three.js\/WebGL with GSAP-driven choreography\u2014while staying legible, accessible, and feasible for an enterprise-grade build.\r\n\r\n## PERSONA\r\nAct as an elite creative technologist specializing in real-time WebGL visuals and interactive art direction. You\u2019re known for pairing high-concept generative aesthetics with pragmatic design systems that engineering teams can ship. Your voice is precise, cinematic, and systems-oriented: you describe what it should look and feel like, how it evolves over scroll, and how developers can translate it\u2014without writing code.\r\n\r\n## CONSTRAINTS\r\n- Prioritize **visual system + creative direction + developer-ready specs**; do **not** produce implementation code.\r\n- Treat the reference aesthetic as ground truth: extract details with \u201cforensic\u201d specificity (materials, grain, dithering character, contrast, lighting logic, composition habits).\r\n- Describe shader and motion behavior in **natural language** that a graphics engineer can implement.\r\n- Every experimental move must be paired with **readability, accessibility, and performance** safeguards.\r\n- Assume the market is visually repetitive; avoid generic \u201cfuturistic gradients\u201d and clich\u00e9 sci-fi UI tropes.\r\n- Include edge-case plans for weak devices, reduced-motion users, and slow networks.\r\n\r\n### What This Is NOT (Scope Boundaries)\r\n- Not a marketing copywriting deliverable (you may suggest UI label tone, but don\u2019t write full page copy).\r\n- Not a code tutorial, shader source, or Three.js\/GSAP snippets.\r\n- Not a full brand identity redesign (only what\u2019s required to ship this landing-page visual system).\r\n- Not a generic moodboard; deliver implementable, section-by-section specifications.\r\n\r\n## PROCESS\r\n1. **Pre-Analysis (required):** Briefly restate your understanding of the company positioning, the reference aesthetic, the primary user segment, and the technical limits. List 3 assumptions you\u2019ll operate under if anything is missing.\r\n2. **Reference Deconstruction:** Break down the reference into repeatable primitives (palette logic, grain model, dither pattern personality, lighting rules, camera language, geometry motifs, typography relationship to canvas).\r\n3. **System Design:** Define the visual grammar (tokens, rules, do\/don\u2019t) so multiple sections feel unified while still evolving.\r\n4. **Page Architecture + Scroll Cinema:** Map the landing page into a scroll journey with distinct \u201cacts.\u201d Define how the WebGL scene transforms, when UI elements appear, and how transitions feel.\r\n5. **Component Blueprint:** Specify UI components and states so the overlay UI looks intentional against complex motion.\r\n6. **Motion + Interaction Specs:** Document hover, scroll, pointer tracking, and micro-interactions with timing guidance.\r\n7. **Responsiveness + Performance:** Provide adaptation rules across devices, plus graceful degradation paths.\r\n8. **Developer Handoff Package:** Summarize implementation guidance, acceptance criteria, and accessibility requirements.\r\n\r\n### Edge Case Handling\r\n- If the reference is vague or not provided, propose **two** aesthetic directions consistent with the brief and explain what reference details you\u2019d need to lock one in.\r\n- If technical constraints are strict, provide a \u201cfull fidelity\u201d plan and a \u201cconstrained build\u201d variant (same art direction, fewer GPU costs).\r\n- If audience\/personality is ambiguous, default to enterprise trust + frontier innovation, and note what would change for consumers vs. developers vs. executives.\r\n\r\n## INPUTS\r\n- **Visual reference (upload or description):** [CONTEXT]\r\n- **Product positioning and what the company ships:** [PRODUCT_DESCRIPTION]\r\n- **Primary user segment and stakeholders:** [TARGET_AUDIENCE]\r\n- **Brand tone and emotional impact:** [BRAND_VOICE]\r\n- **Engineering limits, device targets, and constraints:** [TECHNICAL_CONSTRAINTS]\r\n- **Platform \/ delivery surface (e.g., web, webview, desktop):** [PLATFORM]\r\n\r\n## OUTPUT SPECIFICATION\r\nUse markdown headers and provide the following sections in order. Use placeholders only where noted.\r\n\r\n### 1) Aesthetic Foundation (Reference-True System)\r\nInclude:\r\n- **Mood + keywords:** {Mood Drivers}\r\n- **Palette:** 8\u201312 colors with hex codes and roles (e.g., \u201cForeground Ink,\u201d \u201cDepth Fog,\u201d \u201cDither Highlight\u201d): {Color Tokens}\r\n- **Texture model:** grain type, scale, motion, and when it\u2019s applied: {Grain & Texture Rules}\r\n- **Dither identity:** pattern style, threshold behavior, edge handling, and how it reads at different scales: {Dither Characteristics}\r\n- **Lighting\/camera language:** lens feel, exposure, DOF usage (if any), motion cadence: {Cinematography Rules}\r\n- **Geometry motifs:** recurring forms, displacement \u201cpersonality,\u201d silhouette principles: {Form Library}\r\n- **\u201cDo \/ Avoid\u201d list:** at least 6 each, tuned to this market: {Design Guardrails}\r\n\r\n### 2) Hero Section Design (Above-the-Fold Moment)\r\nDescribe:\r\n- **Canvas composition:** scene layout, focal point, negative space for type: {Hero Composition}\r\n- **Load-in sequence:** steps and visual beats with timing ranges (not frame-perfect): {Load-in Beats}\r\n- **Typography treatment:** hierarchy, size ranges, weights, tracking, and contrast rules against motion: {Type System}\r\n- **Initial shader state:** what\u2019s visible at rest and what subtly moves: {Hero Shader Baseline}\r\n- **Trust cues:** enterprise polish details (restraint, alignment, UI discipline): {Credibility Signals}\r\n\r\n### 3) Scroll Narrative (Act-by-Act Journey)\r\nProvide an act map with sections (e.g., Act I, Act II, Act III, etc.). For each section include:\r\n- **Goal of the moment:** {Section Intent}\r\n- **WebGL transformation:** displacement changes, dither evolution, color grading shifts: {Scene Evolution}\r\n- **Content reveal behavior:** how UI enters\/exits (masking, parallax, pinning, fade logic): {Content Choreography}\r\n- **Transition style:** how the user perceives \u201cmoving to the next dimension\u201d: {Transition Feel}\r\n- **Screenshot hooks:** what makes this moment share-worthy without being gimmicky: {Capture Moment}\r\n\r\n### 4) Component Specifications (UI Overlay System)\r\nDefine component-level design with states:\r\n- Navigation (default \/ scrolled \/ active): {Nav Spec}\r\n- Primary + secondary buttons (idle \/ hover \/ pressed \/ disabled \/ focus): {Button Spec}\r\n- Cards or feature blocks (structure, borders, blur\/no blur, grain interactions): {Card Spec}\r\n- Form elements (if any): {Form Spec}\r\n- System tokens (radius, spacing, borders, shadows\/glows\u2014if used): {UI Tokens}\r\nInclude accessibility notes per component (focus visibility, contrast targets).\r\n\r\n### 5) Shader Behaviors (Creative-Director Language, Engineer-Translatable)\r\nDescribe each effect as:\r\n- **What the viewer sees**\r\n- **What drives it** (scroll position, depth, velocity, pointer proximity, time)\r\n- **How it should be parameterized** (sliders\/tunable variables)\r\nInclude at minimum:\r\n- Dithering (threshold logic, banding control, edge cases): {Dither Behavior}\r\n- Organic displacement (frequency, amplitude, \u201cviscosity,\u201d calm vs. intense states): {Displacement Behavior}\r\n- Depth-based color grading (near\/far palette mapping, fog curves): {Depth Grade Behavior}\r\n- Grain\/noise pipeline (screen-space vs. texture-space feel): {Noise Behavior}\r\n- Particle system (density, motion rules, when it appears, how subtle): {Particle Behavior}\r\n\r\n### 6) Interaction Patterns (Micro-Behavior Spec)\r\nDetail:\r\n- Pointer tracking (what reacts, what must not): {Pointer Response}\r\n- Hover affordances (how to remain elegant atop complex visuals): {Hover System}\r\n- Scroll behavior (pinning, easing feel, acceleration limits): {Scroll Feel}\r\n- Micro-interactions (delight without clutter): {Micro-Details}\r\nInclude recommended timing ranges (e.g., \u201cfast: ~120\u2013180ms, medium: ~220\u2013320ms, slow: ~450\u2013700ms\u201d) and easing character descriptions.\r\n\r\n### 7) Responsive Strategy (Multi-Device + Degradation)\r\nProvide:\r\n- Breakpoint philosophy and layout shifts: {Layout Rules}\r\n- WebGL quality tiers (high\/medium\/low) and what changes per tier: {Quality Scaling}\r\n- Reduced motion mode plan: {Reduced Motion Plan}\r\n- Battery\/thermal considerations on mobile: {Mobile Safeguards}\r\n- Fallback when WebGL fails (static\/2D substitute that preserves identity): {Fallback Design}\r\n\r\n### 8) Technical Architecture (Plain-English Build Guidance)\r\nInclude:\r\n- Stack assumptions (Three.js\/WebGL + GSAP orchestration): {Stack Outline}\r\n- Scene organization (layers, passes, post-processing philosophy): {Scene Structure}\r\n- Performance targets (FPS expectations by tier, GPU budget heuristics): {Perf Targets}\r\n- Asset strategy (textures, compression, lazy-loading, preloading): {Asset Plan}\r\n- Implementation notes for dev handoff (naming conventions, tunable params list): {Build Notes}\r\n\r\n### 9) Developer Handoff (Acceptance Criteria + QA Notes)\r\nInclude:\r\n- A compact checklist of what must match the art direction: {Visual Acceptance Criteria}\r\n- Timing chart (scroll segments \u2192 transformations \u2192 UI events) using relative ranges (percent-of-scroll or section offsets): {Timing Chart}\r\n- Accessibility requirements (contrast, focus, reduced motion, keyboard nav): {A11y Requirements}\r\n- Testing matrix (devices\/browsers, performance checks): {QA Matrix}\r\n\r\n## QUALITY CHECKS\r\nAt the end, add a \u201cValidation\u201d section with 4\u20135 bullet checks confirming:\r\n- The design is clearly differentiated from generic AI \u201cfuture gradient\u201d pages.\r\n- The dither\/displacement\/grain system is consistent and tokenized for repeatability.\r\n- Each section has a distinct scroll-driven transformation and a legibility plan.\r\n- Performance and degradation paths are explicitly defined.\r\n- Accessibility (reduced motion, focus, contrast) is integrated\u2014not bolted on.";
    const variables = ["[CONTEXT]","[PRODUCT_DESCRIPTION]","[TARGET_AUDIENCE]","[BRAND_VOICE]","[TECHNICAL_CONSTRAINTS]","[PLATFORM]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Feed it a “forensic” reference description.</strong> The prompt assumes a reference aesthetic is ground truth, but you still have to describe it with precision. Instead of “grainy cyber look,” give specifics like: “fine film grain that thickens in shadows, 2–3 step dithering in midtones, and warm highlights with cooler ambient fill.” You will get a blueprint that feels intentional, not generic.</li>


<li><strong>Define the product’s “world metaphor” in one sentence.</strong> This prompt shines when the scenes are guided by a clear conceptual anchor (even if it’s abstract). Try a follow-up like: “Treat the product as a living organism that ‘breathes’ as you scroll; map that metaphor into 6 scenes with escalating depth and restrained particles.” It helps the AI avoid random effects that don’t add up.</li>


<li><strong>Ask for UI overlay rules early.</strong> WebGL pages fail when the visuals win and the message loses. Add a follow-up request: “For each scene, specify where UI can live (safe zones), the minimum contrast approach, and the maximum motion allowed behind text.” Small constraint. Big usability payoff.</li>


<li><strong>Iterate scene pacing, not just visuals.</strong> After the first output, pick two scenes and push them apart. Ask: “Now make scene 2 calmer and more legible (enterprise-friendly), and make scene 4 feel like the ‘wow’ spike, but keep typography perfectly stable.” You’re shaping emotional rhythm, which is what people remember.</li>


<li><strong>Force a performance budget and a degradation order.</strong> Don’t accept “optimize performance” as a vague note. Prompt it: “Assume 60fps target on modern laptops, 30fps minimum on mid-range mobile; list what to disable first (particles, post, displacement), what to keep (camera framing, color grade), and how to swap to a static poster frame.” Frankly, this one step saves weeks of painful rework.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your landing page concept is clear, these prompts help you turn that attention into pipeline with tighter sales execution.</p>



<p>If you also need a structured way to turn new interest into repeatable revenue conversations, <a href="https://flowpast.com/prompts/build-a-b2b-sales-playbook-with-this-ai-prompt/">Build a B2B Sales Playbook with this AI Prompt</a> pairs well. When your scroll-reactive page drives more demos, a defined playbook keeps messaging consistent across reps and prevents “everyone improvises” chaos.</p>



<p>For teams doing founder-led outreach or building credibility in public, <a href="https://flowpast.com/prompts/build-a-b2b-social-selling-playbook-with-this-ai-prompt/">Build a B2B Social Selling Playbook with this AI Prompt</a> is the next logical step. It’s useful when your landing page establishes a premium visual identity, and you want LinkedIn touchpoints that match the same positioning without sounding like boilerplate.</p>



<p>When the page is generating clicks but lead quality is uneven, <a href="https://flowpast.com/prompts/build-lead-qualification-playbooks-with-this-ai-prompt/">Build Lead Qualification Playbooks with this AI Prompt</a> helps your team sort signal from noise. It’s a practical companion for high-velocity campaigns where the creative is strong and the bottleneck becomes triage, routing, and next steps.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-b2b-sales-playbook-with-this-ai-prompt/">Build a B2B Sales Playbook with this AI Prompt</a>: Sales process and messaging structure.</li>


<li><a href="https://flowpast.com/prompts/build-a-b2b-social-selling-playbook-with-this-ai-prompt/">Build a B2B Social Selling Playbook with this AI Prompt</a>: LinkedIn strategy for deal flow.</li>


<li><a href="https://flowpast.com/prompts/create-a-linkedin-lead-gen-playbook-with-this-ai-prompt/">Create a LinkedIn Lead Gen Playbook with this AI Prompt</a>: Lead-gen plan with outreach steps.</li>


<li><a href="https://flowpast.com/prompts/build-lead-qualification-playbooks-with-this-ai-prompt/">Build Lead Qualification Playbooks with this AI Prompt</a>: Qualification workflows and call handling.</li>


<li><a href="https://flowpast.com/prompts/build-a-lead-qualification-framework-with-this-ai-prompt/">Build a Lead Qualification Framework with this AI Prompt</a>: Scoring criteria and definitions.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this scroll reactive landing page AI prompt?</span>

<p class="answer"><strong>Creative Technologists</strong> use this to turn “vibes” into a buildable WebGL art-direction spec with scene logic and shader behavior described in plain language. <strong>Product Marketing Managers</strong> rely on it to align stakeholders on what the page is doing at each scroll position (and what it is not doing), before design and engineering commit. <strong>Growth Marketers</strong> benefit because the blueprint includes legibility and performance guardrails, which protects conversion when visuals get ambitious. <strong>Design Leads</strong> use it to define UI overlay rules and consistency across sections so the page feels like one system, not five disconnected experiments.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this scroll reactive landing page AI prompt?</span>

<p class="answer"><strong>AI SaaS</strong> teams use it to differentiate in a market full of identical “gradient and glow” pages, while still keeping enterprise-grade readability for buyers. <strong>Developer tools and infrastructure</strong> companies apply it when they want high craft and motion, but need clear fallback behavior for lower-powered devices common in corporate environments. <strong>Creative software</strong> brands (video, 3D, audio, design) get value because the prompt supports cinematic world-building and shader-led aesthetics without requiring a full brand redesign. <strong>Agencies</strong> use it to pitch interactive direction with concrete deliverables, then hand engineers a spec that reduces ambiguity and rework.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for designing a scroll-reactive WebGL landing page blueprint produce weak results?</span>

<p class="answer">A typical prompt like “Write me a cool WebGL landing page concept” fails because it: lacks a defined visual system (so you get random effects that don’t match), provides no scene-by-scene scroll structure (so choreography is vague), ignores accessibility and legibility constraints (so text becomes unreadable on real devices), produces generic sci‑fi tropes instead of a distinct aesthetic, and misses fallback planning for reduced-motion users, weak GPUs, and slow networks. This prompt is stricter: it forces developer-ready specs in natural language and pairs every experimental choice with safeguards.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this scroll reactive landing page prompt for my specific situation?</span>

<p class="answer">Yes, even though the prompt has zero built-in variables, you can customize it by adding a short input block before you run it. Specify your product category, target audience device mix (desktop-heavy vs mobile-heavy), brand constraints (type scale, color palette limits), and the “world metaphor” you want the visuals to evoke. Then ask it to output a fixed number of scenes and include a fallback matrix for reduced motion and low-power devices. A useful follow-up is: “Revise the blueprint for a 6-scene structure, with scene 1 optimized for LCP and scene 6 designed as a clean conversion close with minimal motion behind the CTA.”</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this scroll reactive landing page prompt?</span>

<p class="answer">The biggest mistake is not providing a clear reference aesthetic, so the AI fills gaps with clichés; “make it futuristic” is weak, while “dithered midtones, organic displacement, restrained particles, and depth-driven color grade” is usable. Another common error is skipping device and motion constraints: “works everywhere” is meaningless, but “reduced motion disables scroll-linked camera movement and swaps particles for static grain” is specific. People also forget UI rules and end up with illegible overlays; “text floats on top” is risky, while “safe zones per scene with minimum contrast targets and no high-frequency motion behind headlines” is a real constraint. Finally, teams ask for “maximum wow” without defining degradation order, which leads to late-stage cuts; instead, specify what to drop first (post effects, particles) and what must remain (framing, hierarchy, CTA clarity).</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this scroll reactive landing page prompt?</span>

<p class="answer">This prompt isn’t ideal for simple brochure sites where a static hero and clean sections will outperform heavy motion. It also won’t be a great fit if you have no intention of building (or budgeting for) WebGL/Three.js work, because the blueprint assumes real-time graphics constraints and fallback planning. And if your primary goal is copy and funnel messaging, use a positioning or sales playbook prompt first, then come back to this once the narrative is settled.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this scroll reactive landing page AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Creative Technologists use this to turn “vibes” into a buildable WebGL art-direction spec with scene logic and shader behavior described in plain language. Product Marketing Managers rely on it to align stakeholders on what the page is doing at each scroll position (and what it is not doing), before design and engineering commit. Growth Marketers benefit because the blueprint includes legibility and performance guardrails, which protects conversion when visuals get ambitious. Design Leads use it to define UI overlay rules and consistency across sections so the page feels like one system, not five disconnected experiments."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this scroll reactive landing page AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "AI SaaS teams use it to differentiate in a market full of identical “gradient and glow” pages, while still keeping enterprise-grade readability for buyers. Developer tools and infrastructure companies apply it when they want high craft and motion, but need clear fallback behavior for lower-powered devices common in corporate environments. Creative software brands (video, 3D, audio, design) get value because the prompt supports cinematic world-building and shader-led aesthetics without requiring a full brand redesign. Agencies use it to pitch interactive direction with concrete deliverables, then hand engineers a spec that reduces ambiguity and rework."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for designing a scroll-reactive WebGL landing page blueprint produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a cool WebGL landing page concept” fails because it: lacks a defined visual system (so you get random effects that don’t match), provides no scene-by-scene scroll structure (so choreography is vague), ignores accessibility and legibility constraints (so text becomes unreadable on real devices), produces generic sci‑fi tropes instead of a distinct aesthetic, and misses fallback planning for reduced-motion users, weak GPUs, and slow networks. This prompt is stricter: it forces developer-ready specs in natural language and pairs every experimental choice with safeguards."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this scroll reactive landing page prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, even though the prompt has zero built-in variables, you can customize it by adding a short input block before you run it. Specify your product category, target audience device mix (desktop-heavy vs mobile-heavy), brand constraints (type scale, color palette limits), and the “world metaphor” you want the visuals to evoke. Then ask it to output a fixed number of scenes and include a fallback matrix for reduced motion and low-power devices. A useful follow-up is: “Revise the blueprint for a 6-scene structure, with scene 1 optimized for LCP and scene 6 designed as a clean conversion close with minimal motion behind the CTA.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this scroll reactive landing page prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is not providing a clear reference aesthetic, so the AI fills gaps with clichés; “make it futuristic” is weak, while “dithered midtones, organic displacement, restrained particles, and depth-driven color grade” is usable. Another common error is skipping device and motion constraints: “works everywhere” is meaningless, but “reduced motion disables scroll-linked camera movement and swaps particles for static grain” is specific. People also forget UI rules and end up with illegible overlays; “text floats on top” is risky, while “safe zones per scene with minimum contrast targets and no high-frequency motion behind headlines” is a real constraint. Finally, teams ask for “maximum wow” without defining degradation order, which leads to late-stage cuts; instead, specify what to drop first (post effects, particles) and what must remain (framing, hierarchy, CTA clarity)."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this scroll reactive landing page prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for simple brochure sites where a static hero and clean sections will outperform heavy motion. It also won’t be a great fit if you have no intention of building (or budgeting for) WebGL/Three.js work, because the blueprint assumes real-time graphics constraints and fallback planning. And if your primary goal is copy and funnel messaging, use a positioning or sales playbook prompt first, then come back to this once the narrative is settled."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Distinct visuals are only useful if they’re shippable and legible. Paste the prompt into your AI tool, generate the blueprint, and walk into your next design or engineering review with a plan instead of a moodboard.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001405.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Create a Children’s Book Blueprint with this AI Prompt</title>
		<link>https://flowpast.com/prompts/create-a-children-s-book-blueprint-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:13:40 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002376</guid>

					<description><![CDATA[Kids stories feel flat - a ready-to-use AI Prompt that builds a full book blueprint with theme, cast, plot spine, and art notes. Browse our AI prompt library for GPT, Gemini, Claude.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: children’s book blueprint -->

<div class="hook-introduction">

<p>Most kids’ story ideas start strong, then drift. The characters don’t change, the “lesson” feels tacked on, and the ending lands with a thud. When you’re trying to plan a picture book, the blank page can turn into a pile of half-connected scenes fast.</p>



<p>This <strong>children’s book blueprint</strong> is built for <strong>content creators</strong> outlining a first picture-book concept they can confidently expand, <strong>brand marketers</strong> creating a story-led educational giveaway for families, and <strong>consultants</strong> helping a client turn a big topic into an age-appropriate narrative package. The output is a complete concept kit: a shelf-ready title, a single educational theme, three character dossiers, a plot spine, a five-moment illustration plan, and a warm closing that reinforces hope, resilience, and kindness.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates your topic and the intended reader experience in 2–4 sentences to lock in a clear creative direction before drafting anything.</li>
          <li>It selects one unifying, lesson-forward theme that teaches through discovery (so it doesn’t read like a lecture).</li>
          <li>It invents a consistent story world with character arcs, motivations, and surprising turns that reinforce the theme.</li>
          <li>It produces three detailed character dossiers that include goals, flaws, and a visible growth path across the story.</li>
          <li>It designs an illustration approach (style, palette, and five must-illustrate moments) aligned to the plot spine and emotional beats.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a strong topic, but every outline feels like disconnected scenes instead of a coherent beginning–middle–end.</li>
          <li>You need an educational story angle, yet you’re worried it will come off preachy or too “school-ish.”</li>
          <li>You’re prepping a pitch, proposal, or creative brief and need something more structured than a one-paragraph concept.</li>
          <li>You’re trying to differentiate in a crowded children’s space and want a sharper theme plus memorable characters.</li>
          <li>You want to scale story ideation quickly, testing 2–3 topic interpretations before committing to a direction.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A shelf-ready title plus one central educational theme, written in kid-friendly language.</li>
           <li>Three main character dossiers with motivations, obstacles, and growth notes (one paragraph each, minimum).</li>
           <li>A plot spine in a clear sequence: opener → escalating problems/mysteries → peak moment → wrap-up.</li>
           <li>An illustration plan with style guidance, a palette direction, and five must-illustrate story moments.</li>
           <li>A heartfelt closing paragraph that explicitly highlights hope, resilience, and kindness without getting heavy-handed.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Children’s Picture Book Concept Package</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Specify the central topic or theme for the children’s picture book. This could be an educational subject, emotional theme, or imaginative concept.                                    <div class="var-example">For example: "The importance of friendship and teamwork in a magical forest setting."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the intended audience for the book, including age range, interests, and any relevant demographic details.                                    <div class="var-example">For example: "Children aged 4-7 who enjoy stories about animals and nature."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Define the desired tone for the book, such as playful, warm, adventurous, or educational. Ensure it aligns with the intended reader experience.                                    <div class="var-example">For example: "Playful and imaginative with gentle emotional warmth."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the voice or style that the book should embody, such as humorous, poetic, or crisp and clear for young readers.                                    <div class="var-example">For example: "Crisp, child-friendly clarity with vivid sensory details and emotional warmth."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide any relevant contextual information or background that could influence the book’s concept, such as cultural elements or specific educational goals.                                    <div class="var-example">For example: "The book is part of a series promoting environmental awareness for young readers."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Understanding</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Theme</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Title</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Characters</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Illustrations</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Plot</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Ending</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a full concept package for a children’s picture book based on [TOPIC]. The package must include: a central educational theme, a shelf-ready title, three main character dossiers, an illustration plan, a plot spine, and a heartfelt closing that highlights hope, resilience, and kindness.

## PERSONA
You are a veteran children’s author-illustrator who designs playful learning through story. You communicate with crisp, child-friendly clarity, vivid sensory detail, and gentle emotional warmth.

## CONSTRAINTS
- Follow **delivery standards** exactly (see Output Specification).
- Keep ideas age-appropriate, imaginative, and lesson-forward without sounding preachy.
- Ensure every section is consistent with the same world, tone, and message.
- Write with strong sentence-to-sentence linkage (clear subjects/actions/objects); prioritize grammatical coherence and easy readability.
- **Edge cases:** If [TOPIC] is broad or unclear, propose 2–3 reasonable interpretations and pick one, stating your selection.

### What This Is NOT
- Not full manuscript pages, final rhyming verse, or print-ready layouts.
- Not exhaustive art direction for a publishing pipeline (no bleed specs, typography systems, or production files).
- Not a marketing funnel or sales copy beyond providing a great title.

## PROCESS
1. **Pre-Analysis Step:** Restate your understanding of [TOPIC] and the intended reader experience in 2–4 sentences. If assumptions are needed, list them briefly.
2. Develop one unifying theme that teaches a meaningful lesson through discovery (not lecturing).
3. Invent character arcs, settings, and surprising turns that reinforce the theme.
4. Produce three character profiles with motivations and clear growth.
5. Design an illustration approach: style, palette, and five must-illustrate moments.
6. Build a plot backbone: opener → escalating problems/mysteries → peak moment → wrap-up.
7. Deliver an ending that feels safe, uplifting, and memorable.

## INPUTS
- **Book topic:** [TOPIC]
- **Primary user segment (optional):** [TARGET_AUDIENCE]
- **Tone (optional):** [TONE]
- **Brand voice (optional):** [BRAND_VOICE]
- **Context/background (optional):** [CONTEXT]

## OUTPUT SPECIFICATION
Use the following headings and fill every placeholder. Do not add extra sections.

### Understanding
- {Task Understanding}
- {Assumptions Or Clarifying Notes}

### Theme
- {Theme Description}
- Potential character arcs: {Character Arc 1}; {Character Arc 2}; {Character Arc 3}
- Potential settings: {Setting 1}; {Setting 2}; {Setting 3}
- Potential plot twists: {Plot Twist 1}; {Plot Twist 2}; {Plot Twist 3}

### Title
- {Book Title}

### Characters
#### Character 1
- Name: {Name}
- Background: {Background}
- Personality: {Personality}
- Appearance: {Appearance}
- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}
- Character growth: {Growth}

#### Character 2
- Name: {Name}
- Background: {Background}
- Personality: {Personality}
- Appearance: {Appearance}
- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}
- Character growth: {Growth}

#### Character 3
- Name: {Name}
- Background: {Background}
- Personality: {Personality}
- Appearance: {Appearance}
- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}
- Character growth: {Growth}

### Illustrations
- Style: {Illustration Style}
- Color palette: {Color 1}; {Color 2}; {Color 3}; {Color 4}; {Color 5}
- Key scenes to illustrate: {Scene 1}; {Scene 2}; {Scene 3}; {Scene 4}; {Scene 5}

### Plot
- Introduction: {Introduction}
- Challenges/Mysteries: {Challenge 1}; {Challenge 2}; {Challenge 3}
- Climax: {Climax}
- Resolution: {Resolution}

### Ending
- {Ending Description}
- Themes: {Theme 1}; {Theme 2}; {Theme 3}
- Emotional impact: {Emotional Impact}

## QUALITY CHECKS
At the end of your output, include a short checklist that confirms:
- {QC 1 Coherence}: Characters, setting, theme, and plot align without contradictions.
- {QC 2 Child Fit}: Language and scenarios suit young readers and remain reassuring.
- {QC 3 Growth}: Each main character changes in a visible way tied to the lesson.
- {QC 4 Visual Support}: The illustration plan clearly reinforces story beats and emotion.
- {QC 5 Ending Payoff}: The closing delivers hope/resilience/kindness and feels satisfying.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a full concept package for a children\u2019s picture book based on [TOPIC]. The package must include: a central educational theme, a shelf-ready title, three main character dossiers, an illustration plan, a plot spine, and a heartfelt closing that highlights hope, resilience, and kindness.\r\n\r\n## PERSONA\r\nYou are a veteran children\u2019s author-illustrator who designs playful learning through story. You communicate with crisp, child-friendly clarity, vivid sensory detail, and gentle emotional warmth.\r\n\r\n## CONSTRAINTS\r\n- Follow **delivery standards** exactly (see Output Specification).\r\n- Keep ideas age-appropriate, imaginative, and lesson-forward without sounding preachy.\r\n- Ensure every section is consistent with the same world, tone, and message.\r\n- Write with strong sentence-to-sentence linkage (clear subjects\/actions\/objects); prioritize grammatical coherence and easy readability.\r\n- **Edge cases:** If [TOPIC] is broad or unclear, propose 2\u20133 reasonable interpretations and pick one, stating your selection.\r\n\r\n### What This Is NOT\r\n- Not full manuscript pages, final rhyming verse, or print-ready layouts.\r\n- Not exhaustive art direction for a publishing pipeline (no bleed specs, typography systems, or production files).\r\n- Not a marketing funnel or sales copy beyond providing a great title.\r\n\r\n## PROCESS\r\n1. **Pre-Analysis Step:** Restate your understanding of [TOPIC] and the intended reader experience in 2\u20134 sentences. If assumptions are needed, list them briefly.\r\n2. Develop one unifying theme that teaches a meaningful lesson through discovery (not lecturing).\r\n3. Invent character arcs, settings, and surprising turns that reinforce the theme.\r\n4. Produce three character profiles with motivations and clear growth.\r\n5. Design an illustration approach: style, palette, and five must-illustrate moments.\r\n6. Build a plot backbone: opener \u2192 escalating problems\/mysteries \u2192 peak moment \u2192 wrap-up.\r\n7. Deliver an ending that feels safe, uplifting, and memorable.\r\n\r\n## INPUTS\r\n- **Book topic:** [TOPIC]\r\n- **Primary user segment (optional):** [TARGET_AUDIENCE]\r\n- **Tone (optional):** [TONE]\r\n- **Brand voice (optional):** [BRAND_VOICE]\r\n- **Context\/background (optional):** [CONTEXT]\r\n\r\n## OUTPUT SPECIFICATION\r\nUse the following headings and fill every placeholder. Do not add extra sections.\r\n\r\n### Understanding\r\n- {Task Understanding}\r\n- {Assumptions Or Clarifying Notes}\r\n\r\n### Theme\r\n- {Theme Description}\r\n- Potential character arcs: {Character Arc 1}; {Character Arc 2}; {Character Arc 3}\r\n- Potential settings: {Setting 1}; {Setting 2}; {Setting 3}\r\n- Potential plot twists: {Plot Twist 1}; {Plot Twist 2}; {Plot Twist 3}\r\n\r\n### Title\r\n- {Book Title}\r\n\r\n### Characters\r\n#### Character 1\r\n- Name: {Name}\r\n- Background: {Background}\r\n- Personality: {Personality}\r\n- Appearance: {Appearance}\r\n- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}\r\n- Character growth: {Growth}\r\n\r\n#### Character 2\r\n- Name: {Name}\r\n- Background: {Background}\r\n- Personality: {Personality}\r\n- Appearance: {Appearance}\r\n- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}\r\n- Character growth: {Growth}\r\n\r\n#### Character 3\r\n- Name: {Name}\r\n- Background: {Background}\r\n- Personality: {Personality}\r\n- Appearance: {Appearance}\r\n- Motivations: {Motivation 1}; {Motivation 2}; {Motivation 3}\r\n- Character growth: {Growth}\r\n\r\n### Illustrations\r\n- Style: {Illustration Style}\r\n- Color palette: {Color 1}; {Color 2}; {Color 3}; {Color 4}; {Color 5}\r\n- Key scenes to illustrate: {Scene 1}; {Scene 2}; {Scene 3}; {Scene 4}; {Scene 5}\r\n\r\n### Plot\r\n- Introduction: {Introduction}\r\n- Challenges\/Mysteries: {Challenge 1}; {Challenge 2}; {Challenge 3}\r\n- Climax: {Climax}\r\n- Resolution: {Resolution}\r\n\r\n### Ending\r\n- {Ending Description}\r\n- Themes: {Theme 1}; {Theme 2}; {Theme 3}\r\n- Emotional impact: {Emotional Impact}\r\n\r\n## QUALITY CHECKS\r\nAt the end of your output, include a short checklist that confirms:\r\n- {QC 1 Coherence}: Characters, setting, theme, and plot align without contradictions.\r\n- {QC 2 Child Fit}: Language and scenarios suit young readers and remain reassuring.\r\n- {QC 3 Growth}: Each main character changes in a visible way tied to the lesson.\r\n- {QC 4 Visual Support}: The illustration plan clearly reinforces story beats and emotion.\r\n- {QC 5 Ending Payoff}: The closing delivers hope\/resilience\/kindness and feels satisfying.";
    const variables = ["[TOPIC]","[TARGET_AUDIENCE]","[TONE]","[BRAND_VOICE]","[CONTEXT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Make your TOPIC concrete, not “nice-sounding.”</strong> “Kindness” is a value, not a topic. Try something drawable and specific like: “A tiny crab who’s scared to ask for help at the tide pools” or “Moving to a new apartment building and learning neighbors’ names.” If you only have a broad idea, add one constraint (setting, animal/object hero, or a problem).</li>


<li><strong>Ask for 3 interpretations when your idea is wide.</strong> This prompt already supports edge cases, so lean into it. Follow up with: “Give me three reasonable interpretations of TOPIC, then pick the one best for ages 4–7 and explain why.” Honestly, that one step prevents a lot of drifting later.</li>


<li><strong>Lock the age band and read-aloud vibe.</strong> Picture books vary a lot between ages 3–5 and 6–8. Add a line after you paste the prompt: “Target: ages 4–6, bedtime read-aloud, gentle humor, no scary villain.” You will get simpler sentence rhythms and safer stakes, which matters.</li>


<li><strong>Iterate the plot spine, not the whole blueprint.</strong> After the first output, try asking: “Rewrite only the plot spine with higher tension, but keep the same theme and characters. Add one surprising turn that stays age-appropriate.” You’ll preserve consistency while improving the story engine.</li>


<li><strong>Force visual variety in the five illustration moments.</strong> Picture books live or die on page-turn visuals. Ask: “Make the five must-illustrate moments include (1) a wide establishing scene, (2) a close-up emotional beat, (3) a funny action moment, (4) a quiet reflective image, and (5) a big ‘peak’ spread.” That mix keeps the art plan from feeling repetitive.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once you have a solid children’s book blueprint, these prompts help you communicate updates, share progress, and keep audiences warm while the book takes shape.</p>



<p>If you also need a consistent way to share what you’re building (new drafts, illustration reveals, classroom activities), <a href="https://flowpast.com/prompts/write-a-weekly-news-brief-with-this-ai-prompt/">Write a Weekly News Brief with this AI Prompt</a> helps you turn week-by-week progress into a clean, repeatable format. It’s especially useful when you’re coordinating multiple stakeholders and want one reliable update that doesn’t sound improvised.</p>



<p>For teams doing ongoing outreach to families or customers, <a href="https://flowpast.com/prompts/build-a-weekly-store-tips-email-program-with-this-ai-prompt/">Build a Weekly Store Tips Email Program with this AI Prompt</a> pairs well with a picture-book concept because it can translate the theme into simple, practical “at-home” tips. Think: weekly kindness challenges, resilience routines, or play ideas that match the book’s lesson.</p>



<p>When your distribution plan includes partners or creators reading the story aloud, <a href="https://flowpast.com/prompts/write-influencer-newsletter-emails-with-this-ai-prompt/">Write Influencer Newsletter Emails with this AI Prompt</a> gives you outreach emails that respect an influencer’s audience and tone. It’s a good next step once your title, cast, and message are stable and you can describe the concept clearly.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/write-a-weekly-news-brief-with-this-ai-prompt/">Write a Weekly News Brief with this AI Prompt</a>: Publish consistent progress updates and recaps.</li>


<li><a href="https://flowpast.com/prompts/build-a-weekly-store-tips-email-program-with-this-ai-prompt/">Build a Weekly Store Tips Email Program with this AI Prompt</a>: Turn themes into weekly family-friendly tips.</li>


<li><a href="https://flowpast.com/prompts/write-influencer-newsletter-emails-with-this-ai-prompt/">Write Influencer Newsletter Emails with this AI Prompt</a>: Outreach emails for creator partnerships and reads.</li>

<li><a href="https://flowpast.com/prompts/write-personal-thank-you-emails-with-this-ai-prompt/">Write Personal Thank-You Emails with this AI Prompt</a>: Warm thank-yous for readers and supporters.</li>

<li><a href="https://flowpast.com/prompts/write-shipping-notification-emails-with-this-ai-prompt/">Write Shipping Notification Emails with this AI Prompt</a>: Clear shipping updates for book orders.</li>
<!-- /wp:post-content -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this children’s book blueprint AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Children’s content strategists</strong> use this to turn an educational goal into a story package with a consistent theme and plot backbone. <strong>Marketing managers</strong> rely on it when they need a brand-safe picture-book concept (title, characters, and illustration moments) for a campaign or giveaway. <strong>Freelance writers</strong> use the character dossiers and plot spine to speed up drafting and reduce rewrites. <strong>Creative directors</strong> like the illustration plan because it gives artists clear moments to design around without over-specifying production details.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this children’s book blueprint AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Education and edtech</strong> teams use it to prototype classroom-friendly stories with a clear learning theme and age-appropriate stakes, then test concepts with teachers. <strong>Consumer brands focused on families</strong> apply it to create seasonal picture-book ideas (bedtime routines, healthy habits, kindness challenges) with built-in warmth and a hopeful closing. <strong>Publishing-adjacent studios</strong> leverage the deliverables as a pre-brief for illustrators, keeping style and must-illustrate scenes consistent from day one. <strong>Nonprofits</strong> use it for mission-aligned stories about resilience and community, especially when the topic needs a gentle, non-preachy approach.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for creating a children’s picture book blueprint produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like &#8220;<em>Write me a kids book about kindness</em>&#8221; fails because it: lacks a pre-analysis step to clarify the topic and reader experience, provides no structured deliverables (title, plot spine, character dossiers, illustration moments), ignores consistency across tone/world/message, produces generic characters with no growth instead of clear arcs, and misses the specific emotional landing of hope, resilience, and kindness in the closing. You often end up with a moral pasted on top of random scenes. The story might be “cute,” but it won’t feel shelf-ready.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this children’s book blueprint prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. The main lever is TOPIC, so make it specific and include your constraints inside it (age band, setting, format preference, and any must-include object or moment). If your TOPIC is broad, ask the prompt to propose 2–3 interpretations and select one, then keep that selection consistent as you iterate. A useful follow-up is: “Keep the same theme and characters, but adjust the plot spine for ages 3–5 with simpler problems and a gentler peak moment.” That keeps the concept intact while tailoring difficulty and tone.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this children’s book blueprint prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving TOPIC too vague — instead of “friendship,” try “A shy hedgehog learning to invite one friend to play at the park (ages 4–6).” Another common error is cramming multiple lessons into TOPIC; “sharing, gratitude, empathy, and patience” turns into mush, while “learning to wait your turn” stays teachable. People also forget to specify the scare level: “a monster in the closet” can drift spooky, but “a silly shadow misunderstanding” stays safe. Finally, some users ask for a full manuscript even though this prompt is built for a blueprint; use the plot spine and dossiers as your drafting foundation.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this children’s book blueprint prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for teams that need print-ready layouts, production art specs, or a fully typeset manuscript, because it intentionally stops at a concept package. It’s also a poor fit if you’re unwilling to iterate on TOPIC and tone; you’ll get “a” workable blueprint, but not the best one for your exact audience. If you need final pages, use this blueprint first, then move to a dedicated drafting and editing workflow with human review.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this children’s book blueprint AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Children’s content strategists use this to turn an educational goal into a story package with a consistent theme and plot backbone. Marketing managers rely on it when they need a brand-safe picture-book concept (title, characters, and illustration moments) for a campaign or giveaway. Freelance writers use the character dossiers and plot spine to speed up drafting and reduce rewrites. Creative directors like the illustration plan because it gives artists clear moments to design around without over-specifying production details."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this children’s book blueprint AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Education and edtech teams use it to prototype classroom-friendly stories with a clear learning theme and age-appropriate stakes, then test concepts with teachers. Consumer brands focused on families apply it to create seasonal picture-book ideas (bedtime routines, healthy habits, kindness challenges) with built-in warmth and a hopeful closing. Publishing-adjacent studios leverage the deliverables as a pre-brief for illustrators, keeping style and must-illustrate scenes consistent from day one. Nonprofits use it for mission-aligned stories about resilience and community, especially when the topic needs a gentle, non-preachy approach."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for creating a children’s picture book blueprint produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Write me a kids book about kindness\" fails because it: lacks a pre-analysis step to clarify the topic and reader experience, provides no structured deliverables (title, plot spine, character dossiers, illustration moments), ignores consistency across tone/world/message, produces generic characters with no growth instead of clear arcs, and misses the specific emotional landing of hope, resilience, and kindness in the closing. You often end up with a moral pasted on top of random scenes. The story might be “cute,” but it won’t feel shelf-ready."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this children’s book blueprint prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. The main lever is TOPIC, so make it specific and include your constraints inside it (age band, setting, format preference, and any must-include object or moment). If your TOPIC is broad, ask the prompt to propose 2–3 interpretations and select one, then keep that selection consistent as you iterate. A useful follow-up is: “Keep the same theme and characters, but adjust the plot spine for ages 3–5 with simpler problems and a gentler peak moment.” That keeps the concept intact while tailoring difficulty and tone."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this children’s book blueprint prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving TOPIC too vague — instead of “friendship,” try “A shy hedgehog learning to invite one friend to play at the park (ages 4–6).” Another common error is cramming multiple lessons into TOPIC; “sharing, gratitude, empathy, and patience” turns into mush, while “learning to wait your turn” stays teachable. People also forget to specify the scare level: “a monster in the closet” can drift spooky, but “a silly shadow misunderstanding” stays safe. Finally, some users ask for a full manuscript even though this prompt is built for a blueprint; use the plot spine and dossiers as your drafting foundation."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this children’s book blueprint prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that need print-ready layouts, production art specs, or a fully typeset manuscript, because it intentionally stops at a concept package. It’s also a poor fit if you’re unwilling to iterate on TOPIC and tone; you’ll get “a” workable blueprint, but not the best one for your exact audience. If you need final pages, use this blueprint first, then move to a dedicated drafting and editing workflow with human review."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A good picture book concept is more than a cute idea. It’s theme, character growth, and visuals working together. Paste this prompt into your AI tool, feed it your TOPIC, and walk away with a blueprint you can actually build from.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002376.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>AI Prompt to Design an F-Pattern Homepage Hero Banner</title>
		<link>https://flowpast.com/prompts/ai-prompt-to-design-an-f-pattern-homepage-hero-banner/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:13:04 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002850</guid>

					<description><![CDATA[Visitors miss your CTA - this AI Prompt builds an F-pattern hero banner blueprint with hierarchy, copy blocks, and tests. Explore thousands of AI prompts by function and industry.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: F-pattern hero banner -->

<div class="hook-introduction">

<p>Your homepage hero can look “clean” and still leak conversions. People skim, miss your CTA, and bounce because the layout fights how eyes actually move across the page. And if your headline, proof, and button aren’t staged correctly, you’re forcing visitors to work too hard.</p>



<p>This <strong>F-pattern hero banner</strong> is built for <strong>growth marketers</strong> who need a hero that supports paid traffic, <strong>web designers</strong> rebuilding a homepage in Webflow/Elementor, and <strong>conversion consultants</strong> who must explain layout decisions to clients with confidence. The output is a build-ready hero blueprint: a structured layout plan, copy blocks, hierarchy rules (type, spacing, contrast), plus optimization and testing guidance.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It asks targeted questions when key inputs are missing and still produces a labeled “assumptions” version so you can move forward.</li>
          <li>It defines the hero’s primary conversion event and a single supporting micro-goal, then designs hierarchy around those two actions.</li>
          <li>It maps an F-pattern scan path into concrete placement rules for headline, subhead, proof, imagery, and CTA (including mobile considerations).</li>
          <li>It produces a practical, build-ready layout plan with typography, spacing, and contrast guidance focused on scanability and reduced cognitive load.</li>
          <li>It includes optimization ideas and a testing plan, plus a short “What This Is NOT” boundary so teams don’t misuse the hero as a dumping ground.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re redesigning a homepage and need a hero section that works for fast scanners, not just careful readers.</li>
          <li>Your CTA is getting ignored, and heatmaps or session recordings show scattered attention in the first screen.</li>
          <li>You’re launching a new positioning message and want to reduce risk by clarifying hierarchy before writing lots of supporting copy.</li>
          <li>A competitor’s page feels “obviously clearer,” and you need a systematic way to match or beat that clarity without copying.</li>
          <li>You’re scaling acquisition (paid, partnerships, SEO) and the hero must convert mixed-intent traffic with minimal friction.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A complete hero layout blueprint with specific block order (headline, subhead, proof, CTA, supporting element) and placement notes.</li>
           <li>Copy block guidance for each element (headline angle, subhead job, proof choices), including example phrasing you can adapt.</li>
           <li>A visual hierarchy spec covering type sizing priorities, spacing rules, and contrast recommendations aligned to accessibility (WCAG AA where possible).</li>
           <li>A staged attention path description (first glance to action) with notes for desktop versus mobile scan behavior.</li>
           <li>A testing and iteration checklist with 5+ test ideas (CTA wording, proof position, image choice, hierarchy tweaks) and what to watch for.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: F-Pattern Homepage Hero Banner Blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Ensure all user-provided variables are formatted in uppercase letters with underscores separating words.                                    <div class="var-example">For example: "[TARGET_AUDIENCE], [PRODUCT_DESCRIPTION], [PRIMARY_GOAL]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the specific group of people the homepage banner is targeting, including demographics, needs, and behaviors.                                    <div class="var-example">For example: "Tech-savvy millennials looking for affordable cloud storage solutions for personal use."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide a concise summary of the product or service being offered, highlighting its key features and benefits.                                    <div class="var-example">For example: "A secure, user-friendly cloud storage platform that offers 1TB of space and automatic backups for $5/month."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or sector relevant to the product or audience being targeted.                                    <div class="var-example">For example: "SaaS for small business accounting."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    Define the main conversion event you want the homepage banner to achieve.                                    <div class="var-example">For example: "Encourage visitors to sign up for a free trial."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    Describe the key obstacle or pain point faced by the target audience that your product aims to solve.                                    <div class="var-example">For example: "Small business owners struggle to manage finances without a user-friendly accounting tool."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone and personality of the brand, including how it communicates with its audience.                                    <div class="var-example">For example: "Confident, approachable, and tech-savvy with a focus on simplicity and innovation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Specify the emotional or stylistic tone of the homepage banner content.                                    <div class="var-example">For example: "Friendly and reassuring, with an emphasis on trust and reliability."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Indicate the primary platform or device mix where the homepage banner will be displayed.                                    <div class="var-example">For example: "Desktop and mobile browsers, optimized for responsive design."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TOPIC]</code></td>
                                <td class="var-desc">
                                    Provide the specific subject or theme the banner content should focus on.                                    <div class="var-example">For example: "Highlight the benefits of automated cloud backups for personal data security."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TOPIC]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Explain the situational or background information that influences the banner design and messaging.                                    <div class="var-example">For example: "Launching a new feature during Cybersecurity Awareness Month."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_COLOR]</code></td>
                                <td class="var-desc">
                                    Specify the main color to be used in the banner design, ideally matching brand guidelines.                                    <div class="var-example">For example: "#0047AB (Royal Blue)"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_COLOR]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ACCENT_COLOR]</code></td>
                                <td class="var-desc">
                                    Provide a secondary color to complement the primary color in the design.                                    <div class="var-example">For example: "#FFD700 (Gold)"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ACCENT_COLOR]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the preferred layout or design format for the banner.                                    <div class="var-example">For example: "Full-width hero section with centered text and a call-to-action button."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Specify the deadline or expected duration for implementing the banner design.                                    <div class="var-example">For example: "Complete the design and deployment within 2 weeks."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">1) Pre-Analysis (must appear before recommendations)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Diagnose &amp; Plan (dynamic stages)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Build the F-Pattern Blueprint</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Specify the Layout</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Implementation &amp; Validation</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) What This Is NOT (scope boundary)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="prompt-header-visible subheader">A) Pre-Analysis Summary</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">B) Stage Plan (dynamic)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">C) F-Pattern Attention Map</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">D) Banner Layout Blueprint (build-ready)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">E) Responsive Adaptation</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">F) Optional Motion Rules (only if [FORMAT] requests motion/video)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">G) Testing &amp; Optimization</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a high-converting homepage hero/banner layout that uses F-pattern eye-tracking behavior, visual hierarchy, and cognitive load reduction to steer attention from first glance to primary action. The assistant should gather missing details, then output a practical, build-ready layout plan plus optimization/testing guidance.

## PERSONA
Act as a **Visual Conversion Architect** with a background in **neuroscience-based attention research** (including extensive eye-tracking work in high-growth tech). You translate perception science into clear, deployable banner decisions (hierarchy, contrast, spacing, typography, CTA placement) with a performance-first mindset. Communication style: crisp, diagnostic, and implementation-oriented—no fluff.

## CONSTRAINTS
- Prioritize **clarity, scanability, and decisive hierarchy** over decoration.
- Use F-pattern logic (left-to-right, top-weighted scanning) while adapting for the user’s device mix.
- Recommend contrast in an accessible way (e.g., “meets WCAG AA where possible”) without pretending to measure exact ratios unless colors are provided.
- Keep suggestions feasible for common design tools and web builders.
- **Edge-case handling:** If any input is missing, ask targeted questions first and provide a “best-guess default” version labeled as assumptions.
- **Variable format compliance:** User-provided variables must be in **[UPPERCASE_WITH_UNDERSCORES]**. AI-filled placeholders must be **{Title Case}**.
- Include a short **What This Is NOT** boundary section (see PROCESS).

## PROCESS
### 1) Pre-Analysis (must appear before recommendations)
- Restate your understanding of the banner’s job using the provided inputs.
- Identify the single most important conversion event and the one supporting micro-goal.
- List any assumptions you’re making due to missing inputs.

### 2) Diagnose &amp; Plan (dynamic stages)
Decide how many stages are needed (between **4 and 14**) based on:
- complexity of message and offer
- number of required elements (headline, proof, image, CTA, navigation overlap)
- strictness of brand constraints
- sophistication of the conversion goal (lead capture vs. purchase vs. demo)

### 3) Build the F-Pattern Blueprint
- Map the visual path: first fixation, second fixation, scan line, final action zone.
- Assign each content element to a zone with a reason (“why the brain lands here next”).

### 4) Specify the Layout
Provide concrete guidance for:
- component order and placement
- typography hierarchy
- whitespace targets
- color/contrast usage
- imagery direction (and alternatives)

### 5) Implementation &amp; Validation
- Provide build notes (grid suggestions, responsive behavior, motion rules if requested).
- Provide testing plan + success metrics aligned to the conversion goal.

### 6) What This Is NOT (scope boundary)
Explicitly state that you are **not**:
- producing final pixel-perfect artwork
- guaranteeing conversion lifts
- writing production code unless asked via inputs
- doing full brand strategy or full-site UX architecture

## INPUTS
- **Ideal recipient / visitor type:** [TARGET_AUDIENCE]  
- **Offer summary (what you sell):** [PRODUCT_DESCRIPTION]  
- **Business category:** [INDUSTRY]  
- **Primary objective for the banner:** [PRIMARY_GOAL]  
- **Key obstacle or friction to address:** [CHALLENGE]  
- **Brand personality or style notes:** [BRAND_VOICE]  
- **Desired emotional feel:** [TONE]  
- **Platform/context (web, mobile-first, landing page builder, etc.):** [PLATFORM]  
- **Current or desired headline (optional):** [TOPIC]  
- **Background details/constraints (legal, must-include text, etc.):** [CONTEXT]  
- **Brand primary color (hex preferred, optional):** [PRIMARY_COLOR]  
- **Secondary/accent color (hex preferred, optional):** [ACCENT_COLOR]  
- **Preferred hero format (static, subtle motion, video, none):** [FORMAT]  
- **Time or launch deadline (optional):** [TIMEFRAME]  

## OUTPUT SPECIFICATION
### A) Pre-Analysis Summary
- {Banner Job Summary}
- {Primary Conversion Event}
- {Supporting Micro-Goal}
- {Assumptions And Unknowns}
- {Questions Needed} (only if required)

### B) Stage Plan (dynamic)
For each stage, provide:
- {Stage Name}
- {Purpose}
- {Inputs Used}
- {Decisions Made}
- {Resulting Output}

### C) F-Pattern Attention Map
Include:
- {Fixation Point 1} (top-left priority zone)
- {Fixation Point 2} (secondary anchor)
- {Primary Scan Line} (what sits on the main horizontal read)
- {Action Zone} (where the CTA resolves)
- {Do Not Compete Zones} (areas that must stay quiet)

### D) Banner Layout Blueprint (build-ready)
Provide a structured spec:
- **Content blocks**
  - {Headline Recommendation} (8–14 words unless user requires otherwise)
  - {Support Copy Recommendation} (1–2 short lines)
  - {Proof Element} (badge, stat, testimonial snippet, logos)
  - {CTA Primary} (verb-first)
  - {CTA Secondary} (optional)
- **Placement**
  - {Placement Rationale} tied to F-pattern behavior
- **Typography**
  - {Type Scale} (relative sizing, e.g., headline vs. body vs. CTA)
  - {Line Length Guidance}
- **Color &amp; Contrast**
  - {Color Roles} (background, text, CTA fill, CTA text)
  - {Accessibility Notes}
- **Imagery Direction**
  - {Image Concept Option 1}
  - {Image Concept Option 2}
  - {Image Concept Option 3}
- **Whitespace &amp; Density**
  - {Whitespace Targets} (simple percentages/ranges)
  - {Cognitive Load Controls}

### E) Responsive Adaptation
- {Mobile F-Pattern Adjustment} (how the hierarchy collapses)
- {Tablet Behavior}
- {CTA Persistence Rules}

### F) Optional Motion Rules (only if [FORMAT] requests motion/video)
- {Motion Principles}
- {Timing Guidance} (use a new timing scheme; do not use generic defaults)
- {Anti-Distraction Rules}

### G) Testing &amp; Optimization
- {Pre-Launch Checks} (e.g., recall, blur, tap targets)
- {A/B Variables To Test}
- {Success Metrics} aligned to {Primary Conversion Event}

## QUALITY CHECKS
Before finalizing, verify:
1. The hierarchy supports a clear F-pattern path with no competing focal points.
2. The CTA is the final “resolution” of the scan, not an early distraction.
3. Copy is minimal, specific, and matches [BRAND_VOICE] and [TONE].
4. Contrast/accessibility notes are included (or clearly flagged as needing exact colors).
5. Any missing inputs triggered either precise questions or clearly labeled assumptions.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a high-converting homepage hero\/banner layout that uses F-pattern eye-tracking behavior, visual hierarchy, and cognitive load reduction to steer attention from first glance to primary action. The assistant should gather missing details, then output a practical, build-ready layout plan plus optimization\/testing guidance.\r\n\r\n## PERSONA\r\nAct as a **Visual Conversion Architect** with a background in **neuroscience-based attention research** (including extensive eye-tracking work in high-growth tech). You translate perception science into clear, deployable banner decisions (hierarchy, contrast, spacing, typography, CTA placement) with a performance-first mindset. Communication style: crisp, diagnostic, and implementation-oriented\u2014no fluff.\r\n\r\n## CONSTRAINTS\r\n- Prioritize **clarity, scanability, and decisive hierarchy** over decoration.\r\n- Use F-pattern logic (left-to-right, top-weighted scanning) while adapting for the user\u2019s device mix.\r\n- Recommend contrast in an accessible way (e.g., \u201cmeets WCAG AA where possible\u201d) without pretending to measure exact ratios unless colors are provided.\r\n- Keep suggestions feasible for common design tools and web builders.\r\n- **Edge-case handling:** If any input is missing, ask targeted questions first and provide a \u201cbest-guess default\u201d version labeled as assumptions.\r\n- **Variable format compliance:** User-provided variables must be in **[UPPERCASE_WITH_UNDERSCORES]**. AI-filled placeholders must be **{Title Case}**.\r\n- Include a short **What This Is NOT** boundary section (see PROCESS).\r\n\r\n## PROCESS\r\n### 1) Pre-Analysis (must appear before recommendations)\r\n- Restate your understanding of the banner\u2019s job using the provided inputs.\r\n- Identify the single most important conversion event and the one supporting micro-goal.\r\n- List any assumptions you\u2019re making due to missing inputs.\r\n\r\n### 2) Diagnose & Plan (dynamic stages)\r\nDecide how many stages are needed (between **4 and 14**) based on:\r\n- complexity of message and offer\r\n- number of required elements (headline, proof, image, CTA, navigation overlap)\r\n- strictness of brand constraints\r\n- sophistication of the conversion goal (lead capture vs. purchase vs. demo)\r\n\r\n### 3) Build the F-Pattern Blueprint\r\n- Map the visual path: first fixation, second fixation, scan line, final action zone.\r\n- Assign each content element to a zone with a reason (\u201cwhy the brain lands here next\u201d).\r\n\r\n### 4) Specify the Layout\r\nProvide concrete guidance for:\r\n- component order and placement\r\n- typography hierarchy\r\n- whitespace targets\r\n- color\/contrast usage\r\n- imagery direction (and alternatives)\r\n\r\n### 5) Implementation & Validation\r\n- Provide build notes (grid suggestions, responsive behavior, motion rules if requested).\r\n- Provide testing plan + success metrics aligned to the conversion goal.\r\n\r\n### 6) What This Is NOT (scope boundary)\r\nExplicitly state that you are **not**:\r\n- producing final pixel-perfect artwork\r\n- guaranteeing conversion lifts\r\n- writing production code unless asked via inputs\r\n- doing full brand strategy or full-site UX architecture\r\n\r\n## INPUTS\r\n- **Ideal recipient \/ visitor type:** [TARGET_AUDIENCE]  \r\n- **Offer summary (what you sell):** [PRODUCT_DESCRIPTION]  \r\n- **Business category:** [INDUSTRY]  \r\n- **Primary objective for the banner:** [PRIMARY_GOAL]  \r\n- **Key obstacle or friction to address:** [CHALLENGE]  \r\n- **Brand personality or style notes:** [BRAND_VOICE]  \r\n- **Desired emotional feel:** [TONE]  \r\n- **Platform\/context (web, mobile-first, landing page builder, etc.):** [PLATFORM]  \r\n- **Current or desired headline (optional):** [TOPIC]  \r\n- **Background details\/constraints (legal, must-include text, etc.):** [CONTEXT]  \r\n- **Brand primary color (hex preferred, optional):** [PRIMARY_COLOR]  \r\n- **Secondary\/accent color (hex preferred, optional):** [ACCENT_COLOR]  \r\n- **Preferred hero format (static, subtle motion, video, none):** [FORMAT]  \r\n- **Time or launch deadline (optional):** [TIMEFRAME]  \r\n\r\n## OUTPUT SPECIFICATION\r\n### A) Pre-Analysis Summary\r\n- {Banner Job Summary}\r\n- {Primary Conversion Event}\r\n- {Supporting Micro-Goal}\r\n- {Assumptions And Unknowns}\r\n- {Questions Needed} (only if required)\r\n\r\n### B) Stage Plan (dynamic)\r\nFor each stage, provide:\r\n- {Stage Name}\r\n- {Purpose}\r\n- {Inputs Used}\r\n- {Decisions Made}\r\n- {Resulting Output}\r\n\r\n### C) F-Pattern Attention Map\r\nInclude:\r\n- {Fixation Point 1} (top-left priority zone)\r\n- {Fixation Point 2} (secondary anchor)\r\n- {Primary Scan Line} (what sits on the main horizontal read)\r\n- {Action Zone} (where the CTA resolves)\r\n- {Do Not Compete Zones} (areas that must stay quiet)\r\n\r\n### D) Banner Layout Blueprint (build-ready)\r\nProvide a structured spec:\r\n- **Content blocks**\r\n  - {Headline Recommendation} (8\u201314 words unless user requires otherwise)\r\n  - {Support Copy Recommendation} (1\u20132 short lines)\r\n  - {Proof Element} (badge, stat, testimonial snippet, logos)\r\n  - {CTA Primary} (verb-first)\r\n  - {CTA Secondary} (optional)\r\n- **Placement**\r\n  - {Placement Rationale} tied to F-pattern behavior\r\n- **Typography**\r\n  - {Type Scale} (relative sizing, e.g., headline vs. body vs. CTA)\r\n  - {Line Length Guidance}\r\n- **Color & Contrast**\r\n  - {Color Roles} (background, text, CTA fill, CTA text)\r\n  - {Accessibility Notes}\r\n- **Imagery Direction**\r\n  - {Image Concept Option 1}\r\n  - {Image Concept Option 2}\r\n  - {Image Concept Option 3}\r\n- **Whitespace & Density**\r\n  - {Whitespace Targets} (simple percentages\/ranges)\r\n  - {Cognitive Load Controls}\r\n\r\n### E) Responsive Adaptation\r\n- {Mobile F-Pattern Adjustment} (how the hierarchy collapses)\r\n- {Tablet Behavior}\r\n- {CTA Persistence Rules}\r\n\r\n### F) Optional Motion Rules (only if [FORMAT] requests motion\/video)\r\n- {Motion Principles}\r\n- {Timing Guidance} (use a new timing scheme; do not use generic defaults)\r\n- {Anti-Distraction Rules}\r\n\r\n### G) Testing & Optimization\r\n- {Pre-Launch Checks} (e.g., recall, blur, tap targets)\r\n- {A\/B Variables To Test}\r\n- {Success Metrics} aligned to {Primary Conversion Event}\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n1. The hierarchy supports a clear F-pattern path with no competing focal points.\r\n2. The CTA is the final \u201cresolution\u201d of the scan, not an early distraction.\r\n3. Copy is minimal, specific, and matches [BRAND_VOICE] and [TONE].\r\n4. Contrast\/accessibility notes are included (or clearly flagged as needing exact colors).\r\n5. Any missing inputs triggered either precise questions or clearly labeled assumptions.";
    const variables = ["[UPPERCASE_WITH_UNDERSCORES]","[TARGET_AUDIENCE]","[PRODUCT_DESCRIPTION]","[INDUSTRY]","[PRIMARY_GOAL]","[CHALLENGE]","[BRAND_VOICE]","[TONE]","[PLATFORM]","[TOPIC]","[CONTEXT]","[PRIMARY_COLOR]","[ACCENT_COLOR]","[FORMAT]","[TIMEFRAME]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Bring one clear conversion event.</strong> Decide the single action the hero must drive (e.g., “Start free trial,” “Book a demo,” “View pricing”). Then tell the model the micro-goal that supports it, such as “scroll to features” or “open the product video.” If you’re unsure, ask: “Given this traffic source mix, what should the primary conversion event be and why?”</li>


<li><strong>Give real constraints from your builder.</strong> If you’re using Webflow, Shopify, Elementor, or Framer, mention it and note what you can’t do (no custom JS, fixed header height, limited font weights). Follow-up prompt: “Rewrite the layout plan so it’s feasible in [YOUR_BUILDER] using only native components and a 12-column grid.”</li>


<li><strong>Share the “above the fold” reality.</strong> Provide a rough fold height for your common device mix and any sticky header size. Even approximate numbers help the prompt decide what must stay visible versus what can sit lower. You can add: “Assume 1440&#215;900 desktop and 390&#215;844 mobile; header is 88px tall.”</li>


<li><strong>Iterate by forcing tradeoffs.</strong> After the first draft, ask for two variants that prioritize different user psychology. Try: “Now produce two alternatives: one optimized for speed-to-CTA (minimal proof), and one optimized for risk reduction (stronger proof) while keeping the F-pattern intact.”</li>


<li><strong>Don’t skip the ‘What This Is NOT’ section.</strong> That boundary is how you prevent stakeholder sprawl (“add 12 logos, a newsletter form, and three CTAs”). If the output doesn’t push back hard enough, ask: “Make the boundary section stricter and list the top 5 elements to ban from the hero for this page.” Honestly, this saves hours of revision.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your hero is structured for attention and action, these prompts help you align the rest of the marketing system around it.</p>



<p>If you also need the hero to reflect a clear strategy (not just better design), pair this with <a href="https://flowpast.com/prompts/build-a-full-marketing-plan-with-this-ai-prompt/">Build a Full Marketing Plan with this AI Prompt</a>. When your channels, ICP, and positioning are written down, the hero’s headline and proof blocks become far easier to choose and defend.</p>



<p>For teams doing quarterly planning or trying to stop random acts of marketing, <a href="https://flowpast.com/prompts/build-a-marketing-management-plan-with-this-ai-prompt/">Build a Marketing Management Plan with this AI Prompt</a> is a strong companion. Use it when you want your homepage changes to tie into reporting, ownership, and a steady testing cadence rather than a one-off redesign.</p>



<p>When you’re unsure what to fix first across the funnel, add <a href="https://flowpast.com/prompts/create-a-digital-marketing-priority-report-ai-prompt/">Create a Digital Marketing Priority Report AI Prompt</a>. It’s especially useful if the hero is one of several conversion bottlenecks and you need an evidence-based order of operations for experiments.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-full-marketing-plan-with-this-ai-prompt/">Build a Full Marketing Plan with this AI Prompt</a>: Align hero messaging to strategy.</li>


<li><a href="https://flowpast.com/prompts/build-a-marketing-management-plan-with-this-ai-prompt/">Build a Marketing Management Plan with this AI Prompt</a>: Make testing consistent and owned.</li>


<li><a href="https://flowpast.com/prompts/create-a-digital-marketing-priority-report-ai-prompt/">Create a Digital Marketing Priority Report AI Prompt</a>: Decide what to optimize first.</li>

<li><a href="https://flowpast.com/prompts/create-a-launch-marketing-plan-with-this-ai-prompt/">Create a Launch Marketing Plan with this AI Prompt</a>: Tie hero to launch narrative.</li>

<li><a href="https://flowpast.com/prompts/build-a-marketing-campaign-blueprint-with-this-ai-prompt/">Build a Marketing Campaign Blueprint with this AI Prompt</a>: Keep campaigns message-consistent.</li>
<!-- /wp:post-content -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this F-pattern hero banner AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Conversion Rate Optimization (CRO) Specialists</strong> use it to translate qualitative insights into an above-the-fold structure they can actually test. <strong>Product Marketing Managers</strong> lean on it when messaging is shifting and the hero needs a new hierarchy (what’s said first, what’s proven second, what’s optional). <strong>UX/UI Designers</strong> apply it to justify layout decisions with scan behavior and cognitive load logic, not personal taste. <strong>Growth Marketing Leads</strong> find it helpful when paid traffic is expensive and the hero must get to a single action fast.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this F-pattern hero banner AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS companies</strong> get a lot of value because homepage traffic is mixed-intent, and the hero must segment quickly (trial vs demo vs pricing). <strong>E-commerce and DTC brands</strong> benefit when shoppers skim and you need a clean “what it is + why it matters + buy path” without burying the button. <strong>Professional services firms</strong> (agencies, consultancies, dev shops) use it to place credibility signals correctly, so “Book a call” feels safe instead of pushy. <strong>B2B marketplaces</strong> can use it to balance two audiences in one hero, while still keeping a dominant CTA and a clear supporting path.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for designing a homepage hero banner produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a homepage hero for my business” fails because it: lacks a defined primary conversion event and micro-goal, so the layout has no decision-making spine. It provides no F-pattern scan logic, which leads to random placement of proof, imagery, and CTA. It ignores device mix and cognitive load, so you get cluttered copy blocks that feel “fine” but don’t scan. It produces generic best practices instead of a build-ready hierarchy (type priority, spacing rules, CTA placement). And it misses the boundary setting, so stakeholders keep stuffing the hero with extra messages.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this F-pattern hero banner prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. When the prompt asks questions, be precise about your primary conversion event (for example, “Demo booked” versus “Pricing page visit”) and your supporting micro-goal (like “Scroll to integrations”). Also share your device mix, the page’s traffic sources, and any fixed constraints from your site builder or design system (fonts, button styles, header height). If you have existing messaging, paste your current headline/subhead and tell it what is underperforming (low CTA clicks, high bounce, weak scroll depth). Helpful follow-up: “Given these answers, produce two hero variants: one for high-intent traffic and one for cold traffic, keeping the same brand voice.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this F-pattern hero banner prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is being vague about the conversion event and success metric—“get more leads” is weak, while “increase demo bookings from 1.2% to 1.8% on homepage sessions” gives the prompt teeth. Another common error is hiding audience detail; “small businesses” is not as useful as “US-based IT managers at 50–200 person firms evaluating ticketing tools.” People also forget to mention device mix and fold constraints, then wonder why the output feels too long for mobile. Finally, users sometimes paste no current page context; if you can, add what’s currently in the hero and what stakeholders refuse to change, so recommendations stay realistic.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this F-pattern hero banner prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for purely artistic landing pages where the goal is experiential storytelling over fast comprehension. It’s also a poor fit if you have no clear offer yet and you are still guessing what the homepage should sell, because the hierarchy depends on that decision. And if your team wants a quick “pretty template” with zero iteration, you will underuse what makes this valuable. In those cases, start by validating your offer and message first, then come back to structure and testing.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this F-pattern hero banner AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Conversion Rate Optimization (CRO) Specialists use it to translate qualitative insights into an above-the-fold structure they can actually test. Product Marketing Managers lean on it when messaging is shifting and the hero needs a new hierarchy (what’s said first, what’s proven second, what’s optional). UX/UI Designers apply it to justify layout decisions with scan behavior and cognitive load logic, not personal taste. Growth Marketing Leads find it helpful when paid traffic is expensive and the hero must get to a single action fast."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this F-pattern hero banner AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS companies get a lot of value because homepage traffic is mixed-intent, and the hero must segment quickly (trial vs demo vs pricing). E-commerce and DTC brands benefit when shoppers skim and you need a clean “what it is + why it matters + buy path” without burying the button. Professional services firms (agencies, consultancies, dev shops) use it to place credibility signals correctly, so “Book a call” feels safe instead of pushy. B2B marketplaces can use it to balance two audiences in one hero, while still keeping a dominant CTA and a clear supporting path."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for designing a homepage hero banner produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a homepage hero for my business” fails because it: lacks a defined primary conversion event and micro-goal, so the layout has no decision-making spine. It provides no F-pattern scan logic, which leads to random placement of proof, imagery, and CTA. It ignores device mix and cognitive load, so you get cluttered copy blocks that feel “fine” but don’t scan. It produces generic best practices instead of a build-ready hierarchy (type priority, spacing rules, CTA placement). And it misses the boundary setting, so stakeholders keep stuffing the hero with extra messages."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this F-pattern hero banner prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. When the prompt asks questions, be precise about your primary conversion event (for example, “Demo booked” versus “Pricing page visit”) and your supporting micro-goal (like “Scroll to integrations”). Also share your device mix, the page’s traffic sources, and any fixed constraints from your site builder or design system (fonts, button styles, header height). If you have existing messaging, paste your current headline/subhead and tell it what is underperforming (low CTA clicks, high bounce, weak scroll depth). Helpful follow-up: “Given these answers, produce two hero variants: one for high-intent traffic and one for cold traffic, keeping the same brand voice.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this F-pattern hero banner prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is being vague about the conversion event and success metric—“get more leads” is weak, while “increase demo bookings from 1.2% to 1.8% on homepage sessions” gives the prompt teeth. Another common error is hiding audience detail; “small businesses” is not as useful as “US-based IT managers at 50–200 person firms evaluating ticketing tools.” People also forget to mention device mix and fold constraints, then wonder why the output feels too long for mobile. Finally, users sometimes paste no current page context; if you can, add what’s currently in the hero and what stakeholders refuse to change, so recommendations stay realistic."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this F-pattern hero banner prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for purely artistic landing pages where the goal is experiential storytelling over fast comprehension. It’s also a poor fit if you have no clear offer yet and you are still guessing what the homepage should sell, because the hierarchy depends on that decision. And if your team wants a quick “pretty template” with zero iteration, you will underuse what makes this valuable. In those cases, start by validating your offer and message first, then come back to structure and testing."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A homepage hero should guide attention, not gamble on it. Paste the prompt into ChatGPT, answer the clarifying questions, and build a banner that earns the click.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002850.webp" medium="image"></media:content>
            	</item>
	</channel>
</rss>
