<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	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-video, bild och ljud &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<atom:link href="https://nodenordic.se/function/ai-video-bild-och-ljud/feed/" rel="self" type="application/rss+xml" />
	<link>https://nodenordic.se</link>
	<description>Vi guidar er från AI-strategi och pilot till färdig implementation och skalning.</description>
	<lastBuildDate>Fri, 23 Jan 2026 02:43:03 +0000</lastBuildDate>
	<language>sv-SE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://nodenordic.se/wp-content/uploads/2025/12/cropped-icon-32x32.png</url>
	<title>AI-video, bild och ljud &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<link>https://nodenordic.se</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ai-prompt för att skapa en youtube seo-checklista</title>
		<link>https://nodenordic.se/prompts/ai-prompt-for-att-skapa-en-youtube-seo-checklista/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-prompt-for-att-skapa-en-youtube-seo-checklista</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:43:03 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002240</guid>

					<description><![CDATA[<p>Visningarna står still? Använd denna ai-prompt för en checklista för bättre synlighet på YouTube med steg för sökord, titel och beskrivning.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-for-att-skapa-en-youtube-seo-checklista/">Ai-prompt för att skapa en youtube seo-checklista</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: YouTube SEO checklist -->
<div class="hook-introduction">

<p>Dina YouTube-videor kan vara genuint hjälpsamma och ändå försvinna i bruset. Titlar glider över i “smarta” i stället för sökbara, beskrivningar blir en eftertanke och du landar i platta visningar och svaga klick. Sedan blir det gissningar: ändra ett ord här, lägg till taggar där, hoppas att det funkar.</p>



<p>Den här <strong>YouTube SEO-checklistan</strong> är byggd för <strong>marknadsansvariga</strong> som behöver att YouTube driver kvalificerade leads till ett specifikt erbjudande, <strong>kurskreatörer</strong> som uppdaterar ett backkatalog av videor som aldrig riktigt rankade, och <strong>konsulter</strong> som vill ha ett repeterbart system för upptäckbarhet i kunders kanaler. Resultatet är en skumläsbar, temabaserad checklista (varje rad börjar med ☑), plus en sökords­karta, regler för titel/beskrivning och “nästa åtgärder den här veckan” så att du kan genomföra direkt.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger din kanal, ditt erbjudande och ditt framgångsmått så att checklistan förankras i ett mätbart utfall (CTR, tittartid, leads eller prenumeranter).</li>
          <li>Den bygger en sökords­karta som kopplar tittarintention till frågeteman och översätter sedan dessa teman till språk för titel och beskrivning.</li>
          <li>Den genererar praktiska standarder för titlar och beskrivningar som är utformade för att öka räckvidden i sök samtidigt som de stödjer klickfrekvens och retention.</li>
          <li>Den levererar hela planen som en checklista i fältstil grupperad efter SEO-teman, där varje åtgärdsrad börjar med ☑.</li>
          <li>Den hanterar specialfall genom att lista antaganden när input är otydlig och erbjuda 2–3 alternativ som du kan välja mellan.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Din kanal har bra ämnen, men dina videor dyker inte upp för de sökningar som din publik faktiskt skriver in på YouTube.</li>
          <li>Du marknadsför en specifik produkt eller tjänst och behöver att YouTube flyttar tittare från “titta” till “agera”.</li>
          <li>Dina titlar är inkonsekventa mellan videor och dina beskrivningar förstärker inte sökordsintentionen eller förtydligar erbjudandet.</li>
          <li>En konkurrent rankar över dig även när ditt innehåll är bättre, eftersom deras paketering och metadata är tajtare.</li>
          <li>Du skalar publiceringen eller uppdaterar äldre videor och behöver en standardiserad checklista i stället för punktinsatser.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En temagrupperad checklista för YouTube-upptäckbarhet med 40–80 ☑ åtgärdspunkter (skumläsbar, genomförande-först).</li>
           <li>En sökords­karta som kopplar tittarintention → frågeteman → rekommenderad formulering för titlar och beskrivningar.</li>
           <li>“Leveransstandarder” för titel och beskrivning, inklusive gör/undvik-regler och repeterbara mönster du kan återanvända.</li>
           <li>En mini-plan för mätning och iteration som talar om vad du ska följa i Analytics och vad du ska justera härnäst.</li>
           <li>En lista med “nästa åtgärder för den här veckan” som gör checklistan till en realistisk genomförandesprint.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: byggare för checklista för YouTube-upptäckbarhet</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en tydlig och kortfattad beskrivning av produkten eller tjänsten som marknadsförs, inklusive viktiga funktioner och fördelar.                                    <div class="var-example">Till exempel: "Ett AI-drivet videoredigeringsverktyg som automatiserar övergångar, undertexter och färgkorrigering för innehållsskapare."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORETAGSNAMN]</code></td>
                                <td class="var-desc">
                                    Ange namnet på YouTube-kanalen eller företaget som planen tas fram för.                                    <div class="var-example">Till exempel: "TechSavvy Tutorials"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORETAGSNAMN]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Specificera vilken bransch eller nisch produkten/tjänsten tillhör, så att strategin kan anpassas till rätt målgrupper.                                    <div class="var-example">Till exempel: "Videoredigeringsprogram"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den primära användargruppen, inklusive demografi, intressen och viktigaste utmaningar/behov.                                    <div class="var-example">Till exempel: "Innehållsskapare i åldern 18–35 som vill spara tid på videoredigering och höja produktionskvaliteten."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange det viktigaste målet med YouTube-strategin, till exempel att öka antalet prenumeranter, driva försäljning eller generera leads.                                    <div class="var-example">Till exempel: "Öka antalet prenumeranter med 20 % inom 3 månader."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv tonen och stilen i varumärkets kommunikation, till exempel formell, lekfull eller auktoritativ.                                    <div class="var-example">Till exempel: "Vänlig och lättillgänglig, med fokus på att förenkla tekniska begrepp."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Ange en exempeltext för en platshållare formaterad med versaler och understreck, som används för variabelrepresentation.                                    <div class="var-example">Till exempel: "EXEMPEL_VARIABEL_PLATSHALLARE"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORES]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">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">Vad detta INTE är</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">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">OUTPUTSPECIFICERING</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">Checklista för video-SEO-strategi</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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Den här veckans genomförandesprint</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa en praktisk plan för YouTube-upptäckbarhet anpassad till en specifik kanal och ett specifikt erbjudande, med särskilt fokus på att uppgradera **videotitlar och beskrivningar** för att förbättra sökräckvidd och tittarens handling.

## PERSONA
Du är en **konsult inom YouTube-sökoptimering och tillväxt** som kombinerar nyckelordsstrategi, paketering (titel/thumbnail) och analys. Din text är skarp, genomförandefokuserad och organiserad som en checklista för fältarbete.

## BEGRÄNSNINGAR
- Leverera planen som en **checklista** grupperad efter SEO-teman.
- Varje åtgärdspunkt måste börja med **☑**.
- Håll råden tätt kopplade till **[PRODUKTBESKRIVNING]** och kanalens positionering.
- Var grundlig men lätt att skumma; undvik fluffig teori.
- Använd “leveransstandarder” i stället för “svarsriktlinjer” och följ **outputspecificeringen** exakt.
- **Edge cases:** Om någon input saknas eller är vag, lista dina antaganden och ge 2–3 alternativ som användaren kan välja mellan.

## PROCESS
1. **Föranalys (krävs):** Återge kort vad du ska leverera och de viktigaste framgångsmåtten du kommer optimera för.
2. Bygg en nyckelordskarta som kopplar tittarintention → sökteman → språk i titel/beskrivning.
3. Ge regler för titlar och beskrivningar som direkt stödjer nyckelordskartan och förbättrar CTR + tittartid.
4. Täck resterande YouTube SEO-element (taggar, thumbnails, engagemang, mätning) för att säkerställa ett komplett system.
5. Avsluta med snabba “nästa steg den här veckan” för att hjälpa användaren att genomföra.

### Vad detta INTE är
- Ingen garanti för ranking, visningar eller intäkter.
- Ingen komplett innehållskalender eller manus-/scriptingtjänst för kanalen (om det inte uttryckligen efterfrågas).
- Ingen strategi för betald annonsering.
- Ingen ersättning för granskning av YouTubes policyer/efterlevnad.

## INPUTS
- **YouTube-kanalens namn:** [FORETAGSNAMN]
- **Erbjudande som marknadsförs (produkt/tjänst):** [PRODUKTBESKRIVNING]
- **Bransch / nisch (om tillämpligt):** [BRANSCH]
- **Primärt användarsegment:** [MALGRUPP]
- **Primärt mål (t.ex. leads, försäljning, prenumeranter):** [HUVUDMAL]
- **Varumärkeston (t.ex. auktoritativ, lekfull, minimalistisk):** [VARUMARKESTON]

## OUTPUTSPECIFICERING
Formatera din leverans exakt så här (fyll i placeholders):

**YouTube Channel:** {Channel Name}  
**Product/Service:** {Product Or Service}

### Checklista för video-SEO-strategi

#### 1) Nyckelordsresearch
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 2) Optimering av videotitlar (prioriterat område)
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 3) Optimering av videobeskrivningar (prioriterat område)
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 4) Optimering av videotaggar
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 5) Skapande av thumbnail
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 6) Uppmuntran till engagemang
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

#### 7) Prestandaanalys och löpande optimering
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}  
☑ {Action Item}

### Den här veckans genomförandesprint
☑ {Next Action}  
☑ {Next Action}  
☑ {Next Action}

## KVALITETSKONTROLLER
Innan du slutför, validera:
- Checklistan prioriterar tydligt **titlar och beskrivningar** och kopplar dem till [PRODUKTBESKRIVNING].
- Varje rad är åtgärdsinriktad, börjar med **☑**, och undviker vaga råd.
- Nyckelordsråden täcker intentionstyper (informativt, jämförelse, “how-to” och köpklara sökningar).
- Rekommendationerna är realistiska utifrån användarens sannolika begränsningar (tid/verktyg) och inkluderar alternativ om inputs är oklara.
- Alla användarvariabler använder **[VERSALER_MED_UNDERSCORES]** och alla AI-ifyllda placeholders använder **{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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en praktisk plan f\u00f6r YouTube-uppt\u00e4ckbarhet anpassad till en specifik kanal och ett specifikt erbjudande, med s\u00e4rskilt fokus p\u00e5 att uppgradera **videotitlar och beskrivningar** f\u00f6r att f\u00f6rb\u00e4ttra s\u00f6kr\u00e4ckvidd och tittarens handling.\r\n\r\n## PERSONA\r\nDu \u00e4r en **konsult inom YouTube-s\u00f6koptimering och tillv\u00e4xt** som kombinerar nyckelordsstrategi, paketering (titel\/thumbnail) och analys. Din text \u00e4r skarp, genomf\u00f6randefokuserad och organiserad som en checklista f\u00f6r f\u00e4ltarbete.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Leverera planen som en **checklista** grupperad efter SEO-teman.\r\n- Varje \u00e5tg\u00e4rdspunkt m\u00e5ste b\u00f6rja med **\u2611**.\r\n- H\u00e5ll r\u00e5den t\u00e4tt kopplade till **[PRODUKTBESKRIVNING]** och kanalens positionering.\r\n- Var grundlig men l\u00e4tt att skumma; undvik fluffig teori.\r\n- Anv\u00e4nd \u201cleveransstandarder\u201d i st\u00e4llet f\u00f6r \u201csvarsriktlinjer\u201d och f\u00f6lj **outputspecificeringen** exakt.\r\n- **Edge cases:** Om n\u00e5gon input saknas eller \u00e4r vag, lista dina antaganden och ge 2\u20133 alternativ som anv\u00e4ndaren kan v\u00e4lja mellan.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (kr\u00e4vs):** \u00c5terge kort vad du ska leverera och de viktigaste framg\u00e5ngsm\u00e5tten du kommer optimera f\u00f6r.\r\n2. Bygg en nyckelordskarta som kopplar tittarintention \u2192 s\u00f6kteman \u2192 spr\u00e5k i titel\/beskrivning.\r\n3. Ge regler f\u00f6r titlar och beskrivningar som direkt st\u00f6djer nyckelordskartan och f\u00f6rb\u00e4ttrar CTR + tittartid.\r\n4. T\u00e4ck resterande YouTube SEO-element (taggar, thumbnails, engagemang, m\u00e4tning) f\u00f6r att s\u00e4kerst\u00e4lla ett komplett system.\r\n5. Avsluta med snabba \u201cn\u00e4sta steg den h\u00e4r veckan\u201d f\u00f6r att hj\u00e4lpa anv\u00e4ndaren att genomf\u00f6ra.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Ingen garanti f\u00f6r ranking, visningar eller int\u00e4kter.\r\n- Ingen komplett inneh\u00e5llskalender eller manus-\/scriptingtj\u00e4nst f\u00f6r kanalen (om det inte uttryckligen efterfr\u00e5gas).\r\n- Ingen strategi f\u00f6r betald annonsering.\r\n- Ingen ers\u00e4ttning f\u00f6r granskning av YouTubes policyer\/efterlevnad.\r\n\r\n## INPUTS\r\n- **YouTube-kanalens namn:** [FORETAGSNAMN]\r\n- **Erbjudande som marknadsf\u00f6rs (produkt\/tj\u00e4nst):** [PRODUKTBESKRIVNING]\r\n- **Bransch \/ nisch (om till\u00e4mpligt):** [BRANSCH]\r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** [MALGRUPP]\r\n- **Prim\u00e4rt m\u00e5l (t.ex. leads, f\u00f6rs\u00e4ljning, prenumeranter):** [HUVUDMAL]\r\n- **Varum\u00e4rkeston (t.ex. auktoritativ, lekfull, minimalistisk):** [VARUMARKESTON]\r\n\r\n## OUTPUTSPECIFICERING\r\nFormatera din leverans exakt s\u00e5 h\u00e4r (fyll i placeholders):\r\n\r\n**YouTube Channel:** {Channel Name}  \r\n**Product\/Service:** {Product Or Service}\r\n\r\n### Checklista f\u00f6r video-SEO-strategi\r\n\r\n#### 1) Nyckelordsresearch\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 2) Optimering av videotitlar (prioriterat omr\u00e5de)\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 3) Optimering av videobeskrivningar (prioriterat omr\u00e5de)\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 4) Optimering av videotaggar\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 5) Skapande av thumbnail\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 6) Uppmuntran till engagemang\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n#### 7) Prestandaanalys och l\u00f6pande optimering\r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}  \r\n\u2611 {Action Item}\r\n\r\n### Den h\u00e4r veckans genomf\u00f6randesprint\r\n\u2611 {Next Action}  \r\n\u2611 {Next Action}  \r\n\u2611 {Next Action}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, validera:\r\n- Checklistan prioriterar tydligt **titlar och beskrivningar** och kopplar dem till [PRODUKTBESKRIVNING].\r\n- Varje rad \u00e4r \u00e5tg\u00e4rdsinriktad, b\u00f6rjar med **\u2611**, och undviker vaga r\u00e5d.\r\n- Nyckelordsr\u00e5den t\u00e4cker intentionstyper (informativt, j\u00e4mf\u00f6relse, \u201chow-to\u201d och k\u00f6pklara s\u00f6kningar).\r\n- Rekommendationerna \u00e4r realistiska utifr\u00e5n anv\u00e4ndarens sannolika begr\u00e4nsningar (tid\/verktyg) och inkluderar alternativ om inputs \u00e4r oklara.\r\n- Alla anv\u00e4ndarvariabler anv\u00e4nder **[VERSALER_MED_UNDERSCORES]** och alla AI-ifyllda placeholders anv\u00e4nder **{Title Case}**.";
    const variables = ["[PRODUKTBESKRIVNING]","[FORETAGSNAMN]","[BRANSCH]","[MALGRUPP]","[HUVUDMAL]","[VARUMARKESTON]","[VERSALER_MED_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 = 'Återställd!';
            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">Proffstips för bättre resultat från AI-prompten</h2>



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

<li><strong>Skriv ditt erbjudande som ett utdrag från en landningssida.</strong> Klistra inte in en vag kategori som “coaching”. Beskriv i stället löftet, mekanismen och målgruppen: “6-veckors kohortprogram som hjälper B2B SDR-team att boka fler demomöten med samtalsgranskning + invändningsskript.” Om du vill, lägg till en mening om vad som gör det annorlunda (prisnivå, hastighet, nisch, bevis).</li>


<li><strong>Ge prompten ett verkligt framgångsmått att optimera mot.</strong> “Fler visningar” är inte ett mått som checklistan kan arbeta mot. Testa: “Öka sökbaserade visningar med 25% på 60 dagar och behåll 45% i genomsnittlig visningslängd”, eller “Driv 30 e-postregistreringar/vecka från YouTube-beskrivningar.” Uppföljningsprompt du kan använda efter första output: “Skriv nu om ‘mätning’-delen för att optimera för leads i stället för prenumeranter.”</li>

<li><strong>Ge 3 exempelvideor (även grova) för att förankra standarderna.</strong> Prompten ber om kanal och positionering, men du får vassare regler för titel/beskrivning om du delar några nuvarande titlar och vilken typ av tittare du ville attrahera med varje video. Efter första svaret, fråga: “Tillämpa dina regler på de här tre videoteman och ta fram 5 titelförslag + en beskrivning på 150 ord för varje.”</li>


<li><strong>Använd alternativen för specialfall med flit.</strong> Om du är osäker på din primära målgrupp eller nischformulering, lämna det lite öppet och låt prompten föreslå 2–3 alternativ. Svara sedan: “Välj alternativ 2 för målgrupp och alternativ 1 för nischvinkling, och generera om endast sökords­kartan + titelreglerna.” Det går snabbare än att fastna i intern diskussion.</li>


<li><strong>Gör checklistan till ett testschema.</strong> Ärligt talat är checklistan som mest värdefull när du genomför den i batcher. Fråga: “Skapa en 4-veckors plan för att uppdatera 12 befintliga videor, inklusive ordningsföljd: titlar först, sedan beskrivningar, sedan miniatyrer, sedan taggar, sedan slutskärmar.” Den sekvensen minskar brus när du granskar Analytics.</li>

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

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

<!-- wp:paragraph -->
<p>Om du använder YouTube som en seriös tillväxtkanal hjälper de här prompterna dig att stödja checklistan med tydligare analys, dokumentation och iteration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Om du också behöver göra din YouTube-prestanda till en korrekt formaterad intern sammanställning är <a href="https://nodenordic.se/prompts/skriv-en-analytisk-rapport-med-ai-prompten">Skriv en analytisk rapport med den här AI-prompten</a> ett starkt komplement. Använd den efter att du implementerat en omgång titel-/beskrivningsuppdateringar så att du kan sammanfatta förändringar, isolera variabler och dela vad som fungerade med ditt team eller din kund.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När du vill ha en mer berättande, ledningsvänlig djupdykning (särskilt för en månadsgenomgång) hjälper <a href="https://nodenordic.se/prompts/skriv-en-lang-specialrapport-med-den-har-ai-prompten">Skriv en lång specialrapport med den här AI-prompten</a> dig att knyta ihop sökordsteman, publikintention och konverteringsprestanda till en sammanhängande berättelse. Det är användbart när du motiverar en content refresh-sprint eller en ny paketeringsriktning.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som gör komplexa, flerstegsutrullningar (säg att du uppdaterar 50+ videor i backkatalogen) kan <a href="https://nodenordic.se/prompts/skapa-en-spec-for-beroendesparning-med-ai-prompt">Bygg en specifikation för ett beroendespårningssystem med den här AI-prompten</a> hålla genomförandet från att bli rörigt. Det är ett praktiskt sätt att kartlägga beroenden som redesign av miniatyrer, beskrivningsmallar och spårningslänkar innan du rör kanalen.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbreferens:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skriv-en-analytisk-rapport-med-ai-prompten">Skriv en analytisk rapport med den här AI-prompten</a>: Sammanfatta tester, resultat och nästa steg.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skriv-en-lang-specialrapport-med-den-har-ai-prompten">Skriv en lång specialrapport med den här AI-prompten</a>: Skapa en ledningsredo prestationsberättelse.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-spec-for-beroendesparning-med-ai-prompt">Bygg en specifikation för ett beroendespårningssystem med den här AI-prompten</a>: Planera ordningsföljd för stora kanaluppdateringar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skriv-en-vetenskaplig-labbrapport-med-ai-prompt">Skriv en vetenskaplig labbrapport med den här AI-prompten</a>: Dokumentera experiment med striktare rigor.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-studieguide-i-dependensgrammatik">Skriv Dependency Grammar Learning Guide AI Prompt</a>: Bygg utbildningsdokument för intern enablement.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har störst nytta av den här AI-prompten för YouTube SEO-checklista?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>YouTube-kanalansvariga</strong> använder den här för att standardisera titlar, beskrivningar och mätning så att publiceringen förblir konsekvent när kanalen växer. <strong>Prestationsmarknadsförare</strong> förlitar sig på den när YouTube behöver generera leads eller försäljning, inte bara visningar, eftersom checklistan kopplar upptäckbarhet till ett specifikt erbjudande och mål. <strong>Contentstrateger</strong> använder den för att bygga en sökords­karta som speglar verklig tittarintention i stället för intern brainstorming. <strong>Konsulter och byråer</strong> använder den som en repeterbar leverans: snabb att köra, lätt att granska och enkel att lämna över till ett kundteam.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för YouTube SEO-checklista?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS-bolag</strong> får värde när de publicerar guider, integrationer och use case-genomgångar och behöver att videorna rankar för problemmedvetna sökningar som konverterar till testperioder. <strong>Coacher och kursverksamheter</strong> använder den för att linjera videor mot ett kärnerbjudande och sedan uppgradera titlar och beskrivningar så att äldre innehåll blir en pålitlig upptäcktsmotor. <strong>E-handelsvarumärken</strong> gynnas när de producerar produktutbildning, jämförelser och “så använder du”-videor och vill fånga sökintention utöver betald annonsering. <strong>Företag inom professionella tjänster</strong> (juridik, redovisning, IT, byråer) använder den för att paketera expertis i sökbara ämnen samtidigt som beskrivningarna hålls fokuserade på förfrågningar om nästa steg.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att bygga en checklista för YouTube-upptäckbarhet svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som &#8217;<em>Skriv en YouTube SEO-checklista för min kanal</em>&#8217; misslyckas eftersom den: saknar kontext om ditt erbjudande, så råden stödjer inte konvertering; inte ger någon sökords­karta som kopplar intention till formulering, så titlarna förblir generiska; ignorerar framgångsmåttet (CTR, tittartid, leads), vilket gör att “best practices” krockar; producerar bred teori i stället för en temagrupperad checklista du faktiskt kan genomföra; och missar hantering av specialfall, så otydliga input leder till självsäkra men felaktiga rekommendationer.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för YouTube SEO-checklista till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Anpassa inputen som formar intention och konvertering: ditt YouTube-kanalnamn, produktbeskrivning, bransch, målgrupp och primära mål. Små ändringar här kan helt ändra vilka sökordsteman och vilka standarder för titel/beskrivning som prompten rekommenderar. Efter första output, prova en uppföljning som: “Generera om endast sökords­kartan och titelreglerna för en mer nybörjarinriktad publik, men behåll erbjudandet oförändrat.” Om din input är ofullständig, välj bland promptens antagandealternativ och kör sedan igen med det valda alternativet ifyllt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för YouTube SEO-checklista?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att göra [PRODUCT_DESCRIPTION] för vag — i stället för “business coaching”, använd “90-dagars coachingprogram som hjälper boutique-fitnessstudios att öka medlemskap med lokal SEO + referral-erbjudanden.” Ett annat vanligt fel är att behandla [TARGET_AUDIENCE] som en demografi; “entreprenörer” är svagt, medan “förstagångsägare av Shopify-butiker som omsätter $20–50K/månad och vill förbättra konverteringsgraden” ger prompten tydliga intentionssignaler. Många lämnar också [PRIMARY_GOAL] generiskt; “växa kanalen” är otydligt, men “öka e-postregistreringar från YouTube-beskrivningar” leder till starkare CTA:er och bättre struktur i beskrivningen. Till sist hoppas [INDUSTRY] över när det spelar roll, vilket kan göra att sökordsteman driver bort från språket som dina köpare faktiskt använder.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för YouTube SEO-checklista?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för engångsvideor där du inte kommer att iterera eller mäta förändringar, eftersom värdet kommer av att tillämpa standarder över flera uppladdningar. Den passar heller inte särskilt bra om du ännu inte klargjort vad du marknadsför (checklistan är nära kopplad till ett definierat erbjudande och mål). Och om du bara letar efter en snabb titelskapare kan hela systemet kännas tyngre än du behöver. I de fallen: börja med att validera positioneringen av ditt erbjudande och kom tillbaka när du är redo att standardisera upptäckbarheten.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har störst nytta av den här AI-prompten för YouTube SEO-checklista?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "YouTube-kanalansvariga använder den här för att standardisera titlar, beskrivningar och mätning så att publiceringen förblir konsekvent när kanalen växer. Prestationsmarknadsförare förlitar sig på den när YouTube behöver generera leads eller försäljning, inte bara visningar, eftersom checklistan kopplar upptäckbarhet till ett specifikt erbjudande och mål. Contentstrateger använder den för att bygga en sökords­karta som speglar verklig tittarintention i stället för intern brainstorming. Konsulter och byråer använder den som en repeterbar leverans: snabb att köra, lätt att granska och enkel att lämna över till ett kundteam."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för YouTube SEO-checklista?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag får värde när de publicerar guider, integrationer och use case-genomgångar och behöver att videorna rankar för problemmedvetna sökningar som konverterar till testperioder. Coacher och kursverksamheter använder den för att linjera videor mot ett kärnerbjudande och sedan uppgradera titlar och beskrivningar så att äldre innehåll blir en pålitlig upptäcktsmotor. E-handelsvarumärken gynnas när de producerar produktutbildning, jämförelser och “så använder du”-videor och vill fånga sökintention utöver betald annonsering. Företag inom professionella tjänster (juridik, redovisning, IT, byråer) använder den för att paketera expertis i sökbara ämnen samtidigt som beskrivningarna hålls fokuserade på förfrågningar om nästa steg."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att bygga en checklista för YouTube-upptäckbarhet svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som 'Skriv en YouTube SEO-checklista för min kanal' misslyckas eftersom den: saknar kontext om ditt erbjudande, så råden stödjer inte konvertering; inte ger någon sökords­karta som kopplar intention till formulering, så titlarna förblir generiska; ignorerar framgångsmåttet (CTR, tittartid, leads), vilket gör att “best practices” krockar; producerar bred teori i stället för en temagrupperad checklista du faktiskt kan genomföra; och missar hantering av specialfall, så otydliga input leder till självsäkra men felaktiga rekommendationer."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för YouTube SEO-checklista till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Anpassa inputen som formar intention och konvertering: ditt YouTube-kanalnamn, produktbeskrivning, bransch, målgrupp och primära mål. Små ändringar här kan helt ändra vilka sökordsteman och vilka standarder för titel/beskrivning som prompten rekommenderar. Efter första output, prova en uppföljning som: “Generera om endast sökords­kartan och titelreglerna för en mer nybörjarinriktad publik, men behåll erbjudandet oförändrat.” Om din input är ofullständig, välj bland promptens antagandealternativ och kör sedan igen med det valda alternativet ifyllt."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för YouTube SEO-checklista?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att göra [PRODUCT_DESCRIPTION] för vag — i stället för “business coaching”, använd “90-dagars coachingprogram som hjälper boutique-fitnessstudios att öka medlemskap med lokal SEO + referral-erbjudanden.” Ett annat vanligt fel är att behandla [TARGET_AUDIENCE] som en demografi; “entreprenörer” är svagt, medan “förstagångsägare av Shopify-butiker som omsätter $20–50K/månad och vill förbättra konverteringsgraden” ger prompten tydliga intentionssignaler. Många lämnar också [PRIMARY_GOAL] generiskt; “växa kanalen” är otydligt, men “öka e-postregistreringar från YouTube-beskrivningar” leder till starkare CTA:er och bättre struktur i beskrivningen. Till sist hoppas [INDUSTRY] över när det spelar roll, vilket kan göra att sökordsteman driver bort från språket som dina köpare faktiskt använder."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för YouTube SEO-checklista?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för engångsvideor där du inte kommer att iterera eller mäta förändringar, eftersom värdet kommer av att tillämpa standarder över flera uppladdningar. Den passar heller inte särskilt bra om du ännu inte klargjort vad du marknadsför (checklistan är nära kopplad till ett definierat erbjudande och mål). Och om du bara letar efter en snabb titelskapare kan hela systemet kännas tyngre än du behöver. I de fallen: börja med att validera positioneringen av ditt erbjudande och kom tillbaka när du är redo att standardisera upptäckbarheten."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Du behöver inte fler “YouTube-tips”. Du behöver en repeterbar checklista som kopplar sökord, titlar och beskrivningar till ditt erbjudande och ditt mål. Klistra in prompten i ditt AI-verktyg, fyll i kanaldetaljerna och börja uppgradera din upptäckbarhet redan den här veckan.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-for-att-skapa-en-youtube-seo-checklista/">Ai-prompt för att skapa en youtube seo-checklista</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg ett skript för batchvis bildstorleksändring</title>
		<link>https://nodenordic.se/prompts/bygg-ett-skript-for-batchvis-bildstorleksandring/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-ett-skript-for-batchvis-bildstorleksandring</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:40:53 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001590</guid>

					<description><![CDATA[<p>Blandade bildbatchar skapar fel i flöden. Bygg en robust resizer med säkra proportioner, adaptiv komprimering, loggar och säkra utdata.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-skript-for-batchvis-bildstorleksandring/">Bygg ett skript för batchvis bildstorleksändring</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: batch image resizing -->
<div class="hook-introduction">

<p>Blandade bildbatcher är där ”enkel storleksändring”-script faller sönder. Några PNG:er med transparens, en slumpmässig TIFF från en designer eller en delvis korrupt JPEG kan spåra ur hela körningen. Och om ditt script skriver över original eller recomprimerar förstörande format två gånger märker du det först när skadan redan är skedd.</p>



<p>Den här AI-prompten för <strong>batchvis storleksändring av bilder</strong> är byggd för <strong>marketing ops-ansvariga</strong> som behöver konsekventa webb- och tryckutdata för resurser över kampanjer, <strong>e-handelsansvariga</strong> som städar upp tusentals produktbilder från flera leverantörer, och <strong>produktions-team på byrå</strong> som standardiserar kundleveranser utan att riskera originalen. Resultatet är en produktionsklar plan för en storleksändringspipeline (med kodstruktur, loggningsstrategi, formatregler och säkra mappkonventioner) som du kan lämna till en utvecklare eller implementera själv.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den designar ett batch-kompatibelt arbetsflöde för storleksändring som bevarar bildförhållandet som standard och bara beskär eller sträcker ut när du uttryckligen väljer det.</li>
          <li>Den specificerar hur JPEG, PNG, WebP, GIF och TIFF ska hanteras olika, inklusive transparenssäkra regler för grafik och rimliga standardval för foton.</li>
          <li>Den definierar två lägen för storleksändring (procentuell skalning och fast bredd × höjd) och klargör vad som händer när bara en dimension anges.</li>
          <li>Den väljer komprimering per bild med innehållsmedveten logik (foto-lik vs grafik-lik) plus en användarpreferens för kvalitet, i stället för ”one-size-fits-all”-inställningar.</li>
          <li>Den beskriver ett strömmande/kö-baserat batchupplägg, med feltålig loggning, felhantering per fil och skydd mot att skriva över original.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har en gigantisk mapp med leverantörsbilder och behöver webbklara versioner utan att gissa vilka som ska förbli PNG.</li>
          <li>Ditt nuvarande script kraschar halvvägs eftersom några filer är korrupta, låsta eller konstigt kodade.</li>
          <li>Du måste skapa två utdata från samma källuppsättning (till exempel: 1600px webb-bilder och tryckresurser med högre kvalitet) samtidigt som namngivningen hålls konsekvent.</li>
          <li>Du har blivit bränd av att köra om ett jobb och råkat recomprimera redan bearbetade JPEG:er, vilket ger synlig kvalitetsförlust.</li>
          <li>Du skalar upp ett arbetsflöde och behöver förutsägbara loggar, organiserade utdata och en repeterbar pipeline som går att ”köra igen nästa månad”.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett pipelinespecifikation som du kan översätta till Python/Node/bash, inklusive moduler, funktioner och bearbetningssteg.</li>
           <li>Ett tydligt beslutsträd för formathantering (JPEG/PNG/WebP/GIF/TIFF) med rekommenderade inställningar och undantag.</li>
           <li>En plan för mappar och namngivningskonventioner som förhindrar överskrivningar och separerar original, arbetsfiler och utdata.</li>
           <li>En design för loggning och felrapportering, inklusive vad som ska loggas per fil och hur fel sammanfattas i slutet.</li>
           <li>En strategi för att undvika upprepad förstörande recomprimering mellan körningar (detektering av utdata, hashar eller manifest-baserad hoppning).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: produktionsklart script för batchvis bildstorleksändring</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[KALLSOKVAGAR]</code></td>
                                <td class="var-desc">
                                    Ange filsökvägarna eller mapparna där bilderna som ska bearbetas finns. Lägg till flera sökvägar om du behöver köra batchbearbetning.                                    <div class="var-example">Till exempel: "/home/user/images/raw_photos, /mnt/external_drive/project_assets"</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KALLSOKVAGAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALSTORLEK]</code></td>
                                <td class="var-desc">
                                    Ange önskade mått för storleksändring av bilder. Använd antingen fast bredd och höjd (t.ex. 800x600) eller procentuell skalning (t.ex. 50%).                                    <div class="var-example">Till exempel: "1024x768 eller 75%"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[MALSTORLEK]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTDATAFORMAT]</code></td>
                                <td class="var-desc">
                                    Ange filformatet för de storleksändrade bilderna. Vanliga alternativ är JPEG, PNG, WebP, GIF eller TIFF.                                    <div class="var-example">Till exempel: "JPEG"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UTDATAFORMAT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KVALITETSPREFERENS]</code></td>
                                <td class="var-desc">
                                    Ange önskad kvalitetsnivå för komprimering. Använd termer som &quot;hög&quot;, &quot;balanserad&quot; eller &quot;låg&quot;, eller ange ett numeriskt värde (t.ex. 80 för JPEG-kvalitet).                                    <div class="var-example">Till exempel: "balanserad eller 85"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[KVALITETSPREFERENS]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTDATASOKVAG]</code></td>
                                <td class="var-desc">
                                    Ange mappen där de storleksändrade bilderna ska sparas. Säkerställ att sökvägen är skrivbar och strukturerad för batchutdata.                                    <div class="var-example">Till exempel: "/home/user/images/resized_outputs"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UTDATASOKVAG]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SKRIV_OVER_KALLOR]</code></td>
                                <td class="var-desc">
                                    Ange om originalbilderna ska skrivas över vid bearbetningen. Använd &quot;ja&quot; för att tillåta överskrivning eller &quot;nej&quot; för att behålla originalen.                                    <div class="var-example">Till exempel: "nej"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[SKRIV_OVER_KALLOR]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[STORLEKSANDRINGSLAGE]</code></td>
                                <td class="var-desc">
                                    Ange vilken metod för storleksändring som ska användas. Alternativ kan vara &quot;procentuell skalning&quot; eller &quot;fasta mått&quot; beroende på behov.                                    <div class="var-example">Till exempel: "fasta mått"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[STORLEKSANDRINGSLAGE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[METALAGE]</code></td>
                                <td class="var-desc">
                                    Definiera hur metadata (t.ex. EXIF, IPTC) ska hanteras. Alternativ är &quot;behåll&quot;, &quot;ta bort&quot; eller &quot;anpassad&quot; för specifika inställningar.                                    <div class="var-example">Till exempel: "behåll"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[METALAGE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ANTAL_ARBETARE]</code></td>
                                <td class="var-desc">
                                    Ange antal parallella arbetare eller trådar som ska användas vid batchbearbetning. Välj ett värde utifrån antal CPU-kärnor och arbetsbelastningens storlek.                                    <div class="var-example">Till exempel: "4"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ANTAL_ARBETARE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange en sträng i versaler med understreck som separerar orden. Detta kan användas för namngivningskonventioner eller identifierare.                                    <div class="var-example">Till exempel: "BILD_STORLEKSANDRING_PIPELINE"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</div><div class="prompt-header-visible subheader">Måste-krav</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">Säkerhetsgränser (vad detta INTE är)</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">Om indata saknas eller är tvetydiga</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">INDATA</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">SPECIFIKATION FÖR UTDATA</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">Kodkrav</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Utforma ett produktionsklart, batch-kapabelt bildstorleksändringsskript som kan bearbeta mycket stora bilduppsättningar med blandade format samtidigt som den visuella kvaliteten hålls hög för både webbpublicering och tryck. Lösningen måste som standard bevara bildförhållandet, välja komprimering intelligent per bild, undvika onödig omkomprimering och producera organiserade, lättlästa utdata.

## PERSONA
Du är en automationssystemsdesigner med ett tidigare liv inom professionell fotografi och postproduktion. Du kommunicerar som en erfaren ingenjör: praktisk, tydlig med avvägningar och fokuserad på tillförlitlighet i stor skala. Du balanserar estetisk integritet (ingen oavsiktlig distorsion) med prestandarealiteter (filstorlek, genomströmning, minnesgränser).

## BEGRÄNSNINGAR
### Måste-krav
- Bevara bildförhållandet om inte användaren uttryckligen begär beskärning eller sträckning.
- Stöd vanliga format: JPEG, PNG, WebP, GIF, TIFF (och hantera varje format på lämpligt sätt).
- Tillhandahåll två storleksändringslägen:
  - Procentskalning
  - Fasta måldimensioner (bredd x höjd)
- Välj komprimeringsstrategi per bild baserat på innehållsegenskaper (fotoliknande vs grafik-liknande) och användarens kvalitetspreferens.
- Batchbearbeta utan att läsa in allt i RAM på en gång; använd strömning/kö-liknande hantering.
- Fortsätt bearbeta efter fel; logga och rapportera fel (korrupta filer, behörighetsproblem, filer som inte stöds).
- Skriv aldrig över originalen om det inte uttryckligen tillåts.
- Undvik upprepad förlustkomprimerande omkodning (t.ex. koda inte om redan bearbetade utdata i efterföljande körningar om det inte efterfrågas).
- Behåll metadata när det är rimligt och konfigurerbart.

### Säkerhetsgränser (vad detta INTE är)
- Inte en GUI-applikation.
- Inte ett fullständigt DAM-/katalogiseringssystem (ingen taggning-/sökdatabas).
- Inte ett AI-verktyg för uppskalning/restaurering.
- Inte en ersättning för ett färghanterat tryck-/prepressflöde (ingen ICC-profileringspipeline utöver grundläggande pass-through om det inte uttryckligen efterfrågas).

### Om indata saknas eller är tvetydiga
- Ställ förtydligande frågor innan du skriver slutlig kod när kritiska indata saknas (sökvägar, avsikt med storleksändring, regler för överskrivning).
- Om bara delvis storleksinformation anges, standardisera till ett bildförhållande-säkert beteende (t.ex. skalning enbart på bredd eller enbart på höjd) och ange tydligt antagandet.
- Om format eller kvalitetspreferens inte anges, standardisera till ”samma som källan” och ”balanserad”.

## PROCESS
1. **Föranalys (obligatorisk)**  
   Återge användarens mål och sammanfatta den valda metoden (storleksändringsläge, format, utdatastruktur, komprimeringslogik, metadatahantering). Lista eventuella antaganden och eventuella frågor som måste besvaras.

2. **Fas A — Räcken &amp; konfiguration**  
   Validera indata-sökvägar, utdatadestination, storleksinställningar, policy för överskrivning och verktygstillgänglighet. Skapa ett konfigurationsblock som användaren kan redigera.

3. **Fas B — Medieinspektion &amp; beslutslogik**  
   För varje fil: upptäck format, läs dimensioner, uppskatta innehållstyp (foto vs grafik) med enkla heuristiker (palett-/alfaförekomst, kanttäthet, proxyer för färgantal, osv.), och besluta sedan:
   - metod för storleksändring (contain/fit, crop-to-fill endast om begärt, stretch endast om begärt)
   - regler för utdataformat
   - komprimerings-/kvalitetsparametrar

4. **Fas C — Batchkörning i stor skala**  
   Bearbeta filer iterativt med kontrollerad samtidighet (worker pool) och isolering per fil. Inkludera:
   - framstegsrapportering
   - strukturerad loggning
   - retry-/skip-beteende
   - minnessäker IO

5. **Fas D — Paketering &amp; namngivning av utdata**  
   Generera ett tidsstämplat mappnamn som kodar operationen (t.ex. datum + åtgärd + målstorlek/skala). Skriv utdata utan kollisioner och producera en slutlig sammanfattningsrapport.

## INDATA
- **Källor för bilder:** [KALLSOKVAGAR]
- **Mål för storleksändring (dimensioner som 1920x1080 eller procent som 50%):** [MALSTORLEK]
- **Föredraget utdataformat (eller samma som källan):** [UTDATAFORMAT]
- **Kvalitetspreferens (maximal kvalitet / balanserad / minsta filstorlek):** [KVALITETSPREFERENS]
- **Destinationskatalog:** [UTDATASOKVAG]
- **Tillåt överskrivning av original (ja/nej):** [SKRIV_OVER_KALLOR]
- **Beteende vid storleksändring (bevara / crop-to-fill / stretch):** [STORLEKSANDRINGSLAGE]
- **Metadatahantering (bevara / ta bort):** [METALAGE]
- **Max samtidighet / workers:** [ANTAL_ARBETARE]

## SPECIFIKATION FÖR UTDATA
Leverera ett enda, komplett skript (välj ett språks ekosystem och håll dig till det) med följande avsnitt och rubriker:

1. **Krav &amp; installation**
   - Beroenden och installationskommandon
   - OS-noteringar om relevant

2. **Konfiguration**
   - Tydligt märkta variabler som användare redigerar:
     - {SourcePaths}
     - {TargetSize}
     - {OutputFormat}
     - {QualityPreference}
     - {OutputPath}
     - {OverwriteSources}
     - {ResizeMode}
     - {MetadataMode}
     - {WorkerCount}

3. **Kärnimplementation**
   - {PathValidationModule}
   - {ImageInspectionModule}
   - {ResizeAndEncodeModule}
   - {BatchRunnerModule}
   - {LoggingAndProgressModule}
   - {OutputOrganizerModule}

4. **Användningsexempel**
   - Ett grundläggande körningsexempel med [KALLSOKVAGAR] och [MALSTORLEK]
   - Ett avancerat exempel som visar crop-to-fill eller formatkonvertering och worker-tuning

5. **Felsökning**
   - Vanliga fel och åtgärder (behörigheter, saknade codecs/libs, korrupta filer, enorma TIFF:er, förväntningar kring GIF-hantering)

### Kodkrav
- Tillhandahåll hela skriptet i kodblock med syntax highlighting.
- Inkludera tydliga inline-kommentarer som förklarar varför beslut tas (särskilt komprimeringsval och bildförhållande-matematik).
- Implementera formatspecifika hanteringsregler (minst):
  - JPEG: kvalitetsbaserad komprimering, valfri progressiv kodning
  - PNG: förlustfri komprimeringsnivå, behåll alfa
  - WebP: val mellan förlust-/förlustfri i linje med innehållstyp
  - GIF: dokumentera begränsningar; undvik destruktiv storleksändring om det förstör animering om det inte uttryckligen stöds
  - TIFF: hantera stora filer säkert; överväg konverteringsalternativ om det efterfrågas
- Inkludera progressutskrift som fungerar vid långa körningar och en slutlig {RunSummary}-rapport (antal bearbetade, hoppade över, misslyckade; totalt antal sparade byte där möjligt).
- Säkerställ att det inte finns något ”läs in allt och bearbeta sedan”-mönster; bearbeta som en ström med begränsad samtidighet.

## KVALITETSKONTROLLER
Innan du presenterar det slutliga skriptet, verifiera och ange att leveransen uppfyller:
- Bildförhållandet bevaras som standard och avviker endast när [STORLEKSANDRINGSLAGE] uttryckligen begär det.
- Komprimering är inte ”one-size-fits-all”; kodningsbeslut varierar efter innehåll och format.
- Batchdesignen är minnessäker och använder begränsad parallellism via [ANTAL_ARBETARE].
- Fel isoleras per fil och avbryter inte hela körningen; misslyckanden loggas och sammanfattas.
- Efterlevnad av variabelformat: användarangivna indata förekommer endast som [VERSALER_MED_UNDERSCORE], och AI-ifyllda platshållare förekommer endast som {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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nUtforma ett produktionsklart, batch-kapabelt bildstorleks\u00e4ndringsskript som kan bearbeta mycket stora bildupps\u00e4ttningar med blandade format samtidigt som den visuella kvaliteten h\u00e5lls h\u00f6g f\u00f6r b\u00e5de webbpublicering och tryck. L\u00f6sningen m\u00e5ste som standard bevara bildf\u00f6rh\u00e5llandet, v\u00e4lja komprimering intelligent per bild, undvika on\u00f6dig omkomprimering och producera organiserade, l\u00e4ttl\u00e4sta utdata.\r\n\r\n## PERSONA\r\nDu \u00e4r en automationssystemsdesigner med ett tidigare liv inom professionell fotografi och postproduktion. Du kommunicerar som en erfaren ingenj\u00f6r: praktisk, tydlig med avv\u00e4gningar och fokuserad p\u00e5 tillf\u00f6rlitlighet i stor skala. Du balanserar estetisk integritet (ingen oavsiktlig distorsion) med prestandarealiteter (filstorlek, genomstr\u00f6mning, minnesgr\u00e4nser).\r\n\r\n## BEGR\u00c4NSNINGAR\r\n### M\u00e5ste-krav\r\n- Bevara bildf\u00f6rh\u00e5llandet om inte anv\u00e4ndaren uttryckligen beg\u00e4r besk\u00e4rning eller str\u00e4ckning.\r\n- St\u00f6d vanliga format: JPEG, PNG, WebP, GIF, TIFF (och hantera varje format p\u00e5 l\u00e4mpligt s\u00e4tt).\r\n- Tillhandah\u00e5ll tv\u00e5 storleks\u00e4ndringsl\u00e4gen:\r\n  - Procentskalning\r\n  - Fasta m\u00e5ldimensioner (bredd x h\u00f6jd)\r\n- V\u00e4lj komprimeringsstrategi per bild baserat p\u00e5 inneh\u00e5llsegenskaper (fotoliknande vs grafik-liknande) och anv\u00e4ndarens kvalitetspreferens.\r\n- Batchbearbeta utan att l\u00e4sa in allt i RAM p\u00e5 en g\u00e5ng; anv\u00e4nd str\u00f6mning\/k\u00f6-liknande hantering.\r\n- Forts\u00e4tt bearbeta efter fel; logga och rapportera fel (korrupta filer, beh\u00f6righetsproblem, filer som inte st\u00f6ds).\r\n- Skriv aldrig \u00f6ver originalen om det inte uttryckligen till\u00e5ts.\r\n- Undvik upprepad f\u00f6rlustkomprimerande omkodning (t.ex. koda inte om redan bearbetade utdata i efterf\u00f6ljande k\u00f6rningar om det inte efterfr\u00e5gas).\r\n- Beh\u00e5ll metadata n\u00e4r det \u00e4r rimligt och konfigurerbart.\r\n\r\n### S\u00e4kerhetsgr\u00e4nser (vad detta INTE \u00e4r)\r\n- Inte en GUI-applikation.\r\n- Inte ett fullst\u00e4ndigt DAM-\/katalogiseringssystem (ingen taggning-\/s\u00f6kdatabas).\r\n- Inte ett AI-verktyg f\u00f6r uppskalning\/restaurering.\r\n- Inte en ers\u00e4ttning f\u00f6r ett f\u00e4rghanterat tryck-\/prepressfl\u00f6de (ingen ICC-profileringspipeline ut\u00f6ver grundl\u00e4ggande pass-through om det inte uttryckligen efterfr\u00e5gas).\r\n\r\n### Om indata saknas eller \u00e4r tvetydiga\r\n- St\u00e4ll f\u00f6rtydligande fr\u00e5gor innan du skriver slutlig kod n\u00e4r kritiska indata saknas (s\u00f6kv\u00e4gar, avsikt med storleks\u00e4ndring, regler f\u00f6r \u00f6verskrivning).\r\n- Om bara delvis storleksinformation anges, standardisera till ett bildf\u00f6rh\u00e5llande-s\u00e4kert beteende (t.ex. skalning enbart p\u00e5 bredd eller enbart p\u00e5 h\u00f6jd) och ange tydligt antagandet.\r\n- Om format eller kvalitetspreferens inte anges, standardisera till \u201dsamma som k\u00e4llan\u201d och \u201dbalanserad\u201d.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk)**  \r\n   \u00c5terge anv\u00e4ndarens m\u00e5l och sammanfatta den valda metoden (storleks\u00e4ndringsl\u00e4ge, format, utdatastruktur, komprimeringslogik, metadatahantering). Lista eventuella antaganden och eventuella fr\u00e5gor som m\u00e5ste besvaras.\r\n\r\n2. **Fas A \u2014 R\u00e4cken & konfiguration**  \r\n   Validera indata-s\u00f6kv\u00e4gar, utdatadestination, storleksinst\u00e4llningar, policy f\u00f6r \u00f6verskrivning och verktygstillg\u00e4nglighet. Skapa ett konfigurationsblock som anv\u00e4ndaren kan redigera.\r\n\r\n3. **Fas B \u2014 Medieinspektion & beslutslogik**  \r\n   F\u00f6r varje fil: uppt\u00e4ck format, l\u00e4s dimensioner, uppskatta inneh\u00e5llstyp (foto vs grafik) med enkla heuristiker (palett-\/alfaf\u00f6rekomst, kantt\u00e4thet, proxyer f\u00f6r f\u00e4rgantal, osv.), och besluta sedan:\r\n   - metod f\u00f6r storleks\u00e4ndring (contain\/fit, crop-to-fill endast om beg\u00e4rt, stretch endast om beg\u00e4rt)\r\n   - regler f\u00f6r utdataformat\r\n   - komprimerings-\/kvalitetsparametrar\r\n\r\n4. **Fas C \u2014 Batchk\u00f6rning i stor skala**  \r\n   Bearbeta filer iterativt med kontrollerad samtidighet (worker pool) och isolering per fil. Inkludera:\r\n   - framstegsrapportering\r\n   - strukturerad loggning\r\n   - retry-\/skip-beteende\r\n   - minness\u00e4ker IO\r\n\r\n5. **Fas D \u2014 Paketering & namngivning av utdata**  \r\n   Generera ett tidsst\u00e4mplat mappnamn som kodar operationen (t.ex. datum + \u00e5tg\u00e4rd + m\u00e5lstorlek\/skala). Skriv utdata utan kollisioner och producera en slutlig sammanfattningsrapport.\r\n\r\n## INDATA\r\n- **K\u00e4llor f\u00f6r bilder:** [KALLSOKVAGAR]\r\n- **M\u00e5l f\u00f6r storleks\u00e4ndring (dimensioner som 1920x1080 eller procent som 50%):** [MALSTORLEK]\r\n- **F\u00f6redraget utdataformat (eller samma som k\u00e4llan):** [UTDATAFORMAT]\r\n- **Kvalitetspreferens (maximal kvalitet \/ balanserad \/ minsta filstorlek):** [KVALITETSPREFERENS]\r\n- **Destinationskatalog:** [UTDATASOKVAG]\r\n- **Till\u00e5t \u00f6verskrivning av original (ja\/nej):** [SKRIV_OVER_KALLOR]\r\n- **Beteende vid storleks\u00e4ndring (bevara \/ crop-to-fill \/ stretch):** [STORLEKSANDRINGSLAGE]\r\n- **Metadatahantering (bevara \/ ta bort):** [METALAGE]\r\n- **Max samtidighet \/ workers:** [ANTAL_ARBETARE]\r\n\r\n## SPECIFIKATION F\u00d6R UTDATA\r\nLeverera ett enda, komplett skript (v\u00e4lj ett spr\u00e5ks ekosystem och h\u00e5ll dig till det) med f\u00f6ljande avsnitt och rubriker:\r\n\r\n1. **Krav & installation**\r\n   - Beroenden och installationskommandon\r\n   - OS-noteringar om relevant\r\n\r\n2. **Konfiguration**\r\n   - Tydligt m\u00e4rkta variabler som anv\u00e4ndare redigerar:\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. **K\u00e4rnimplementation**\r\n   - {PathValidationModule}\r\n   - {ImageInspectionModule}\r\n   - {ResizeAndEncodeModule}\r\n   - {BatchRunnerModule}\r\n   - {LoggingAndProgressModule}\r\n   - {OutputOrganizerModule}\r\n\r\n4. **Anv\u00e4ndningsexempel**\r\n   - Ett grundl\u00e4ggande k\u00f6rningsexempel med [KALLSOKVAGAR] och [MALSTORLEK]\r\n   - Ett avancerat exempel som visar crop-to-fill eller formatkonvertering och worker-tuning\r\n\r\n5. **Fels\u00f6kning**\r\n   - Vanliga fel och \u00e5tg\u00e4rder (beh\u00f6righeter, saknade codecs\/libs, korrupta filer, enorma TIFF:er, f\u00f6rv\u00e4ntningar kring GIF-hantering)\r\n\r\n### Kodkrav\r\n- Tillhandah\u00e5ll hela skriptet i kodblock med syntax highlighting.\r\n- Inkludera tydliga inline-kommentarer som f\u00f6rklarar varf\u00f6r beslut tas (s\u00e4rskilt komprimeringsval och bildf\u00f6rh\u00e5llande-matematik).\r\n- Implementera formatspecifika hanteringsregler (minst):\r\n  - JPEG: kvalitetsbaserad komprimering, valfri progressiv kodning\r\n  - PNG: f\u00f6rlustfri komprimeringsniv\u00e5, beh\u00e5ll alfa\r\n  - WebP: val mellan f\u00f6rlust-\/f\u00f6rlustfri i linje med inneh\u00e5llstyp\r\n  - GIF: dokumentera begr\u00e4nsningar; undvik destruktiv storleks\u00e4ndring om det f\u00f6rst\u00f6r animering om det inte uttryckligen st\u00f6ds\r\n  - TIFF: hantera stora filer s\u00e4kert; \u00f6verv\u00e4g konverteringsalternativ om det efterfr\u00e5gas\r\n- Inkludera progressutskrift som fungerar vid l\u00e5nga k\u00f6rningar och en slutlig {RunSummary}-rapport (antal bearbetade, hoppade \u00f6ver, misslyckade; totalt antal sparade byte d\u00e4r m\u00f6jligt).\r\n- S\u00e4kerst\u00e4ll att det inte finns n\u00e5got \u201dl\u00e4s in allt och bearbeta sedan\u201d-m\u00f6nster; bearbeta som en str\u00f6m med begr\u00e4nsad samtidighet.\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du presenterar det slutliga skriptet, verifiera och ange att leveransen uppfyller:\r\n- Bildf\u00f6rh\u00e5llandet bevaras som standard och avviker endast n\u00e4r [STORLEKSANDRINGSLAGE] uttryckligen beg\u00e4r det.\r\n- Komprimering \u00e4r inte \u201done-size-fits-all\u201d; kodningsbeslut varierar efter inneh\u00e5ll och format.\r\n- Batchdesignen \u00e4r minness\u00e4ker och anv\u00e4nder begr\u00e4nsad parallellism via [ANTAL_ARBETARE].\r\n- Fel isoleras per fil och avbryter inte hela k\u00f6rningen; misslyckanden loggas och sammanfattas.\r\n- Efterlevnad av variabelformat: anv\u00e4ndarangivna indata f\u00f6rekommer endast som [VERSALER_MED_UNDERSCORE], och AI-ifyllda platsh\u00e5llare f\u00f6rekommer endast som {Title Case}.";
    const variables = ["[KALLSOKVAGAR]","[MALSTORLEK]","[UTDATAFORMAT]","[KVALITETSPREFERENS]","[UTDATASOKVAG]","[SKRIV_OVER_KALLOR]","[STORLEKSANDRINGSLAGE]","[METALAGE]","[ANTAL_ARBETARE]","[VERSALER_MED_UNDERSCORE]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat från AI-prompten</h2>



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

<li><strong>Definiera dina två utdataprofiler från start.</strong> Prompten är som starkast när du säger exakt vad ”webb” och ”tryck” betyder för dig (dimensioner, kvalitetsmål och formatpreferenser). Testa: ”Skapa utdata: Webb=1600px lång sida, ~200–350KB mål; Tryck=3000px lång sida, minimal komprimering; bevara transparens.”</li>


<li><strong>Säg vad som aldrig får ändras.</strong> Om metadata är viktigt (EXIF-orientering, ICC-pass-through, tidsstämplar), säg det uttryckligen och be om konfigflaggor. En användbar följdfråga: ”Lägg till en metadatapolicy: behåll EXIF som standard, ta bort GPS och normalisera orientering så att storleksändrade utdata visas korrekt överallt.”</li>

<li><strong>Ge den verkliga felscenarier att designa för.</strong> Du får en mer robust scriptplan om du listar de fula edge cases: korrupta filer, CMYK-JPEG:er, 16-bitars PNG:er eller behörighetsfel. Tillägg i prompten: ”Anta att 2% av filerna misslyckas; fortsätt, logga och skapa en sammanfattande CSV i slutet av körningen.”</li>


<li><strong>Iterera på komprimeringsregler, inte bara storlekar.</strong> Efter första utkastet, pressa prompten att vara tydligare kring när JPEG vs WebP vs PNG ska väljas. Fråga: ”Skriv nu om komprimeringsstrategin med trösklar och exempel (foto-lik, skärmdump-lik, transparens, plana färger) och rekommendera rimliga kvalitetsintervall.”</li>


<li><strong>Lägg till en mekanism som tål omkörning.</strong> Ärligt talat är det här de flesta batch-script tyst misslyckas över tid. Begär en manifest-metod: ”Lägg till en manifest.json (eller SQLite vid behov) som registrerar källsökväg, mtime/hash, utdatasökvägar och inställningar, så att omkörningar hoppar över oförändrade filer och undviker dubbel recomprimering.”</li>

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

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

<!-- wp:paragraph -->
<p>Om du också standardiserar den mänskliga delen av ett arbetsflöde passar de här promptarna bra ihop med ett produktionspipeline-tänk:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som dokumenterar hur arbetet utvecklas över tid hjälper <a href="https://nodenordic.se/prompts/skapa-en-karriarutvecklingsplan-med-ai-prompt">AI-prompten Build a Career Growth Playbook</a> dig att omvandla ”tyst kunskap” till en tydlig plan för progression. Den passar bra när du vill att din bildpipeline ska ägas och underhållas, inte bara byggas en gång och sedan glömmas.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När någon rör sig in i en mer teknisk operationsroll (som att äga automation, script och verktyg) kan <a href="https://nodenordic.se/prompts/optimera-din-kompetensstack-for-karriaren-med-ai">AI-prompten Build a Career Skill Stack Optimizer</a> kartlägga de färdigheter som stödjer stabil leverans. Användbart om du utbildar en marknadsförare som blivit ops-ansvarig att hantera leverantörer och kodgranskningar.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Om din organisation omfördelar ansvar (till exempel att creative ops tar över resursbearbetning som tidigare låg hos engineering) ger <a href="https://nodenordic.se/prompts/bygg-en-plan-for-karriarbyte-med-en-ai-prompt">AI-prompten Build a Career Pivot Roadmap</a> en strukturerad övergångsplan. Det är ett praktiskt komplement när du förändrar processer och behöver att det används i praktiken, inte bara ett script.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbguide:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-karriarutvecklingsplan-med-ai-prompt">AI-prompten Build a Career Growth Playbook</a>: Dokumentera förväntningar, omfattning och utveckling.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-plan-for-karriarbyte-med-en-ai-prompt">AI-prompten Build a Career Pivot Roadmap</a>: Planera en strukturerad rollövergång.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-fardplan-for-lang-karriar-med-ai-prompt">AI-prompten Build a Career Longevity Roadmap</a>: Upprätthåll prestation och undvik utbrändhet.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-plan-for-karriarutveckling-med-ai-prompt">AI-prompten Build a Career Growth Blueprint</a>: Sätt mål, milstolpar och bevis.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/optimera-din-kompetensstack-for-karriaren-med-ai">AI-prompten Build a Career Skill Stack Optimizer</a>: Prioritera färdigheter som ger ökande effekt över tid.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för batchvis bildstorleksändring?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Chefer inom marketing operations</strong> använder den här för att göra röriga kampanjmappar till konsekventa webb- och tryckvarianter, med loggar som gör överlämningar smidiga. <strong>Innehållsansvariga inom e-handel</strong> förlitar sig på den när leverantörsbilder kommer i blandade format och inkonsekventa storlekar, och de behöver säkra utdata utan att skriva över original. <strong>Ansvariga inom creative operations</strong> gynnas eftersom prompten tvingar fram tydliga beslut om formathantering, metadata och namngivningskonventioner som minskar omarbete. <strong>Automationsinriktade utvecklare</strong> använder den också som en specifikation för att snabbt implementera, eftersom den bygger in strömning, feltålighet och omkörningssäkerhet.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för batchvis bildstorleksändring?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-handel och retail</strong> får snabbt värde eftersom produktfoton, färgvarianter och leverantörspaket ofta kommer som en kaotisk mix av JPEG, PNG och någon enstaka TIFF. <strong>Media och förlag</strong> använder den för att förbereda stora fotoset för snabb webbleverans, samtidigt som de behåller masters av högre kvalitet för framtida layouter. <strong>Byråer</strong> gynnas när de måste möta olika kundspecar (namngivning, storlekar, format) och behöver en repeterbar pipeline som loggar allt. <strong>Fastighets- och hotellteam</strong> använder den för att bearbeta stora fotograferingar effektivt, skapa webboptimerade set, bevara bildförhållandet och undvika oavsiktlig förvrängning.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompts för script för batchvis bildstorleksändring svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”<em>Skriv ett script som ändrar storlek på bilder i en mapp</em>” misslyckas eftersom den: saknar formatspecifik hantering (PNG-transparens, GIF-beteende, TIFF-särdrag), ger inga tydliga regler för storleksändring (procent vs fasta dimensioner och vad som ska hända när bildförhållanden skiljer sig), ignorerar omkörningssäkerhet så att utdata recomprimeras igen, producerar skör kod som kraschar på korrupta eller låsta filer i stället för att logga och fortsätta, och missar operativa detaljer som utdatamappar, namngivningskonventioner och rapportering i slutet av körningen. I praktiken får du något som fungerar på en liten testmapp och faller ihop på riktiga produktionsbatcher.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för batchvis bildstorleksändring till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Även om prompten saknar formulärvariabler anpassar du den genom att ange dina begränsningar: målstorlekar (procent eller bredd × höjd), om beskärning är tillåten, föredragna utdataformat, kvalitetsmål och en metadatapolicy (behåll, ta bort eller pass-through). Du bör också specificera hur du vill organisera utdata (speglade mappar, datumstämplade körningar eller undermappar per storlek) och om ”skriv aldrig över” är absolut. En bra följdfråga är: ”Innan du skriver den slutliga designen, ställ mig 10 klargörande frågor om storlekar, format, transparens, metadata, namngivning och omkörningsbeteende, och producera sedan scriptupplägget.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för batchvis bildstorleksändring?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna läget för storleksändring ospecificerat — i stället för ”ändra storlek på bilder för webb”, säg ”Ändra storlek efter lång sida till 1600px; skala inte upp mindre bilder.” Ett annat vanligt fel är att vara vag kring beskärning: ”gör dem 1200×1200” kan innebära tvingade kvadratiska beskärningar, medan ”anpassa inom 1200×1200, bevara bildförhållandet, lägg inte till någon utfyllnad” är entydigt. Många glömmer också att definiera regler för transparens i utdata; ”konvertera allt till JPEG” förstör logotyper, medan ”behåll PNG när alfa finns, annars överväg WebP/JPEG” är säkrare. Slutligen utelämnar många omkörningsbeteende; be om ”hoppa över om utdata finns och matchar inställningar” för att undvika upprepad förstörande recomprimering.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för batchvis bildstorleksändring?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk om du behöver ett dra-och-släpp-GUI-verktyg, eftersom den uttryckligen är designad för scripting och automation. Den passar inte heller när du kräver ett fullständigt system för digital asset management med sök, taggning och godkännanden. Och om du behöver färghanterad prepress för tryck (ICC-konverteringar, proofingflöden, pressprofiler) vill du ha ett dedikerat arbetsflödesverktyg snarare än ett storleksändringsscript. I de fallen: använd ett färdigt DAM eller en professionell prepress-pipeline och applicera sedan storleksändring som ett mindre steg.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för batchvis bildstorleksändring?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Chefer inom marketing operations använder den här för att göra röriga kampanjmappar till konsekventa webb- och tryckvarianter, med loggar som gör överlämningar smidiga. Innehållsansvariga inom e-handel förlitar sig på den när leverantörsbilder kommer i blandade format och inkonsekventa storlekar, och de behöver säkra utdata utan att skriva över original. Ansvariga inom creative operations gynnas eftersom prompten tvingar fram tydliga beslut om formathantering, metadata och namngivningskonventioner som minskar omarbete. Automationsinriktade utvecklare använder den också som en specifikation för att snabbt implementera, eftersom den bygger in strömning, feltålighet och omkörningssäkerhet."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för batchvis bildstorleksändring?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handel och retail får snabbt värde eftersom produktfoton, färgvarianter och leverantörspaket ofta kommer som en kaotisk mix av JPEG, PNG och någon enstaka TIFF. Media och förlag använder den för att förbereda stora fotoset för snabb webbleverans, samtidigt som de behåller masters av högre kvalitet för framtida layouter. Byråer gynnas när de måste möta olika kundspecar (namngivning, storlekar, format) och behöver en repeterbar pipeline som loggar allt. Fastighets- och hotellteam använder den för att bearbeta stora fotograferingar effektivt, skapa webboptimerade set, bevara bildförhållandet och undvika oavsiktlig förvrängning."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompts för script för batchvis bildstorleksändring svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv ett script som ändrar storlek på bilder i en mapp\" misslyckas eftersom den: saknar formatspecifik hantering (PNG-transparens, GIF-beteende, TIFF-särdrag), ger inga tydliga regler för storleksändring (procent vs fasta dimensioner och vad som ska hända när bildförhållanden skiljer sig), ignorerar omkörningssäkerhet så att utdata recomprimeras igen, producerar skör kod som kraschar på korrupta eller låsta filer i stället för att logga och fortsätta, och missar operativa detaljer som utdatamappar, namngivningskonventioner och rapportering i slutet av körningen. I praktiken får du något som fungerar på en liten testmapp och faller ihop på riktiga produktionsbatcher."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för batchvis bildstorleksändring till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Även om prompten saknar formulärvariabler anpassar du den genom att ange dina begränsningar: målstorlekar (procent eller bredd × höjd), om beskärning är tillåten, föredragna utdataformat, kvalitetsmål och en metadatapolicy (behåll, ta bort eller pass-through). Du bör också specificera hur du vill organisera utdata (speglade mappar, datumstämplade körningar eller undermappar per storlek) och om ”skriv aldrig över” är absolut. En bra följdfråga är: ”Innan du skriver den slutliga designen, ställ mig 10 klargörande frågor om storlekar, format, transparens, metadata, namngivning och omkörningsbeteende, och producera sedan scriptupplägget.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för batchvis bildstorleksändring?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna läget för storleksändring ospecificerat — i stället för ”ändra storlek på bilder för webb”, säg ”Ändra storlek efter lång sida till 1600px; skala inte upp mindre bilder.” Ett annat vanligt fel är att vara vag kring beskärning: ”gör dem 1200×1200” kan innebära tvingade kvadratiska beskärningar, medan ”anpassa inom 1200×1200, bevara bildförhållandet, lägg inte till någon utfyllnad” är entydigt. Många glömmer också att definiera regler för transparens i utdata; ”konvertera allt till JPEG” förstör logotyper, medan ”behåll PNG när alfa finns, annars överväg WebP/JPEG” är säkrare. Slutligen utelämnar många omkörningsbeteende; be om ”hoppa över om utdata finns och matchar inställningar” för att undvika upprepad förstörande recomprimering."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för batchvis bildstorleksändring?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk om du behöver ett dra-och-släpp-GUI-verktyg, eftersom den uttryckligen är designad för scripting och automation. Den passar inte heller när du kräver ett fullständigt system för digital asset management med sök, taggning och godkännanden. Och om du behöver färghanterad prepress för tryck (ICC-konverteringar, proofingflöden, pressprofiler) vill du ha ett dedikerat arbetsflödesverktyg snarare än ett storleksändringsscript. I de fallen: använd ett färdigt DAM eller en professionell prepress-pipeline och applicera sedan storleksändring som ett mindre steg."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Batchvis storleksändring är inte svårt förrän det är det. Använd den här prompten för att designa ett script som klarar mappar från verkligheten, skyddar originalen och levererar konsekventa utdata du kan lita på.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-skript-for-batchvis-bildstorleksandring/">Bygg ett skript för batchvis bildstorleksändring</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa en video-miniserie i 3 delar</title>
		<link>https://nodenordic.se/prompts/skapa-en-video-miniserie-i-3-delar/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-video-miniserie-i-3-delar</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:37:36 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002402</guid>

					<description><![CDATA[<p>Innehållet känns spretigt. Den här ai-prompten kartlägger en utbildande serie i 3 delar med målgrupp, teman, disposition och distribution. Fler prompts för marknad, sälj och drift.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-video-miniserie-i-3-delar/">Skapa en video-miniserie i 3 delar</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: video mini-series prompt -->

<div class="hook-introduction">

<p>Dina videoidéer är bra. Problemet är att de inte hänger ihop. Du publicerar ett hjälpsamt klipp, sedan ett till, sedan ett till, och inget av det bygger verkligt momentum eller auktoritet.</p>



<p>Den här <strong>prompten för en video-miniserie</strong> är byggd för <strong>marknadsföringsansvariga</strong> som behöver en tajt kampanj i 3 delar som utbildar och skapar förtroende, <strong>kurskreatörer</strong> som vill göra ett kärnämne till en serie man sträcktittar på, och <strong>konsulter</strong> som vill ha tre trovärdighetsbyggande videor att skicka efter ett discovery-samtal. Resultatet är ett komplett miniseriepaket: en målgruppsbild, en röd tråd som håller ihop serien, tre videotitlar med exakt tre undervisningspunkter vardera, tydliga CTA:er och en enkel distributionsplan för flera plattformar.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den omformulerar vad du skapar och vem det är för, så att serien hålls förankrad i samma tittare och samma mål.</li>
          <li>Den omvandlar grova målgruppsanteckningar till en strukturerad översikt (demografi, frustrationer och önskade resultat).</li>
          <li>Den föreslår ett enhetligt serietema som kopplar ihop alla tre videor och signalerar tankeledarskap.</li>
          <li>Den planerar video 1–3 med en stark titel, exakt tre centrala undervisningspunkter och en call-to-action som matchar tittarens intention.</li>
          <li>Den lägger till tre tydligt olika sätt att marknadsföra och väljer standardplattformar om du inte anger dem.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du är trött på “slumpmässiga hjälpsamma inlägg” och vill ha en sekvens som känns avsiktlig över tre publiceringar.</li>
          <li>Du har en nisch och kompetens, men ditt innehåll leder inte till förtroende, förfrågningar eller prenumeranter.</li>
          <li>Du planerar en lansering, ett webbinar, en återlansering av lager eller ett nytt erbjudande och behöver en snabb content-runway som sätter ramen.</li>
          <li>Du konkurrerar med kreatörer som ser mer konsekventa ut, även om deras råd inte är bättre.</li>
          <li>Du vill skala innehållsproduktionen utan att tappa struktur, särskilt när du återanvänder för Shorts/Reels och YouTube.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En miniserieplan med 3 videor och 3 titlar som är designade för att ses i ordning.</li>
           <li>En målgruppsöversikt med demografi, viktigaste frustrationer och önskade resultat i en korrekt formaterad uppdelning.</li>
           <li>Tre dispositioner som var och en innehåller exakt 3 undervisningspunkter plus en CTA som är redo att användas.</li>
           <li>En enda temameningen som är seriens “röda tråd” och som du kan återanvända i captions och i din kanalbeskrivning.</li>
           <li>En distributionsplan i 3 delar med olika marknadsföringsupplägg anpassade för kort- och långformat.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Den fullständiga AI-prompten: byggare för en utbildande video-miniserie i 3 delar</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den specifika gruppen personer som videoserien är avsedd för, inklusive demografi, viktigaste utmaningar/frustrationer och önskade resultat.                                    <div class="var-example">Till exempel: "Unga yrkesverksamma 25–35 år som är nya i distansarbete, har svårt att få till produktiviteten och söker konkreta strategier för att balansera arbete och privatliv."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch som är relevant för videoserien, till exempel området eller sektorn som innehållet är anpassat för.                                    <div class="var-example">Till exempel: "EdTech (utbildningsteknik)"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NISCH]</code></td>
                                <td class="var-desc">
                                    Definiera den specifika underkategorin eller det fokusområde inom den bredare branschen som videoserien ska handla om.                                    <div class="var-example">Till exempel: "Skapande av onlinekurser för soloprenörer"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[NISCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Lista de plattformar där videoserien ska delas, till exempel sociala medier eller videotjänster.                                    <div class="var-example">Till exempel: "Instagram, YouTube Shorts och LinkedIn"</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil som passar varumärket, till exempel formell, avslappnad eller motiverande.                                    <div class="var-example">Till exempel: "Professionell men lättillgänglig, med fokus på tydlighet och konkreta, handlingsbara insikter."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange videoseriens huvudsakliga mål, till exempel att generera leads, öka antalet nyhetsbrevsregistreringar eller bygga en community.                                    <div class="var-example">Till exempel: "Öka nyhetsbrevsregistreringar genom att erbjuda exklusiva produktivitetstips."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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 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">INPUT</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">OUTPUTSPECIFIKATION</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">Målgrupp</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">Videoserietema</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">Video 1</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">Video 2</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">Video 3</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">Marknadsföringsstrategi för videoserien</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Designa en sammanhållen utbildande mini-serie i tre delar som bygger auktoritet för en kreatör inom en definierad nisch, anpassad till en specifik målgrupp och paketerad med en enkel plan för marknadsföring.

## PERSONA
Du är en senior manusförfattare inom learning &amp; development och kanalstrateg som skapar tydligt, övertygande undervisningsinnehåll för både kortformat och långformat video. Din stil är strukturerad, målgruppsmedveten och trovärdighetsdriven (insiktsfull utan att låta akademisk).

## BEGRÄNSNINGAR
- Håll varje video i linje med ett sammanhållande, övergripande tema för serien.
- Gör varje video informativ och engagerande för den ideala mottagaren som beskrivs i input.
- Varje video måste innehålla exakt **3** centrala undervisningspunkter och en **tydlig call-to-action** som matchar tittarens sannolika intention.
- Prioritera thought leadership: originalt angreppssätt, praktisk tydlighet och självsäker positionering (undvik hypeigt säljspråk).
- Om input är vag eller saknas, följ edge-case-reglerna i **PROCESS**.

## PROCESS
1. **Föranalys (obligatorisk):** Återge kort vad du ska skapa och för vem, baserat på den input som finns.
2. **Målgruppsbild:** Omvandla målgruppsdetaljerna till en ren uppdelning (demografi, viktigaste frustrationer, önskade resultat).
3. **Seriens röda tråd:** Föreslå ett enda tema som kopplar ihop alla tre videor och signalerar expertis.
4. **Videoplanering:** Skapa Video 1–3 med en stark titel, tre nyckelpunkter och en CTA som följer naturligt av innehållet.
5. **Distributionsplan:** Ge tre tydligt olika marknadsföringsupplägg som passar plattformen/kontexten.
6. **Hantering av edge cases (obligatorisk):**
   - Om [MALGRUPP] saknas: dra en rimlig slutsats om målgruppen för nischen och lista 2–3 antaganden.
   - Om [BRANSCH] eller [NISCH] är otydlig: ställ upp till 3 förtydligande frågor och ge sedan ändå ett best-guess-utkast.
   - Om [PLATTFORM] inte anges: defaulta till “Instagram + YouTube Shorts + YouTube” och anpassa därefter.
7. **Omfattningsgränser — vad detta INTE är:**
   - Inte fullständiga ord-för-ord-manus med dialog och scenanvisningar.
   - Inte ett komplett funnel-upplägg eller en medieplan för betalda annonser.
   - Inte SEO-keyword research eller en konkurrentgenomgång.

## INPUT
- **Nisch:** [NISCH]  
- **Primärt användarsegment (målgruppsdetaljer):** [MALGRUPP]  
- **Bransch (om relevant):** [BRANSCH]  
- **Plattform(ar) att publicera på:** [PLATTFORM]  
- **Varumärkesröst / kommunikationsstil:** [VARUMARKESTON]  
- **Primärt mål med serien (t.ex. leads, nyhetsbrevsregistreringar, community-tillväxt):** [HUVUDMAL]  

## OUTPUTSPECIFIKATION
Leverera resultatet i följande format och med följande rubriker:

### Målgrupp
- **Demografi:** {Demographics}
- **Pain points:** {Pain Points}
- **Mål:** {Goals}

### Videoserietema
- **Tema:** {Series Theme}
- **Sammanhållande löfte (1 mening):** {Unifying Promise}

### Video 1
- **Titel:** {Video 1 Title}
- **Nyckelpunkter:**
  1. {Video 1 Key Point 1}
  2. {Video 1 Key Point 2}
  3. {Video 1 Key Point 3}
- **Call to action:** {Video 1 CTA}

### Video 2
- **Titel:** {Video 2 Title}
- **Nyckelpunkter:**
  1. {Video 2 Key Point 1}
  2. {Video 2 Key Point 2}
  3. {Video 2 Key Point 3}
- **Call to action:** {Video 2 CTA}

### Video 3
- **Titel:** {Video 3 Title}
- **Nyckelpunkter:**
  1. {Video 3 Key Point 1}
  2. {Video 3 Key Point 2}
  3. {Video 3 Key Point 3}
- **Call to action:** {Video 3 CTA}

### Marknadsföringsstrategi för videoserien
1. **{Promotion Strategy 1 Title}:** {Promotion Strategy 1 Description}
2. **{Promotion Strategy 2 Title}:** {Promotion Strategy 2 Description}
3. **{Promotion Strategy 3 Title}:** {Promotion Strategy 3 Description}

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Att serietemat tydligt kopplar ihop alla tre videor och förstärker expertis.
- Att varje video har exakt 3 nyckelpunkter som är tydligt åtskilda och inte överlappar varandra.
- Att CTA:er är specifika, friktionslåga och matchade till tittarens medvetenhetsnivå.
- Att språk och exempel passar angiven [VARUMARKESTON] och [MALGRUPP].
- Att eventuella antaganden som gjorts på grund av saknad input är uttryckligen angivna.            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nDesigna en sammanh\u00e5llen utbildande mini-serie i tre delar som bygger auktoritet f\u00f6r en kreat\u00f6r inom en definierad nisch, anpassad till en specifik m\u00e5lgrupp och paketerad med en enkel plan f\u00f6r marknadsf\u00f6ring.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior manusf\u00f6rfattare inom learning & development och kanalstrateg som skapar tydligt, \u00f6vertygande undervisningsinneh\u00e5ll f\u00f6r b\u00e5de kortformat och l\u00e5ngformat video. Din stil \u00e4r strukturerad, m\u00e5lgruppsmedveten och trov\u00e4rdighetsdriven (insiktsfull utan att l\u00e5ta akademisk).\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- H\u00e5ll varje video i linje med ett sammanh\u00e5llande, \u00f6vergripande tema f\u00f6r serien.\r\n- G\u00f6r varje video informativ och engagerande f\u00f6r den ideala mottagaren som beskrivs i input.\r\n- Varje video m\u00e5ste inneh\u00e5lla exakt **3** centrala undervisningspunkter och en **tydlig call-to-action** som matchar tittarens sannolika intention.\r\n- Prioritera thought leadership: originalt angreppss\u00e4tt, praktisk tydlighet och sj\u00e4lvs\u00e4ker positionering (undvik hypeigt s\u00e4ljspr\u00e5k).\r\n- Om input \u00e4r vag eller saknas, f\u00f6lj edge-case-reglerna i **PROCESS**.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge kort vad du ska skapa och f\u00f6r vem, baserat p\u00e5 den input som finns.\r\n2. **M\u00e5lgruppsbild:** Omvandla m\u00e5lgruppsdetaljerna till en ren uppdelning (demografi, viktigaste frustrationer, \u00f6nskade resultat).\r\n3. **Seriens r\u00f6da tr\u00e5d:** F\u00f6resl\u00e5 ett enda tema som kopplar ihop alla tre videor och signalerar expertis.\r\n4. **Videoplanering:** Skapa Video 1\u20133 med en stark titel, tre nyckelpunkter och en CTA som f\u00f6ljer naturligt av inneh\u00e5llet.\r\n5. **Distributionsplan:** Ge tre tydligt olika marknadsf\u00f6ringsuppl\u00e4gg som passar plattformen\/kontexten.\r\n6. **Hantering av edge cases (obligatorisk):**\r\n   - Om [MALGRUPP] saknas: dra en rimlig slutsats om m\u00e5lgruppen f\u00f6r nischen och lista 2\u20133 antaganden.\r\n   - Om [BRANSCH] eller [NISCH] \u00e4r otydlig: st\u00e4ll upp till 3 f\u00f6rtydligande fr\u00e5gor och ge sedan \u00e4nd\u00e5 ett best-guess-utkast.\r\n   - Om [PLATTFORM] inte anges: defaulta till \u201cInstagram + YouTube Shorts + YouTube\u201d och anpassa d\u00e4refter.\r\n7. **Omfattningsgr\u00e4nser \u2014 vad detta INTE \u00e4r:**\r\n   - Inte fullst\u00e4ndiga ord-f\u00f6r-ord-manus med dialog och scenanvisningar.\r\n   - Inte ett komplett funnel-uppl\u00e4gg eller en medieplan f\u00f6r betalda annonser.\r\n   - Inte SEO-keyword research eller en konkurrentgenomg\u00e5ng.\r\n\r\n## INPUT\r\n- **Nisch:** [NISCH]  \r\n- **Prim\u00e4rt anv\u00e4ndarsegment (m\u00e5lgruppsdetaljer):** [MALGRUPP]  \r\n- **Bransch (om relevant):** [BRANSCH]  \r\n- **Plattform(ar) att publicera p\u00e5:** [PLATTFORM]  \r\n- **Varum\u00e4rkesr\u00f6st \/ kommunikationsstil:** [VARUMARKESTON]  \r\n- **Prim\u00e4rt m\u00e5l med serien (t.ex. leads, nyhetsbrevsregistreringar, community-tillv\u00e4xt):** [HUVUDMAL]  \r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera resultatet i f\u00f6ljande format och med f\u00f6ljande rubriker:\r\n\r\n### M\u00e5lgrupp\r\n- **Demografi:** {Demographics}\r\n- **Pain points:** {Pain Points}\r\n- **M\u00e5l:** {Goals}\r\n\r\n### Videoserietema\r\n- **Tema:** {Series Theme}\r\n- **Sammanh\u00e5llande l\u00f6fte (1 mening):** {Unifying Promise}\r\n\r\n### Video 1\r\n- **Titel:** {Video 1 Title}\r\n- **Nyckelpunkter:**\r\n  1. {Video 1 Key Point 1}\r\n  2. {Video 1 Key Point 2}\r\n  3. {Video 1 Key Point 3}\r\n- **Call to action:** {Video 1 CTA}\r\n\r\n### Video 2\r\n- **Titel:** {Video 2 Title}\r\n- **Nyckelpunkter:**\r\n  1. {Video 2 Key Point 1}\r\n  2. {Video 2 Key Point 2}\r\n  3. {Video 2 Key Point 3}\r\n- **Call to action:** {Video 2 CTA}\r\n\r\n### Video 3\r\n- **Titel:** {Video 3 Title}\r\n- **Nyckelpunkter:**\r\n  1. {Video 3 Key Point 1}\r\n  2. {Video 3 Key Point 2}\r\n  3. {Video 3 Key Point 3}\r\n- **Call to action:** {Video 3 CTA}\r\n\r\n### Marknadsf\u00f6ringsstrategi f\u00f6r videoserien\r\n1. **{Promotion Strategy 1 Title}:** {Promotion Strategy 1 Description}\r\n2. **{Promotion Strategy 2 Title}:** {Promotion Strategy 2 Description}\r\n3. **{Promotion Strategy 3 Title}:** {Promotion Strategy 3 Description}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Att serietemat tydligt kopplar ihop alla tre videor och f\u00f6rst\u00e4rker expertis.\r\n- Att varje video har exakt 3 nyckelpunkter som \u00e4r tydligt \u00e5tskilda och inte \u00f6verlappar varandra.\r\n- Att CTA:er \u00e4r specifika, friktionsl\u00e5ga och matchade till tittarens medvetenhetsniv\u00e5.\r\n- Att spr\u00e5k och exempel passar angiven [VARUMARKESTON] och [MALGRUPP].\r\n- Att eventuella antaganden som gjorts p\u00e5 grund av saknad input \u00e4r uttryckligen angivna.";
    const variables = ["[MALGRUPP]","[BRANSCH]","[NISCH]","[PLATTFORM]","[VARUMARKESTON]","[HUVUDMAL]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-promptar</h2>



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

<li><strong>Välj en “förtjänad insikt” för den röda tråden.</strong> Innan du kör prompten, skriv en enda mening som du tror på utifrån erfarenhet (inte en slogan). Exempel: “De flesta team har inte ett leadproblem; de har en mismatch mellan budskap och marknad.” Fråga sedan AI:n: “Gör så att serietemat förstärker den här övertygelsen utan att låta predikande.”</li>


<li><strong>Definiera tittarens utgångsläge, inte bara nischen.</strong> “HR-proffs” är brett; “HR-chefer på bolag med 200–1 000 anställda som försöker minska oönskad personalomsättning” ger prompten något att sikta mot. Om ditt första resultat känns generiskt, följ upp med: “Skriv om målgruppsöversikten och anta att tittaren redan har testat två lösningar och är skeptisk.”</li>


<li><strong>Använd intention-matchade CTA:er i stället för säljiga.</strong> En bra CTA passar det någon naturligt gör efter att ha lärt sig något. Testa: “Kommentera ‘Checklista’ så skickar jag mallen” för video 1, sedan “Se del 2 för diagnosen”, och först i video 3: “Om du vill ha hjälp med implementeringen är det här nästa steg.” Om prompten ger dig en svag CTA, fråga: “Ge mig 3 CTA-alternativ: låg friktion, medelfriktion och hög intention.”</li>


<li><strong>Iterera titlarna som rubriker, inte etiketter.</strong> Efter första körningen, ta den bästa titeln och be om variationer: “Generera 10 titelalternativ för video 2. Håll löftet specifikt, undvik buzzwords och bygg in ett subtilt nyfikenhetsgap.” Ärligt talat är det här de flesta serier låser upp.</li>


<li><strong>Koppla serien till en etisk konverteringstillgång.</strong> Om din miniserie ska leda någonstans, bestäm vad “hjälp” faktiskt innebär och håll det konsekvent. Till exempel: kombinera din CTA i video 3 med ett beteendebaserat nästa steg och vässa det sedan med <a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata</a> så att inbjudan matchar vad tittaren faktiskt gjorde (tittade, kommenterade, sparade, klickade).</li>

</div>

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

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När din serie i tre delar är kartlagd hjälper de här relaterade promptarna dig att marknadsföra den på ett sätt som känns strukturerat, effektivt och i linje med varumärket.</p>



<p>Om du också behöver intäktsgenerering efter videon som inte känns pushig är <a href="https://nodenordic.se/prompts/skapa-etiska-merforsaljningar-i-e-handel-med-ai">Skapa etiska merförsäljningar i e-handel med AI</a> en stark kompis. Den är användbar när din miniserie driver tittare till en produktsida och du vill ha tillägg som faktiskt förbättrar resultat (i stället för att belamra kassan med slumpmässiga erbjudanden).</p>



<p>När din distributionsplan inkluderar betald trafik eller en innehållstung webbplats hjälper <a href="https://nodenordic.se/prompts/minska-patrangande-annonser-och-popups-med-ai-prompt">Minska påträngande annonser och popups med AI-prompt</a> dig att skydda tittarupplevelsen. Den är särskilt relevant om du skickar personer från YouTube till en landningssida och du inte vill att aggressiva popups ska rasera förtroendet direkt efter en trovärdighetsbyggande video.</p>



<p>För kreatörer som gör begränsade släpp eller jobbar i lagerscykler passar <a href="https://nodenordic.se/prompts/bygg-etiska-lanseringsplaner-for-pafyllnad-av-lager">Bygg etiska lanseringsplaner för påfyllnad av lager</a> bra ihop med en miniserie eftersom den omvandlar uppmärksamhet till en tydlig, respektfull lanseringstakt. Använd den när dina tre videor ska värma upp målgruppen inför ett återlanseringsfönster.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-etiska-merforsaljningar-i-e-handel-med-ai">Skapa etiska merförsäljningar i e-handel med AI</a>: Tillägg som förbättrar resultat, inte press.</li>


<li><a href="https://nodenordic.se/prompts/minska-patrangande-annonser-och-popups-med-ai-prompt">Minska påträngande annonser och popups med AI-prompt</a>: Renare webbupplevelse efter videotrafik.</li>


<li><a href="https://nodenordic.se/prompts/bygg-etiska-lanseringsplaner-for-pafyllnad-av-lager">Bygg etiska lanseringsplaner för påfyllnad av lager</a>: Respektfull nedräkning och återlanseringsbudskap.</li>


<li><a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">Skapa etisk erbjudandekommunikation via beteendedata</a>: Matcha CTA:er mot tittarens beteendesignaler.</li>


<li><a href="https://nodenordic.se/prompts/skriv-etiska-affiliate-hooks-med-ai-prompt">Skriv etiska affiliate-hooks med AI-prompt</a>: Marknadsför verktyg utan hype eller gimmicks.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en video-miniserie?</span>

<p class="answer"><strong>Content strategists</strong> använder den för att göra ett vagt ämne till en läranderesa i tre steg som de kan briefa till en kreatör eller redigerare. <strong>Demand generation managers</strong> förlitar sig på den när de behöver en utbildande upptrappning som gör att CTA:n känns förtjänad (nyhetsbrev, demo, lead magnet). <strong>Solokreatörer och coacher</strong> får en återanvändbar struktur som förhindrar idéspridning och håller varje video fokuserad på tre lärbara moment. <strong>Konsulter</strong> använder den för att bygga “auktoritetssekvenser” de kan skicka till prospekt som behöver bevis på tankekraft, inte fler meriter.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en video-miniserie?</span>

<p class="answer"><strong>SaaS-bolag</strong> använder den för att producera tre videor som besvarar köparens verkliga frågor (problemformulering, diagnos, sedan angreppssätt) innan de ber om en testperiod. <strong>E-handelsvarumärken</strong> använder den till utbildning som minskar returer och ökar nöjdheten, som passformsråd, användningstutorials eller “så väljer du”-serier kopplade till produktkategorier. <strong>Företag inom professionella tjänster</strong> får nytta när de behöver förtydliga ett immateriellt erbjudande, till exempel genom att förklara en granskningsprocess i tre steg och vad som är “bra” i varje fas. <strong>Kreatörer som säljer digitala produkter</strong> får störst hävstång eftersom miniserien kan bli en pinnad sekvens, en evergreen-tratt och ett manusbaserat set av Shorts från en enda plan.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att planera en utbildande videoserie i 3 delar svaga resultat?</span>

<p class="answer">En typisk prompt som &#8221;<em>Write me a 3-part video series for my niche</em>&#8221; misslyckas eftersom den: saknar en nödvändig föranalys som låser målgrupp och intention, ger ingen struktur som tvingar fram exakt tre undervisningspunkter per video och ignorerar behovet av en enda röd tråd som kopplar ihop avsnitten. Den producerar ofta generiska “tips” i stället för en trovärdighetsdriven inramning som känns original. Den missar också CTA-matchningen, så du får krystade call-to-actions som inte matchar vad tittaren är redo att göra. Till sist hoppar den över distributionsvägledning, vilket är varför folk landar i en plan de inte kan marknadsföra konsekvent.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för en video-miniserie efter min specifika situation?</span>

<p class="answer">Ja. Prompten är byggd för att anpassa sig utifrån de input du ger om målgrupp, nisch/bransch och plattformskontext (och den väljer standardplattformar om du inte anger dem). För att anpassa den, var tydlig med tittarens nuvarande nivå, vilken förändring du vill se genom video 1–3 och vilket “nästa steg” du vill att CTA:n ska driva. Efter första resultatet är en bra följdfråga: “Skriv nu om serien för en mer avancerad målgrupp, behåll samma röda tråd och gör varje CTA ett steg lägre friktion.” Om du vill att den ska matcha din tonalitet, lägg till: “Använd en direkt, praktisk ton med korta meningar och noll hype.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för en video-miniserie?</span>

<p class="answer">Det största misstaget är att lämna målgruppen för vag — i stället för “småföretagare”, testa “tjänsteföretagare som omsätter 10–30 000 USD/månad, är beroende av rekommendationer och vill ha förutsägbara leads”. Ett annat vanligt fel är att ange en otydlig nisch, som “wellness”, i stället för “postpartum-styrketräning för förstföderskor”, vilket gör den röda tråden platt. Folk glömmer också plattformskontext; om du inte anger den kommer den att standardisera, men du får bättre resultat med detaljer som “YouTube (8–10 min) plus 3 stödjande Shorts”. Till sist ber team ofta om “fler punkter”, men den här prompten är medvetet begränsad till tre undervisningspunkter per video, så lösningen är att snäva in, inte bredda.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för en video-miniserie?</span>

<p class="answer">Den här prompten är inte idealisk för enstaka virala experiment där du inte bryr dig om sekvens, lärprogression eller ett konsekvent tema. Den passar inte heller bäst om du inte har valt någon nisch alls och du inte är villig att svara på följdfrågor eller acceptera ett best-guess-utkast. Team som vill ha fullständigt manus, ord-för-ord-narration, bör använda ett dedikerat manusflöde efter den här planen, eftersom resultatet fokuserar på struktur, punkter, CTA:er och marknadsföring. Om det är du, använd den här för planering och kör sedan varje videodisposition genom en manus-prompt efteråt.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en video-miniserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Content strategists använder den för att göra ett vagt ämne till en läranderesa i tre steg som de kan briefa till en kreatör eller redigerare. Demand generation managers förlitar sig på den när de behöver en utbildande upptrappning som gör att CTA:n känns förtjänad (nyhetsbrev, demo, lead magnet). Solokreatörer och coacher får en återanvändbar struktur som förhindrar idéspridning och håller varje video fokuserad på tre lärbara moment. Konsulter använder den för att bygga “auktoritetssekvenser” de kan skicka till prospekt som behöver bevis på tankekraft, inte fler meriter."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en video-miniserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag använder den för att producera tre videor som besvarar köparens verkliga frågor (problemformulering, diagnos, sedan angreppssätt) innan de ber om en testperiod. E-handelsvarumärken använder den till utbildning som minskar returer och ökar nöjdheten, som passformsråd, användningstutorials eller “så väljer du”-serier kopplade till produktkategorier. Företag inom professionella tjänster får nytta när de behöver förtydliga ett immateriellt erbjudande, till exempel genom att förklara en granskningsprocess i tre steg och vad som är “bra” i varje fas. Kreatörer som säljer digitala produkter får störst hävstång eftersom miniserien kan bli en pinnad sekvens, en evergreen-tratt och ett manusbaserat set av Shorts från en enda plan."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att planera en utbildande videoserie i 3 delar svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Write me a 3-part video series for my niche\" misslyckas eftersom den: saknar en nödvändig föranalys som låser målgrupp och intention, ger ingen struktur som tvingar fram exakt tre undervisningspunkter per video och ignorerar behovet av en enda röd tråd som kopplar ihop avsnitten. Den producerar ofta generiska “tips” i stället för en trovärdighetsdriven inramning som känns original. Den missar också CTA-matchningen, så du får krystade call-to-actions som inte matchar vad tittaren är redo att göra. Till sist hoppar den över distributionsvägledning, vilket är varför folk landar i en plan de inte kan marknadsföra konsekvent."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en video-miniserie efter min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Prompten är byggd för att anpassa sig utifrån de input du ger om målgrupp, nisch/bransch och plattformskontext (och den väljer standardplattformar om du inte anger dem). För att anpassa den, var tydlig med tittarens nuvarande nivå, vilken förändring du vill se genom video 1–3 och vilket “nästa steg” du vill att CTA:n ska driva. Efter första resultatet är en bra följdfråga: “Skriv nu om serien för en mer avancerad målgrupp, behåll samma röda tråd och gör varje CTA ett steg lägre friktion.” Om du vill att den ska matcha din tonalitet, lägg till: “Använd en direkt, praktisk ton med korta meningar och noll hype.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en video-miniserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna målgruppen för vag — i stället för “småföretagare”, testa “tjänsteföretagare som omsätter 10–30 000 USD/månad, är beroende av rekommendationer och vill ha förutsägbara leads”. Ett annat vanligt fel är att ange en otydlig nisch, som “wellness”, i stället för “postpartum-styrketräning för förstföderskor”, vilket gör den röda tråden platt. Folk glömmer också plattformskontext; om du inte anger den kommer den att standardisera, men du får bättre resultat med detaljer som “YouTube (8–10 min) plus 3 stödjande Shorts”. Till sist ber team ofta om “fler punkter”, men den här prompten är medvetet begränsad till tre undervisningspunkter per video, så lösningen är att snäva in, inte bredda."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för en video-miniserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för enstaka virala experiment där du inte bryr dig om sekvens, lärprogression eller ett konsekvent tema. Den passar inte heller bäst om du inte har valt någon nisch alls och du inte är villig att svara på följdfrågor eller acceptera ett best-guess-utkast. Team som vill ha fullständigt manus, ord-för-ord-narration, bör använda ett dedikerat manusflöde efter den här planen, eftersom resultatet fokuserar på struktur, punkter, CTA:er och marknadsföring. Om det är du, använd den här för planering och kör sedan varje videodisposition genom en manus-prompt efteråt."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Konsekvens blir enklare när ditt innehåll har en ryggrad. Klistra in den här prompten i ChatGPT, generera din trevideoplan och börja publicera med en riktig sekvens i ryggen.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-video-miniserie-i-3-delar/">Skapa en video-miniserie i 3 delar</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa ett bokserie-koncept för barn med AI-prompt</title>
		<link>https://nodenordic.se/prompts/skapa-ett-bokserie-koncept-for-barn-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-ett-bokserie-koncept-for-barn-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:35:26 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000630</guid>

					<description><![CDATA[<p>Svårt att göra barnvänliga ämnen roliga? Denna AI-prompt tar fram ett originalt, serieklart bokkoncept med karaktärer, värld och handling.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-ett-bokserie-koncept-for-barn-med-ai-prompt/">Skapa ett bokserie-koncept för barn med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: kids book series -->

<div class="hook-introduction">

<p>Du har en riktigt bra idé till en barnbok. Sedan försöker du göra den till en serie och allt blir otydligt. Karaktärerna känns tunna, världen saknar “regler” och den pedagogiska vinkeln låter som en föreläsning.</p>



<p>Den här <strong>barnboksserien</strong> är byggd för <strong>barnboksförfattare</strong> som behöver ett seriefärdigt koncept de faktiskt kan skriva, <strong>innehållsansvariga på utbildningsvarumärken för barn</strong> som vill ha berättelsevärldar som lär utan att predika, och <strong>frilansande spökskrivare</strong> som snabbt måste pitcha ett nytt koncept till en kund. Resultatet är ett komplett konceptpaket: en lärandekärna, en berättelsefärdig värld, en återkommande rollista med utvecklingsbågar och flera “bokmotorer” (konflikter, överraskningar och krokar som bygger “nästa mysterium”).</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den gör om ett enskilt ämne till ett barnvänligt serietema med en tydlig pedagogisk röd tråd.</li>
          <li>Den väljer en primär lärbar idé plus 2–3 stödjande dellärdomar, formulerade på “barnspråk”.</li>
          <li>Den bygger en tydlig berättelsevärld där reglerna speglar ämnets logik (cykler, mönster, system, orsak och verkan).</li>
          <li>Den designar en återkommande ensemble med drivkrafter, brister och utveckling som kan växa över flera böcker.</li>
          <li>Den skapar återanvändbara berättelsemotorer: konflikter, överraskningar och olösta krokar som naturligt sätter upp bok 2, 3 och vidare.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har ett ämne du bryr dig om, men du ser inte hur du kan lära ut det genom handling i stället för förklaringar.</li>
          <li>Du pitchar en serie till en redaktör eller kund och behöver mer än “en söt karaktär lär sig en läxa”.</li>
          <li>Ditt koncept för bok 1 funkar, men det finns inget självklart sätt att skapa nya äventyr utan att upprepa dig.</li>
          <li>Du vill undvika slitna upplägg (drömavslöjandet, den generiska studieresan) och ändå hålla idén lättillgänglig.</li>
          <li>Du bygger ut ett varumärkesuniversum (böcker, videor, klassrumsresurser) och behöver konsekventa världsregler och återkommande platser.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett seriekonceptpaket centrerat kring ett ämne, designat för att hålla över många böcker.</li>
           <li>1 primär lärbar idé plus 2–3 dellärdomar, där varje del skrivs om till lärandemål på barnspråk.</li>
           <li>En berättelsefärdig miljö med 3–5 världsregler som kan driva framtida handlingar.</li>
           <li>En översikt över återkommande karaktärer, inklusive roller, spänningar och utvecklingsbågar över flera böcker.</li>
           <li>Ett paket med seriens “bokmotorer”, inklusive konflikttyper, överraskningsmekanismer och minst en krok för nästa mysterium.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: bygg seriefärdiga barnbokskoncept</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange det centrala temat eller ämnet som boken ska fokusera på att lära ut och utforska. Välj ett ämne som är lärorikt, engagerande och passar barn.                                    <div class="var-example">Till exempel: "Miljö- och naturvård, med fokus på vikten av återvinning och att skydda vilda djur."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv vilka boken är tänkt för, inklusive åldersgrupp, intressen och relevanta utvecklingsmässiga förutsättningar.                                    <div class="var-example">Till exempel: "Barn i åldern 7–10 år som gillar äventyrsberättelser med magiska inslag och karaktärer som de kan känna igen sig i."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Definiera berättelsens ton, inklusive känsla och språklig stil. Säkerställ att tonen passar målgruppen och de pedagogiska målen.                                    <div class="var-example">Till exempel: "Lekfull och fantasifull med en gnutta mystik, med ett lättillgängligt språk och humor."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Ange vilken struktur eller typ av bok du ser framför dig, till exempel bilderbok, kapitelbok eller en lättläst serie. Ta hänsyn till vilken komplexitet som passar åldersgruppen.                                    <div class="var-example">Till exempel: "En kapitelboksserie med 10–15 korta kapitel och illustrationer utspridda genom hela boken."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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">Hantering av gränsfall</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">OUTPUTSPECIFIKATION</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa ett originellt, barnvänligt boktema centrerat kring **[AMNE]** som är underhållande *och* lärorikt, med tydlig potential att växa till en serie med flera böcker. Leveransen ska innehålla en berättelseklar värld, persongalleri, lärandefokus, karaktärsutveckling och berättelsemotorer (konflikter + överraskningar) som naturligt lär ut koncept kopplade till **[AMNE]**.

## PERSONA
Skriv som en erfaren skapare av barnfiktion och seriearkitekt—mycket fantasirikare, utvecklingsmedveten och skicklig på att väva in verkligt lärande i lekfulla äventyr. Håll språket tillgängligt och levande, som om du pitchar ett nytt bokkoncept till en redaktör.

## BEGRÄNSNINGAR
- Passar för barn (ingen grafisk våldsskildring, grymhet eller mogna teman).
- Den pedagogiska tråden måste vara korrekt *och* lätt att förstå genom handling i berättelsen, inte genom föreläsningar.
- Temat ska kännas fräscht (undvik vanliga, uttjatade “skolutflykt”- eller “allt var bara en dröm”-upplägg om du inte återuppfinner dem rejält).
- Bygg in serielivslängd: återkommande platser, expanderbara världsregler och olösta “nästa mysterium”-krokar.
- Använd **leveransstandarderna** nedan; följ **leveransstrukturen** exakt.

### Vad detta INTE är
- Inte ett fullständigt manus, en kapitel-för-kapitel-översikt eller färdiga prosasidor.
- Inte en torr lektionsplan eller lärobokssammanfattning av **[AMNE]**.
- Inte en marknadsplan, baksidestext eller illustrationsbrief (om det inte uttryckligen efterfrågas i inputs).

## PROCESS
1. **Föranalys (obligatorisk):** Formulera din förståelse av uppgiften i 2–4 meningar, inklusive vilken ålderskänsla du siktar på och vilken del av **[AMNE]** du kommer att lära ut genom berättelsen.
2. **Lärandekärna:** Välj 1 primär lärbar idé inom **[AMNE]** plus 2–3 stödjande underlektioner. Omvandla var och en till formuleringar på “barnspråk”.
3. **Världssmide:** Uppfinn en tydlig miljö där platsens regler speglar logiken i **[AMNE]** (t.ex. orsak/verkan, cykler, system, mönster). Lägg till 3–5 världsregler som kan driva flera böcker.
4. **Hjälteteam:** Skapa huvudkaraktärer (barn eller barnkodade varelser) med kontrasterande drag, inklusive en brist som skapar problem. Säkerställ att var och en har ett personligt mål kopplat till lärandekärnan.
5. **Utvecklingsbanor:** Kartlägg hur varje huvudkaraktär förändras till slutet (vad de tror i början vs. vad de lär sig att göra annorlunda).
6. **Berättelsemotor:** Föreslå ett centralt problem, eskalerande hinder och en “hook-mekanism” (en återkommande berättelsepryl som gör framtida avsnitt enkla).
7. **Överraskningar:** Lägg till 2–3 plotvändningar som är rättvisa (kan föraningen planteras) och direkt kopplade till förståelsen av **[AMNE]**.
8. **Allierade &amp; guider:** Lägg till biroller (djur, magisk figur, uppfinnare, bibliotekarie, etc.) som hjälper—men inte löser allt. Ge var och en en tydlig funktion.
9. **Slut + seriedörr:** Ge en tillfredsställande upplösning med en moral/insikt kopplad till **[AMNE]**, plus 2 frön till uppföljare.

### Hantering av gränsfall
- Om **[AMNE]** är brett, välj en specifik del och förklara ditt val i föranalysen.
- Om **[AMNE]** är känsligt/avancerat (t.ex. tung vetenskap, tragedi, konflikt), förenkla till åldersanpassade metaforer och fokusera på säkra, konstruktiva vinklar.
- Om **[AMNE]** är oklart, föreslå 3 tolkningar och gå vidare med den starkaste.

## INPUTS
- **Ämne för boken:** [AMNE]
- **Primär användargrupp (valfritt):** [MALGRUPP]
- **Tonpreferens (valfritt):** [TON]
- **Format-/längdpreferens (valfritt):** [FORMAT]

## OUTPUTSPECIFIKATION
Tillhandahåll följande avsnitt i ordning:

1. **Uppgiftsförståelse**
   - {Intended Age Feel}
   - {Learning Focus Chosen From Topic}
   - {One-Sentence Promise Of The Series}

2. **Temauttalande**
   - {Theme Logline} (1–2 meningar)
   - {Core Lesson In Kid Words}
   - {Supporting Lessons} (punkter)

3. **Miljö &amp; världsregler**
   - {World Name And Description}
   - {Key Locations} (3–6 punkter)
   - {World Rules That Enable Many Stories} (3–5 punkter)
   - {Series “Home Base” Location}

4. **Huvudkaraktärer**
   För varje huvudkaraktär:
   - {Name}
   - {Role In The Group}
   - {Personality Snapshot}
   - {Flaw / Limitation}
   - {Personal Goal}
   - {Arc: Start → Shift → End}

5. **Stödrollista**
   För varje biroll:
   - {Name}
   - {Type (mentor/sidekick/rival/etc.)}
   - {How They Help The Learning Without Lecturing}
   - {Recurring Series Potential}

6. **Plottskiss (bok 1)**
   - {Inciting Incident}
   - {Main Problem}
   - {Rising Challenges} (3–5 punkter kopplade till lektioner)
   - {Plot Twists} (2–3 punkter)
   - {Climax Choice The Heroes Must Make}
   - {Resolution + Clear Takeaway}

7. **Krokar för serieexpansion**
   - {Recurring Hook Mechanism}
   - {Next-Book Seeds} (2–4 punkter)
   - {Long-Arc Mystery Or Goal} (1–2 meningar)

## KVALITETSKONTROLLER
På slutet, inkludera en kort checklista som bekräftar:
- Det pedagogiska innehållet är inbäddat i händelser, inte förklarat som en föreläsning.
- Karaktärerna visar meningsfull utveckling kopplad till **[AMNE]**.
- Miljön har återanvändbara regler och platser som passar för en serie.
- Plottet innehåller minst två rättvisa överraskningar kopplade till lärandet.
- Konceptet är åldersanpassat, originellt och lätt att pitcha i en mening.            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett originellt, barnv\u00e4nligt boktema centrerat kring **[AMNE]** som \u00e4r underh\u00e5llande *och* l\u00e4rorikt, med tydlig potential att v\u00e4xa till en serie med flera b\u00f6cker. Leveransen ska inneh\u00e5lla en ber\u00e4ttelseklar v\u00e4rld, persongalleri, l\u00e4randefokus, karakt\u00e4rsutveckling och ber\u00e4ttelsemotorer (konflikter + \u00f6verraskningar) som naturligt l\u00e4r ut koncept kopplade till **[AMNE]**.\r\n\r\n## PERSONA\r\nSkriv som en erfaren skapare av barnfiktion och seriearkitekt\u2014mycket fantasirikare, utvecklingsmedveten och skicklig p\u00e5 att v\u00e4va in verkligt l\u00e4rande i lekfulla \u00e4ventyr. H\u00e5ll spr\u00e5ket tillg\u00e4ngligt och levande, som om du pitchar ett nytt bokkoncept till en redakt\u00f6r.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Passar f\u00f6r barn (ingen grafisk v\u00e5ldsskildring, grymhet eller mogna teman).\r\n- Den pedagogiska tr\u00e5den m\u00e5ste vara korrekt *och* l\u00e4tt att f\u00f6rst\u00e5 genom handling i ber\u00e4ttelsen, inte genom f\u00f6rel\u00e4sningar.\r\n- Temat ska k\u00e4nnas fr\u00e4scht (undvik vanliga, uttjatade \u201cskolutflykt\u201d- eller \u201callt var bara en dr\u00f6m\u201d-uppl\u00e4gg om du inte \u00e5teruppfinner dem rej\u00e4lt).\r\n- Bygg in serielivsl\u00e4ngd: \u00e5terkommande platser, expanderbara v\u00e4rldsregler och ol\u00f6sta \u201cn\u00e4sta mysterium\u201d-krokar.\r\n- Anv\u00e4nd **leveransstandarderna** nedan; f\u00f6lj **leveransstrukturen** exakt.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte ett fullst\u00e4ndigt manus, en kapitel-f\u00f6r-kapitel-\u00f6versikt eller f\u00e4rdiga prosasidor.\r\n- Inte en torr lektionsplan eller l\u00e4robokssammanfattning av **[AMNE]**.\r\n- Inte en marknadsplan, baksidestext eller illustrationsbrief (om det inte uttryckligen efterfr\u00e5gas i inputs).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** Formulera din f\u00f6rst\u00e5else av uppgiften i 2\u20134 meningar, inklusive vilken \u00e5ldersk\u00e4nsla du siktar p\u00e5 och vilken del av **[AMNE]** du kommer att l\u00e4ra ut genom ber\u00e4ttelsen.\r\n2. **L\u00e4randek\u00e4rna:** V\u00e4lj 1 prim\u00e4r l\u00e4rbar id\u00e9 inom **[AMNE]** plus 2\u20133 st\u00f6djande underlektioner. Omvandla var och en till formuleringar p\u00e5 \u201cbarnspr\u00e5k\u201d.\r\n3. **V\u00e4rldssmide:** Uppfinn en tydlig milj\u00f6 d\u00e4r platsens regler speglar logiken i **[AMNE]** (t.ex. orsak\/verkan, cykler, system, m\u00f6nster). L\u00e4gg till 3\u20135 v\u00e4rldsregler som kan driva flera b\u00f6cker.\r\n4. **Hj\u00e4lteteam:** Skapa huvudkarakt\u00e4rer (barn eller barnkodade varelser) med kontrasterande drag, inklusive en brist som skapar problem. S\u00e4kerst\u00e4ll att var och en har ett personligt m\u00e5l kopplat till l\u00e4randek\u00e4rnan.\r\n5. **Utvecklingsbanor:** Kartl\u00e4gg hur varje huvudkarakt\u00e4r f\u00f6r\u00e4ndras till slutet (vad de tror i b\u00f6rjan vs. vad de l\u00e4r sig att g\u00f6ra annorlunda).\r\n6. **Ber\u00e4ttelsemotor:** F\u00f6resl\u00e5 ett centralt problem, eskalerande hinder och en \u201chook-mekanism\u201d (en \u00e5terkommande ber\u00e4ttelsepryl som g\u00f6r framtida avsnitt enkla).\r\n7. **\u00d6verraskningar:** L\u00e4gg till 2\u20133 plotv\u00e4ndningar som \u00e4r r\u00e4ttvisa (kan f\u00f6raningen planteras) och direkt kopplade till f\u00f6rst\u00e5elsen av **[AMNE]**.\r\n8. **Allierade & guider:** L\u00e4gg till biroller (djur, magisk figur, uppfinnare, bibliotekarie, etc.) som hj\u00e4lper\u2014men inte l\u00f6ser allt. Ge var och en en tydlig funktion.\r\n9. **Slut + seried\u00f6rr:** Ge en tillfredsst\u00e4llande uppl\u00f6sning med en moral\/insikt kopplad till **[AMNE]**, plus 2 fr\u00f6n till uppf\u00f6ljare.\r\n\r\n### Hantering av gr\u00e4nsfall\r\n- Om **[AMNE]** \u00e4r brett, v\u00e4lj en specifik del och f\u00f6rklara ditt val i f\u00f6ranalysen.\r\n- Om **[AMNE]** \u00e4r k\u00e4nsligt\/avancerat (t.ex. tung vetenskap, tragedi, konflikt), f\u00f6renkla till \u00e5ldersanpassade metaforer och fokusera p\u00e5 s\u00e4kra, konstruktiva vinklar.\r\n- Om **[AMNE]** \u00e4r oklart, f\u00f6resl\u00e5 3 tolkningar och g\u00e5 vidare med den starkaste.\r\n\r\n## INPUTS\r\n- **\u00c4mne f\u00f6r boken:** [AMNE]\r\n- **Prim\u00e4r anv\u00e4ndargrupp (valfritt):** [MALGRUPP]\r\n- **Tonpreferens (valfritt):** [TON]\r\n- **Format-\/l\u00e4ngdpreferens (valfritt):** [FORMAT]\r\n\r\n## OUTPUTSPECIFIKATION\r\nTillhandah\u00e5ll f\u00f6ljande avsnitt i ordning:\r\n\r\n1. **Uppgiftsf\u00f6rst\u00e5else**\r\n   - {Intended Age Feel}\r\n   - {Learning Focus Chosen From Topic}\r\n   - {One-Sentence Promise Of The Series}\r\n\r\n2. **Temauttalande**\r\n   - {Theme Logline} (1\u20132 meningar)\r\n   - {Core Lesson In Kid Words}\r\n   - {Supporting Lessons} (punkter)\r\n\r\n3. **Milj\u00f6 & v\u00e4rldsregler**\r\n   - {World Name And Description}\r\n   - {Key Locations} (3\u20136 punkter)\r\n   - {World Rules That Enable Many Stories} (3\u20135 punkter)\r\n   - {Series \u201cHome Base\u201d Location}\r\n\r\n4. **Huvudkarakt\u00e4rer**\r\n   F\u00f6r varje huvudkarakt\u00e4r:\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. **St\u00f6drollista**\r\n   F\u00f6r varje biroll:\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. **Plottskiss (bok 1)**\r\n   - {Inciting Incident}\r\n   - {Main Problem}\r\n   - {Rising Challenges} (3\u20135 punkter kopplade till lektioner)\r\n   - {Plot Twists} (2\u20133 punkter)\r\n   - {Climax Choice The Heroes Must Make}\r\n   - {Resolution + Clear Takeaway}\r\n\r\n7. **Krokar f\u00f6r serieexpansion**\r\n   - {Recurring Hook Mechanism}\r\n   - {Next-Book Seeds} (2\u20134 punkter)\r\n   - {Long-Arc Mystery Or Goal} (1\u20132 meningar)\r\n\r\n## KVALITETSKONTROLLER\r\nP\u00e5 slutet, inkludera en kort checklista som bekr\u00e4ftar:\r\n- Det pedagogiska inneh\u00e5llet \u00e4r inb\u00e4ddat i h\u00e4ndelser, inte f\u00f6rklarat som en f\u00f6rel\u00e4sning.\r\n- Karakt\u00e4rerna visar meningsfull utveckling kopplad till **[AMNE]**.\r\n- Milj\u00f6n har \u00e5teranv\u00e4ndbara regler och platser som passar f\u00f6r en serie.\r\n- Plottet inneh\u00e5ller minst tv\u00e5 r\u00e4ttvisa \u00f6verraskningar kopplade till l\u00e4randet.\r\n- Konceptet \u00e4r \u00e5ldersanpassat, originellt och l\u00e4tt att pitcha i en mening.";
    const variables = ["[AMNE]","[MALGRUPP]","[TON]","[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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-prompten</h2>



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

<li><strong>Välj en smal del av ämnet, inte ett helt område.</strong> “Rymden” är för stort; “hur kratrar bildas” ger prompten något lärbart som kan synas i actionscener. Vill du ha bredd, be AI:n förankra bok 1 i en del och spara andra delar till senare titlar.</li>


<li><strong>Bestäm ålderskänsla innan du kör.</strong> Prompten ber om utvecklingsanpassat språk, men du behöver ändå definiera vad “barnvänligt” betyder i ditt projekt. Lägg till en instruktion på en rad, till exempel: “Sikta på 6–8 år med korta meningar, lekfulla metaforer och minimalt med sarkasm.”</li>


<li><strong>Tvinga fram lärande genom “visa, inte berätta”.</strong> När du fått lärandekärnan, följ upp med: “För varje dellärdom, ge 2 scenidéer där karaktären lär sig genom att göra något, inte genom att bli tillsagd.” Den justeringen tar oftast bort “lärobokskänslan”.</li>


<li><strong>Iterera världsreglerna tills de skapar handling.</strong> En bra regel ska skapa problem. Efter första resultatet, prova: “Skriv om de 5 världsreglerna så att var och en naturligt orsakar en komplikation, ett missförstånd eller en överraskande twist.”</li>


<li><strong>Korskontrollera ensemblen med en karaktärsdossier-prompt.</strong> När du gillar grundkonceptet, fördjupa hjälten och sidekicken med <a href="https://nodenordic.se/prompts/bygg-ett-berattelseklart-karaktarsdossier-med-ai-prompt">Bygg en berättelsefärdig karaktärsdossier med den här AI-prompten</a>. Kom sedan tillbaka och säg: “Uppdatera seriemotorerna så att de passar de här fastställda karaktärsbristerna och målen.”</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När ditt seriekoncept sitter hjälper de här promptarna dig att utveckla karaktärerna, scenerna och “förpackningen” som gör att det blir levande.</p>



<p>Om du också behöver en rikare historia “innan boken börjar” för din hjälte (såret, längtan, varför de reagerar som de gör), använd <a href="https://nodenordic.se/prompts/skriv-en-filmisk-karaktarsbakgrund-med-denna-ai-prompt">Skriv en filmisk karaktärsbackstory med den här AI-prompten</a>. Det är ett strukturerat sätt att göra en enkel barnprotagonist till någon som är konsekvent nog att bära fem äventyr utan att glida ur karaktär.</p>



<p>När du är redo att testa hur världsreglerna faktiskt känns på sidan, skriv några nyckelögonblick med <a href="https://nodenordic.se/prompts/skriv-filmiska-fiktionsscener-med-denna-ai-prompt">Skriv filmiska fiktionsscener med den här AI-prompten</a>. Ta en konfliktmotor från ditt seriekoncept (ett återkommande hinder, en återkommande överraskning) och skapa 2–3 scenvarianter för att se vilken ton som passar bäst.</p>



<p>För team som jobbar med story first-marknadsföring (eller klassrumsinnehåll som behöver berättelsedriv), hjälper <a href="https://nodenordic.se/prompts/skriv-ett-berattelsedrivet-videomanus-med-denna-ai-prompt">Skriv ett berättelsedrivet videomanus med den här AI-prompten</a> dig att översätta ditt bokkoncept till ett kort avsnittsformat. Den är praktisk om din “serie” ska leva i flera medier: högläsningsvideor, animerade kortfilmer eller lektionskompanjoner.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skriv-en-filmisk-karaktarsbakgrund-med-denna-ai-prompt">Skriv en filmisk karaktärsbackstory med den här AI-prompten</a>: Bakgrund som driver konsekventa drivkrafter.</li>


<li><a href="https://nodenordic.se/prompts/skriv-filmiska-fiktionsscener-med-denna-ai-prompt">Skriv filmiska fiktionsscener med den här AI-prompten</a>: Skissa levande scener från ditt koncept.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-berattelsedrivet-videomanus-med-denna-ai-prompt">Skriv ett berättelsedrivet videomanus med den här AI-prompten</a>: Gör story beats till videomanus.</li>


<li><a href="https://nodenordic.se/prompts/skapa-relaterbara-storyvinklar-med-denna-ai-prompt">Skapa relaterbara berättelsevinklar med den här AI-prompten</a>: Hitta emotionella vinklar barn känner igen.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-berattelseklart-karaktarsdossier-med-ai-prompt">Bygg en berättelsefärdig karaktärsdossier med den här AI-prompten</a>: Fördjupa karaktärsröst, brister och mål.</li>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en barnboksserie?</span>

<p class="answer"><strong>Barnboksförfattare</strong> använder den för att göra en enda idé till ett upprepningsbart serieupplägg (världsregler, ensemble och konflikter) i stället för en engångshandling. <strong>Frilansare inom förlag och spökskrivare</strong> använder den för att snabbt skapa pitchklara konceptpaket, med tydliga lärandemål och krokar för “bok 2”. <strong>Läroplansförfattare inom edtech eller på museum</strong> använder den för att bädda in korrekta koncept i berättelsehandling, så att lärande sker genom val och konsekvenser. <strong>Innehållsstrateger för barnvarumärken</strong> använder den för att bygga ett konsekvent berättelseuniversum som kan växa till videor, aktivitetsblad och högläsningsmanus.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en barnboksserie?</span>

<p class="answer"><strong>Barnutgivning</strong> får värde eftersom prompten levererar det redaktörer letar efter: ett fräscht koncept, tydlig målgruppskänsla och serielivslängd bortom bok 1. Team inom <strong>utbildning och edtech</strong> använder den för att designa berättelser som lär ut en definierad lärandekärna (en stor idé plus dellärdomar) utan att bli en lektionsplan. <strong>Museer, ideella organisationer och science centers</strong> kan bygga uppdragsanpassade karaktärer och världar som förklarar svåra ämnen genom lekfulla äventyr med orsak och verkan. <strong>Mediastudior för barn</strong> använder världsreglerna och återkommande konflikter som grund för episodiskt innehåll och karaktärsbiblar.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för att skapa ett barnboksseriekoncept svaga resultat?</span>

<p class="answer">En typisk prompt som “Skriv en barnboksserie om rymden” misslyckas eftersom den: saknar en definierad lärandekärna (så “lärdomen” blir slumpmässig), ger inga världsregler som skapar handling, ignorerar utvecklingsanpassat språk och ton, producerar generiska karaktärstyper i stället för utvecklingsbågar och missar upprepningsbara berättelsemotorer som kan bära flera böcker. Ofta får du en söt premiss men ingenstans att ta vägen. Den här prompten tvingar fram struktur: vad som lärs ut, hur det lärs ut genom handling och hur världen hela tiden skapar nya problem att lösa.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här barnboksserie-prompten för min specifika situation?</span>

<p class="answer">Ja. Huvudvariabeln är [TOPIC], så anpassa genom att smalna av den (till exempel “pollinering” i stället för “växter”) och ange en ålderskänsla (som “5–7 år, rytm för högläsning”). Du kan också lägga till begränsningar som grundprompten nämner men inte låser, som “håll humorn mjuk”, “undvik magi” eller “lägg det i en kuststad”. När du fått första konceptet är en stark uppföljning: “Ge mig tre alternativa versioner av World Forge med olika miljöer, men behåll samma lärandekärna.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för en barnboksserie?</span>

<p class="answer">Det största misstaget är att lämna [TOPIC] för vagt—i stället för “vänskap”, prova “laga vänskap efter ett missförstånd (be om ursäkt, gottgöra, bygga upp tillit igen)”. Ett annat vanligt fel är att be om ett helt manus trots att prompten är gjord för ett konceptpaket; bättre: be om “en plan för 5 böcker med premisser på en mening” när konceptet är klart. Många glömmer också att ange avsedd ålderskänsla, vilket kan ge språk som blir för vuxet eller för bebisaktigt; ange ett spann och läsformat (börja-läsa själv vs. högläsning). Till sist accepterar många världsregler som är dekorativa i stället för handlingsdrivande, så tryck på regler som skapar problem (“Om du bryter regel #2, vad går fel direkt?”).</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för en barnboksserie?</span>

<p class="answer">Den här prompten är inte optimal för team som bara behöver ett snabbt rim eller en enda godnattsaga utan planer på att bygga vidare. Den passar heller inte perfekt om du ännu inte har valt ämne och hoppas att AI:n ska välja hela riktningen från grunden. Och om målet är färdiga, publiceringsklara prosasidor behöver du en skrivprompt efter det här konceptarbetet. I de fallen: börja med enkel idégenerering eller gå direkt till scen-skrivande när du redan vet konceptet.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en barnboksserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnboksförfattare använder den för att göra en enda idé till ett upprepningsbart serieupplägg (världsregler, ensemble och konflikter) i stället för en engångshandling. Frilansare inom förlag och spökskrivare använder den för att snabbt skapa pitchklara konceptpaket, med tydliga lärandemål och krokar för “bok 2”. Läroplansförfattare inom edtech eller på museum använder den för att bädda in korrekta koncept i berättelsehandling, så att lärande sker genom val och konsekvenser. Innehållsstrateger för barnvarumärken använder den för att bygga ett konsekvent berättelseuniversum som kan växa till videor, aktivitetsblad och högläsningsmanus."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en barnboksserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnutgivning får värde eftersom prompten levererar det redaktörer letar efter: ett fräscht koncept, tydlig målgruppskänsla och serielivslängd bortom bok 1. Team inom utbildning och edtech använder den för att designa berättelser som lär ut en definierad lärandekärna (en stor idé plus dellärdomar) utan att bli en lektionsplan. Museer, ideella organisationer och science centers kan bygga uppdragsanpassade karaktärer och världar som förklarar svåra ämnen genom lekfulla äventyr med orsak och verkan. Mediastudior för barn använder världsreglerna och återkommande konflikter som grund för episodiskt innehåll och karaktärsbiblar."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att skapa ett barnboksseriekoncept svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv en barnboksserie om rymden” misslyckas eftersom den: saknar en definierad lärandekärna (så “lärdomen” blir slumpmässig), ger inga världsregler som skapar handling, ignorerar utvecklingsanpassat språk och ton, producerar generiska karaktärstyper i stället för utvecklingsbågar och missar upprepningsbara berättelsemotorer som kan bära flera böcker. Ofta får du en söt premiss men ingenstans att ta vägen. Den här prompten tvingar fram struktur: vad som lärs ut, hur det lärs ut genom handling och hur världen hela tiden skapar nya problem att lösa."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här barnboksserie-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Huvudvariabeln är [TOPIC], så anpassa genom att smalna av den (till exempel “pollinering” i stället för “växter”) och ange en ålderskänsla (som “5–7 år, rytm för högläsning”). Du kan också lägga till begränsningar som grundprompten nämner men inte låser, som “håll humorn mjuk”, “undvik magi” eller “lägg det i en kuststad”. När du fått första konceptet är en stark uppföljning: “Ge mig tre alternativa versioner av World Forge med olika miljöer, men behåll samma lärandekärna.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en barnboksserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TOPIC] för vagt—i stället för “vänskap”, prova “laga vänskap efter ett missförstånd (be om ursäkt, gottgöra, bygga upp tillit igen)”. Ett annat vanligt fel är att be om ett helt manus trots att prompten är gjord för ett konceptpaket; bättre: be om “en plan för 5 böcker med premisser på en mening” när konceptet är klart. Många glömmer också att ange avsedd ålderskänsla, vilket kan ge språk som blir för vuxet eller för bebisaktigt; ange ett spann och läsformat (börja-läsa själv vs. högläsning). Till sist accepterar många världsregler som är dekorativa i stället för handlingsdrivande, så tryck på regler som skapar problem (“Om du bryter regel #2, vad går fel direkt?”)."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för en barnboksserie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för team som bara behöver ett snabbt rim eller en enda godnattsaga utan planer på att bygga vidare. Den passar heller inte perfekt om du ännu inte har valt ämne och hoppas att AI:n ska välja hela riktningen från grunden. Och om målet är färdiga, publiceringsklara prosasidor behöver du en skrivprompt efter det här konceptarbetet. I de fallen: börja med enkel idégenerering eller gå direkt till scen-skrivande när du redan vet konceptet."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>En stark serie är inte bara en karaktär och en sensmoral. Det är en värld som fortsätter skapa äventyr. Klistra in prompten i ditt AI-verktyg, välj ett fokuserat ämne och bygg ett koncept du kan utveckla i flera år.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-ett-bokserie-koncept-for-barn-med-ai-prompt/">Skapa ett bokserie-koncept för barn med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI-prompt för att skriva en barnbokstitel</title>
		<link>https://nodenordic.se/prompts/ai-prompt-for-att-skriva-en-barnbokstitel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-prompt-for-att-skriva-en-barnbokstitel</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:34:26 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000629</guid>

					<description><![CDATA[<p>Barnbokstitlar känns ofta bleka. Denna AI-prompt skapar en slagkraftig titel på 5–6 ord med temaledtrådar för vårdnadshavare.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-for-att-skriva-en-barnbokstitel/">AI-prompt för att skriva en barnbokstitel</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: childrens book title -->
<div class="hook-introduction">

<p>Din barnbok kan vara fantastisk och ändå bli förbisedd. Ofta är det titeln. För lång, för vag, eller så låter den som varenda annan “Den lilla ___ som ___” i hyllan.</p>



<p>Den här <strong>childrens book title</strong> är byggd för <strong>barnboksförfattare</strong> som har en stark storyidé men inte får till namnet, <strong>föräldrar som självpublicerar</strong> och testar ett koncept innan de betalar för illustrationer, och <strong>pedagoger som skapar klassrumsböcker</strong> som behöver en titel barn kan säga högt. Resultatet är en tydlig 5–6-ordstitel (plus en kort motivering) som antyder tema och känsloton utan att avslöja handlingen.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger berättelsens fokus, målgruppens ålder/nivå och temat i en snabb föranalys så att du kan bekräfta riktningen.</li>
          <li>Den plockar ut 2–4 “titelingredienser” (karaktärstyp, miljökänsla, känslolöfte och lärandevinkel) från dina input.</li>
          <li>Den genererar förslag med specifika namnmönster, till exempel karaktärsdrivna, platsdrivna och handlingsdrivna strukturer.</li>
          <li>Den filtrerar alternativen på högläsningsklarhet, minnesvärdhet, nyfikenhet och “slagkraft på omslaget”, och snävar sedan in till det starkaste valet.</li>
          <li>Den levererar ett slutligt val med en motivering på en mening kopplad till ditt kärntema eller budskap.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har en bra premiss, men varje titel du testar känns antingen blek eller för krånglig för att barn ska kunna upprepa den.</li>
          <li>Du ska snart beställa ett omslag och vill ha en kort titel som ser tydlig ut i miniatyrformat.</li>
          <li>Du skriver för en specifik läsnivå och behöver enkla ord som ändå känns lekfulla och meningsfulla.</li>
          <li>Du ser konkurrerande böcker med starkare hyllattraktion och behöver en titel som snabbt signalerar förundran eller lärande.</li>
          <li>Du validerar ett koncept med vårdnadshavare, bibliotekarier eller lärare och behöver en titel som låter både trygg och rolig.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En slutlig barnbokstitel begränsad till 5–6 ord.</li>
           <li>En kort föranalys som sammanfattar målgrupp, ton och berättelsefokus.</li>
           <li>En kort urvalsmotivering (en mening) kopplad till kärntemat/budskapet.</li>
           <li>En uppsättning titelkandidater som genereras via flera namnmönster (innan den slutliga väljs).</li>
           <li>En enkel filterlogik i checklistformat som visar varför vinnaren slog de andra alternativen.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: titelskapare för barnbok (5–6 ord)</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange bokens huvudsakliga ämne eller fokus. Det kan vara en idé, ett koncept eller ett tema som berättelsen kretsar kring.                                    <div class="var-example">Till exempel: "Vänskap mellan en räv och en kanin i en magisk skog."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Säkerställ att alla användarinmatningar följer det angivna formatet med versaler och understreck. Detta gäller platshållare som [TOPIC].                                    <div class="var-example">Till exempel: "[AMNE], [KARNTEMA_ELLER_BUDSKAP], [UNIKA_ELEMENT]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ANTAL_TITLAR]</code></td>
                                <td class="var-desc">
                                    Ange hur många titelförslag du vill få genererade. Ange ett tal, vanligtvis mellan 1 och 10.                                    <div class="var-example">Till exempel: "3"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ANTAL_TITLAR]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KARNTEMA_ELLER_BUDSKAP]</code></td>
                                <td class="var-desc">
                                    Beskriv den centrala idén eller lärdomen som berättelsen vill förmedla. Det bör vara en kort, meningsfull fras eller mening.                                    <div class="var-example">Till exempel: "Vikten av teamwork och tillit."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KARNTEMA_ELLER_BUDSKAP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALALDERGRUPP]</code></td>
                                <td class="var-desc">
                                    Ange vilken åldersspann boken är avsedd för. Inkludera siffror eller beskrivande intervall.                                    <div class="var-example">Till exempel: "4–8 år."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[MALALDERGRUPP]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Ange vilken typ av bokformat det gäller, till exempel bilderbok, kapitelbok för nybörjarläsare eller grafisk roman.                                    <div class="var-example">Till exempel: "Bilderbok."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UNIKA_ELEMENT]</code></td>
                                <td class="var-desc">
                                    Lista berättelsens särskiljande inslag, till exempel specifika karaktärer, miljöer eller vändningar som gör att den sticker ut.                                    <div class="var-example">Till exempel: "Ett talande träd som hjälper djur att lösa problem."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UNIKA_ELEMENT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Beskriv bokens känslomässiga ton eller stämning, till exempel äventyrlig, mysig, knasig eller mild.                                    <div class="var-example">Till exempel: "Äventyrlig och lekfull."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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">Hantering av edge cases</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">INMATNINGAR</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">SPECIFIKATION FÖR OUTPUT</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa en iögonfallande barnbokstitel som passar en berättelse om [AMNE], matchar den avsedda läsnivån och tilltalar både barn och de vuxna som väljer böcker åt dem. Titeln måste kännas lekfull och meningsfull samtidigt som den antyder berättelsens hjärta utan att avslöja handlingen.

## PERSONA
Du är en erfaren skapare av bilderböcker och lättlästa berättelser som är specialiserad på ljusa, fantasifulla namn som fungerar när de läses högt i klassrum och vid läggdags. Du balanserar lekfullhet med tydlighet och har koll på vad som ser bra ut på ett omslag.

## BEGRÄNSNINGAR
- Titellängd: **max 5–6 ord**
- Språk: enkelt, lättläst och lätt att uttala för åldersgruppen
- Måste signalera **förundran/äventyr/lärande** och stämma med berättelsens känslomässiga ton
- Bör vara tillräckligt unik för att sticka ut på en bokhandelshylla
- Undvik spoilers; reta premissen i stället för att sammanfatta den
- Efterlevnad av variabelformat: använd **[VERSALER_MED_UNDERSCORE]** endast för användarinmatningar och **{Title Case}** endast för AI-ifyllda platshållare

### Vad detta INTE är
- Inte en fullständig handling, synopsis, uppsättning taglines eller ett komplett paket med omslagstext  
- Inte ett system för serienamn eller varumärkes-/juridisk kontroll  
- Inte en lista med dussintals alternativ (om inte användaren uttryckligen ändrar [ANTAL_TITLAR])

## PROCESS
1. **Föranalys (krävs):** Återge kort din förståelse av berättelsens fokus, publikens ålder, tema och unika element baserat på de givna inmatningarna.
2. Extrahera 2–4 “titingredienser” från inmatningarna (t.ex. huvudkaraktärstyp, miljökänsla, känslolöfte, lärandeperspektiv).
3. Generera flera kandidattitlar med olika namngivningsmönster, såsom:
   - Karaktärsdriven: “{Character} and the {Wonder}”
   - Platsdriven: “The {Magical Place} Mystery”
   - Handlingsdriven: “How {Character} Learned to {Skill}”
4. Filtrera kandidater utifrån: läsbarhet för ålder, minnesvärdhet, nyfikenhet och hyll-/omslagskraft.
5. Välj den bästa slutliga titeln och ge en motivering på en mening kopplad till [KARNTEMA_ELLER_BUDSKAP].

### Hantering av edge cases
- Om någon inmatning saknas eller är vag, gör **ett rimligt antagande** och märk det tydligt som ett antagande.
- Om [MALALDERGRUPP] spänner brett (t.ex. “3–10”), optimera för den **yngre delen** om inte [FORMAT] anger något annat.
- Om [UNIKA_ELEMENT] innehåller många saker, prioritera den **mest särskiljande** för namngivningen.

## INMATNINGAR
- **Berättelseämne:** [AMNE]  
- **Målåldersgrupp:** [MALALDERGRUPP]  
- **Kärntema eller budskap:** [KARNTEMA_ELLER_BUDSKAP]  
- **Unika element (karaktärer/miljö/specialtwist):** [UNIKA_ELEMENT]  
- **Antal titelförslag att generera (valfritt):** [ANTAL_TITLAR]  
- **Ton (valfritt; t.ex. mysig, tokig, äventyrlig, mild):** [TON]  

## SPECIFIKATION FÖR OUTPUT
Leverera:
- **{Task Understanding}** (1–2 meningar)
- **{Final Title}** (måste vara max 5–6 ord)
- **{Why This Title Works}** (en mening som refererar till ålderspassning + tema + nyfikenhet)

Om [ANTAL_TITLAR] anges och är större än 1, inkludera också:
- **{Alternate Titles}** (en kort lista), där varje titel följer samma längdregel.

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Längden är inom **5–6 ord**
- Lätt att säga högt och åldersanpassad för [MALALDERGRUPP]
- Kommunicerar rätt känslolöfte (nyfikenhet, förundran, spänning, trygghet)
- Antyder upplevelsen/lärandet utan att avslöja slutet
- Särskiljande formulering som inte känns generisk eller alltför lik vanliga klassiker            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en i\u00f6gonfallande barnbokstitel som passar en ber\u00e4ttelse om [AMNE], matchar den avsedda l\u00e4sniv\u00e5n och tilltalar b\u00e5de barn och de vuxna som v\u00e4ljer b\u00f6cker \u00e5t dem. Titeln m\u00e5ste k\u00e4nnas lekfull och meningsfull samtidigt som den antyder ber\u00e4ttelsens hj\u00e4rta utan att avsl\u00f6ja handlingen.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren skapare av bilderb\u00f6cker och l\u00e4ttl\u00e4sta ber\u00e4ttelser som \u00e4r specialiserad p\u00e5 ljusa, fantasifulla namn som fungerar n\u00e4r de l\u00e4ses h\u00f6gt i klassrum och vid l\u00e4ggdags. Du balanserar lekfullhet med tydlighet och har koll p\u00e5 vad som ser bra ut p\u00e5 ett omslag.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Titell\u00e4ngd: **max 5\u20136 ord**\r\n- Spr\u00e5k: enkelt, l\u00e4ttl\u00e4st och l\u00e4tt att uttala f\u00f6r \u00e5ldersgruppen\r\n- M\u00e5ste signalera **f\u00f6rundran\/\u00e4ventyr\/l\u00e4rande** och st\u00e4mma med ber\u00e4ttelsens k\u00e4nslom\u00e4ssiga ton\r\n- B\u00f6r vara tillr\u00e4ckligt unik f\u00f6r att sticka ut p\u00e5 en bokhandelshylla\r\n- Undvik spoilers; reta premissen i st\u00e4llet f\u00f6r att sammanfatta den\r\n- Efterlevnad av variabelformat: anv\u00e4nd **[VERSALER_MED_UNDERSCORE]** endast f\u00f6r anv\u00e4ndarinmatningar och **{Title Case}** endast f\u00f6r AI-ifyllda platsh\u00e5llare\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en fullst\u00e4ndig handling, synopsis, upps\u00e4ttning taglines eller ett komplett paket med omslagstext  \r\n- Inte ett system f\u00f6r serienamn eller varum\u00e4rkes-\/juridisk kontroll  \r\n- Inte en lista med dussintals alternativ (om inte anv\u00e4ndaren uttryckligen \u00e4ndrar [ANTAL_TITLAR])\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (kr\u00e4vs):** \u00c5terge kort din f\u00f6rst\u00e5else av ber\u00e4ttelsens fokus, publikens \u00e5lder, tema och unika element baserat p\u00e5 de givna inmatningarna.\r\n2. Extrahera 2\u20134 \u201ctitingredienser\u201d fr\u00e5n inmatningarna (t.ex. huvudkarakt\u00e4rstyp, milj\u00f6k\u00e4nsla, k\u00e4nslol\u00f6fte, l\u00e4randeperspektiv).\r\n3. Generera flera kandidattitlar med olika namngivningsm\u00f6nster, s\u00e5som:\r\n   - Karakt\u00e4rsdriven: \u201c{Character} and the {Wonder}\u201d\r\n   - Platsdriven: \u201cThe {Magical Place} Mystery\u201d\r\n   - Handlingsdriven: \u201cHow {Character} Learned to {Skill}\u201d\r\n4. Filtrera kandidater utifr\u00e5n: l\u00e4sbarhet f\u00f6r \u00e5lder, minnesv\u00e4rdhet, nyfikenhet och hyll-\/omslagskraft.\r\n5. V\u00e4lj den b\u00e4sta slutliga titeln och ge en motivering p\u00e5 en mening kopplad till [KARNTEMA_ELLER_BUDSKAP].\r\n\r\n### Hantering av edge cases\r\n- Om n\u00e5gon inmatning saknas eller \u00e4r vag, g\u00f6r **ett rimligt antagande** och m\u00e4rk det tydligt som ett antagande.\r\n- Om [MALALDERGRUPP] sp\u00e4nner brett (t.ex. \u201c3\u201310\u201d), optimera f\u00f6r den **yngre delen** om inte [FORMAT] anger n\u00e5got annat.\r\n- Om [UNIKA_ELEMENT] inneh\u00e5ller m\u00e5nga saker, prioritera den **mest s\u00e4rskiljande** f\u00f6r namngivningen.\r\n\r\n## INMATNINGAR\r\n- **Ber\u00e4ttelse\u00e4mne:** [AMNE]  \r\n- **M\u00e5l\u00e5ldersgrupp:** [MALALDERGRUPP]  \r\n- **K\u00e4rntema eller budskap:** [KARNTEMA_ELLER_BUDSKAP]  \r\n- **Unika element (karakt\u00e4rer\/milj\u00f6\/specialtwist):** [UNIKA_ELEMENT]  \r\n- **Antal titelf\u00f6rslag att generera (valfritt):** [ANTAL_TITLAR]  \r\n- **Ton (valfritt; t.ex. mysig, tokig, \u00e4ventyrlig, mild):** [TON]  \r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nLeverera:\r\n- **{Task Understanding}** (1\u20132 meningar)\r\n- **{Final Title}** (m\u00e5ste vara max 5\u20136 ord)\r\n- **{Why This Title Works}** (en mening som refererar till \u00e5lderspassning + tema + nyfikenhet)\r\n\r\nOm [ANTAL_TITLAR] anges och \u00e4r st\u00f6rre \u00e4n 1, inkludera ocks\u00e5:\r\n- **{Alternate Titles}** (en kort lista), d\u00e4r varje titel f\u00f6ljer samma l\u00e4ngdregel.\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- L\u00e4ngden \u00e4r inom **5\u20136 ord**\r\n- L\u00e4tt att s\u00e4ga h\u00f6gt och \u00e5ldersanpassad f\u00f6r [MALALDERGRUPP]\r\n- Kommunicerar r\u00e4tt k\u00e4nslol\u00f6fte (nyfikenhet, f\u00f6rundran, sp\u00e4nning, trygghet)\r\n- Antyder upplevelsen\/l\u00e4randet utan att avsl\u00f6ja slutet\r\n- S\u00e4rskiljande formulering som inte k\u00e4nns generisk eller alltf\u00f6r lik vanliga klassiker";
    const variables = ["[AMNE]","[VERSALER_MED_UNDERSCORE]","[ANTAL_TITLAR]","[KARNTEMA_ELLER_BUDSKAP]","[MALALDERGRUPP]","[FORMAT]","[UNIKA_ELEMENT]","[TON]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-prompten</h2>



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

<li><strong>Definiera vårdnadshavarens “ja”.</strong> Barn reagerar på rytm, men vuxna står för många köp. Lägg till en rad om vad den vuxna hoppas att boken ska stödja (lugnt vid läggdags, mod i skolan, att lära sig dela). Följdfråga: “Generate titles that feel playful to kids but reassuring to parents who value {CORE_THEME_OR_MESSAGE}.”</li>


<li><strong>Välj en läsnivå och visa den.</strong> Säg inte bara “för 5-åringar”. Specificera “högläsningsbok med bilder” eller “lättläst Level 1”, och ta med ett par exempelord du vill ska ligga rätt (som “måne”, “karta”, “modig”, “trädgård”). Fråga sedan: “Now rewrite the finalists using only one- and two-syllable words.”</li>


<li><strong>Ge en känsla, inte en handling.</strong> Den här prompten är byggd för att undvika spoilers, så du får bättre resultat när du beskriver ton och känslobåge i stället för att rada upp vändningar. Prova input som “mysigt mysterium i en snöig småstad” eller “nyfiket äventyr med mild humor”, i stället för “sedan visar det sig att draken egentligen är läraren.”</li>


<li><strong>Tryck på kontrast i runda två.</strong> Efter första output, be om ytterligheter för att hitta fräschare vinklar. Till exempel: “Make option 2 more whimsical and musical, and make option 4 more simple and classic, like a library staple.”</li>


<li><strong>Stresstesta titeln högt.</strong> Ärligt talat: hur den känns i munnen spelar roll. Be modellen göra en snabb högläsningskontroll: “List any hard-to-pronounce clusters and suggest easier substitutions without changing meaning.” Det är extra användbart om ditt ämne innehåller knepiga namn eller fantasytermer.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När du har satt titeln kan de här promptarna hjälpa dig att bygga lärandeupplevelsen runt din bokidé och målgruppen du skriver för.</p>



<p>Om du också behöver ett strukturerat sätt att göra om ditt bokmål till en realistisk färdighetsplan (till exempel att vässa ditt eget skrivande eller bygga en kompletterande lektionsserie för klassrummet), hjälper <a href="https://nodenordic.se/prompts/bygg-ett-robust-larsystem-med-den-har-ai-prompten">Bygg ett robust lärsystem med den här AI-prompten</a> dig att kartlägga rutiner, feedbackloopar och repetitionscykler så att projektet inte stannar halvvägs.</p>



<p>När du utvecklar lärandeinnehåll för barn parallellt med berättelsen är <a href="https://nodenordic.se/prompts/bygg-en-adaptiv-spraktutor-med-denna-ai-prompt">Bygg en adaptiv språktutor med denna AI-prompt</a> en smart kombination. Den är användbar för att anpassa ordträning, läsförståelsefrågor eller enkla språkövningar som matchar samma åldersspann som din titel riktar sig mot.</p>



<p>För kreatörer som vill utveckla sina tekniska färdigheter för att stötta publiceringsflöden (formateringsskript, datarensning, automation) ger <a href="https://nodenordic.se/prompts/bygg-en-python-studieplan-med-ai">Bygg en Python-studieplan med AI</a> dig en plan i rätt ordning. Den passar bra om du bygger repetitiva system för serieproduktion eller generering av klassrumsmaterial.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/bygg-ett-robust-larsystem-med-den-har-ai-prompten">Bygg ett robust lärsystem med den här AI-prompten</a>: Håll kreativa projekt på rätt spår.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-adaptiv-spraktutor-med-denna-ai-prompt">Bygg en adaptiv språktutor med denna AI-prompt</a>: Anpassa övning efter läsnivå.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-python-studieplan-med-ai">Bygg en Python-studieplan med AI</a>: Färdighetsplan för att stötta automation.</li>

<li><a href="https://nodenordic.se/prompts/bygg-analys-av-studentprestation-i-python">Bygg analys av studentprestation i Python</a>: Följ läranderesultat med data.</li>


<li><a href="https://nodenordic.se/prompts/optimera-pythons-minnesfotavtryck">Optimera Pythons minnesfotavtryck</a>: Kör skript snabbare och mer resurssnålt.</li>

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

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för childrens book title?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Barnboksförfattare</strong> använder den för att göra om en stark premiss till en kort, omslagsklar titel som fortfarande känns magisk. <strong>Självpublicerande kreatörer</strong> förlitar sig på den när de behöver välja titel innan de betalar för omslagsdesign, ISBN-upplägg eller annonser. <strong>Pedagoger och lässpecialister</strong> har nytta av den eftersom prompten håller språket enkelt och högläsningsvänligt för en definierad nivå. <strong>Content marketers för varumärken inom barnsegmentet</strong> använder den för att namnge story-drivna lead magnets och utskrivbara miniböcker som måste tilltala både barn och vårdnadshavare.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för childrens book title?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Förlags- och självpubliceringsteam</strong> använder den för att brainstorma titlar som matchar kategorins förväntningar (bilderbok vs lättläst) utan att landa i generiska formuleringar. <strong>Utbildningsföretag</strong> använder den när de namnger nivåindelade läsare, foniksberättelser eller klassrumshäften där uttal och enkelhet är viktigt. <strong>Varumärken inom föräldraskap och barnomsorg</strong> får värde när de skapar varumärkt berättelseinnehåll, godnattsagoserier eller karaktärsdrivna lärandekampanjer som måste kännas varma och pålitliga. <strong>Bibliotek och läsfrämjande ideella organisationer</strong> kan använda den för att ge titel åt läsutmaningsberättelser och korta utbildningshäften som är gjorda för snabb upptäckt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att skriva en barnbokstitel svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som “Write me a children’s book title for my story” misslyckas eftersom den: saknar ett tvingande 5–6-ords krav, vilket ger långa och klumpiga namn; ger inga namnmönster, så alternativen låter likadant; ignorerar läsnivå och högläsningsklarhet, vilket leder till svåra ord för åldersgruppen; producerar vaga titlar i stället för att locka med förundran/äventyr/lärande; och hoppar över ett filtreringssteg, så den förklarar aldrig varför ett val är bäst för omslag och hylla.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för childrens book title efter min situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, och det bör du. Den viktigaste variabeln är din berättelses [TOPIC], men du kan också styra resultatet genom att lägga till tänkt läsnivå, känsloton och ett tydligt [CORE_THEME_OR_MESSAGE] (till exempel “att försöka igen efter misstag”). Om du vill ha fler alternativ, ändra uttryckligen [NUMBER_OF_TITLES] så att prompten genererar en längre shortlist innan den väljer finalen. Följdfråga: “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">Vilka är de vanligaste misstagen när man använder den här prompten för childrens book title?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna [TOPIC] för vag — i stället för “vänskap”, prova “en blyg igelkott som lär sig fråga om att få vara med och leka på rasten.” Ett annat vanligt fel är att hoppa över detaljer om läsnivå, vilket gör att modellen väljer ord som barn inte kan uttala; “för små barn” är svagare än “högläsningsbok med bilder för 4–6 år.” Många glömmer också att definiera [CORE_THEME_OR_MESSAGE], så motiveringen blir fluffig; “var snäll” är mindre användbart än “snällhet är att lägga märke till små känslor.” Slutligen kan en ändring av [NUMBER_OF_TITLES] utan att be om variation skapa nästan identiska förslag, så be om tydligt skilda mönster (karaktärsdrivet, platsdrivet, handlingsdrivet) i samma körning.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för childrens book title?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för varumärkeskänsliga lanseringar där juridisk klarering är ett krav, eftersom den inte kontrollerar befintliga titlar. Den passar heller inte om du vill ha dussintals namn utan filtrering, eller om du behöver ett helt paket (undertitel, baksidestext, seriesystem) i ett svep. Om du fortfarande är osäker på vad boken handlar om, gör först en snabb övning för att definiera koncept och målgrupp, och kom tillbaka när [TOPIC] och temat är tydligare.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för childrens book title?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnboksförfattare använder den för att göra om en stark premiss till en kort, omslagsklar titel som fortfarande känns magisk. Självpublicerande kreatörer förlitar sig på den när de behöver välja titel innan de betalar för omslagsdesign, ISBN-upplägg eller annonser. Pedagoger och lässpecialister har nytta av den eftersom prompten håller språket enkelt och högläsningsvänligt för en definierad nivå. Content marketers för varumärken inom barnsegmentet använder den för att namnge story-drivna lead magnets och utskrivbara miniböcker som måste tilltala både barn och vårdnadshavare."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för childrens book title?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Förlags- och självpubliceringsteam använder den för att brainstorma titlar som matchar kategorins förväntningar (bilderbok vs lättläst) utan att landa i generiska formuleringar. Utbildningsföretag använder den när de namnger nivåindelade läsare, foniksberättelser eller klassrumshäften där uttal och enkelhet är viktigt. Varumärken inom föräldraskap och barnomsorg får värde när de skapar varumärkt berättelseinnehåll, godnattsagoserier eller karaktärsdrivna lärandekampanjer som måste kännas varma och pålitliga. Bibliotek och läsfrämjande ideella organisationer kan använda den för att ge titel åt läsutmaningsberättelser och korta utbildningshäften som är gjorda för snabb upptäckt."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att skriva en barnbokstitel svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Write me a children’s book title for my story” misslyckas eftersom den: saknar ett tvingande 5–6-ords krav, vilket ger långa och klumpiga namn; ger inga namnmönster, så alternativen låter likadant; ignorerar läsnivå och högläsningsklarhet, vilket leder till svåra ord för åldersgruppen; producerar vaga titlar i stället för att locka med förundran/äventyr/lärande; och hoppar över ett filtreringssteg, så den förklarar aldrig varför ett val är bäst för omslag och hylla."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för childrens book title efter min situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du. Den viktigaste variabeln är din berättelses [TOPIC], men du kan också styra resultatet genom att lägga till tänkt läsnivå, känsloton och ett tydligt [CORE_THEME_OR_MESSAGE] (till exempel “att försöka igen efter misstag”). Om du vill ha fler alternativ, ändra uttryckligen [NUMBER_OF_TITLES] så att prompten genererar en längre shortlist innan den väljer finalen. Följdfråga: “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": "Vilka är de vanligaste misstagen när man använder den här prompten för childrens book title?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TOPIC] för vag — i stället för “vänskap”, prova “en blyg igelkott som lär sig fråga om att få vara med och leka på rasten.” Ett annat vanligt fel är att hoppa över detaljer om läsnivå, vilket gör att modellen väljer ord som barn inte kan uttala; “för små barn” är svagare än “högläsningsbok med bilder för 4–6 år.” Många glömmer också att definiera [CORE_THEME_OR_MESSAGE], så motiveringen blir fluffig; “var snäll” är mindre användbart än “snällhet är att lägga märke till små känslor.” Slutligen kan en ändring av [NUMBER_OF_TITLES] utan att be om variation skapa nästan identiska förslag, så be om tydligt skilda mönster (karaktärsdrivet, platsdrivet, handlingsdrivet) i samma körning."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för childrens book title?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för varumärkeskänsliga lanseringar där juridisk klarering är ett krav, eftersom den inte kontrollerar befintliga titlar. Den passar heller inte om du vill ha dussintals namn utan filtrering, eller om du behöver ett helt paket (undertitel, baksidestext, seriesystem) i ett svep. Om du fortfarande är osäker på vad boken handlar om, gör först en snabb övning för att definiera koncept och målgrupp, och kom tillbaka när [TOPIC] och temat är tydligare."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En stark titel gör verklig nytta: den signalerar nivå, ton och löfte på några sekunder. Klistra in den här prompten i ditt AI-verktyg, ge den ett tydligt [TOPIC] och tema, och gå därifrån med en 5–6-ordstitel som är redo för omslaget.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-for-att-skriva-en-barnbokstitel/">AI-prompt för att skriva en barnbokstitel</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg ett paket för en podcast-miniserie med AI-prompt</title>
		<link>https://nodenordic.se/prompts/bygg-ett-paket-for-en-podcast-miniserie-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-ett-paket-for-en-podcast-miniserie-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:33:52 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002398</guid>

					<description><![CDATA[<p>När säsongsplaneringen blir rörig: en AI-prompt som skapar en sammanhållen miniserie-arc och upp till tre produktionsklara avsnitt.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-paket-for-en-podcast-miniserie-med-ai-prompt/">Bygg ett paket för en podcast-miniserie med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: podcast mini-series package -->

<div class="hook-introduction">

<p>Att planera en podcast-miniserie låter enkelt tills du försöker göra den sträcklyssningsbar. Den röda tråden blir otydlig, avsnitt överlappar och du sitter med ”bra idéer” som ändå inte landar som en sammanhängande säsong. Sedan stannar manuset av, eftersom du tar strukturbeslut och skriver samtidigt.</p>



<p>Det här <strong>podcast-miniseriepaketet</strong> är byggt för <strong>varumärkesmarknadsförare</strong> som lanserar en nischad auktoritetsserie och behöver manus till avsnitt 1–3 snabbt, <strong>byråstrateger</strong> som paketerar en kunds säsongsformat utan veckor av omskrivningar, och <strong>soloskapare</strong> som har en tydlig nisch men har svårt att göra den till en tajt, lyssningsbar båge. Resultatet är ett komplett konceptpaket (positionering, narrativ båge, totalt antal avsnitt) plus <strong>tre värdklara manus</strong> med cold opens, takeaways och konkreta lyssnaråtgärder.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den klargör primär målgrupp, nisch och mål genom att ange antaganden i förväg innan något skrivs.</li>
          <li>Den tar fram flera alternativ på serietitlar, en positioneringsvinkel och en säsongsnivåns ”röda tråd” (upplägg, utveckling, payoff).</li>
          <li>Den väljer totalt antal avsnitt och skissar en akt-liknande progression över hela serien i en överskådlig struktur.</li>
          <li>Den skriver färdiga manusutkast för avsnitt 1–3 med en cold open-idé, ett avsnittslöfte och tre tydligt definierade takeaways.</li>
          <li>Den använder ett dependency-grammatik-tänk så att meningar låter korrekt formaterade i ljud och undviker snåriga, tvetydiga formuleringar.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har ett starkt tema, men varje avsnitt blir ändå en fristående intervju i stället för en serie.</li>
          <li>Du behöver få ut en miniserie snabbt och har inte råd med en lång utvecklingsfas eller flera manusvändor.</li>
          <li>Du bygger om en show för en skarpare nisch och din gamla disposition passar inte längre målgruppens faktiska mål.</li>
          <li>En konkurrents serie dominerar medvetandet och du behöver en tydlig narrativ vinkel, inte ännu en generisk ”tips”-podd.</li>
          <li>Du skalar innehållsproduktionen och vill ha ett repeterbart sätt att gå från koncept till manus utan att tappa sammanhanget.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>3–7 alternativ på serietitlar plus en tydlig positioneringsformulering och antaganden om målgrupp/mål.</li>
           <li>En narrativ båge för hela säsongen med angivet totalt antal avsnitt och en sammanfattning av progressionen akt för akt.</li>
           <li>Tre produktionsklara avsnittsmanus (avsnitt 1–3), skrivna i en röst som en värd kan leverera.</li>
           <li>För vart och ett av avsnitt 1–3: en cold open-idé, ett avsnittslöfte och tre tajt definierade takeaways.</li>
           <li>Nischspecifika, genomförbara lyssnarsteg inbyggda i manus (inte vaga motivationsråd).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: podcast-miniseriekoncept + manus för avsnitt 1–3</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den primära målgruppen som podden är tänkt att hjälpa, inklusive demografi, intressen och utmaningar.                                    <div class="var-example">Till exempel: "Millennial-entreprenörer i åldern 25–40 som bygger onlinebaserade coachningsföretag och behöver konkreta, genomförbara marknadsföringsstrategier."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NISCH]</code></td>
                                <td class="var-desc">
                                    Ange området eller den specialiserade inriktning som podden fokuserar på, och säkerställ att den matchar målgruppens intressen eller behov.                                    <div class="var-example">Till exempel: "Privatekonomi för frilansare och gigarbetare som behöver hantera oregelbundna inkomster."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[NISCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Definiera poddens viktigaste mål för lyssnarna, till exempel utbildning, underhållning eller kompetensutveckling.                                    <div class="var-example">Till exempel: "Hjälpa lyssnarna att bemästra avancerade berättartekniker för att stärka sin marknadsföring och varumärkeskommunikation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESROST]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och stil podden ska ha, till exempel formell, samtalston, humoristisk eller motiverande.                                    <div class="var-example">Till exempel: "Vänlig och lättillgänglig med fokus på praktiska råd, med vardagligt språk och igenkännbara exempel."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESROST]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange vilken huvudplattform podden ska distribueras via, till exempel Spotify, YouTube eller Apple Podcasts.                                    <div class="var-example">Till exempel: "Spotify och Apple Podcasts för ljud, med marknadsföringsklipp som delas på Instagram och TikTok."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Ge detaljer om poddens upplägg, till exempel soloavsnitt eller avsnitt med gäster, avsnittslängd och eventuella innehållsbegränsningar.                                    <div class="var-example">Till exempel: "Soloavsnitt med sporadiska gästintervjuer; 30 minuter per avsnitt; inget explicit språk."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ta med relevant bakgrund, befintliga erbjudanden eller begränsningar som bör påverka hur podden utformas.                                    <div class="var-example">Till exempel: "Podden stödjer ett coachningsprogram för småföretagare och kommer att innehålla hänvisningar till exklusivt kursmaterial."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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">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">OUTPUTSPECIFIKATION</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">Serieöversikt</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">Avsnitt 1</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">Avsnitt 2</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">Avsnitt 3</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">Call to action för lyssnaren</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa ett komplett konceptpaket för en podcastserie – plus fullt utskrivna manus för de tre första avsnitten – konstruerat för att passa ett specifikt primärt användarsegment och en nisch. Skrivandet måste använda ett dependency-grammar-tänk (tydliga huvudord, tajt modifierarkoppling, minimal tvetydighet).

## PERSONA
Du är en erfaren podcast-showrunner och ljudberättare som designar binge-värda serier för tydligt definierade målgrupper. Du skriver med krispig struktur, levande scener och praktisk expertis, samtidigt som du håller meningarna syntaktiskt rena och lätta att läsa av.

## BEGRÄNSNINGAR
- Leverera en sammanhållen serie med en tydlig röd tråd (upplägg → utveckling → payoff).
- Ange totalt antal avsnitt för hela serien, men skriv manus **endast för avsnitt 1–3**.
- Säkerställ att varje manusat avsnitt innehåller narrativt berättande, expertinsikt och handlingsbara takeaways för lyssnaren.
- Inget utfyllnadsmaterial: undvik vaga råd som “var konsekvent / jobba hårt”; gör insikterna konkreta och nischspecifika.
- Använd dependency-grammar-vanor: föredra rak SVO där det går, håll långa bestämningar nära det de bestämmer, och undvik snåriga meningar med många bisatser.

### Vad detta INTE är
- Inte ett produktionsschema, en gästbokningsplan, en sponsorpitch deck eller en guide för ljudteknik.
- Inte generellt peppsnack; varje del måste koppla tillbaka till [MALGRUPP], [NISCH] och [HUVUDMAL].
- Inte en ordagrann transkription av riktiga personer om inte användaren tillhandahåller källmaterial med tillstånd.

## PROCESS
1. **Föranalys (obligatorisk):** Säg kort vad du förstår om den efterfrågade serien (målgrupp, nisch, mål) och lista vilka antaganden du kommer att göra.
2. Bygg seriens grund: titelalternativ, positionering och den narrativa bågen genom hela serien.
3. Bestäm **totalt antal avsnitt** och sammanfatta hur varje “akt” av säsongen utvecklas.
4. För avsnitt 1–3, generera:
   - En hook-mekanism (idé för cold open) och avsnittets löfte
   - Tre tajt definierade takeaways
   - Ett detaljerat, programledarredo manus med tydliga segmentbrytningar
5. Avsluta med en lyssnarfokuserad call to action som är i linje med [HUVUDMAL].
6. **Hantering av edge cases:** Om någon input saknas eller är oklar, ställ upp till 3 riktade frågor. Om användaren säger “använd ditt bästa omdöme”, fortsätt med tydliga antaganden.

## INPUTS
- **Primärt användarsegment:** [MALGRUPP]  
- **Nisch / område:** [NISCH]  
- **Seriens mål:** [HUVUDMAL]  
- **Varumärkesröst (valfritt):** [VARUMARKESROST]  
- **Föredragen plattform (valfritt):** [PLATTFORM]  
- **Formatnoteringar (valfritt; t.ex. solo/gäst, längd, tydliga språkgränser):** [FORMAT]  
- **Kontext (valfritt; bakgrund, befintligt erbjudande, begränsningar):** [KONTEXT]  

## OUTPUTSPECIFIKATION
Leverera resultatet i exakt denna struktur:

### Serieöversikt
- **Serietitel:** {Series Title}  
- **Primärt användarsegment:** {Target Audience Summary}  
- **Nisch:** {Niche Summary}  
- **Seriebeskrivning:** {Series Description}  
- **Narrativ båge:** {Narrative Arc}  
- **Totalt antal avsnitt:** {Total Episodes}  
- **Säsongsroadmap (en rad per avsnitt):** {Season Roadmap}

### Avsnitt 1
- **Titel:** {Episode 1 Title}  
- **Fokus:** {Episode 1 Focus}  
- **Viktiga takeaways:**
  - {Episode 1 Takeaway 1}
  - {Episode 1 Takeaway 2}
  - {Episode 1 Takeaway 3}
- **Manus (detaljerat, segment för segment):** {Episode 1 Script}

### Avsnitt 2
- **Titel:** {Episode 2 Title}  
- **Fokus:** {Episode 2 Focus}  
- **Viktiga takeaways:**
  - {Episode 2 Takeaway 1}
  - {Episode 2 Takeaway 2}
  - {Episode 2 Takeaway 3}
- **Manus (detaljerat, segment för segment):** {Episode 2 Script}

### Avsnitt 3
- **Titel:** {Episode 3 Title}  
- **Fokus:** {Episode 3 Focus}  
- **Viktiga takeaways:**
  - {Episode 3 Takeaway 1}
  - {Episode 3 Takeaway 2}
  - {Episode 3 Takeaway 3}
- **Manus (detaljerat, segment för segment):** {Episode 3 Script}

### Call to action för lyssnaren
- **CTA:** {Call To Action}

## KVALITETSKONTROLLER
Innan du färdigställer, verifiera:
- Seriensoraken är sammanhängande över {Total Episodes} och höjer tydligt insatserna eller insiktsnivån.
- Avsnitt 1–3 har var sitt tydligt löfte, konkreta exempel och takeaways som inte överlappar.
- Manus låter som talat ljud (naturlig frasering, tydliga övergångar, segmentrubriker).
- Dependency-grammar-tydlighet: bestämningar sitter nära sina mål; meningar undviker otydliga referenser.
- CTA:n stödjer direkt [HUVUDMAL] och matchar tonen i [VARUMARKESROST] (om angiven).            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett komplett konceptpaket f\u00f6r en podcastserie \u2013 plus fullt utskrivna manus f\u00f6r de tre f\u00f6rsta avsnitten \u2013 konstruerat f\u00f6r att passa ett specifikt prim\u00e4rt anv\u00e4ndarsegment och en nisch. Skrivandet m\u00e5ste anv\u00e4nda ett dependency-grammar-t\u00e4nk (tydliga huvudord, tajt modifierarkoppling, minimal tvetydighet).\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren podcast-showrunner och ljudber\u00e4ttare som designar binge-v\u00e4rda serier f\u00f6r tydligt definierade m\u00e5lgrupper. Du skriver med krispig struktur, levande scener och praktisk expertis, samtidigt som du h\u00e5ller meningarna syntaktiskt rena och l\u00e4tta att l\u00e4sa av.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Leverera en sammanh\u00e5llen serie med en tydlig r\u00f6d tr\u00e5d (uppl\u00e4gg \u2192 utveckling \u2192 payoff).\r\n- Ange totalt antal avsnitt f\u00f6r hela serien, men skriv manus **endast f\u00f6r avsnitt 1\u20133**.\r\n- S\u00e4kerst\u00e4ll att varje manusat avsnitt inneh\u00e5ller narrativt ber\u00e4ttande, expertinsikt och handlingsbara takeaways f\u00f6r lyssnaren.\r\n- Inget utfyllnadsmaterial: undvik vaga r\u00e5d som \u201cvar konsekvent \/ jobba h\u00e5rt\u201d; g\u00f6r insikterna konkreta och nischspecifika.\r\n- Anv\u00e4nd dependency-grammar-vanor: f\u00f6redra rak SVO d\u00e4r det g\u00e5r, h\u00e5ll l\u00e5nga best\u00e4mningar n\u00e4ra det de best\u00e4mmer, och undvik sn\u00e5riga meningar med m\u00e5nga bisatser.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte ett produktionsschema, en g\u00e4stbokningsplan, en sponsorpitch deck eller en guide f\u00f6r ljudteknik.\r\n- Inte generellt peppsnack; varje del m\u00e5ste koppla tillbaka till [MALGRUPP], [NISCH] och [HUVUDMAL].\r\n- Inte en ordagrann transkription av riktiga personer om inte anv\u00e4ndaren tillhandah\u00e5ller k\u00e4llmaterial med tillst\u00e5nd.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** S\u00e4g kort vad du f\u00f6rst\u00e5r om den efterfr\u00e5gade serien (m\u00e5lgrupp, nisch, m\u00e5l) och lista vilka antaganden du kommer att g\u00f6ra.\r\n2. Bygg seriens grund: titelalternativ, positionering och den narrativa b\u00e5gen genom hela serien.\r\n3. Best\u00e4m **totalt antal avsnitt** och sammanfatta hur varje \u201cakt\u201d av s\u00e4songen utvecklas.\r\n4. F\u00f6r avsnitt 1\u20133, generera:\r\n   - En hook-mekanism (id\u00e9 f\u00f6r cold open) och avsnittets l\u00f6fte\r\n   - Tre tajt definierade takeaways\r\n   - Ett detaljerat, programledarredo manus med tydliga segmentbrytningar\r\n5. Avsluta med en lyssnarfokuserad call to action som \u00e4r i linje med [HUVUDMAL].\r\n6. **Hantering av edge cases:** Om n\u00e5gon input saknas eller \u00e4r oklar, st\u00e4ll upp till 3 riktade fr\u00e5gor. Om anv\u00e4ndaren s\u00e4ger \u201canv\u00e4nd ditt b\u00e4sta omd\u00f6me\u201d, forts\u00e4tt med tydliga antaganden.\r\n\r\n## INPUTS\r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** [MALGRUPP]  \r\n- **Nisch \/ omr\u00e5de:** [NISCH]  \r\n- **Seriens m\u00e5l:** [HUVUDMAL]  \r\n- **Varum\u00e4rkesr\u00f6st (valfritt):** [VARUMARKESROST]  \r\n- **F\u00f6redragen plattform (valfritt):** [PLATTFORM]  \r\n- **Formatnoteringar (valfritt; t.ex. solo\/g\u00e4st, l\u00e4ngd, tydliga spr\u00e5kgr\u00e4nser):** [FORMAT]  \r\n- **Kontext (valfritt; bakgrund, befintligt erbjudande, begr\u00e4nsningar):** [KONTEXT]  \r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera resultatet i exakt denna struktur:\r\n\r\n### Serie\u00f6versikt\r\n- **Serietitel:** {Series Title}  \r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** {Target Audience Summary}  \r\n- **Nisch:** {Niche Summary}  \r\n- **Seriebeskrivning:** {Series Description}  \r\n- **Narrativ b\u00e5ge:** {Narrative Arc}  \r\n- **Totalt antal avsnitt:** {Total Episodes}  \r\n- **S\u00e4songsroadmap (en rad per avsnitt):** {Season Roadmap}\r\n\r\n### Avsnitt 1\r\n- **Titel:** {Episode 1 Title}  \r\n- **Fokus:** {Episode 1 Focus}  \r\n- **Viktiga takeaways:**\r\n  - {Episode 1 Takeaway 1}\r\n  - {Episode 1 Takeaway 2}\r\n  - {Episode 1 Takeaway 3}\r\n- **Manus (detaljerat, segment f\u00f6r segment):** {Episode 1 Script}\r\n\r\n### Avsnitt 2\r\n- **Titel:** {Episode 2 Title}  \r\n- **Fokus:** {Episode 2 Focus}  \r\n- **Viktiga takeaways:**\r\n  - {Episode 2 Takeaway 1}\r\n  - {Episode 2 Takeaway 2}\r\n  - {Episode 2 Takeaway 3}\r\n- **Manus (detaljerat, segment f\u00f6r segment):** {Episode 2 Script}\r\n\r\n### Avsnitt 3\r\n- **Titel:** {Episode 3 Title}  \r\n- **Fokus:** {Episode 3 Focus}  \r\n- **Viktiga takeaways:**\r\n  - {Episode 3 Takeaway 1}\r\n  - {Episode 3 Takeaway 2}\r\n  - {Episode 3 Takeaway 3}\r\n- **Manus (detaljerat, segment f\u00f6r segment):** {Episode 3 Script}\r\n\r\n### Call to action f\u00f6r lyssnaren\r\n- **CTA:** {Call To Action}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du f\u00e4rdigst\u00e4ller, verifiera:\r\n- Seriensoraken \u00e4r sammanh\u00e4ngande \u00f6ver {Total Episodes} och h\u00f6jer tydligt insatserna eller insiktsniv\u00e5n.\r\n- Avsnitt 1\u20133 har var sitt tydligt l\u00f6fte, konkreta exempel och takeaways som inte \u00f6verlappar.\r\n- Manus l\u00e5ter som talat ljud (naturlig frasering, tydliga \u00f6verg\u00e5ngar, segmentrubriker).\r\n- Dependency-grammar-tydlighet: best\u00e4mningar sitter n\u00e4ra sina m\u00e5l; meningar undviker otydliga referenser.\r\n- CTA:n st\u00f6djer direkt [HUVUDMAL] och matchar tonen i [VARUMARKESROST] (om angiven).";
    const variables = ["[MALGRUPP]","[NISCH]","[HUVUDMAL]","[VARUMARKESROST]","[PLATTFORM]","[FORMAT]","[KONTEXT]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat från AI-prompten</h2>



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

<li><strong>Ge målgruppen en ”en dag i livet”-bild.</strong> Prompten är byggd för att koppla allt tillbaka till målgrupp, nisch och mål, så ge den konkreta detaljer. I stället för ”startupgrundare”, testa ”bootstrappade B2B SaaS-grundare på 10–50k MRR som säljer till HR-team och vill ha kortare säljcykler”. Då slutar cold opens och takeaways att låta som standardråd.</li>


<li><strong>Definiera ett mätbart lyssnarresultat.</strong> Välj ett primärt mål som lyssnaren faktiskt kan nå under säsongen: ”validera erbjudandets budskap på 14 dagar” eller ”lansera en beta-waitlist till 200 leads”. Efter första output, fråga: ”Skriv om säsongsbågen så att varje avsnitt tar lyssnaren ett steg närmare det resultatet, med en tydlig kontrollpunkt i slutet av varje avsnitt.”</li>


<li><strong>Be om en vassare narrativ motor.</strong> Miniserier som sträcklyssnas bra har oftast en mekanism, inte bara ett ämne. Följ upp med: ”Ge mig två alternativa röda trådar: (1) en mystery-stil ’vad är det som egentligen händer’-avslöjning och (2) en transformationsbåge med gradvis ökande begränsningar. Välj sedan bäst alternativ och motivera i 5 meningar.”</li>


<li><strong>Iterera genom att tajta till den talade rytmen.</strong> De här manusen siktar på syntaktisk tydlighet, men du kan pressa dem ännu mer för ljud. Efter första utkastet, testa: ”Skriv nu om avsnitt 1 så att genomsnittlig meningslängd är 12–18 ord, ta bort staplade bisatser och lägg in tre avsiktliga pauser där en värd skulle andas.”</li>


<li><strong>Lås återkommande segment innan ni spelar in.</strong> Konsekventa segment minskar redigeringstiden och får serien att kännas designad. Fråga: ”Lägg till två återkommande segment i avsnitt 1–3 (till exempel ’Fältnotering’ och ’Lyssnarutmaning’), båda under 60 sekunder, och säkerställ att segmentnamnen används exakt likadant varje gång.” Ärligt talat kan den enda ändringen få en ny podd att kännas etablerad.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>Om du bygger en miniserie kopplad till en marknadsnarrativ, kan de här relaterade prompterna hjälpa dig att lägga till trovärdig research och vassare vinklar bakom berättelsen.</p>



<p>Om du också behöver ett snabbt sätt att identifiera ”skurkarna” och begränsningarna i din berättelse, är <a href="https://nodenordic.se/prompts/rangordna-de-storsta-investeringsriskerna-ai-prompt">Rangordna de största investeringsriskerna AI-prompt</a> användbar för att rangordna risker och göra dem till tydliga segment. När din serie handlar om beslut under osäkerhet (grundare, operatörer, investerare, köpare) kan de rangordnade riskerna bli spänning och payoff på avsnittsnivå.</p>



<p>För team som jobbar med möjlighetsdrivet berättande, kombinera detta med <a href="https://nodenordic.se/prompts/skapa-en-rapport-om-investeringsmojlighet-med-ai">Skapa en rapport om investeringsmöjlighet med AI</a>. Den hjälper dig att göra en marknadsidé till en strukturerad rapport, som du sedan kan anpassa till avsnitt 2 eller 3 som ”case file”-upplägg med handlingsinriktade slutsatser.</p>



<p>När din miniserie jämför angreppssätt (verktyg, strategier, fonder eller ramverk) och du vill att analysen ska kännas rigorös, använd <a href="https://nodenordic.se/prompts/skapa-forensisk-jamforelse-av-fonder-med-ai-prompt">Skapa forensisk jämförelse av fonder med AI-prompt</a>. Jämförelsestrukturen fungerar bra i ljud: kriterier, evidens, avvägningar och en beslutsregel som lyssnaren kan återanvända.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/rangordna-de-storsta-investeringsriskerna-ai-prompt">Rangordna de största investeringsriskerna AI-prompt</a>: Rangordna risker till tydliga, användbara prioriteringar.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-rapport-om-investeringsmojlighet-med-ai">Skapa en rapport om investeringsmöjlighet med AI</a>: Gör en möjlighet till en strukturerad berättelse.</li>


<li><a href="https://nodenordic.se/prompts/skapa-forensisk-jamforelse-av-fonder-med-ai-prompt">Skapa forensisk jämförelse av fonder med AI-prompt</a>: Kriteriebaserad jämförelse för trygga beslut.</li>

<li><a href="https://nodenordic.se/prompts/skriv-en-investeringsanalysbrief-med-denna-ai-prompt">Skriv en investeringsanalysbrief med denna AI-prompt</a>: Kondensera research till en brief för beslutsfattare.</li>

<li><a href="https://nodenordic.se/prompts/bygg-en-investerarrapport-om-marknadssentiment">Bygg en investerarrapport om marknadssentiment</a>: Fånga sentimentskiften och konsekvenser.</li>
<!-- /wp:post-content -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för podcast-miniseriepaketet?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Podcastproducenter</strong> använder den för att göra en lös showidé till en säsongsbåge och tre användbara manus utan att lägga veckor på berättelsestruktur. <strong>Content marketing managers</strong> lutar sig mot den när de behöver en målgruppsspecifik miniserie som stödjer en kampanj och ändå känns som riktig redaktion. <strong>Varumärkesstrateger</strong> använder den för att forma positionering och narrativ spänning innan en kund investerar i inspelning och redigering. <strong>Solovärdar</strong> uppskattar den eftersom den ger ett värdklart utkast som de snabbt kan repetera, korta ner och göra personligt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för podcast-miniseriepaketet?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>B2B SaaS</strong>-team använder den för att bygga minisäsonger kring ett specifikt arbetsflödesresultat (som onboarding, säkerhetsberedskap eller pipeline-kvalitet) och sedan marknadsföra avsnitt 1–3 som ett lanseringspaket. <strong>Utbildningsverksamheter för kreatörer</strong> får värde genom att göra ett huvudramverk till en strukturerad båge med tydliga takeaways och lyssnarutmaningar som driver intresse för kurs eller community. <strong>Finansiella tjänster och fintech</strong> kan använda den för att skapa tydliga, compliance-anpassade manus som undviker tvetydighet och ändå ger praktisk, nischspecifik vägledning. <strong>Professional services</strong> (byråer, konsultbolag, fraktionella team) använder den för att paketera thought leadership till en sträcklyssningsbar serie i stället för frikopplade ”tips”-avsnitt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att skriva podcastmanus svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv ett podcastmanus för mitt företag” misslyckas eftersom den: saknar en röda tråden på säsongsnivå (så varje avsnitt känns slumpmässigt), ger ingen bågstruktur som upplägg → utveckling → payoff, ignorerar antaganden om målgrupp/nisch/mål (så råden glider iväg), producerar generiska pratpunkter i stället för värdklara scener och takeaways och missar den syntaktiska tydlighet som behövs för ljud (vilket leder till långa, förvirrande meningar). Den här prompten tvingar fram föranalys, bygger sedan seriens grund och skriver först därefter avsnitt 1–3 med en konsekvent röst.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa det här podcast-miniseriepaketets prompt till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, men du gör det genom att ge bättre input i din förfrågan, eftersom prompten i sig inte använder formulärfält. Var tydlig med din TARGET_AUDIENCE (vilka de är och vad de kämpar med), din NICHE (det smala ämne du äger) och ditt PRIMARY_GOAL (resultatet lyssnaren ska uppnå när säsongen är slut). Följ sedan upp med en förfiningsfråga som: ”Behåll samma båge, men skriv om avsnitt 1–3 för en mer skeptisk målgrupp och lägg till ett konkret exempel per takeaway.” Om du vill ha en annan ton, säg det tidigt (till exempel ”lugn och analytisk” eller ”högt tempo och rappt”).</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder prompten för podcast-miniseriepaketet?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna TARGET_AUDIENCE för vag — i stället för ”småföretagare”, testa ”fristående gymägare med 2–5 anställda som är beroende av betalda annonser och vill ha fler återkommande medlemskap”. Ett annat vanligt fel är att ge en NICHE som egentligen är en kategori; ”marknadsföring” är brett, medan ”e-postleveransbarhet för B2C-varumärken efter iOS-förändringar” ger manuset något att bita i. Många sätter också ett mjukt PRIMARY_GOAL som ”växa” i stället för en tydlig mållinje som ”boka 10 säljsamtal på 30 dagar från befintlig trafik”. Slutligen hoppar vissa över antagandesteg och korrigerar inte; om föranalysen gissar fel, svara med korrigeringar innan du godkänner manusen.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda prompten för podcast-miniseriepaketet?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för fristående avsnitt där du inte behöver en säsongsbåge, eller för program som måste citera verkliga personer ordagrant utan källmaterial med tillstånd. Den passar inte heller om du letar efter en produktionsplan, en plan för gästoutreach, ett sponsorpaket eller instruktioner för ljudteknik, eftersom den uttryckligen undviker det. Om din idé och målgrupp fortfarande är otestade kan det vara bättre att göra en kort discovery-sprint (lyssnarintervjuer, positioneringstester) innan du genererar manus.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för podcast-miniseriepaketet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Podcastproducenter använder den för att göra en lös showidé till en säsongsbåge och tre användbara manus utan att lägga veckor på berättelsestruktur. Content marketing managers lutar sig mot den när de behöver en målgruppsspecifik miniserie som stödjer en kampanj och ändå känns som riktig redaktion. Varumärkesstrateger använder den för att forma positionering och narrativ spänning innan en kund investerar i inspelning och redigering. Solovärdar uppskattar den eftersom den ger ett värdklart utkast som de snabbt kan repetera, korta ner och göra personligt."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för podcast-miniseriepaketet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "B2B SaaS-team använder den för att bygga minisäsonger kring ett specifikt arbetsflödesresultat (som onboarding, säkerhetsberedskap eller pipeline-kvalitet) och sedan marknadsföra avsnitt 1–3 som ett lanseringspaket. Utbildningsverksamheter för kreatörer får värde genom att göra ett huvudramverk till en strukturerad båge med tydliga takeaways och lyssnarutmaningar som driver intresse för kurs eller community. Finansiella tjänster och fintech kan använda den för att skapa tydliga, compliance-anpassade manus som undviker tvetydighet och ändå ger praktisk, nischspecifik vägledning. Professional services (byråer, konsultbolag, fraktionella team) använder den för att paketera thought leadership till en sträcklyssningsbar serie i stället för frikopplade ”tips”-avsnitt."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att skriva podcastmanus svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv ett podcastmanus för mitt företag” misslyckas eftersom den: saknar en röda tråden på säsongsnivå (så varje avsnitt känns slumpmässigt), ger ingen bågstruktur som upplägg → utveckling → payoff, ignorerar antaganden om målgrupp/nisch/mål (så råden glider iväg), producerar generiska pratpunkter i stället för värdklara scener och takeaways och missar den syntaktiska tydlighet som behövs för ljud (vilket leder till långa, förvirrande meningar). Den här prompten tvingar fram föranalys, bygger sedan seriens grund och skriver först därefter avsnitt 1–3 med en konsekvent röst."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa det här podcast-miniseriepaketets prompt till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men du gör det genom att ge bättre input i din förfrågan, eftersom prompten i sig inte använder formulärfält. Var tydlig med din TARGET_AUDIENCE (vilka de är och vad de kämpar med), din NICHE (det smala ämne du äger) och ditt PRIMARY_GOAL (resultatet lyssnaren ska uppnå när säsongen är slut). Följ sedan upp med en förfiningsfråga som: ”Behåll samma båge, men skriv om avsnitt 1–3 för en mer skeptisk målgrupp och lägg till ett konkret exempel per takeaway.” Om du vill ha en annan ton, säg det tidigt (till exempel ”lugn och analytisk” eller ”högt tempo och rappt”)."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder prompten för podcast-miniseriepaketet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna TARGET_AUDIENCE för vag — i stället för ”småföretagare”, testa ”fristående gymägare med 2–5 anställda som är beroende av betalda annonser och vill ha fler återkommande medlemskap”. Ett annat vanligt fel är att ge en NICHE som egentligen är en kategori; ”marknadsföring” är brett, medan ”e-postleveransbarhet för B2C-varumärken efter iOS-förändringar” ger manuset något att bita i. Många sätter också ett mjukt PRIMARY_GOAL som ”växa” i stället för en tydlig mållinje som ”boka 10 säljsamtal på 30 dagar från befintlig trafik”. Slutligen hoppar vissa över antagandesteg och korrigerar inte; om föranalysen gissar fel, svara med korrigeringar innan du godkänner manusen."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda prompten för podcast-miniseriepaketet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för fristående avsnitt där du inte behöver en säsongsbåge, eller för program som måste citera verkliga personer ordagrant utan källmaterial med tillstånd. Den passar inte heller om du letar efter en produktionsplan, en plan för gästoutreach, ett sponsorpaket eller instruktioner för ljudteknik, eftersom den uttryckligen undviker det. Om din idé och målgrupp fortfarande är otestade kan det vara bättre att göra en kort discovery-sprint (lyssnarintervjuer, positioneringstester) innan du genererar manus."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En miniserie fungerar när den har momentum och en destination, inte bara ”avsnitt”. Klistra in den här prompten i ditt AI-verktyg, styr antagandena och gå därifrån med en säsongsbåge plus tre manus som du faktiskt kan spela in.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-paket-for-en-podcast-miniserie-med-ai-prompt/">Bygg ett paket för en podcast-miniserie med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa en karaktärsbrief för barnboksillustration med AI</title>
		<link>https://nodenordic.se/prompts/skapa-en-karaktarsbrief-for-barnboksillustration-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-karaktarsbrief-for-barnboksillustration-med-ai</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:32:24 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000627</guid>

					<description><![CDATA[<p>Otydliga karaktärsidéer? Den här AI-prompten tar fram en barnvänlig karaktär och en illustrationsbrief som går att lämna till produktion.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-karaktarsbrief-for-barnboksillustration-med-ai/">Skapa en karaktärsbrief för barnboksillustration med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: kids book character -->
<div class="hook-introduction">

<p>Din karaktärsidé känns gullig i huvudet, men så fort du försöker förklara den blir den snabbt vag. Illustratörer ställer smarta frågor du inte kan svara på ännu (silhuett, färgpalett, spann för ansiktsuttryck), och bildmodeller “fyller i luckorna” med slumpmässiga val. Det är så du slutar med en karaktär som inte passar åldersgruppen, temat eller tonen i din berättelse.</p>



<p>Den här prompten för <strong>karaktär i barnbok</strong> är byggd för <strong>barnboksförfattare</strong> som har ett berättelsetema men behöver en produktionsklar huvudperson, <strong>illustratörer</strong> som vill ha tydlig art direction innan skissandet, och <strong>förlag eller marknadsförare</strong> som utvecklar ett koncept för barn som måste vara inkluderande och åldersanpassat. Resultatet blir ett karaktärskonceptpaket: två designriktningar, en vald förfinad design samt tydliga visuella specifikationer (palett, former, accessoarer, anteckningar om uttryck) som du kan lämna till en illustratör eller en bildmodell.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger din karaktärsbeskrivning, ditt ämne och din åldersgrupp och sätter sedan 2–3 designprioriteringar innan något genereras.</li>
          <li>Den plockar ut det viktigaste ur din beskrivning (kroppstyp, ansikte, kläder, accessoarer, personlighetsmarkörer och roll i berättelsen) så att designen håller ihop.</li>
          <li>Den tar fram två tydligt olika visuella riktningar för samma karaktär, så att du får alternativ utan att den driver bort från din brief.</li>
          <li>Den väljer den starkare riktningen och förfinar den till ett definitivt koncept med tydligt, produktionsklart art direction-språk.</li>
          <li>Den bygger en färg- och känsloplan som siktar på barnvänlig läsbarhet: en trygg palett, en ren silhuett och en upplyftande ton.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ska anlita en illustratör och behöver sluta skicka “känsla” och börja skicka specifikationer.</li>
          <li>Du har försökt generera karaktärsillustrationer med en bildmodell, men resultaten ändras vid varje körning och inget känns konsekvent.</li>
          <li>Du har ett starkt boktema, men huvudkaraktären förstärker inte temat tydligt på omslaget eller i nyckelscener.</li>
          <li>Du riktar dig mot en specifik åldersgrupp och vill undvika design som blir för bebisaktig, för läskig eller råkar kännas tonårskodad.</li>
          <li>Du bygger en liten serie eller ett klassrumsresursmaterial och behöver en repeterbar karaktärsdesign som du tryggt kan återanvända.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En kort föranalys sammanfattning plus 2–3 designprioriteringar anpassade till din målåldersgrupp och ditt ämne.</li>
           <li>En lista som bryter ned det väsentliga: kropp, ansikte, outfit, accessoarer och personlighetssignaler i ett konsekvent format.</li>
           <li>Två riktningar för karaktärsdesign (riktning A och riktning B) beskrivna med tydliga former, stilnoteringar och signaler om roll i berättelsen.</li>
           <li>En slutlig förfinad “hjälte”-brief med tydliga gör/undvik-noteringar för att förhindra motsägelser eller detaljer som hamnar fel i tonen.</li>
           <li>En stark palett- och känsloplan, inklusive föreslagna uttryck/poser som håller karaktären läsbar och vänlig.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: generator för karaktärsbrief till barnbok</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP_ALDER]</code></td>
                                <td class="var-desc">
                                    Ange den avsedda åldersspannet för bokens målgrupp, och inkludera gärna utvecklingsnivå eller läsnivå om det är relevant.                                    <div class="var-example">Till exempel: "Ålder 4–6 år, nybörjarläsare som precis börjar känna igen enkla ord och tycker om färgstarka, lekfulla illustrationer."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP_ALDER]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Beskriv bokens huvudtema eller ämne som karaktären och illustrationerna ska stödja.                                    <div class="var-example">Till exempel: "Vänskap och samarbete i en magisk skogsmiljö."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KARAKTARSBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Beskriv karaktärens utseende, personlighet och roll i berättelsen för att vägleda illustrationskonceptet.                                    <div class="var-example">Till exempel: "En glad tvättbjörn som älskar att lösa klurigheter, bär en röd halsduk och har en liten ryggsäck med verktyg för äventyr."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KARAKTARSBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Beskriv bokens övergripande känsla eller stämning så att karaktärsdesignen harmonierar med den.                                    <div class="var-example">Till exempel: "Lekfull och upplyftande, med fokus på nyfikenhet och upptäckarlust."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ILLUSTRATIONSFORMAT]</code></td>
                                <td class="var-desc">
                                    Ange vilken typ av illustrationsleverans som behövs, till exempel stil, upplösning eller mediumspecifikationer.                                    <div class="var-example">Till exempel: "Digital illustration optimerad för tryck med tydliga konturer och platta färger."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ILLUSTRATIONSFORMAT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Beskriv bokens övergripande miljö och bakgrund, inklusive relevanta kulturella, geografiska eller berättelsespecifika detaljer.                                    <div class="var-example">Till exempel: "Utspelar sig i en fantasifull undervattensvärld där alla karaktärer är havsvarelser som lär sig om samarbete."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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">INDATA</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">OUTPUTSPECIFIKATION</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa ett originellt illustrationskoncept för en karaktär i en barnbok (redo för en illustratör eller bildmodell att visualisera) som matchar den givna karaktärsbeskrivningen och stödjer en bok om det angivna ämnet, optimerat för den avsedda åldersgruppen.

## PERSONA
Du är en erfaren karaktärsdesigner inom barnförlag som specialiserar dig på lekfulla, energirika visuella uttryck för bilderböcker och lättlästa böcker. Du kommunicerar med tydligt art direction-språk: konkret, visuellt och produktionsklart.

## BEGRÄNSNINGAR
- Håll allt åldersanpassat för [MALGRUPP_ALDER].
- Säkerställ inkluderande representation: inga stereotyper, karikatyrer eller kulturellt laddade ”genvägar”.
- Karaktären måste förstärka bokens tema kring [AMNE] och bära en konstruktiv, upplyftande ton.
- Använd barnvänliga former, tydliga siluetter och ljusa, självsäkra färgval.
- Undvik innehåll som kan upplevas som skrämmande, våldsamt, sexualiserat eller nedvärderande.
- Behåll konsekvens: detaljer får inte motsäga [KARAKTARSBESKRIVNING].

### Vad detta INTE är
- Inte en fullständig boklayout, storyboard eller ett flersidigt illustrationspaket.
- Inte en helt ny karaktär som saknar koppling till användarens beskrivning.
- Inte en kulturkritik eller en plats att lägga till ”edgy” humor.
- Inte juridisk rådgivning om upphovsrätt/varumärken (undvik att kopiera igenkännbara befintliga karaktärer).

## PROCESS
1. **Föranalys (ange din förståelse först):** Sammanfatta kort karaktären, bokens ämne och åldersgruppen med egna ord, och lista 2–3 designprioriteringar du kommer att följa.
2. **Plocka ut kärnan:** Identifiera nyckeldrag från [KARAKTARSBESKRIVNING]: kroppstyp, ansikte, kläder, accessoarer, personlighetssignaler och roll i berättelsen.
3. **Konceptinriktningar (litet urval):** Ge 2 distinkta visuella riktningar (samma karaktär, olika design-tolkningar) som båda passar [AMNE] och [MALGRUPP_ALDER].
4. **Välj och förfina:** Välj den starkare riktningen (förklara varför) och förfina den sedan till en enda, definitiv design.
5. **Färg- + emotionsplan:** Föreslå en kraftfull palett och förklara vad varje huvudfärg kommunicerar till en ung läsare.
6. **Uttryck + pose:** Specificera ett uttrycksfullt ansikte och en dynamisk pose som visar vem karaktären är och vad hen gör i berättelsen.
7. **Känslighetskontroll:** Flagga element som kan misstolkas kulturellt eller utvecklingsmässigt, och erbjud sedan säkrare alternativ.
8. **Slutliga produktionsnoteringar:** Ge rena, användbara art notes: linjestil, skuggnivå, textur och hur det ska återges i tryck.

### Edge Case Handling
- Om [KARAKTARSBESKRIVNING] är vag eller saknar kritiska visuella detaljer, ställ först upp till 5 riktade frågor. Om användaren inte kan svara, gör rimliga antaganden och märk dem som **Assumptions**.
- Om [MALGRUPP_ALDER] spänner brett (t.ex. förskola till mellanstadiet), utgå från den yngre änden om inget annat anges.
- Om [AMNE] innehåller känsliga teman, håll skildringen varsam och fokusera på en stöttande, stärkande inramning.

## INDATA
- **Karaktärsbeskrivning:** [KARAKTARSBESKRIVNING]
- **Bokens ämne/tema:** [AMNE]
- **Avsedd läsarålder:** [MALGRUPP_ALDER]
- **Önskad ton (valfritt):** [TON]
- **Referens för medium/stil (valfritt):** [ILLUSTRATIONSFORMAT]
- **Ytterligare kontext (valfritt):** [KONTEXT]

## OUTPUTSPECIFIKATION
Leverera ditt resultat i följande struktur:

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)**
   För varje riktning:
   - {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}

## KVALITETSKONTROLLER
Innan du färdigställer, verifiera:
- Designen matchar tydligt [KARAKTARSBESKRIVNING] utan motsägelser.
- Posen, uttrycket och paletten är tilltalande för [MALGRUPP_ALDER].
- Karaktären stödjer visuellt [AMNE] och ett positivt budskap.
- Inga kulturellt okänsliga signaler, stereotyper eller exkluderande element förekommer.
- Beskrivningen är tillräckligt specifik för att en illustratör (eller bildmodell) ska kunna återge den konsekvent.            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett originellt illustrationskoncept f\u00f6r en karakt\u00e4r i en barnbok (redo f\u00f6r en illustrat\u00f6r eller bildmodell att visualisera) som matchar den givna karakt\u00e4rsbeskrivningen och st\u00f6djer en bok om det angivna \u00e4mnet, optimerat f\u00f6r den avsedda \u00e5ldersgruppen.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren karakt\u00e4rsdesigner inom barnf\u00f6rlag som specialiserar dig p\u00e5 lekfulla, energirika visuella uttryck f\u00f6r bilderb\u00f6cker och l\u00e4ttl\u00e4sta b\u00f6cker. Du kommunicerar med tydligt art direction-spr\u00e5k: konkret, visuellt och produktionsklart.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- H\u00e5ll allt \u00e5ldersanpassat f\u00f6r [MALGRUPP_ALDER].\r\n- S\u00e4kerst\u00e4ll inkluderande representation: inga stereotyper, karikatyrer eller kulturellt laddade \u201dgenv\u00e4gar\u201d.\r\n- Karakt\u00e4ren m\u00e5ste f\u00f6rst\u00e4rka bokens tema kring [AMNE] och b\u00e4ra en konstruktiv, upplyftande ton.\r\n- Anv\u00e4nd barnv\u00e4nliga former, tydliga siluetter och ljusa, sj\u00e4lvs\u00e4kra f\u00e4rgval.\r\n- Undvik inneh\u00e5ll som kan upplevas som skr\u00e4mmande, v\u00e5ldsamt, sexualiserat eller nedv\u00e4rderande.\r\n- Beh\u00e5ll konsekvens: detaljer f\u00e5r inte mots\u00e4ga [KARAKTARSBESKRIVNING].\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en fullst\u00e4ndig boklayout, storyboard eller ett flersidigt illustrationspaket.\r\n- Inte en helt ny karakt\u00e4r som saknar koppling till anv\u00e4ndarens beskrivning.\r\n- Inte en kulturkritik eller en plats att l\u00e4gga till \u201dedgy\u201d humor.\r\n- Inte juridisk r\u00e5dgivning om upphovsr\u00e4tt\/varum\u00e4rken (undvik att kopiera igenk\u00e4nnbara befintliga karakt\u00e4rer).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange din f\u00f6rst\u00e5else f\u00f6rst):** Sammanfatta kort karakt\u00e4ren, bokens \u00e4mne och \u00e5ldersgruppen med egna ord, och lista 2\u20133 designprioriteringar du kommer att f\u00f6lja.\r\n2. **Plocka ut k\u00e4rnan:** Identifiera nyckeldrag fr\u00e5n [KARAKTARSBESKRIVNING]: kroppstyp, ansikte, kl\u00e4der, accessoarer, personlighetssignaler och roll i ber\u00e4ttelsen.\r\n3. **Konceptinriktningar (litet urval):** Ge 2 distinkta visuella riktningar (samma karakt\u00e4r, olika design-tolkningar) som b\u00e5da passar [AMNE] och [MALGRUPP_ALDER].\r\n4. **V\u00e4lj och f\u00f6rfina:** V\u00e4lj den starkare riktningen (f\u00f6rklara varf\u00f6r) och f\u00f6rfina den sedan till en enda, definitiv design.\r\n5. **F\u00e4rg- + emotionsplan:** F\u00f6resl\u00e5 en kraftfull palett och f\u00f6rklara vad varje huvudf\u00e4rg kommunicerar till en ung l\u00e4sare.\r\n6. **Uttryck + pose:** Specificera ett uttrycksfullt ansikte och en dynamisk pose som visar vem karakt\u00e4ren \u00e4r och vad hen g\u00f6r i ber\u00e4ttelsen.\r\n7. **K\u00e4nslighetskontroll:** Flagga element som kan misstolkas kulturellt eller utvecklingsm\u00e4ssigt, och erbjud sedan s\u00e4krare alternativ.\r\n8. **Slutliga produktionsnoteringar:** Ge rena, anv\u00e4ndbara art notes: linjestil, skuggniv\u00e5, textur och hur det ska \u00e5terges i tryck.\r\n\r\n### Edge Case Handling\r\n- Om [KARAKTARSBESKRIVNING] \u00e4r vag eller saknar kritiska visuella detaljer, st\u00e4ll f\u00f6rst upp till 5 riktade fr\u00e5gor. Om anv\u00e4ndaren inte kan svara, g\u00f6r rimliga antaganden och m\u00e4rk dem som **Assumptions**.\r\n- Om [MALGRUPP_ALDER] sp\u00e4nner brett (t.ex. f\u00f6rskola till mellanstadiet), utg\u00e5 fr\u00e5n den yngre \u00e4nden om inget annat anges.\r\n- Om [AMNE] inneh\u00e5ller k\u00e4nsliga teman, h\u00e5ll skildringen varsam och fokusera p\u00e5 en st\u00f6ttande, st\u00e4rkande inramning.\r\n\r\n## INDATA\r\n- **Karakt\u00e4rsbeskrivning:** [KARAKTARSBESKRIVNING]\r\n- **Bokens \u00e4mne\/tema:** [AMNE]\r\n- **Avsedd l\u00e4sar\u00e5lder:** [MALGRUPP_ALDER]\r\n- **\u00d6nskad ton (valfritt):** [TON]\r\n- **Referens f\u00f6r medium\/stil (valfritt):** [ILLUSTRATIONSFORMAT]\r\n- **Ytterligare kontext (valfritt):** [KONTEXT]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera ditt resultat i f\u00f6ljande struktur:\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   F\u00f6r varje riktning:\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## KVALITETSKONTROLLER\r\nInnan du f\u00e4rdigst\u00e4ller, verifiera:\r\n- Designen matchar tydligt [KARAKTARSBESKRIVNING] utan mots\u00e4gelser.\r\n- Posen, uttrycket och paletten \u00e4r tilltalande f\u00f6r [MALGRUPP_ALDER].\r\n- Karakt\u00e4ren st\u00f6djer visuellt [AMNE] och ett positivt budskap.\r\n- Inga kulturellt ok\u00e4nsliga signaler, stereotyper eller exkluderande element f\u00f6rekommer.\r\n- Beskrivningen \u00e4r tillr\u00e4ckligt specifik f\u00f6r att en illustrat\u00f6r (eller bildmodell) ska kunna \u00e5terge den konsekvent.";
    const variables = ["[MALGRUPP_ALDER]","[AMNE]","[KARAKTARSBESKRIVNING]","[TON]","[ILLUSTRATIONSFORMAT]","[KONTEXT]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat från AI-prompten</h2>



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

<li><strong>Skriv beskrivningen som en castingannons, inte som en moodboard.</strong> Ta med konkreta, teckningsbara detaljer: ungefärlig ålder, storleksjämförelse (“ungefär lika lång som en ryggsäck”) och 1–2 signaturföremål. Om din beskrivning är “gullig och modig”, lägg till bevis som “står alltid på tå när hen blir exalterad” eller “har en liten anteckningsbok med frågor.”</li>


<li><strong>Lås åldersgruppen först.</strong> “3–5 år” driver enklare former, stora uttryck och färre små rekvisita; “7–9 år” klarar mer outfitdetalj och subtilare känslor. Om du är osäker, be om en följdfråga: “Ge mig två versioner av samma brief, en för 3–5 år och en för 7–9 år, och förklara vad som ändras.”</li>


<li><strong>Gör ämnet visuellt.</strong> Ämnen som “snällhet” eller “samarbete” kan bli abstrakta, så lägg till en konkret scen eller ett motiv kopplat till temat (dela mellis på rasten, bygga en koja tillsammans). En bra tilläggsprompt är: “Lista 5 återkommande visuella motiv som förstärker ämnet utan att använda text.”</li>


<li><strong>Använd de två riktningarna för att testa ytterligheter.</strong> När du har fått riktning A och B, förstärk kontrasten medvetet: “Gör nu riktning A mer geometrisk och tydlig, och gör riktning B mjukare och rundare, men behåll samma grundbeskrivning.” Det gör det enklare att välja slutversion och förhindrar en intetsägande mellanmjölksdesign.</li>


<li><strong>Gör om den slutliga briefen till en bildmodellsprompt och kontrollera den baklänges.</strong> Be: “Gör om den förfinade karaktärsbriefen till en enda prompt för bildgenerering plus en lista med negativa prompts.” Gör sedan en konsekvenskontroll: “Jämför den bildprompten med originalbeskrivningen och lista eventuella motsägelser eller saknade måste-ha-detaljer.” Ärligt talat fångar det mycket glidning.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>Om du bygger en faktisk barnbok (inte bara en enstaka karaktär) hjälper de här relaterade promptarna dig att dokumentera stödmaterielet runt ditt koncept:</p>



<p>Om du också behöver en barnvänlig vokabulärgrund för ditt manus eller resurser längst bak i boken hjälper <a href="https://nodenordic.se/prompts/skapa-en-ordlistetabell-for-nyborjare-med-ai-prompt">Skapa en ordlistetabell för nybörjare med AI-prompt</a> dig att översätta knepiga termer till tydliga, åldersanpassade definitioner och exempel som du kan hålla konsekventa genom hela boken.</p>



<p>När din berättelse innehåller informativa moment (vetenskapsfakta, historienotiser eller “så funkar det”-avsnitt) kan <a href="https://nodenordic.se/prompts/skapa-kapitelguider-med-den-har-ai-prompten">Skapa kapitelguider med den här AI-prompten</a> göra varje kapitel till en strukturerad guide. Det är ett praktiskt sätt att säkerställa att karaktärens värld hänger ihop och att ämnet förstärks, inte blir otydligt.</p>



<p>För fysiska produkter kopplade till din karaktär (gosedjur, tryckta aktivitetskit eller klassrumsmaterial) ger <a href="https://nodenordic.se/prompts/skapa-skotselguider-som-kunder-foljer-med-ai">Skapa skötselguider som kunder följer med AI</a> dig tydliga, föräldravänliga skötselinstruktioner. Det kan låta frikopplat från illustration, men det är en del av att bygga ett professionellt, trovärdigt varumärke för barn.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-en-ordlistetabell-for-nyborjare-med-ai-prompt">Skapa en ordlistetabell för nybörjare med AI-prompt</a>: Enkla definitioner för unga läsare.</li>


<li><a href="https://nodenordic.se/prompts/skapa-kapitelguider-med-den-har-ai-prompten">Skapa kapitelguider med den här AI-prompten</a>: Struktur och konsekvens kapitel för kapitel.</li>

<li><a href="https://nodenordic.se/prompts/skapa-skotselguider-som-kunder-foljer-med-ai">Skapa skötselguider som kunder följer med AI</a>: Tydliga skötselsteg för barnrelaterade produkter.</li>

<li><a href="https://nodenordic.se/prompts/skapa-en-handlingsplan-for-din-privatekonomi">Skapa en handlingsplan för din privatekonomi</a>: Strukturerade planer när ämnet är pengar.</li>
<!-- /wp:post-content -->
<li><a href="https://nodenordic.se/prompts/bygg-en-beteendebaserad-investeringsplan-med-denna-ai-prompt">Bygg en beteendebaserad investeringsplan med denna ai-prompt</a>: Vägledning om pengavanor för äldre målgrupper.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har störst nytta av den här AI-prompten för karaktärer i barnböcker?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Barnboksförfattare</strong> använder den för att göra om en lös idé om en protagonist till en illustrationsklar brief som matchar bokens ämne och ton. <strong>Illustratörer</strong> använder den för att reda ut silhuetter, outfits, rekvisita och spann för ansiktsuttryck innan thumbnails, vilket minskar revideringar senare. <strong>Kreativa ledare på mindre förlag</strong> använder den för att synka intressenter genom att jämföra två designriktningar och välja en med tydlig motivering. <strong>Content marketers som bygger IP för barn</strong> använder den när de behöver ett inkluderande, åldersanpassat karaktärskoncept som kan vara konsekvent i olika kampanjer.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för karaktärer i barnböcker?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Barnboksförlag</strong> använder den för att standardisera karaktärsriktning för omslag, inlaga och seriebiblar så att frilansare håller sig i linje. <strong>EdTech- och klassrumsinnehållsvarumärken</strong> använder den när de behöver en vänlig maskot som stödjer ett lärämne (som känslor, läsning eller naturvetenskap) utan att glida över i läskiga eller sarkastiska designval. <strong>Företag som säljer barnprodukter</strong> använder den för att utveckla karaktärsdrivna förpackningar och inlägg där illustrationen måste kännas trygg för föräldrar och rolig för barn. <strong>Licens- och IP-studior</strong> får värde när de vill ha två konceptspår snabbt och sedan en enda förfinad design som är enkel att lämna vidare för fortsatt utveckling.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompts för karaktärsbriefar till barnbokssillustrationer svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som “Write me a children’s book character design” misslyckas eftersom den: saknar en definierad målåldersgrupp, vilket gör att designen slår över åt för bebisaktigt eller för moget; saknar ett steg som plockar ut kärndetaljer ur din beskrivning, så detaljer motsäger varandra; ignorerar bokens ämne, vilket gör att karaktären inte förstärker temat; producerar generisk “gulligt djur”-output i stället för två genomtänkta konceptspår; och missar produktionsspråk (silhuett, palett, anteckningar om uttryck) som en illustratör eller bildmodell faktiskt kan använda.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för karaktärer i barnbok till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, och det bör du, eftersom resultaten beror på tre indata: TARGET_AGE_GROUP, TOPIC och DESCRIPTION. Skärp DESCRIPTION med några orubbliga ankare (två måste-behålla-egenskaper, en måste-undvika-egenskap och en signaturaccessoar) och håll sedan TOPIC tillräckligt specifikt för att gå att visualisera (till exempel “nervositet första skoldagen”, inte bara “självförtroende”). Efter första körningen, be om en följdfråga som: “Behåll samma förfinade riktning, men ge mig tre alternativa outfits och förklara vad varje outfit signalerar om karaktärens personlighet.” Om du använder en bildmodell, be också om en enda konsoliderad bildprompt plus en kort lista med negativa prompts.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för karaktärer i barnbok?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna DESCRIPTION för vag — i stället för “en modig kanin”, prova “en liten kanin som har för stora regnstövlar, bär ett lövformat paraply och visar mod genom att be om hjälp när den fastnar.” Ett annat vanligt fel är att sätta TARGET_AGE_GROUP till “barn” i stället för ett riktigt spann som “3–5 år”, vilket ändrar hur mycket detalj designen kan bära på ett tryggt sätt. Många håller också TOPIC abstrakt (“snällhet”) i stället för att förankra det (“dela leksaker på förskolan” eller “bjuda in en ny klasskamrat”), så karaktären kan inte visuellt förstärka temat. Till sist trycker vissa in för många accessoarer; välj en signaturrekvisita och låt silhuetten göra jobbet.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för karaktärer i barnbok?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för team som bara behöver en snabb, förbrukningsbar karaktär för ett enda inlägg i sociala medier och inte tänker iterera alls. Den är heller inte rätt verktyg om du ännu inte har bestämt ämne eller målgrupp, eftersom briefen är byggd för att linjera visuella val mot en specifik åldersgrupp och ett tema. Och om målet är en full storyboard eller ett illustrationspaket på flera sidor behöver du ett separat arbetsflöde för scener och kontinuitet. I de fallen: börja med en enkel konceptskiss och kom tillbaka till den här prompten när riktningen är vald.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har störst nytta av den här AI-prompten för karaktärer i barnböcker?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnboksförfattare använder den för att göra om en lös idé om en protagonist till en illustrationsklar brief som matchar bokens ämne och ton. Illustratörer använder den för att reda ut silhuetter, outfits, rekvisita och spann för ansiktsuttryck innan thumbnails, vilket minskar revideringar senare. Kreativa ledare på mindre förlag använder den för att synka intressenter genom att jämföra två designriktningar och välja en med tydlig motivering. Content marketers som bygger IP för barn använder den när de behöver ett inkluderande, åldersanpassat karaktärskoncept som kan vara konsekvent i olika kampanjer."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för karaktärer i barnböcker?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnboksförlag använder den för att standardisera karaktärsriktning för omslag, inlaga och seriebiblar så att frilansare håller sig i linje. EdTech- och klassrumsinnehållsvarumärken använder den när de behöver en vänlig maskot som stödjer ett lärämne (som känslor, läsning eller naturvetenskap) utan att glida över i läskiga eller sarkastiska designval. Företag som säljer barnprodukter använder den för att utveckla karaktärsdrivna förpackningar och inlägg där illustrationen måste kännas trygg för föräldrar och rolig för barn. Licens- och IP-studior får värde när de vill ha två konceptspår snabbt och sedan en enda förfinad design som är enkel att lämna vidare för fortsatt utveckling."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompts för karaktärsbriefar till barnbokssillustrationer svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Write me a children’s book character design” misslyckas eftersom den: saknar en definierad målåldersgrupp, vilket gör att designen slår över åt för bebisaktigt eller för moget; saknar ett steg som plockar ut kärndetaljer ur din beskrivning, så detaljer motsäger varandra; ignorerar bokens ämne, vilket gör att karaktären inte förstärker temat; producerar generisk “gulligt djur”-output i stället för två genomtänkta konceptspår; och missar produktionsspråk (silhuett, palett, anteckningar om uttryck) som en illustratör eller bildmodell faktiskt kan använda."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för karaktärer i barnbok till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du, eftersom resultaten beror på tre indata: TARGET_AGE_GROUP, TOPIC och DESCRIPTION. Skärp DESCRIPTION med några orubbliga ankare (två måste-behålla-egenskaper, en måste-undvika-egenskap och en signaturaccessoar) och håll sedan TOPIC tillräckligt specifikt för att gå att visualisera (till exempel “nervositet första skoldagen”, inte bara “självförtroende”). Efter första körningen, be om en följdfråga som: “Behåll samma förfinade riktning, men ge mig tre alternativa outfits och förklara vad varje outfit signalerar om karaktärens personlighet.” Om du använder en bildmodell, be också om en enda konsoliderad bildprompt plus en kort lista med negativa prompts."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för karaktärer i barnbok?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna DESCRIPTION för vag — i stället för “en modig kanin”, prova “en liten kanin som har för stora regnstövlar, bär ett lövformat paraply och visar mod genom att be om hjälp när den fastnar.” Ett annat vanligt fel är att sätta TARGET_AGE_GROUP till “barn” i stället för ett riktigt spann som “3–5 år”, vilket ändrar hur mycket detalj designen kan bära på ett tryggt sätt. Många håller också TOPIC abstrakt (“snällhet”) i stället för att förankra det (“dela leksaker på förskolan” eller “bjuda in en ny klasskamrat”), så karaktären kan inte visuellt förstärka temat. Till sist trycker vissa in för många accessoarer; välj en signaturrekvisita och låt silhuetten göra jobbet."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för karaktärer i barnbok?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för team som bara behöver en snabb, förbrukningsbar karaktär för ett enda inlägg i sociala medier och inte tänker iterera alls. Den är heller inte rätt verktyg om du ännu inte har bestämt ämne eller målgrupp, eftersom briefen är byggd för att linjera visuella val mot en specifik åldersgrupp och ett tema. Och om målet är en full storyboard eller ett illustrationspaket på flera sidor behöver du ett separat arbetsflöde för scener och kontinuitet. I de fallen: börja med en enkel konceptskiss och kom tillbaka till den här prompten när riktningen är vald."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En riktigt bra barnbokskaraktär är mer än “gullig”. Den är läsbar, konsekvent och tydligt kopplad till ditt ämne. Klistra in den här prompten i den modell du föredrar, kör den en gång och förfina sedan den vinnande riktningen till en brief som din illustratör faktiskt kan använda.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-karaktarsbrief-for-barnboksillustration-med-ai/">Skapa en karaktärsbrief för barnboksillustration med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en handlingsöversikt för barnbok med AI-prompt</title>
		<link>https://nodenordic.se/prompts/bygg-en-handlingsoversikt-for-barnbok-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-handlingsoversikt-for-barnbok-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:31:19 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000626</guid>

					<description><![CDATA[<p>Barnberättelser som känns platta? Den här AI-prompten skapar en handling med äventyr, vänskap och upptäckter samt subtilt lärande per tema.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-handlingsoversikt-for-barnbok-med-ai-prompt/">Bygg en handlingsöversikt för barnbok med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: children’s book plot -->

<div class="hook-introduction">

<p>Idéer till barnberättelser börjar ofta starkt, men fastnar sedan. Du har en söt karaktär och ett ämne, men mitten blir svajig, insatserna känns slumpmässiga och ”lärdomen” landar som en föreläsning. Ännu värre: du slutar med en handling som antingen är för komplex för unga läsare eller så enkel att den känns platt.</p>



<p>Den här <strong>handlingen för en barnbok</strong> är byggd för <strong>barnboksförfattare</strong> som behöver en strukturerad disposition innan de börjar skriva, <strong>content leads på utbildningsvarumärken</strong> som vill skapa lärande genom berättelser utan att låta som en lärobok, och <strong>frilansskribenter</strong> som snabbt behöver sätta ihop ett kundklart konceptpaket. Resultatet är en barnvänlig plot-blåkopía med en tydligt definierad huvudkaraktär, miljö, orsak-och-verkan-berättelsebeats och subtila lärmoment kopplade till ditt ämne.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="Vad den här prompten gör, när du ska använda den och vad du får">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger ditt valda ämne och bekräftar exakt vilken story-blåkopía den ska ta fram innan den skriver några plot-beats.</li>
          <li>Den definierar grunderna först: en huvudkaraktär, en levande miljö och en tydlig temakoppling som naturligt hänger ihop med [TOPIC].</li>
          <li>Den genererar en enkel, barnvänlig handling som betonar äventyr, vänskap och upptäckt genom hela berättelsen.</li>
          <li>Den väver in lärande i handlingar och val (färdigheter, fakta, problemlösning eller emotionellt lärande) i stället för att stoppa in uppenbara förklaringar.</li>
          <li>Den hanterar specialfall genom att smalna av breda ämnen till en barnvänlig vinkel eller erbjuda tolkningar när [TOPIC] är oklart.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har ett starkt ämne men ingen pålitlig struktur, och berättelsen fortsätter att driva iväg när du kommer till mitten.</li>
          <li>Du behöver en dispositionsskiss som går att pitcha till kund, klassrumsprojekt eller förlagsinlämning innan dagen är slut.</li>
          <li>Du försöker få in ett ”lärmoment” och du märker att det känns predikande, påklistrat eller malplacerat.</li>
          <li>Du skriver för yngre läsare och du råkar hela tiden göra handlingen, persongalleriet eller problemet för komplicerat.</li>
          <li>Du vill ha ett repeterbart sätt att ta fram flera bokkoncept kring olika ämnen (årstider, känslor, vetenskapsteman eller livsfärdigheter).</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett plot-blåkopía med tydliga avsnitt och orsak-och-verkan-övergångar genom hela berättelsen.</li>
           <li>Definierade story-grunder inklusive {Main Character}, {Setting} och {Theme Link To Topic} (så att du slipper gissa senare).</li>
           <li>En följd av barnanpassade händelser som uttryckligen innehåller äventyr, vänskap och upptäckt som huvudbåge.</li>
           <li>Subtila lärmoment placerade i berättelsens handling (till exempel att karaktären använder en färdighet eller testar en idé i scenen).</li>
           <li>En mjuk slutpoäng som matchar resan, plus förtydligande av ämnesvinkel om [TOPIC] var brett.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: byggare för dispositionsskiss till barnbokshandling</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange det huvudsakliga ämnet eller temat som barnboken ska handla om. Det bör vara övergripande men ändå lätt att förstå för yngre läsare.                                    <div class="var-example">Till exempel: "Rymdutforskning, inklusive planeter och astronauter."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange eventuella inmatningsvariabler med versaler och separera dem med understreck, så att de följer det format som krävs.                                    <div class="var-example">Till exempel: "BOKTITEL eller HUVUDKARAKTAR"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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">Hantering av edge cases</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">INDATA</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">OUTPUTSPECIFIKATION</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) Introduktion</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) Utlösande händelse</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) Stegrad spänning: sammankopplade händelser (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) Klimax</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) Upplösning</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) Slutbudskap / 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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa en tydlig, barnvänlig handlingstruktur för en barnbok om **[AMNE]** som lyfter fram äventyr, vänskap och upptäckter, samtidigt som den i smyg lär ut något nyttigt på vägen.

## PERSONA
Du är en erfaren författare av barnfiktion som är specialiserad på livfullt, åldersanpassat berättande. Din stil är varm, visuellt målande och lätt att följa, med mjuka lärande inslag som aldrig känns som en föreläsning.

## BEGRÄNSNINGAR
- Håll handlingen enkel nog för unga läsare, men inte tråkig—varje avsnitt ska väcka nyfikenhet eller driva framåt.
- Prioritera: äventyr + vänskap + upptäckter i huvudbågen.
- Inkludera lätta pedagogiska trådar som är naturligt kopplade till **[AMNE]** (fakta, färdigheter, problemlösning eller känslomässigt lärande).
- Undvik skrämmande, grafiska eller cyniska inslag; håll tonen hoppfull.
- **Efterlevnad av variabelformat:** användarinmatade uppgifter måste använda **[VERSALER_MED_UNDERSCORE]**; AI-ifyllda platshållare måste använda **{Title Case}**.

### Vad detta INTE är
- Inte fullständiga prosakapitel eller ett komplett manus.
- Inte illustrationer, sidlayout eller tryckfärdig formatering.
- Inte en detaljerad kursplan eller lektionsplanering.
- Inte marknadsföringstext (baksidestexter, annonser eller säljsidor).

## PROCESS
1. **Föranalys (obligatorisk):** Återge kort din förståelse av det önskade berättelseämnet och vad du kommer att leverera.
2. Definiera grunderna: {Main Character}, {Setting} och {Theme Link To Topic}.
3. Bygg handlingen enligt leveransstrukturen nedan, och säkerställ tydlig orsak-och-verkan mellan avsnitten.
4. Lägg in subtila lärandemoment i händelserna (visa kunskapen i handling i stället för att förklara den rakt ut).
5. Avsluta med en mjuk slutsats som matchar resan.

### Hantering av edge cases
- Om **[AMNE]** är för brett, välj en specifik vinkel och skriv den i föranalysen (t.ex. “Jag kommer att fokusera på {Chosen Angle} inom [AMNE]”).
- Om **[AMNE]** är otydligt, ge 2–3 möjliga tolkningar och gå vidare med den mest barnvänliga.
- Om **[AMNE]** är komplext för barn, förenkla det med en analogi som passar barn och låt det synas i handlingen.

## INDATA
- **Bokämne:** [AMNE]

## OUTPUTSPECIFIKATION
Leverera handlingstrukturen med dessa rubriker och platshållare:

### 1) Introduktion
- {Setting Description}
- {Main Character(s)} (vilka de är, vad de älskar, hur en vanlig dag ser ut)
- {Everyday Want Or Problem}
- {Gentle Topic Connection} (hur [AMNE] naturligt dyker upp i deras värld)

### 2) Utlösande händelse
- {Disrupting Event} som förändrar den vanliga rutinen
- {Story Question} (vad karaktärerna nu behöver lista ut eller uppnå)
- {Reason They Must Act} (varför det är viktigt för dem)

### 3) Stegrad spänning: sammankopplade händelser (3–5 beats)
För varje beat, inkludera:
- {Event Title}
- {Obstacle Or Mystery}
- {Friendship Moment} (hjälp, teamwork, missförstånd som repareras, vänlighet, etc.)
- {Discovery} (ny ledtråd, ny plats, ny förståelse)
- {Learning Woven In} (en subtil [AMNE]-relaterad idé som visas genom handling)
- {Stakes Increase} (varför nästa steg är svårare)

### 4) Klimax
- {Biggest Challenge Or Choice}
- {Emotional High Point}
- {How Their Learning Helps} (hur [AMNE]-tråden bidrar till vändpunkten)

### 5) Upplösning
- {How The Problem Is Solved}
- {How Relationships Change} (starkare vänskap, nytt förtroende, gemensam seger)
- {New Normal} (hur livet ser ut nu)
- {What They Learned} (med enkla, barnanpassade ord)

### 6) Slutbudskap / moral
- {Takeaway Line} (en kort, minnesvärd lärdom som stämmer med berättelsen)

## KVALITETSKONTROLLER
Innan du slutför, kontrollera:
- Handlingen innehåller alla sex obligatoriska avsnitt och använder de angivna rubrikerna.
- Äventyr, vänskap och upptäckter finns med genomgående (inte bara en gång).
- Pedagogiskt innehåll kopplat till **[AMNE]** visas naturligt i händelserna, inte som en föreläsning.
- Klimax är en verklig vändpunkt och leder tydligt in i slutet.
- Moralen matchar karaktärernas handlingar och utveckling (ingen slumpmässig eller predikande lärdom).            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en tydlig, barnv\u00e4nlig handlingstruktur f\u00f6r en barnbok om **[AMNE]** som lyfter fram \u00e4ventyr, v\u00e4nskap och uppt\u00e4ckter, samtidigt som den i smyg l\u00e4r ut n\u00e5got nyttigt p\u00e5 v\u00e4gen.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren f\u00f6rfattare av barnfiktion som \u00e4r specialiserad p\u00e5 livfullt, \u00e5ldersanpassat ber\u00e4ttande. Din stil \u00e4r varm, visuellt m\u00e5lande och l\u00e4tt att f\u00f6lja, med mjuka l\u00e4rande inslag som aldrig k\u00e4nns som en f\u00f6rel\u00e4sning.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- H\u00e5ll handlingen enkel nog f\u00f6r unga l\u00e4sare, men inte tr\u00e5kig\u2014varje avsnitt ska v\u00e4cka nyfikenhet eller driva fram\u00e5t.\r\n- Prioritera: \u00e4ventyr + v\u00e4nskap + uppt\u00e4ckter i huvudb\u00e5gen.\r\n- Inkludera l\u00e4tta pedagogiska tr\u00e5dar som \u00e4r naturligt kopplade till **[AMNE]** (fakta, f\u00e4rdigheter, probleml\u00f6sning eller k\u00e4nslom\u00e4ssigt l\u00e4rande).\r\n- Undvik skr\u00e4mmande, grafiska eller cyniska inslag; h\u00e5ll tonen hoppfull.\r\n- **Efterlevnad av variabelformat:** anv\u00e4ndarinmatade uppgifter m\u00e5ste anv\u00e4nda **[VERSALER_MED_UNDERSCORE]**; AI-ifyllda platsh\u00e5llare m\u00e5ste anv\u00e4nda **{Title Case}**.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte fullst\u00e4ndiga prosakapitel eller ett komplett manus.\r\n- Inte illustrationer, sidlayout eller tryckf\u00e4rdig formatering.\r\n- Inte en detaljerad kursplan eller lektionsplanering.\r\n- Inte marknadsf\u00f6ringstext (baksidestexter, annonser eller s\u00e4ljsidor).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge kort din f\u00f6rst\u00e5else av det \u00f6nskade ber\u00e4ttelse\u00e4mnet och vad du kommer att leverera.\r\n2. Definiera grunderna: {Main Character}, {Setting} och {Theme Link To Topic}.\r\n3. Bygg handlingen enligt leveransstrukturen nedan, och s\u00e4kerst\u00e4ll tydlig orsak-och-verkan mellan avsnitten.\r\n4. L\u00e4gg in subtila l\u00e4randemoment i h\u00e4ndelserna (visa kunskapen i handling i st\u00e4llet f\u00f6r att f\u00f6rklara den rakt ut).\r\n5. Avsluta med en mjuk slutsats som matchar resan.\r\n\r\n### Hantering av edge cases\r\n- Om **[AMNE]** \u00e4r f\u00f6r brett, v\u00e4lj en specifik vinkel och skriv den i f\u00f6ranalysen (t.ex. \u201cJag kommer att fokusera p\u00e5 {Chosen Angle} inom [AMNE]\u201d).\r\n- Om **[AMNE]** \u00e4r otydligt, ge 2\u20133 m\u00f6jliga tolkningar och g\u00e5 vidare med den mest barnv\u00e4nliga.\r\n- Om **[AMNE]** \u00e4r komplext f\u00f6r barn, f\u00f6renkla det med en analogi som passar barn och l\u00e5t det synas i handlingen.\r\n\r\n## INDATA\r\n- **Bok\u00e4mne:** [AMNE]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera handlingstrukturen med dessa rubriker och platsh\u00e5llare:\r\n\r\n### 1) Introduktion\r\n- {Setting Description}\r\n- {Main Character(s)} (vilka de \u00e4r, vad de \u00e4lskar, hur en vanlig dag ser ut)\r\n- {Everyday Want Or Problem}\r\n- {Gentle Topic Connection} (hur [AMNE] naturligt dyker upp i deras v\u00e4rld)\r\n\r\n### 2) Utl\u00f6sande h\u00e4ndelse\r\n- {Disrupting Event} som f\u00f6r\u00e4ndrar den vanliga rutinen\r\n- {Story Question} (vad karakt\u00e4rerna nu beh\u00f6ver lista ut eller uppn\u00e5)\r\n- {Reason They Must Act} (varf\u00f6r det \u00e4r viktigt f\u00f6r dem)\r\n\r\n### 3) Stegrad sp\u00e4nning: sammankopplade h\u00e4ndelser (3\u20135 beats)\r\nF\u00f6r varje beat, inkludera:\r\n- {Event Title}\r\n- {Obstacle Or Mystery}\r\n- {Friendship Moment} (hj\u00e4lp, teamwork, missf\u00f6rst\u00e5nd som repareras, v\u00e4nlighet, etc.)\r\n- {Discovery} (ny ledtr\u00e5d, ny plats, ny f\u00f6rst\u00e5else)\r\n- {Learning Woven In} (en subtil [AMNE]-relaterad id\u00e9 som visas genom handling)\r\n- {Stakes Increase} (varf\u00f6r n\u00e4sta steg \u00e4r sv\u00e5rare)\r\n\r\n### 4) Klimax\r\n- {Biggest Challenge Or Choice}\r\n- {Emotional High Point}\r\n- {How Their Learning Helps} (hur [AMNE]-tr\u00e5den bidrar till v\u00e4ndpunkten)\r\n\r\n### 5) Uppl\u00f6sning\r\n- {How The Problem Is Solved}\r\n- {How Relationships Change} (starkare v\u00e4nskap, nytt f\u00f6rtroende, gemensam seger)\r\n- {New Normal} (hur livet ser ut nu)\r\n- {What They Learned} (med enkla, barnanpassade ord)\r\n\r\n### 6) Slutbudskap \/ moral\r\n- {Takeaway Line} (en kort, minnesv\u00e4rd l\u00e4rdom som st\u00e4mmer med ber\u00e4ttelsen)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, kontrollera:\r\n- Handlingen inneh\u00e5ller alla sex obligatoriska avsnitt och anv\u00e4nder de angivna rubrikerna.\r\n- \u00c4ventyr, v\u00e4nskap och uppt\u00e4ckter finns med genomg\u00e5ende (inte bara en g\u00e5ng).\r\n- Pedagogiskt inneh\u00e5ll kopplat till **[AMNE]** visas naturligt i h\u00e4ndelserna, inte som en f\u00f6rel\u00e4sning.\r\n- Klimax \u00e4r en verklig v\u00e4ndpunkt och leder tydligt in i slutet.\r\n- Moralen matchar karakt\u00e4rernas handlingar och utveckling (ingen slumpm\u00e4ssig eller predikande l\u00e4rdom).";
    const variables = ["[AMNE]","[VERSALER_MED_UNDERSCORE]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-prompten</h2>



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

<li><strong>Välj en smal [TOPIC] medvetet.</strong> ”Naturen” är svår att dramatisera; ”hur frön sprids” är mycket enklare att bygga in i scener. Om du bara har ett brett tema, mata in det ändå och följ sedan upp med: ”Välj en barnvänlig vinkel inom [TOPIC] och skriv om dispositionen utifrån den.”</li>


<li><strong>Säg läsarens ålder och önskad längd i ditt meddelande.</strong> Prompten håller det barnvänligt, men ”4–6 år, 24 sidor” ger bättre pacing-val än en generell begäran. Prova: ”Använd [TOPIC]=att dela med sig, målålder 5, bildbokstempo och håll persongalleriet till 3 namngivna karaktärer.”</li>


<li><strong>Be att lärandet visas genom en återkommande handling.</strong> Ärligt talat: ett återkommande beteende slår fem utspridda ”lärbara” ögonblick. Lägg till: ”Låt den pedagogiska tråden synas i tre små försök, ett misstag och en slutlig framgång.”</li>


<li><strong>Iterera genom att skapa mer kontrast mellan scener.</strong> Efter första dispositionen: börja inte om, utan vässa den. Be: ”Gör nu upptäcktsögonblicket mer överraskande, gör vänskapskonflikten mildare och höj äventyrsinsatserna utan att lägga till skrämmande inslag.”</li>


<li><strong>Gör om dispositionen till en skrivplan.</strong> När blåkopían sitter, använd en uppföljning som behåller samma struktur: ”Gör om varje plot-avsnitt till 2–3 korta scen-beats med föreslagna dialogsnuttar och sinnesdetaljer, men skriv inte full prosa.” Det ger fart framåt utan att råka generera ett helt manus.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>När din storydisposition sitter hjälper de här promptarna dig att paketera, presentera och marknadsföra projektet.</p>



<p>Om du också behöver en strukturerad sida som förklarar boken, författaren eller det pedagogiska syftet, hjälper <a href="https://nodenordic.se/prompts/skapa-landningssidetexter-med-denna-ai-prompt">Skapa landningssidetexter med den här AI-prompten</a> dig att översätta dispositionen till nyttodrivna avsnitt, tydliga rubriker och en enkel uppmaning till handling. Den är särskilt användbar när du delar konceptet med en rektor, en ideell partner eller ett litet förlagsteam.</p>



<p>När du är redo att få uppmärksamhet för ett läsevenemang, en förhandsbokning eller ett klassrumsresursmaterial kan <a href="https://nodenordic.se/prompts/skapa-annonscopy-som-konverterar-med-denna-ai-prompt">Skapa högkonverterande annonstexter med den här AI-prompten</a> ta fram vassare rubriker och kortformatstexter som ändå håller en familjevänlig ton. Din plot-blåkopía ger kärnlöftet; annons-prompten hjälper dig att säga det snabbt.</p>



<p>För team som gör flera målgruppstester (föräldrar vs. lärare, mor- och farföräldraköpare vs. bibliotekarier) passar <a href="https://nodenordic.se/prompts/skapa-ab-varianter-av-annonstexter-med-ai-prompt">Skapa A/B-variationer av annonstexter med den här AI-prompten</a> bra eftersom den ger strukturerade varianter att jämföra. Det spelar roll när dispositionen är densamma, men vinkeln ändras: äventyr först kontra lärande först, till exempel.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-landningssidetexter-med-denna-ai-prompt">Skapa landningssidetexter med den här AI-prompten</a>: Gör om konceptet till en tydlig sida.</li>


<li><a href="https://nodenordic.se/prompts/skapa-annonscopy-som-konverterar-med-denna-ai-prompt">Skapa högkonverterande annonstexter med den här AI-prompten</a>: Kampanjtexter för lanseringar och event.</li>

<li><a href="https://nodenordic.se/prompts/skapa-ab-varianter-av-annonstexter-med-ai-prompt">Skapa A/B-variationer av annonstexter med den här AI-prompten</a>: Testa vinklar mot målgrupper snabbt.</li>

<li><a href="https://nodenordic.se/prompts/bygg-modulara-mallar-for-infografik">Bygg modulära infografikmallar med den här AI-prompten</a>: Visuella lärhandouts baserade på storyämnen.</li>
<!-- /wp:post-content -->
<li><a href="https://nodenordic.se/prompts/skapa-3-unika-logospar-med-denna-ai-prompt">Skapa 3 tydliga logoriktningar med den här AI-prompten</a>: Varumärkesuttryck för en serie eller ett imprint.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för handling i barnbok?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Barnboksförfattare</strong> använder den för att låsa en tydlig början–mitt–slut innan de börjar skriva sidor, så att berättelsen håller sig enkel men inte blir tråkig. <strong>Curriculum- och contentansvariga</strong> på utbildningsfokuserade varumärken använder den för att skapa lärande genom berättelser, där färdigheten visas via händelser i stället för att förklaras som en föreläsning. <strong>Frilansskribenter och spökskrivare</strong> förlitar sig på den när en kund ber om ”en barnberättelse om X” och de snabbt behöver en snygg, pitchbar blåkopía. <strong>Redaktörer och bokcoacher</strong> använder dispositionen för att upptäcka pacingproblem och luckor i orsak och verkan innan revideringsarbetet börjar.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för handling i barnbok?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Utbildningsförlag</strong> använder den för att ta fram åldersanpassade storybågar som ändå bär en lärtråd kopplad till ett ämne som känslor, säkerhet eller tidig naturvetenskap. <strong>EdTech och lärappar</strong> kan anpassa plot-blåkopían till interaktiva berättelsemoduler, där varje ”upptäckt”-moment blir ett val eller en miniaktivitet. <strong>Ideella organisationer och offentliga program</strong> (bibliotek, folkhälsa, miljöorganisationer) använder den för att skapa vänliga narrativ som bär ett budskap utan att låta predikande. <strong>Barnmedievarumärken</strong> använder strukturen för att utveckla återanvändbara, avsnittsliknande handlingar som håller äventyr och vänskap i centrum.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompts för att skissa barnbokshandling ofta svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv en barnberättelse om rymden” misslyckas eftersom den: saknar en nödvändig föranalys som tydliggör ämnesvinkel och leverans, ger ingen strukturerad grund som en definierad huvudkaraktär och miljö, ignorerar orsak och verkan mellan plot-avsnitt, producerar generiska ”och sen”-händelser i stället för en äventyr–vänskap–upptäckt-båge, och gör lärandet till uppenbara förklaringar i stället för att visa det genom handlingar. Du får ofta en berättelse som svamlar, introducerar för många idéer eller landar i en moral som känns påskruvad.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för barnbokshandling till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Den viktigaste spaken är din [TOPIC], och du får den att prestera bättre genom att lägga till ramar tillsammans med den, som målålder, ungefärligt sidantal, ton (tokig, mysig, äventyrlig) och eventuella ”nej”-element (inga skurkar, inga stormar, inga teman om separationsångest). Om [TOPIC] är brett, be den välja en enda vinkel och namnge den i föranalysen, och bygg sedan dispositionen utifrån den vinkeln. En bra uppföljning är: ”Skriv om samma blåkopía för 4–6 år med bara tre platser, och låt lärtråden synas i tre återkommande handlingar.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för barnbokshandling?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna [TOPIC] för vagt — i stället för ”vänskap”, prova ”att reparera en vänskap efter att ha brutit ett löfte”. Ett annat vanligt fel är att välja ett abstrakt ämne utan konkreta storyhandlingar; ”självförtroende” fungerar bättre som ”att prova något nytt för allra första gången”. Många glömmer också att ange åldersramar, vilket kan ge ordval och insatser som drar åt äldre; ”3–5 år, mild konflikt” är tydligare än ”för barn”. Slutligen ber vissa om ett helt manus, men den här prompten är byggd för en blåkopía, så du får bättre resultat om du ber om scen-beats i stället för kapitel.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för barnbokshandling?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal om du behöver fulla prosasidor eller ett publiceringsklart manus i ett enda körning, eftersom den medvetet stannar vid en disposition. Den passar också sämre för mörka, skrämmande eller mycket komplexa berättelser där moralisk tvetydighet är själva poängen, eftersom den är utformad för att hålla tonen hoppfull och åldersanpassad. Om du fortfarande är osäker på ditt kärnämne, gör ett snabbt brainstormsteg först och kom sedan tillbaka med en vassare [TOPIC] så att blåkopían har något stabilt att bygga på.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för handling i barnbok?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Barnboksförfattare använder den för att låsa en tydlig början–mitt–slut innan de börjar skriva sidor, så att berättelsen håller sig enkel men inte blir tråkig. Curriculum- och contentansvariga på utbildningsfokuserade varumärken använder den för att skapa lärande genom berättelser, där färdigheten visas via händelser i stället för att förklaras som en föreläsning. Frilansskribenter och spökskrivare förlitar sig på den när en kund ber om ”en barnberättelse om X” och de snabbt behöver en snygg, pitchbar blåkopía. Redaktörer och bokcoacher använder dispositionen för att upptäcka pacingproblem och luckor i orsak och verkan innan revideringsarbetet börjar."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för handling i barnbok?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Utbildningsförlag använder den för att ta fram åldersanpassade storybågar som ändå bär en lärtråd kopplad till ett ämne som känslor, säkerhet eller tidig naturvetenskap. EdTech och lärappar kan anpassa plot-blåkopían till interaktiva berättelsemoduler, där varje ”upptäckt”-moment blir ett val eller en miniaktivitet. Ideella organisationer och offentliga program (bibliotek, folkhälsa, miljöorganisationer) använder den för att skapa vänliga narrativ som bär ett budskap utan att låta predikande. Barnmedievarumärken använder strukturen för att utveckla återanvändbara, avsnittsliknande handlingar som håller äventyr och vänskap i centrum."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompts för att skissa barnbokshandling ofta svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en barnberättelse om rymden” misslyckas eftersom den: saknar en nödvändig föranalys som tydliggör ämnesvinkel och leverans, ger ingen strukturerad grund som en definierad huvudkaraktär och miljö, ignorerar orsak och verkan mellan plot-avsnitt, producerar generiska ”och sen”-händelser i stället för en äventyr–vänskap–upptäckt-båge, och gör lärandet till uppenbara förklaringar i stället för att visa det genom handlingar. Du får ofta en berättelse som svamlar, introducerar för många idéer eller landar i en moral som känns påskruvad."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för barnbokshandling till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Den viktigaste spaken är din [TOPIC], och du får den att prestera bättre genom att lägga till ramar tillsammans med den, som målålder, ungefärligt sidantal, ton (tokig, mysig, äventyrlig) och eventuella ”nej”-element (inga skurkar, inga stormar, inga teman om separationsångest). Om [TOPIC] är brett, be den välja en enda vinkel och namnge den i föranalysen, och bygg sedan dispositionen utifrån den vinkeln. En bra uppföljning är: ”Skriv om samma blåkopía för 4–6 år med bara tre platser, och låt lärtråden synas i tre återkommande handlingar.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för barnbokshandling?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TOPIC] för vagt — i stället för ”vänskap”, prova ”att reparera en vänskap efter att ha brutit ett löfte”. Ett annat vanligt fel är att välja ett abstrakt ämne utan konkreta storyhandlingar; ”självförtroende” fungerar bättre som ”att prova något nytt för allra första gången”. Många glömmer också att ange åldersramar, vilket kan ge ordval och insatser som drar åt äldre; ”3–5 år, mild konflikt” är tydligare än ”för barn”. Slutligen ber vissa om ett helt manus, men den här prompten är byggd för en blåkopía, så du får bättre resultat om du ber om scen-beats i stället för kapitel."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för barnbokshandling?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal om du behöver fulla prosasidor eller ett publiceringsklart manus i ett enda körning, eftersom den medvetet stannar vid en disposition. Den passar också sämre för mörka, skrämmande eller mycket komplexa berättelser där moralisk tvetydighet är själva poängen, eftersom den är utformad för att hålla tonen hoppfull och åldersanpassad. Om du fortfarande är osäker på ditt kärnämne, gör ett snabbt brainstormsteg först och kom sedan tillbaka med en vassare [TOPIC] så att blåkopían har något stabilt att bygga på."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En barnberättelse behöver inte vara komplicerad för att bli minnesvärd. Klistra in prompten i ditt AI-verktyg, fyll i ditt [TOPIC] och få en handling du faktiskt kan skriva utifrån.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-handlingsoversikt-for-barnbok-med-ai-prompt/">Bygg en handlingsöversikt för barnbok med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa en plan för låtarrangemang med AI-prompt</title>
		<link>https://nodenordic.se/prompts/skapa-en-plan-for-latarrangemang-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-plan-for-latarrangemang-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:29:05 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000624</guid>

					<description><![CDATA[<p>Känns låten formlös? Den här AI-prompten kartlägger ett komplett arrangemang med delar, syfte och känslokurva.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-plan-for-latarrangemang-med-ai-prompt/">Skapa en plan för låtarrangemang med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: song arrangement blueprint -->
<div class="hook-introduction">

<p>Låtar börjar ofta starkt och tappar sedan riktning. Du har ett tema och kanske en idé till en refräng, men resten känns som utfyllnad, upprepade delar eller en brygga som inte hör hemma. Resultatet blir en låt som aldrig riktigt förtjänar sin sista stund.</p>



<p>Den här <strong>blueprinten för låtarrangemang</strong> är byggd för <strong>oberoende artister</strong> som har en stark hook men inte får ihop hela resan, <strong>producenter</strong> som behöver en snabb, realistisk sessionsplan innan inspelningen börjar, och <strong>låtskrivarkoacher</strong> som vill ha en tydlig struktur för att guida en elev utan att skriva låten åt dem. Resultatet är en arrangemangsplan del för del (intro till outro) med varje dels syfte, energi, groove-noteringar, melodisk riktning och en känslomässig båge som lyssnaren faktiskt kan känna.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den sammanfattar ditt ämne, din stämning och ditt budskap i en kort föranalys så att “destinationen” för slutet blir tydlig.</li>
          <li>Den designar en känslomässig bana från spänning till release och beskriver vad som ska intensifieras, vad som ska slappna av och när.</li>
          <li>Den väljer ett arrangemangsformat (klassiskt eller icke-traditionellt) och förklarar varför den strukturen passar ditt material.</li>
          <li>Den planerar varje dels syfte (uppbyggnad, eskalering, payoff, kontrast, upplösning) med konkret musikalisk vägledning kring energi, groove, harmoniskt lyft och melodisk riktning.</li>
          <li>Den placerar inramningar och instrumentala ögonblick (intro/outro, drops, breaks, vändningar, valfritt soloutrymme) för att hålla momentum utan att överkomplicera låten.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har en stark refräng eller idé, men verserna känns som att de bromsar låten.</li>
          <li>Du skriver om samma låtdel om och om igen eftersom den känslomässiga bågen inte är definierad ännu.</li>
          <li>Du förbereder en inspelningssession och behöver en praktisk färdplan innan du låser instrument och tagningar.</li>
          <li>Du försöker sticka ut i en genre där arrangemang antingen är för förutsägbara eller konstiga av fel skäl.</li>
          <li>Du vill skala output (för en EP, en brief eller en publiceringsplan) och kan inte lägga dagar på struktur-experiment.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett arrangemangsöversikt med 7–10 namngivna delar (till exempel: intro, vers 1, pre, refräng, vers 2, refräng, brygga, sista refräng, outro).</li>
           <li>En föranalys på 2–4 meningar som säger vad låten “handlar om”, det emotionella målet och vad slutet ska leverera.</li>
           <li>Del-för-del-noteringar som anger energinivå, groove-känsla, harmoniskt lyft och melodisk kontur på enkel svenska.</li>
           <li>En uppsättning instruktioner för “inramningen” om hur låten går in och landar, inklusive alternativ om dina inputs är otydliga.</li>
           <li>Föreslagen placering av kontrastögonblick (drop, vändning, instrumentalt break) med en motivering för varje val.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: byggare för blueprint för låtarrangemang</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange låtens centrala tema eller ämne, till exempel en idé, känsla eller händelse som du vill utforska.                                    <div class="var-example">Till exempel: "Att övervinna självtvivel och hitta inre styrka."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[STAMNING]</code></td>
                                <td class="var-desc">
                                    Beskriv den känslomässiga tonen eller atmosfären du vill att låten ska förmedla, till exempel upplyftande, melankolisk eller triumferande.                                    <div class="var-example">Till exempel: "Stärkande och hoppfull, med en aning nostalgi."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[STAMNING]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDSKAP]</code></td>
                                <td class="var-desc">
                                    Sammanfatta huvudidén eller berättelsen du vill att låten ska kommunicera till lyssnaren.                                    <div class="var-example">Till exempel: "Uppmuntra lyssnarna att omfamna sin individualitet och följa sina drömmar trots motgångar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BUDSKAP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[GENRE]</code></td>
                                <td class="var-desc">
                                    Ange musikstil eller genre för låten (om relevant) för att styra val av arrangemang och instrumentering.                                    <div class="var-example">Till exempel: "Indiepop med elektroniska influenser."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[GENRE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSLANGD]</code></td>
                                <td class="var-desc">
                                    Ange ungefärlig längd på låten för att underlätta planering av struktur och tempo.                                    <div class="var-example">Till exempel: "3 minuter och 30 sekunder."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSLANGD]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den tänkta målgruppen för låten, inklusive demografiska detaljer eller emotionella preferenser.                                    <div class="var-example">Till exempel: "Unga vuxna som gillar introspektiv och känslodriven musik."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INSTRUMENTERING]</code></td>
                                <td class="var-desc">
                                    Ange vilka instrument eller ljud du vill ska framträda tydligt i låtens arrangemang.                                    <div class="var-example">Till exempel: "Akustisk gitarr, piano och ett lätt stråkkomp."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INSTRUMENTERING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Detta beskriver formatet som variabler skrivs i i prompten, vanligtvis inom hakparenteser och med versaler samt understreck.                                    <div class="var-example">Till exempel: "[STAMNING], [BUDSKAP], [GENRE]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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 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">Vad detta INTE är</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">OUTPUTSPECIFIKATION</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) Låtöversikt</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) Full arrangemangskarta</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">3) Plan för intresse &amp; variation</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">4) Valfria alternativ</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skapa en övertygande, komplett blueprint för en låt byggd kring [AMNE], formad för att uttrycka [STAMNING] och kommunicera [BUDSKAP]. Resultatet ska kartlägga lyssnarens emotionella resa samtidigt som musikalisk driv och variation hålls uppe från början till slut.

## PERSONA
Du är en prisbelönt, världsklass låtskrivare/kompositör känd för att skapa minnesvärda hooks och dynamiska arrangemang. Du tänker som en producent: du balanserar lyriskt berättande med rytmiskt driv, melodisk kontur och harmoniskt lyft—utan att skriva fullständig text eller notation om du inte uttryckligen blir ombedd.

## BEGRÄNSNINGAR
- Leverera en **strukturplan**, inte en färdig låt (ingen fullständig textmall som standard).
- Varje del måste ha ett tydligt syfte (upplägg, eskalering, payoff, kontrast, upplösning).
- Håll arrangemanget realistiskt för framförande/inspelning och lätt att följa.
- Använd **leveransstandarder**: tydliga rubriker, konsekventa etiketter och konkreta musikaliska riktlinjer (energi, groove, harmoni, melodiriktning).
- Om en input saknas eller är vag, föreslå 1–2 rimliga alternativ och fortsätt.

## PROCESS
1. **Föranalys (ange din förståelse först):** Sammanfatta din tolkning av [AMNE], [STAMNING] och [BUDSKAP] i 2–4 meningar, inklusive den tänkta emotionella destinationen i sista refrängen/outrot.
2. **Tema- och känslodesign:** Definiera det centrala temat, emotionella färger och spännings-till-upplösning-kurva.
3. **Arrangemangsval:** Välj ett lämpligt format (klassiskt eller icke-traditionellt) och motivera varför det passar materialet.
4. **Delplanering (bygg resan):**
   - Verser: bestäm antal och vad varje vers åstadkommer narrativt.
   - Refränger: definiera hook-/payoff-ögonblicken och hur de intensifieras över upprepningar.
   - Brygga (eller alternativ kontrastdel): ta bara med om det ökar effekten; specificera hur den vänder eller omformulerar budskapet.
5. **Bokstöd:** Planera intro och outro (hur låten går in, hur den landar).
6. **Instrumentala ögonblick:** Placera eventuella breaks, turnarounds, solon eller drops för att behålla intresset.
7. **Musikaliska riktlinjer per del:** För varje del, ange rytm/känsla, melodisk rörelse och harmonisk karaktär (t.ex. lyft, mörker, suspension, modulation).
8. **Flödeskontroll:** Bekräfta övergångar, dynamik och lyssnarens uppmärksamhetspunkter; justera för att undvika monotoni.
9. **Emotionell verifiering:** Säkerställ att varje del stöttar [BUDSKAP] och den avsedda känslan i [STAMNING].

### Vad detta INTE är
- Inte ett fullständigt textutkast, ackordschema, MIDI-arrangemang eller noter.
- Inte mix-/mastering-råd.
- Inte genrespecifika produktionsinstruktioner om inte [GENRE] anges.

## INPUTS
- **Låtämne:** [AMNE]  
- **Önskad stämning:** [STAMNING]  
- **Berättelse/budskap att förmedla:** [BUDSKAP]  
- **Genre (valfritt):** [GENRE]  
- **Typisk låtlängd (valfritt):** [TIDSLANGD]  
- **Primärt användarsegment/lyssnarprofil (valfritt):** [MALGRUPP]  
- **Föredragen instrumentering (valfritt):** [INSTRUMENTERING]  

## OUTPUTSPECIFIKATION
Ge en detaljerad struktur med följande mall:

### 1) Låtöversikt
- {Theme Statement}
- {Emotional Arc Summary}
- {Suggested Tempo Range}
- {Core Feel/Groove}
- {Harmonic Palette Notes} (t.ex. ljust dur-lyft, mollspänning, sus-ackord, idé om tonartsbyte)

### 2) Full arrangemangskarta
Lista delar i ordning med tydliga etiketter och kortfattade detaljer för varje:
- **{Section Name}** (t.ex. Intro, Verse 1, Pre-Chorus, Chorus 1, Verse 2, Chorus 2, Bridge, Final Chorus, Outro)
  - {Purpose In Story}
  - {Energy Level} (låg → peak)
  - {Rhythm/Feel Notes}
  - {Melody Direction} (t.ex. tight/återhållen vs. bred/hoppig; stigande kontur in i hooken)
  - {Harmony Notes} (t.ex. spänning, upplösning, lyft, kort modulation)
  - {Dynamics &amp; Texture} (vad som kommer in/ut)
  - {Transition Plan} (hur det går in i nästa del)

### 3) Plan för intresse &amp; variation
- {Planned Escalations} (hur upprepningar utvecklas)
- {Contrast Moment} (brygga eller motsvarande) och {Why It Works}
- {Instrumental Breaks/Solos} med {Placement Rationale}

### 4) Valfria alternativ
Ge 1–2 alternativa strukturer om det är lämpligt:
- {Alternate Structure Option}
- {When To Choose It}

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Att refrängen fungerar som emotionellt centrum och eskalerar på ett meningsfullt sätt.
- Att verserna för berättelsen/budskapet framåt utan att upprepa samma slag.
- Att det finns minst ett medvetet kontrastögonblick (brygga, breakdown eller omharmoniserad refräng).
- Att övergångar är logiska och håller momentum (inga ”döda” partier).
- Att alla placeholders följer formatregler: användarinput är [VERSALER_MED_UNDERSCORE] och output-placeholders använder {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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en \u00f6vertygande, komplett blueprint f\u00f6r en l\u00e5t byggd kring [AMNE], formad f\u00f6r att uttrycka [STAMNING] och kommunicera [BUDSKAP]. Resultatet ska kartl\u00e4gga lyssnarens emotionella resa samtidigt som musikalisk driv och variation h\u00e5lls uppe fr\u00e5n b\u00f6rjan till slut.\r\n\r\n## PERSONA\r\nDu \u00e4r en prisbel\u00f6nt, v\u00e4rldsklass l\u00e5tskrivare\/komposit\u00f6r k\u00e4nd f\u00f6r att skapa minnesv\u00e4rda hooks och dynamiska arrangemang. Du t\u00e4nker som en producent: du balanserar lyriskt ber\u00e4ttande med rytmiskt driv, melodisk kontur och harmoniskt lyft\u2014utan att skriva fullst\u00e4ndig text eller notation om du inte uttryckligen blir ombedd.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Leverera en **strukturplan**, inte en f\u00e4rdig l\u00e5t (ingen fullst\u00e4ndig textmall som standard).\r\n- Varje del m\u00e5ste ha ett tydligt syfte (uppl\u00e4gg, eskalering, payoff, kontrast, uppl\u00f6sning).\r\n- H\u00e5ll arrangemanget realistiskt f\u00f6r framf\u00f6rande\/inspelning och l\u00e4tt att f\u00f6lja.\r\n- Anv\u00e4nd **leveransstandarder**: tydliga rubriker, konsekventa etiketter och konkreta musikaliska riktlinjer (energi, groove, harmoni, melodiriktning).\r\n- Om en input saknas eller \u00e4r vag, f\u00f6resl\u00e5 1\u20132 rimliga alternativ och forts\u00e4tt.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange din f\u00f6rst\u00e5else f\u00f6rst):** Sammanfatta din tolkning av [AMNE], [STAMNING] och [BUDSKAP] i 2\u20134 meningar, inklusive den t\u00e4nkta emotionella destinationen i sista refr\u00e4ngen\/outrot.\r\n2. **Tema- och k\u00e4nslodesign:** Definiera det centrala temat, emotionella f\u00e4rger och sp\u00e4nnings-till-uppl\u00f6sning-kurva.\r\n3. **Arrangemangsval:** V\u00e4lj ett l\u00e4mpligt format (klassiskt eller icke-traditionellt) och motivera varf\u00f6r det passar materialet.\r\n4. **Delplanering (bygg resan):**\r\n   - Verser: best\u00e4m antal och vad varje vers \u00e5stadkommer narrativt.\r\n   - Refr\u00e4nger: definiera hook-\/payoff-\u00f6gonblicken och hur de intensifieras \u00f6ver upprepningar.\r\n   - Brygga (eller alternativ kontrastdel): ta bara med om det \u00f6kar effekten; specificera hur den v\u00e4nder eller omformulerar budskapet.\r\n5. **Bokst\u00f6d:** Planera intro och outro (hur l\u00e5ten g\u00e5r in, hur den landar).\r\n6. **Instrumentala \u00f6gonblick:** Placera eventuella breaks, turnarounds, solon eller drops f\u00f6r att beh\u00e5lla intresset.\r\n7. **Musikaliska riktlinjer per del:** F\u00f6r varje del, ange rytm\/k\u00e4nsla, melodisk r\u00f6relse och harmonisk karakt\u00e4r (t.ex. lyft, m\u00f6rker, suspension, modulation).\r\n8. **Fl\u00f6deskontroll:** Bekr\u00e4fta \u00f6verg\u00e5ngar, dynamik och lyssnarens uppm\u00e4rksamhetspunkter; justera f\u00f6r att undvika monotoni.\r\n9. **Emotionell verifiering:** S\u00e4kerst\u00e4ll att varje del st\u00f6ttar [BUDSKAP] och den avsedda k\u00e4nslan i [STAMNING].\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte ett fullst\u00e4ndigt textutkast, ackordschema, MIDI-arrangemang eller noter.\r\n- Inte mix-\/mastering-r\u00e5d.\r\n- Inte genrespecifika produktionsinstruktioner om inte [GENRE] anges.\r\n\r\n## INPUTS\r\n- **L\u00e5t\u00e4mne:** [AMNE]  \r\n- **\u00d6nskad st\u00e4mning:** [STAMNING]  \r\n- **Ber\u00e4ttelse\/budskap att f\u00f6rmedla:** [BUDSKAP]  \r\n- **Genre (valfritt):** [GENRE]  \r\n- **Typisk l\u00e5tl\u00e4ngd (valfritt):** [TIDSLANGD]  \r\n- **Prim\u00e4rt anv\u00e4ndarsegment\/lyssnarprofil (valfritt):** [MALGRUPP]  \r\n- **F\u00f6redragen instrumentering (valfritt):** [INSTRUMENTERING]  \r\n\r\n## OUTPUTSPECIFIKATION\r\nGe en detaljerad struktur med f\u00f6ljande mall:\r\n\r\n### 1) L\u00e5t\u00f6versikt\r\n- {Theme Statement}\r\n- {Emotional Arc Summary}\r\n- {Suggested Tempo Range}\r\n- {Core Feel\/Groove}\r\n- {Harmonic Palette Notes} (t.ex. ljust dur-lyft, mollsp\u00e4nning, sus-ackord, id\u00e9 om tonartsbyte)\r\n\r\n### 2) Full arrangemangskarta\r\nLista delar i ordning med tydliga etiketter och kortfattade detaljer f\u00f6r varje:\r\n- **{Section Name}** (t.ex. Intro, Verse 1, Pre-Chorus, Chorus 1, Verse 2, Chorus 2, Bridge, Final Chorus, Outro)\r\n  - {Purpose In Story}\r\n  - {Energy Level} (l\u00e5g \u2192 peak)\r\n  - {Rhythm\/Feel Notes}\r\n  - {Melody Direction} (t.ex. tight\/\u00e5terh\u00e5llen vs. bred\/hoppig; stigande kontur in i hooken)\r\n  - {Harmony Notes} (t.ex. sp\u00e4nning, uppl\u00f6sning, lyft, kort modulation)\r\n  - {Dynamics & Texture} (vad som kommer in\/ut)\r\n  - {Transition Plan} (hur det g\u00e5r in i n\u00e4sta del)\r\n\r\n### 3) Plan f\u00f6r intresse & variation\r\n- {Planned Escalations} (hur upprepningar utvecklas)\r\n- {Contrast Moment} (brygga eller motsvarande) och {Why It Works}\r\n- {Instrumental Breaks\/Solos} med {Placement Rationale}\r\n\r\n### 4) Valfria alternativ\r\nGe 1\u20132 alternativa strukturer om det \u00e4r l\u00e4mpligt:\r\n- {Alternate Structure Option}\r\n- {When To Choose It}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Att refr\u00e4ngen fungerar som emotionellt centrum och eskalerar p\u00e5 ett meningsfullt s\u00e4tt.\r\n- Att verserna f\u00f6r ber\u00e4ttelsen\/budskapet fram\u00e5t utan att upprepa samma slag.\r\n- Att det finns minst ett medvetet kontrast\u00f6gonblick (brygga, breakdown eller omharmoniserad refr\u00e4ng).\r\n- Att \u00f6verg\u00e5ngar \u00e4r logiska och h\u00e5ller momentum (inga \u201dd\u00f6da\u201d partier).\r\n- Att alla placeholders f\u00f6ljer formatregler: anv\u00e4ndarinput \u00e4r [VERSALER_MED_UNDERSCORE] och output-placeholders anv\u00e4nder {Title Case}.";
    const variables = ["[AMNE]","[STAMNING]","[BUDSKAP]","[GENRE]","[TIDSLANGD]","[MALGRUPP]","[INSTRUMENTERING]","[VERSALER_MED_UNDERSCORE]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-prompten</h2>



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

<li><strong>Ge ditt “ämne” en scen, inte en kategori.</strong> “Hjärtesorg” är brett; “att se deras hoodie i baksätet flera veckor senare” skapar riktning för verserna och en payoff för sista refrängen. Om du är osäker, lägg till en enda kontextmening efter ditt ämne: “Utspelar sig kl. 02:00, kör hem, försöker att inte skriva till dem.”</li>


<li><strong>Definiera stämningen som en blandning med spänning.</strong> Testa en tvådelad stämning som “varm nostalgi med en skarp underton av ånger” i stället för “ledsen”. Följ sedan upp med: “Lista 3 musikaliska sätt att uttrycka den undertonen (rytm, harmoni och melodi).”</li>


<li><strong>Gör budskapet till något lyssnaren tar med sig.</strong> Budskap funkar bäst när de kan sägas på ett andetag: “Jag kan sakna dig och ändå gå vidare.” Efter första outputen, fråga: “Skriv om refrängens syfte så att den levererar budskapet i en slagkraftig mening, inte ett stycke.”</li>


<li><strong>Tvinga fram repetition med tydlig funktion.</strong> Refränger upprepas, men de ska utvecklas. När du fått planen, testa: “Öka nu refrängens intensitet mellan upprepningarna genom enbart arrangemangsförändringar (inga textändringar). Gör refräng 1 återhållsam, refräng 2 bredare, sista refrängen störst.”</li>


<li><strong>Använd blueprinten för att skapa en inspelningschecklista.</strong> Den här prompten är en arrangemangskarta, så gör om den till konkreta sessionsteg. Fråga: “Gör om den här planen till en spårningsordning och en instrumentchecklista (trummor, bas, ackord, lead, ear candy, sång), och notera vad som ändras per del.” Det är ärligt talat här prompten börjar betala för sig.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>Om du också formar berättelsen runt din låt (eller historien du berättar i samband med den) passar de här promptarna bra ihop med en arrangemangs-blueprint.</p>



<p>När din låt startar i ett personligt ögonblick kan reflektionsarbetet tydliggöra vad ditt “budskap” faktiskt är innan du låser strukturen. <a href="https://nodenordic.se/prompts/skapa-skrivprompter-for-reflekterande-essaer">Skapa skrivprompter för reflekterande essäer</a> hjälper dig att få fram detaljer (scener, vändpunkter, insikter) som översätts felfritt till versprogression och en starkare destination för sista refrängen.</p>



<p>Om du redan har en textskiss eller ett grovt koncept och slutet känns olöst kan det vara värt att tajta till avslutningen som en fristående övning. <a href="https://nodenordic.se/prompts/skriv-en-essaavslutning-med-denna-ai-prompt">Skriv en essäavslutning med denna AI-prompt</a> är användbar för att stresstesta vad du vill att slutet ska landa i, vilket ofta blir det emotionella “jobbet” för din outro eller den sista refrängvariationen.</p>



<p>Ibland är låten del av en större kreativ period: en EP, en ompositionering eller en personlig vändning. <a href="https://nodenordic.se/prompts/skapa-en-fardplan-for-personlig-utveckling-med-ai">Skapa en färdplan för personlig utveckling med AI</a> kan hjälpa dig att definiera teman och milstolpar, och sedan kan du mata tillbaka det starkaste temat i den här arrangemangsprompten som din [TOPIC] och [MESSAGE].</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-skrivprompter-for-reflekterande-essaer">Skapa skrivprompter för reflekterande essäer</a>: Förvandla minnen till användbara teman.</li>


<li><a href="https://nodenordic.se/prompts/skriv-en-essaavslutning-med-denna-ai-prompt">Skriv en essäavslutning med denna AI-prompt</a>: Sätt ett tydligt, välförtjänt slut.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-fardplan-for-personlig-utveckling-med-ai">Skapa en färdplan för personlig utveckling med AI</a>: Kartlägg teman för ett kreativt kapitel.</li>

<li><a href="https://nodenordic.se/prompts/skriv-en-reflektion-i-lincoln-stil">Skriv en reflektion i Lincoln-stil</a>: Lägg till moralisk tydlighet och tidlös ton.</li>


<li><a href="https://nodenordic.se/prompts/skriv-en-akademisk-essainledning-med-ai-prompt">Skriv en akademisk essäinledning med AI-prompt</a>: Skapa en stark inledningstes.</li>

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

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för blueprint för låtarrangemang?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Oberoende singer-songwriters</strong> använder den här för att göra en refrängidé till en hel, lyssningsbar resa utan att gissa vad som ska komma härnäst. <strong>Musikproducenter</strong> förlitar sig på den som en snabb pre-produktionskarta så att sessioner får tydliga sektionsmål, energiförflyttningar och planerade kontrastögonblick. <strong>A&amp;R och artistutvecklare</strong> kan använda den för att diagnostisera varför en demo känns platt och föreslå konkreta strukturella förbättringar (inte luddiga “gör den större”). <strong>Låtskrivarlärare</strong> använder den för att undervisa i struktur och syfte per del, samtidigt som de kreativa valen fortfarande lämnas till eleven.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för blueprint för låtarrangemang?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Oberoende musik och hemmastudioinspelning</strong> får direkt värde eftersom du kan planera ett realistiskt arrangemang innan du lägger timmar på att spela in delar som ändå inte överlever slutredigeringen. <strong>Reklam- och varumärkescontent-team</strong> kan använda den när de behöver en låt med en kontrollerad emotionell båge som stödjer ett budskap utan att bli rörig eller onödigt lång. <strong>Film-, tv- och spel-audio-team</strong> kan anpassa sektionsplaneringen för att träffa berättelsens beats (uppbyggnad, eskalering, payoff, kontrast) och samtidigt behålla momentum i scener. <strong>Musikutbildningsföretag</strong> använder den för att skapa strukturerade uppgifter och analysramverk för arrangemang, energi och spänning-release.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att skapa ett låtarrangemang svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som &#8221;<em>Gör en låtstruktur utifrån min idé</em>&#8221; misslyckas eftersom den: saknar en föranalys av ämne, stämning och budskap, så slutet får ingen tydlig emotionell destination; inte ger något ramverk för varje dels syfte (uppbyggnad, eskalering, payoff, kontrast, upplösning), så delarna känns utbytbara; ignorerar praktisk arrangemangsvägledning som energi, groove, harmoniskt lyft och melodisk kontur, så det blir som en generisk mall; producerar en statisk vers/refräng-lista i stället för en emotionell båge som intensifieras över upprepningar; och missar planerade inramningar och instrumentala ögonblick som håller momentum från start till mål.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här blueprint-prompten för låtarrangemang till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Variablerna med högst hävstång är [TOPIC], [MOOD] och [MESSAGE], och små ändringar där förändrar strukturrekommendationerna kraftigt. Om din genre har regler, lägg till en begränsning i din uppföljning som: “Håll den till 2:30–3:00, ingen brygga, och gör andra refrängen halvlång.” När du fått första blueprinten, testa: “Ge mig två alternativa arrangemangsval: ett klassiskt, ett icke-traditionellt, och förklara avvägningen för lyssnarretention.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här blueprint-prompten för låtarrangemang?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna [MOOD] för vagt — i stället för “ledsen”, testa “stillad lättnad med kvarhängande sorg, som att andas ut efter veckor av ångest.” Ett annat vanligt fel är att göra [MESSAGE] till ett ämne i stället för en takeaway; “självkärlek” är diffust, medan “jag behöver inte förtjäna vänlighet” ger refrängen ett jobb. Många överlastar också [TOPIC] med tre låtar på en gång (dåligt: “uppbrott, festande och hämnd”); välj en förankringsscen och låt arrangemanget hantera kontrast. Till sist accepterar många användare det första formatvalet utan att pressa fram alternativ, så be om en alternativ struktur om den första känns för förutsägbar.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här blueprint-prompten för låtarrangemang?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för artister som bara vill ha färdiga texter och melodier skrivna åt sig, eftersom den som standard är byggd för att ta fram en strukturplan. Den hjälper inte heller särskilt mycket om du inte har bestämt någon [TOPIC], [MOOD] eller [MESSAGE] alls och inte är redo att välja mellan alternativ. Om du bara behöver en snabb mall att fylla i, ta en fast struktur och skriv; använd den här när du vill ha en medveten emotionell båge och ett tydligt syfte för varje del.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för blueprint för låtarrangemang?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oberoende singer-songwriters använder den här för att göra en refrängidé till en hel, lyssningsbar resa utan att gissa vad som ska komma härnäst. Musikproducenter förlitar sig på den som en snabb pre-produktionskarta så att sessioner får tydliga sektionsmål, energiförflyttningar och planerade kontrastögonblick. A&R och artistutvecklare kan använda den för att diagnostisera varför en demo känns platt och föreslå konkreta strukturella förbättringar (inte luddiga “gör den större”). Låtskrivarlärare använder den för att undervisa i struktur och syfte per del, samtidigt som de kreativa valen fortfarande lämnas till eleven."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för blueprint för låtarrangemang?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oberoende musik och hemmastudioinspelning får direkt värde eftersom du kan planera ett realistiskt arrangemang innan du lägger timmar på att spela in delar som ändå inte överlever slutredigeringen. Reklam- och varumärkescontent-team kan använda den när de behöver en låt med en kontrollerad emotionell båge som stödjer ett budskap utan att bli rörig eller onödigt lång. Film-, tv- och spel-audio-team kan anpassa sektionsplaneringen för att träffa berättelsens beats (uppbyggnad, eskalering, payoff, kontrast) och samtidigt behålla momentum i scener. Musikutbildningsföretag använder den för att skapa strukturerade uppgifter och analysramverk för arrangemang, energi och spänning-release."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att skapa ett låtarrangemang svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Gör en låtstruktur utifrån min idé\" misslyckas eftersom den: saknar en föranalys av ämne, stämning och budskap, så slutet får ingen tydlig emotionell destination; inte ger något ramverk för varje dels syfte (uppbyggnad, eskalering, payoff, kontrast, upplösning), så delarna känns utbytbara; ignorerar praktisk arrangemangsvägledning som energi, groove, harmoniskt lyft och melodisk kontur, så det blir som en generisk mall; producerar en statisk vers/refräng-lista i stället för en emotionell båge som intensifieras över upprepningar; och missar planerade inramningar och instrumentala ögonblick som håller momentum från start till mål."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här blueprint-prompten för låtarrangemang till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Variablerna med högst hävstång är [TOPIC], [MOOD] och [MESSAGE], och små ändringar där förändrar strukturrekommendationerna kraftigt. Om din genre har regler, lägg till en begränsning i din uppföljning som: “Håll den till 2:30–3:00, ingen brygga, och gör andra refrängen halvlång.” När du fått första blueprinten, testa: “Ge mig två alternativa arrangemangsval: ett klassiskt, ett icke-traditionellt, och förklara avvägningen för lyssnarretention.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här blueprint-prompten för låtarrangemang?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [MOOD] för vagt — i stället för “ledsen”, testa “stillad lättnad med kvarhängande sorg, som att andas ut efter veckor av ångest.” Ett annat vanligt fel är att göra [MESSAGE] till ett ämne i stället för en takeaway; “självkärlek” är diffust, medan “jag behöver inte förtjäna vänlighet” ger refrängen ett jobb. Många överlastar också [TOPIC] med tre låtar på en gång (dåligt: “uppbrott, festande och hämnd”); välj en förankringsscen och låt arrangemanget hantera kontrast. Till sist accepterar många användare det första formatvalet utan att pressa fram alternativ, så be om en alternativ struktur om den första känns för förutsägbar."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här blueprint-prompten för låtarrangemang?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för artister som bara vill ha färdiga texter och melodier skrivna åt sig, eftersom den som standard är byggd för att ta fram en strukturplan. Den hjälper inte heller särskilt mycket om du inte har bestämt någon [TOPIC], [MOOD] eller [MESSAGE] alls och inte är redo att välja mellan alternativ. Om du bara behöver en snabb mall att fylla i, ta en fast struktur och skriv; använd den här när du vill ha en medveten emotionell båge och ett tydligt syfte för varje del."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En bra låt är inte bara delar i rätt ordning. Det är en planerad emotionell klättring med en payoff som landar. Klistra in den här prompten i ditt AI-verktyg, lås blueprinten och bygg låten med självförtroende.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-plan-for-latarrangemang-med-ai-prompt/">Skapa en plan för låtarrangemang med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skriv en sjungbar vers med AI-prompt</title>
		<link>https://nodenordic.se/prompts/skriv-en-sjungbar-vers-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-en-sjungbar-vers-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:28:08 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000623</guid>

					<description><![CDATA[<p>Versen känns platt? En AI-prompt som skriver en sjungbar vers på 4–6 rader med bildspråk, rim och en stark slutrad.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-sjungbar-vers-med-ai-prompt/">Skriv en sjungbar vers med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: singable song verse -->
<div class="hook-introduction">

<p>Din vers låter okej på papperet… tills du försöker sjunga den. Raderna känns lika långa, bilderna är generiska och slutet sitter inte. Än värre: du skriver om den tio gånger och den låter fortfarande som “lyrics”, inte som en riktig lyrikrad.</p>



<p>Den här <strong>sjungbara sångversen</strong> är byggd för <strong>musikmarknadsförare</strong> som behöver en kort, hookig text för en artist-teaser, <strong>indieartister</strong> som finslipar en vers som måste funka i olika tempon, och <strong>kreativa producenter</strong> som vill ha snabba konceptutkast utan klyschiga formuleringar. Outputen är en föranalys på 1–2 meningar plus en vers på 4–6 rader med en tydlig öppning, utveckling och en slagkraftig sista “ridåfall”-rad.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</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">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den sammanfattar ditt ämne i 1–2 meningar först, så att versen får ett tydligt emotionellt mål innan några rader skrivs.</li>
          <li>Den väljer en hook-bild eller central metafor som är tänkt att bära versen och gå att tolka (inte bara en entydig beskrivning).</li>
          <li>Den skriver en kompakt vers på 4–6 rader med en tydlig struktur: öppning → utveckling → slagkraftigt slut.</li>
          <li>Den stramar upp språket genom att byta ut vaga ord mot sinnliga detaljer och forma rytm och kadens så att det känns sjungbart i flera tempon.</li>
          <li>Den undviker klyschor och utfyllnad genom att kräva specifika poetiska tekniker (bildspråk, metafor, inrim, subtil allitteration) utan att överdriva.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har ett tema men ingen ingång till texten, och att stirra på ett tomt blad slösar ärligt talat studiotid.</li>
          <li>Ditt versutkast läser som prosa, och så fort du lägger melodi på det hamnar betoningarna fel.</li>
          <li>Du behöver ett snabbt men högkvalitativt verskoncept för att testa olika produktionsspår (ballad, groove, pop, alt) innan du låser dig.</li>
          <li>En kampanj eller content-drop behöver ett kort textutdrag som känns avsiktligt, inte som en AI-“låt”.</li>
          <li>Du itererar på en befintlig refräng och behöver en vers som bygger upp payoffen utan att repetera samma idé.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett {Pre-Analysis}-block med 1–2 meningar som beskriver tänkt känsloton och vad versen ska förmedla.</li>
           <li>En vald hook-bild/central metafor som du kan återanvända senare i en refräng eller ett visuellt koncept.</li>
           <li>En {Verse} med 4–6 radbrutna textrader (ingen titel, ingen styckeformatering) som går att sjunga.</li>
           <li>En avslutande “ridåfall”-rad som kristalliserar ämnets emotionella kärna.</li>
           <li>Om ämnet är otydligt: upp till 2 förtydligande frågor (ton och vinkel) innan den skriver något.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: generator för sjungbar vers på 4–6 rader</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">
                                    Steg 1: Anpassa prompten med din information
                            </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>Återställ</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>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange det centrala ämnet eller temat som ska inspirera låtversen. Det kan vara en känsla, en händelse, ett koncept eller en konkret idé till en berättelse.                                    <div class="var-example">Till exempel: "Den bittersöta känslan av att lämna sin hemstad för första gången."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKETSROST]</code></td>
                                <td class="var-desc">
                                    Specificera den stilistiska känslan eller persona som versen ska ha, till exempel ton, berättarstil eller musikaliska influenser som vägleder skrivandet. Det är valfritt men hjälper till att matcha förväntningarna.                                    <div class="var-example">Till exempel: "Melankolisk men hoppfull, med levande bildspråk och en samtalston."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKETSROST]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONLAGE]</code></td>
                                <td class="var-desc">
                                    Ange stämningen eller den emotionella färgen för versen, till exempel upplyftande, dyster eller nostalgisk. Det hjälper till att forma känslan i texten.                                    <div class="var-example">Till exempel: "Varm och eftertänksam, med en aning längtan."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONLAGE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </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">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </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>Återställ</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>Kopiera hela prompten</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">MÅL</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">BEGRÄNSNINGAR</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">Vad detta INTE är</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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av edge cases</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">INDATA</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">OUTPUTSPECIFIKATION</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">KVALITETSKONTROLLER</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;">
                ## MÅL
Skriv en kompakt, högimpact vers inspirerad av **[AMNE]** som känns emotionellt träffsäker, musikaliskt flexibel över genrer och minnesvärd efter en enda läsning.

## PERSONA
Du är en kritikerrosad låtskrivare och kompositör känd för levande berättande, stark melodisk instinkt och elegant språkhantverk. Din stil är suggestiv och precis snarare än överdrivet utsmyckad.

## BEGRÄNSNINGAR
- Längd: **4–6 rader totalt**.
- Måste ha en tydlig **öppning → utveckling → slagkraftigt avslut**.
- Använd en blandning av poetiska grepp (t.ex. bildspråk, metafor, inre rim, subtil allitteration) utan att det känns krystat.
- Behåll en naturlig rytm som kan passa en långsam ballad eller ett snabbare groove.
- Avsluta med en slutrad som kristalliserar den emotionella kärnan i **[AMNE]**.
- Undvik klichéer och generiska utfyllnadsfraser.

### Vad detta INTE är
- Inte en hel låt (ingen refräng, inga flera verser, ingen brygga).
- Inte en prosadikt eller ett stycke—håll det i textrader.
- Inte en teknisk genomgång av musikteori eller ett ackordschema.

## PROCESS
1. **Föranalys (ange din förståelse först):** I 1–2 meningar, sammanfatta vad du tror att versen ska förmedla om **[AMNE]** och den avsedda känslotonen.
2. Identifiera en **hook-bild** eller **central metafor** som kan tolkas på flera sätt.
3. Skriv ett utkast på 4–6 rader med starkt ljudligt flyt (tänk på betoningar, balans i radlängd och sjungbar frasering).
4. Tajta språket: byt ut vaga ord mot konkreta sinnesdetaljer.
5. Leverera en slutrad som landar som ett ”ridåfall”.

### Hantering av edge cases
- Om **[AMNE]** saknas eller är oklart, ställ upp till **2** klargörande frågor (ton och vinkel).  
- Om inga svar ges, välj en brett relaterbar tolkning och fortsätt.

## INDATA
- **Ämne/tema:** [AMNE]
- **Varumärkesröst eller stilkänsla (valfritt):** [VARUMARKETSROST]
- **Ton/stämning (valfritt):** [TONLAGE]

## OUTPUTSPECIFIKATION
Leverera:
- **{Pre-Analysis}** (1–2 meningar)
- **{Verse}** (4–6 rader, radbrutet, inga titlar, inga extra kommentarer)

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Versen är exakt **4–6 rader**.
- Det finns en tydlig början, mitt och en stark avslutande rad.
- Metaforen eller bilden kopplar tydligt till **[AMNE]** samtidigt som den förblir öppen för tolkning.
- Formuleringarna är sjungbara med en jämn rytmisk känsla.
- Inga slitna uttryck (t.ex. ”krossat hjärta”, ”resa sig över”, ”i slutändan”, ”menat att bli”, ”följ dina drömmar”, ”en dag i taget”).            </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">Kopiera hela prompten</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 span {
        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 !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .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 !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .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;
        color: #fff !important;

    }

    .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 = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkriv en kompakt, h\u00f6gimpact vers inspirerad av **[AMNE]** som k\u00e4nns emotionellt tr\u00e4ffs\u00e4ker, musikaliskt flexibel \u00f6ver genrer och minnesv\u00e4rd efter en enda l\u00e4sning.\r\n\r\n## PERSONA\r\nDu \u00e4r en kritikerrosad l\u00e5tskrivare och komposit\u00f6r k\u00e4nd f\u00f6r levande ber\u00e4ttande, stark melodisk instinkt och elegant spr\u00e5khantverk. Din stil \u00e4r suggestiv och precis snarare \u00e4n \u00f6verdrivet utsmyckad.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- L\u00e4ngd: **4\u20136 rader totalt**.\r\n- M\u00e5ste ha en tydlig **\u00f6ppning \u2192 utveckling \u2192 slagkraftigt avslut**.\r\n- Anv\u00e4nd en blandning av poetiska grepp (t.ex. bildspr\u00e5k, metafor, inre rim, subtil allitteration) utan att det k\u00e4nns krystat.\r\n- Beh\u00e5ll en naturlig rytm som kan passa en l\u00e5ngsam ballad eller ett snabbare groove.\r\n- Avsluta med en slutrad som kristalliserar den emotionella k\u00e4rnan i **[AMNE]**.\r\n- Undvik klich\u00e9er och generiska utfyllnadsfraser.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en hel l\u00e5t (ingen refr\u00e4ng, inga flera verser, ingen brygga).\r\n- Inte en prosadikt eller ett stycke\u2014h\u00e5ll det i textrader.\r\n- Inte en teknisk genomg\u00e5ng av musikteori eller ett ackordschema.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange din f\u00f6rst\u00e5else f\u00f6rst):** I 1\u20132 meningar, sammanfatta vad du tror att versen ska f\u00f6rmedla om **[AMNE]** och den avsedda k\u00e4nslotonen.\r\n2. Identifiera en **hook-bild** eller **central metafor** som kan tolkas p\u00e5 flera s\u00e4tt.\r\n3. Skriv ett utkast p\u00e5 4\u20136 rader med starkt ljudligt flyt (t\u00e4nk p\u00e5 betoningar, balans i radl\u00e4ngd och sjungbar frasering).\r\n4. Tajta spr\u00e5ket: byt ut vaga ord mot konkreta sinnesdetaljer.\r\n5. Leverera en slutrad som landar som ett \u201drid\u00e5fall\u201d.\r\n\r\n### Hantering av edge cases\r\n- Om **[AMNE]** saknas eller \u00e4r oklart, st\u00e4ll upp till **2** klarg\u00f6rande fr\u00e5gor (ton och vinkel).  \r\n- Om inga svar ges, v\u00e4lj en brett relaterbar tolkning och forts\u00e4tt.\r\n\r\n## INDATA\r\n- **\u00c4mne\/tema:** [AMNE]\r\n- **Varum\u00e4rkesr\u00f6st eller stilk\u00e4nsla (valfritt):** [VARUMARKETSROST]\r\n- **Ton\/st\u00e4mning (valfritt):** [TONLAGE]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera:\r\n- **{Pre-Analysis}** (1\u20132 meningar)\r\n- **{Verse}** (4\u20136 rader, radbrutet, inga titlar, inga extra kommentarer)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Versen \u00e4r exakt **4\u20136 rader**.\r\n- Det finns en tydlig b\u00f6rjan, mitt och en stark avslutande rad.\r\n- Metaforen eller bilden kopplar tydligt till **[AMNE]** samtidigt som den f\u00f6rblir \u00f6ppen f\u00f6r tolkning.\r\n- Formuleringarna \u00e4r sjungbara med en j\u00e4mn rytmisk k\u00e4nsla.\r\n- Inga slitna uttryck (t.ex. \u201dkrossat hj\u00e4rta\u201d, \u201dresa sig \u00f6ver\u201d, \u201di slut\u00e4ndan\u201d, \u201dmenat att bli\u201d, \u201df\u00f6lj dina dr\u00f6mmar\u201d, \u201den dag i taget\u201d).";
    const variables = ["[AMNE]","[VARUMARKETSROST]","[TONLAGE]"];
    // 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 = 'Återställd!';
            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">Proffstips för bättre resultat med AI-prompten</h2>



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

<li><strong>Ge ämnet en vinkel, inte en kategori.</strong> “Hjärtbreak” är brett; “ögonblicket när du raderar deras nummer och sen skriver in det igen” ger modellen en scen att skriva utifrån. Om du är osäker, mata in ett ämne som: “Att lämna en hemstad som fortfarande känns som en magnet.”</li>


<li><strong>Använd BRAND_VOICE för att styra ordval.</strong> Lägg till två eller tre konkreta referenser som matchar din estetik: “rakt på sak, modern country; pickupens strålkastare; vinterandning.” Följ sedan upp med: “Skriv nu om versen med enklare ord, men behåll samma hook-bild.”</li>


<li><strong>Välj en mood som antyder tempo och konsonanter.</strong> TONE-värden som “rastlös, avhuggen, nattlig” ger ofta kortare fraser och skarpare ljud; “öm, luftig, blåslagen” ger ofta längre vokaler som sjunger bra. Om versen kommer tillbaka för ordrik, be om: “Minska antalet stavelser med 15 % men behåll betydelsen.”</li>


<li><strong>Iterera på slutraden med avsikt.</strong> Efter första outputen, prova att be om: “Behåll raderna 1–4, men skriv 5 olika slutrader som slår hårdare, med olika emotionell hållning (acceptans, ånger, trots, nostalgi, lättnad).” Du kommer känna hur hela versen skiftar med den sista raden.</li>


<li><strong>Gör metaforen till ett återkommande motiv.</strong> När du får en hook-bild du gillar (t.ex. “gatlyktor som blinkar som trötta ögon”), återanvänd den strategiskt. Följ upp med: “Skriv en alternativ vers som behåller gatlykt-motivet men ändrar scenen från ‘köra bort’ till ‘stå still.’” Så hittar du låtens värld.</li>

</ul>

</div>

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

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>Om du använder textutdrag i större innehåll (press, intervjuer eller storytelling-material) hjälper de här promptarna dig att snabbt bygga berättelsen runt omkring.</p>



<p>Om du också behöver en stark artistberättelse som ramar in versen, hjälper <a href="https://nodenordic.se/prompts/skriv-ett-langt-nyhetsreportage-med-ai-prompt">Skriv ett längre nyhetsreportage med den här AI-prompten</a> dig att göra en release, trend eller kreativ kursändring till ett läsbart reportage med struktur och driv. Den passar extra bra när versen är en del av en lansering och du vill ha medieklar kontext runt den.</p>



<p>För team som gör intervjubaserat innehåll (podcasts, skivbolagsbloggar, varumärkessamarbeten) ger <a href="https://nodenordic.se/prompts/skapa-en-djupgaende-intervjuguide-med-denna-ai-prompt">Bygg en intervjuguide för djupintervjuer med den här AI-prompten</a> ett smartare frågeflöde som kan få fram den verkliga betydelsen bakom ämnet du skrev om. Använd den efter att du har ett verskoncept och vill att artisten ska kunna packa upp “varför” utan att det låter repeterat.</p>



<p>När du bygger en Q&amp;A-artikel som innehåller textsnuttar, annotationer eller anteckningar om den kreativa processen, hjälper <a href="https://nodenordic.se/prompts/skriv-en-lang-q-och-a-intervjuartikel-med-ai-prompt">AI-prompten för att skriva en lång Q&amp;A-intervjuartikel</a> dig att formatera samtalet prydligt och hålla svaren tajta. Det är ett praktiskt nästa steg när versen är klar och du samlar kommentarer för fans eller press.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skriv-ett-langt-nyhetsreportage-med-ai-prompt">Skriv ett längre nyhetsreportage med den här AI-prompten</a>: Reportageberättelse i feature-stil för en release.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-djupgaende-intervjuguide-med-denna-ai-prompt">Bygg en intervjuguide för djupintervjuer med den här AI-prompten</a>: Djupa frågor som blottlägger mening.</li>

<li><a href="https://nodenordic.se/prompts/skriv-en-lang-q-och-a-intervjuartikel-med-ai-prompt">AI-prompten för att skriva en lång Q&amp;A-intervjuartikel</a>: Polerad Q&amp;A med tydlig struktur.</li>


<li><a href="https://nodenordic.se/prompts/skriv-en-lang-specialrapport-med-den-har-ai-prompten">Skriv en lång specialrapport med den här AI-prompten</a>: Evidensdriven rapport med tydliga avsnitt.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-strukturerad-bank-med-intervjufragor-med-ai">Skapa en strukturerad frågebank för intervjuer med AI-prompten</a>: Ämnessorterade frågor för intervjuer.</li>

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

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för sjungbar sångvers?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Låtskrivare</strong> använder den för att bryta loopen “bra idé, dåligt genomförande” och få en vers som faktiskt har sjungbar kadens och ett designat slut. <strong>Musikproducenter</strong> får nytta eftersom versen är kort och strukturellt tydlig, vilket gör det lättare att testa olika melodiska former eller rytmer utan att skriva om sidor av text. <strong>Artistmanagers</strong> använder den för att ta fram teaser-klara textutdrag som känns avsiktliga för sociala captions eller lanseringsmaterial. <strong>Kreativa strateger</strong> lutar sig mot föranalysen och hook-bilden för att synka copy, visuellt uttryck och narrativ runt en central metafor.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för sjungbar sångvers?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Team inom musik och underhållning</strong> använder den för snabb konceptframtagning, särskilt när en kampanj behöver en textsnutt som matchar release-temat utan att luta sig mot klyschor. <strong>Reklam- och varumärkeskreatörer</strong> använder den när de behöver en kort, musikalisk vers för en spot eller branded content, och slutraden måste “tagga” idén som en slogan. <strong>Creator- och influencer-media</strong> har nytta av den när kortformatvideo behöver en mini-lyrik som kan läsas, sjungas eller talas över klipp. <strong>Podcast- och redaktionella team</strong> använder den som ett hookigt intro eller som koncept för en segment-jingel, och bygger sedan ut berättelsen med intervjuer och längre texter.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för att skriva en sångvers svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som “<em>Skriv en sångvers om kärlek</em>” misslyckas eftersom den: saknar en föranalys som låser känsloton, ställer inga krav på struktur (öppning, utveckling, slut), ignorerar rytm och sjungbarhet så betoningar hamnar fel, producerar generisk utfyllnad i stället för konkret sinnesbildligt bildspråk, och missar “ridåfall”-mekanismen som tvingar fram en minnesvärd slutrad. Du får ofta rader som rimmar, men som inte rör sig. Och när du försöker sjunga dem känns de trånga eller monotona.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för sjungbar sångvers för min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Börja med att göra TOPIC snävare till en specifik scen eller emotionell vändning (inte bara ett tema), använd sedan BRAND_VOICE för att signalera vokabulär och kulturell textur, och TONE för att styra tempo och skärpa. Om första versen är nära men inte riktigt du, be om en uppföljning som: “Behåll hook-bilden, men skriv om med kortare rader, mer inrim och en mer trotsig stämning.” Du kan också be om alternativ: “Ge mig tre versioner: en sparsmakad, en bildstark, en samtalsnära.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för sjungbar sångvers?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna TOPIC för vagt — i stället för “ångest”, prova “03:00, läser om en sms-tråd, magen i spänn, låtsas att du mår bra i morgon.” Ett annat vanligt fel är att hoppa över BRAND_VOICE, vilket leder till neutrala formuleringar; “cinematisk alt-pop med stad-natt-bildspråk” styr bättre än “modern.” Många överlastar också TONE med motsägelser (dåligt: “ledsen, glad, arg, chill”); välj en primär och en sekundär (bra: “ömt med en nervös underton”). Slutligen: om du inte utvärderar sista raden missar du hela poängen med prompten, så pressa alltid fram 3–5 alternativa slut och välj den som fastnar.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för sjungbar sångvers?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för att skriva en hel låt i ett svep, eftersom den medvetet bara ger en kompakt vers utan refräng, stick eller ackordplan. Den passar också dåligt om du vill ha starkt referentiell parodilyrik eller tunga, explicita genrekrav som kräver strikt skandering över många delar. Om du behöver en full berättelsebåge över flera verser, använd den här för att skapa en enda “ankervers”, skissa sedan resten manuellt och iterera del för del.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för sjungbar sångvers?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Låtskrivare använder den för att bryta loopen “bra idé, dåligt genomförande” och få en vers som faktiskt har sjungbar kadens och ett designat slut. Musikproducenter får nytta eftersom versen är kort och strukturellt tydlig, vilket gör det lättare att testa olika melodiska former eller rytmer utan att skriva om sidor av text. Artistmanagers använder den för att ta fram teaser-klara textutdrag som känns avsiktliga för sociala captions eller lanseringsmaterial. Kreativa strateger lutar sig mot föranalysen och hook-bilden för att synka copy, visuellt uttryck och narrativ runt en central metafor."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för sjungbar sångvers?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Team inom musik och underhållning använder den för snabb konceptframtagning, särskilt när en kampanj behöver en textsnutt som matchar release-temat utan att luta sig mot klyschor. Reklam- och varumärkeskreatörer använder den när de behöver en kort, musikalisk vers för en spot eller branded content, och slutraden måste “tagga” idén som en slogan. Creator- och influencer-media har nytta av den när kortformatvideo behöver en mini-lyrik som kan läsas, sjungas eller talas över klipp. Podcast- och redaktionella team använder den som ett hookigt intro eller som koncept för en segment-jingel, och bygger sedan ut berättelsen med intervjuer och längre texter."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att skriva en sångvers svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv en sångvers om kärlek” misslyckas eftersom den: saknar en föranalys som låser känsloton, ställer inga krav på struktur (öppning, utveckling, slut), ignorerar rytm och sjungbarhet så betoningar hamnar fel, producerar generisk utfyllnad i stället för konkret sinnesbildligt bildspråk, och missar “ridåfall”-mekanismen som tvingar fram en minnesvärd slutrad. Du får ofta rader som rimmar, men som inte rör sig. Och när du försöker sjunga dem känns de trånga eller monotona."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för sjungbar sångvers för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Börja med att göra TOPIC snävare till en specifik scen eller emotionell vändning (inte bara ett tema), använd sedan BRAND_VOICE för att signalera vokabulär och kulturell textur, och TONE för att styra tempo och skärpa. Om första versen är nära men inte riktigt du, be om en uppföljning som: “Behåll hook-bilden, men skriv om med kortare rader, mer inrim och en mer trotsig stämning.” Du kan också be om alternativ: “Ge mig tre versioner: en sparsmakad, en bildstark, en samtalsnära.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för sjungbar sångvers?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna TOPIC för vagt — i stället för “ångest”, prova “03:00, läser om en sms-tråd, magen i spänn, låtsas att du mår bra i morgon.” Ett annat vanligt fel är att hoppa över BRAND_VOICE, vilket leder till neutrala formuleringar; “cinematisk alt-pop med stad-natt-bildspråk” styr bättre än “modern.” Många överlastar också TONE med motsägelser (dåligt: “ledsen, glad, arg, chill”); välj en primär och en sekundär (bra: “ömt med en nervös underton”). Slutligen: om du inte utvärderar sista raden missar du hela poängen med prompten, så pressa alltid fram 3–5 alternativa slut och välj den som fastnar."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för sjungbar sångvers?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för att skriva en hel låt i ett svep, eftersom den medvetet bara ger en kompakt vers utan refräng, stick eller ackordplan. Den passar också dåligt om du vill ha starkt referentiell parodilyrik eller tunga, explicita genrekrav som kräver strikt skandering över många delar. Om du behöver en full berättelsebåge över flera verser, använd den här för att skapa en enda “ankervers”, skissa sedan resten manuellt och iterera del för del."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En vers behöver inte vara lång för att bli minnesvärd. Klistra in prompten i ditt AI-verktyg, ge den ett verkligt ämne med en tydlig vinkel, och låt den leverera 4–6 sjungbara rader som du faktiskt kan bygga musik kring.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-sjungbar-vers-med-ai-prompt/">Skriv en sjungbar vers med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
