<?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>Akademisk och teknisk forskning &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<atom:link href="https://nodenordic.se/function/akademisk-och-teknisk-forskning/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:59:10 +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>Akademisk och teknisk forskning &#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>Skapa nybörjarguider i privatekonomi med AI</title>
		<link>https://nodenordic.se/prompts/skapa-nyborjarguider-i-privatekonomi-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-nyborjarguider-i-privatekonomi-med-ai</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:59:10 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001760</guid>

					<description><![CDATA[<p>Privatekonomi känns rörigt? Den här AI-prompten skriver en nybörjarguide med steg, fallgropar och exempel.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-nyborjarguider-i-privatekonomi-med-ai/">Skapa nybörjarguider i privatekonomi 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: beginner finance guide -->
<div class="hook-introduction">

<p>Det mesta innehållet om ”privatekonomi” förutsätter att du redan kan grunderna. Då landar du i fackspråk, vaga råd och massor av ”det beror på” som inte hjälper dig att ta nästa steg. Ärligt talat kan det få pengar att kännas krångligare än det är.</p>



<p>Den här <strong>finansguiden för nybörjare</strong> är byggd för <strong>content marketers</strong> som behöver pålitliga, icke-intimiderande utbildningstexter, <strong>grundare</strong> som skapar onboarding-innehåll för förstagångskunder och <strong>coacher</strong> som vill ha en tydlig handout som förstärker det de lär ut i samtal. Resultatet är en överskådlig guide med förklaringar på klarspråk, snabba exempel, vanliga fallgropar och steg-för-steg-åtgärder som läsaren kan använda redan den här veckan.</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 skriver en nybörjarvänlig utbildningsguide som förklarar ett finansemne på klarspråk, med fokus på trygghet och tydlighet.</li>
          <li>Den börjar med en kort föranalys som sammanfattar vad läsaren vill, vem läsaren är och vad guiden kommer att täcka.</li>
          <li>Den delar upp ämnet i moduler med ”grundbyggstenar”, där varje modul innehåller en enkel definition, en vardagsanalog och ett miniexempel.</li>
          <li>Den lägger till ”gör det här härnäst”-steg för varje modul så att läsaren kan agera konkret den här veckan i stället för att bokmärka och glömma.</li>
          <li>Den innehåller ett särskilt avsnitt om felsteg och missuppfattningar och håller innehållet utbildande (inte individanpassade juridiska, skattemässiga eller investeringsdirektiv).</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ska publicera en finansförklaring och utkastet blir antingen för tekniskt eller för fluffigt.</li>
          <li>Du måste utbilda en nybörjarpublik snabbt, och du har inte råd med förvirring, misstolkningar eller compliance-problem.</li>
          <li>Du får återkommande frågor från kunder eller läsare och vill ha en auktoritativ guide att hänvisa till.</li>
          <li>Ditt team behöver en konsekvent ”undervisningsstil” i artiklar, mejl och lead magnets, även när olika personer skriver dem.</li>
          <li>Du uppdaterar äldre innehåll och vill lägga till praktiska steg, fallgropar och igenkännbara scenarier utan att skriva om allt från grunden.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett nybörjarguide med introduktion, kärnmoduler och ett avsnitt om missuppfattningar (oftast 1&nbsp;000–1&nbsp;500 ord).</li>
           <li>4–7 kärnmoduler, var och en med en definition på klarspråk, en analogi och ett miniexempel.</li>
           <li>En ”gör det här härnäst”-checklista med minst 10 konkreta steg genom hela guiden.</li>
           <li>5–10 vanliga misstag eller missuppfattningar, skrivna som ”vad folk tror” vs ”vad som faktiskt stämmer”.</li>
           <li>Ett kort avsnitt med resurser för att lära sig mer, med kategorier att utforska (böcker, kalkylatorer, trovärdiga myndighets-/konsumentsajter).</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 nybörjarvänlig finansguide</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 finansiella koncept, ämne eller område som du vill att guiden ska förklara. Var så specifik som möjligt för att innehållet ska bli fokuserat.                                    <div class="var-example">Till exempel: "Budgetering för nybörjare, förstå kreditbetyg eller grunderna i pensionssparande."</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>[BEKANTSKAPSNIVA]</code></td>
                                <td class="var-desc">
                                    Ange läsarens kunskapsnivå inom ämnet, till exempel nybörjare, medel eller avancerad. Det hjälper till att anpassa guiden efter deras förståelse.                                    <div class="var-example">Till exempel: "Nybörjare: någon som saknar tidigare kunskap om budgetering eller finansiell planering."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BEKANTSKAPSNIVA]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[EKONOMISKA_UTMANINGAR]</code></td>
                                <td class="var-desc">
                                    Lista konkreta situationer, utmaningar eller frågor som läsaren sannolikt har kopplat till ämnet. Det säkerställer att guiden tar upp relevanta behov.                                    <div class="var-example">Till exempel: "Svårt att spara pengar, osäker på hur man kommer igång med investeringar eller förvirrad kring hur man betalar av skulder med hög ränta."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[EKONOMISKA_UTMANINGAR]"
                                            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 vilken ton eller stil du vill att guiden ska ha, till exempel formell, samtalston, stöttande eller humoristisk.                                    <div class="var-example">Till exempel: "Stöttande och uppmuntrande, med en samtalston som undviker teknisk jargong."</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 eventuella ramar eller preferenser för guidens upplägg, till exempel längd, struktur eller leveransformat (t.ex. PDF eller blogginlägg).                                    <div class="var-example">Till exempel: "Ett kort och lättöverskådligt blogginlägg med rubriker och punktlistor, cirka 1 500 ord."</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 class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad det här 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 class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av specialfall</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">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></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 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">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 nybörjarvänlig utbildningsguide som förklarar **[AMNE]** med enkel, tydlig svenska, stärker läsarens självförtroende och ger praktiska steg som går att använda direkt. Guiden måste täcka grundläggande fundament, lyfta typiska misstag att undvika och hänvisa till resurser för fortsatt lärande.

## PERSONA
Du är en erfaren ekonomipedagog och rådgivare som är specialiserad på att översätta pengabegrepp till vardagliga termer. Din stil är lugn, stöttande och tydlig—du prioriterar förståelse framför teknisk precision, utan att vara nedlåtande.

## BEGRÄNSNINGAR
- Skriv för det **primära användarsegmentet** som antyds av **[BEKANTSKAPSNIVA]** (utgå från nybörjartydlighet som standard).
- Minimera jargong; när en teknisk term behövs, definiera den första gången med enkla ord.
- Använd rubriker och punktlistor för att göra guiden lätt att skumma.
- Inkludera verklighetsnära scenarier som känns relaterbara och varierade.
- Håll innehållet heltäckande men stramt: inget utfyllnad, inga långa sidospår.
- Ge inte individualiserade juridiska/skatte-/investeringsdirektiv; presentera generell utbildning och beslutsramverk.

### Vad det här INTE är
- Inte en personlig ekonomisk plan eller en ersättning för att anlita en licensierad professionell.
- Inte ett löfte om resultat, intäkter eller besparingar.
- Inte en djup akademisk lärobok eller en definitionstung ordlista.

## PROCESS
1. **Föranalys (obligatorisk):** Ange kort vad du tror att användaren vill ha, vem läsaren är och vad du kommer att täcka baserat på input.
2. **Orientering:** Förklara varför **[AMNE]** spelar roll i vardagliga ekonomibeslut med en enkel, relaterbar situation (undvik branschspråk).
3. **Grundbyggstenar:** Lär ut fundamenten i separata moduler. För varje modul:
   - Definiera idén med enkla ord
   - Ge en vardaglig analogi
   - Ge ett praktiskt miniexempel (siffror valfritt, håll det enkelt)
4. **Gör-det-här-nästa-steg:** För varje modul, ge konkreta åtgärder som en läsare kan göra den här veckan.
5. **Felsteg &amp; missuppfattningar:** Lyft vanliga missförstånd och hur man undviker dem, med korta scenarier (t.ex. “Jordan gjorde X, här är vad som hände…”).
6. **Lärstig:** Avsluta varje modul med 2–4 trovärdiga nästa resurser (böcker, seriösa webbplatser, kurser, verktyg).
7. **Avslut:** Sammanfatta de viktigaste insikterna och ge uppmuntrande nästa steg kopplade till läsarens startnivå.

### Hantering av specialfall
- Om **[BEKANTSKAPSNIVA]** saknas, anta “nybörjare” och ange det antagandet.
- Om **[EKONOMISKA_UTMANINGAR]** är tomt eller brett, ge en meny av vanliga användningsfall för **[AMNE]** och fortsätt med den mest generella vägen.
- Om **[AMNE]** är för brett (t.ex. “investeringar”), avgränsa det till 3–5 grundläggande underämnen och förklara den valda omfattningen direkt.

## INPUT
- **Finansiellt ämne att förklara:** [AMNE]
- **Läsarens bekantskapsnivå:** [BEKANTSKAPSNIVA]
- **Situationer/frågor som läsaren bryr sig om:** [EKONOMISKA_UTMANINGAR]
- **Önskad ton (valfritt):** [TON]
- **Önskade längd-/formatbegränsningar (valfritt):** [FORMAT]

## SPECIFIKATION FÖR OUTPUT
Leverera en guide med följande struktur (använd dessa exakta rubriker, fyllda med ditt innehåll):

1. **{Guide Title}**
2. **{Quick Context: Why This Matters}**
3. **{Module 1 Title}**
   - **{Plain-English Explanation}**
   - **{Everyday Analogy}**
   - **{Practical Example}**
   - **{Action Steps}** (punkter)
   - **{Common Pitfalls to Avoid}** (punkter)
   - **{Keep Learning}** (2–4 resurser)
4. **{Module 2 Title}** (samma understruktur som ovan)
5. **{Module 3 Title}** (samma understruktur som ovan)
6. **{Real-Life Style Scenarios}** (2–4 korta fall som spänner över olika omständigheter)
7. **{Key Takeaways}** (punkter)
8. **{First Steps for This Week}** (punkter)
9. **{Disclaimer}** (kort, utan alarmism)

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Språket matchar **[BEKANTSKAPSNIVA]** och undviker odefinierad jargong.
- Varje modul innehåller: förklaring, analogi, exempel, åtgärdssteg, fallgropar och resurser.
- Scenarierna är realistiska och inte copy-pastade mallar; de varierar i kontext.
- Råden är handlingsbara och generella (inte personliga instruktioner).
- Avslutningen innehåller en skarp sammanfattning plus konkreta nästa steg.            </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 nyb\u00f6rjarv\u00e4nlig utbildningsguide som f\u00f6rklarar **[AMNE]** med enkel, tydlig svenska, st\u00e4rker l\u00e4sarens sj\u00e4lvf\u00f6rtroende och ger praktiska steg som g\u00e5r att anv\u00e4nda direkt. Guiden m\u00e5ste t\u00e4cka grundl\u00e4ggande fundament, lyfta typiska misstag att undvika och h\u00e4nvisa till resurser f\u00f6r fortsatt l\u00e4rande.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren ekonomipedagog och r\u00e5dgivare som \u00e4r specialiserad p\u00e5 att \u00f6vers\u00e4tta pengabegrepp till vardagliga termer. Din stil \u00e4r lugn, st\u00f6ttande och tydlig\u2014du prioriterar f\u00f6rst\u00e5else framf\u00f6r teknisk precision, utan att vara nedl\u00e5tande.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Skriv f\u00f6r det **prim\u00e4ra anv\u00e4ndarsegmentet** som antyds av **[BEKANTSKAPSNIVA]** (utg\u00e5 fr\u00e5n nyb\u00f6rjartydlighet som standard).\r\n- Minimera jargong; n\u00e4r en teknisk term beh\u00f6vs, definiera den f\u00f6rsta g\u00e5ngen med enkla ord.\r\n- Anv\u00e4nd rubriker och punktlistor f\u00f6r att g\u00f6ra guiden l\u00e4tt att skumma.\r\n- Inkludera verklighetsn\u00e4ra scenarier som k\u00e4nns relaterbara och varierade.\r\n- H\u00e5ll inneh\u00e5llet helt\u00e4ckande men stramt: inget utfyllnad, inga l\u00e5nga sidosp\u00e5r.\r\n- Ge inte individualiserade juridiska\/skatte-\/investeringsdirektiv; presentera generell utbildning och beslutsramverk.\r\n\r\n### Vad det h\u00e4r INTE \u00e4r\r\n- Inte en personlig ekonomisk plan eller en ers\u00e4ttning f\u00f6r att anlita en licensierad professionell.\r\n- Inte ett l\u00f6fte om resultat, int\u00e4kter eller besparingar.\r\n- Inte en djup akademisk l\u00e4robok eller en definitionstung ordlista.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** Ange kort vad du tror att anv\u00e4ndaren vill ha, vem l\u00e4saren \u00e4r och vad du kommer att t\u00e4cka baserat p\u00e5 input.\r\n2. **Orientering:** F\u00f6rklara varf\u00f6r **[AMNE]** spelar roll i vardagliga ekonomibeslut med en enkel, relaterbar situation (undvik branschspr\u00e5k).\r\n3. **Grundbyggstenar:** L\u00e4r ut fundamenten i separata moduler. F\u00f6r varje modul:\r\n   - Definiera id\u00e9n med enkla ord\r\n   - Ge en vardaglig analogi\r\n   - Ge ett praktiskt miniexempel (siffror valfritt, h\u00e5ll det enkelt)\r\n4. **G\u00f6r-det-h\u00e4r-n\u00e4sta-steg:** F\u00f6r varje modul, ge konkreta \u00e5tg\u00e4rder som en l\u00e4sare kan g\u00f6ra den h\u00e4r veckan.\r\n5. **Felsteg & missuppfattningar:** Lyft vanliga missf\u00f6rst\u00e5nd och hur man undviker dem, med korta scenarier (t.ex. \u201cJordan gjorde X, h\u00e4r \u00e4r vad som h\u00e4nde\u2026\u201d).\r\n6. **L\u00e4rstig:** Avsluta varje modul med 2\u20134 trov\u00e4rdiga n\u00e4sta resurser (b\u00f6cker, seri\u00f6sa webbplatser, kurser, verktyg).\r\n7. **Avslut:** Sammanfatta de viktigaste insikterna och ge uppmuntrande n\u00e4sta steg kopplade till l\u00e4sarens startniv\u00e5.\r\n\r\n### Hantering av specialfall\r\n- Om **[BEKANTSKAPSNIVA]** saknas, anta \u201cnyb\u00f6rjare\u201d och ange det antagandet.\r\n- Om **[EKONOMISKA_UTMANINGAR]** \u00e4r tomt eller brett, ge en meny av vanliga anv\u00e4ndningsfall f\u00f6r **[AMNE]** och forts\u00e4tt med den mest generella v\u00e4gen.\r\n- Om **[AMNE]** \u00e4r f\u00f6r brett (t.ex. \u201cinvesteringar\u201d), avgr\u00e4nsa det till 3\u20135 grundl\u00e4ggande under\u00e4mnen och f\u00f6rklara den valda omfattningen direkt.\r\n\r\n## INPUT\r\n- **Finansiellt \u00e4mne att f\u00f6rklara:** [AMNE]\r\n- **L\u00e4sarens bekantskapsniv\u00e5:** [BEKANTSKAPSNIVA]\r\n- **Situationer\/fr\u00e5gor som l\u00e4saren bryr sig om:** [EKONOMISKA_UTMANINGAR]\r\n- **\u00d6nskad ton (valfritt):** [TON]\r\n- **\u00d6nskade l\u00e4ngd-\/formatbegr\u00e4nsningar (valfritt):** [FORMAT]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nLeverera en guide med f\u00f6ljande struktur (anv\u00e4nd dessa exakta rubriker, fyllda med ditt inneh\u00e5ll):\r\n\r\n1. **{Guide Title}**\r\n2. **{Quick Context: Why This Matters}**\r\n3. **{Module 1 Title}**\r\n   - **{Plain-English Explanation}**\r\n   - **{Everyday Analogy}**\r\n   - **{Practical Example}**\r\n   - **{Action Steps}** (punkter)\r\n   - **{Common Pitfalls to Avoid}** (punkter)\r\n   - **{Keep Learning}** (2\u20134 resurser)\r\n4. **{Module 2 Title}** (samma understruktur som ovan)\r\n5. **{Module 3 Title}** (samma understruktur som ovan)\r\n6. **{Real-Life Style Scenarios}** (2\u20134 korta fall som sp\u00e4nner \u00f6ver olika omst\u00e4ndigheter)\r\n7. **{Key Takeaways}** (punkter)\r\n8. **{First Steps for This Week}** (punkter)\r\n9. **{Disclaimer}** (kort, utan alarmism)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Spr\u00e5ket matchar **[BEKANTSKAPSNIVA]** och undviker odefinierad jargong.\r\n- Varje modul inneh\u00e5ller: f\u00f6rklaring, analogi, exempel, \u00e5tg\u00e4rdssteg, fallgropar och resurser.\r\n- Scenarierna \u00e4r realistiska och inte copy-pastade mallar; de varierar i kontext.\r\n- R\u00e5den \u00e4r handlingsbara och generella (inte personliga instruktioner).\r\n- Avslutningen inneh\u00e5ller en skarp sammanfattning plus konkreta n\u00e4sta steg.";
    const variables = ["[AMNE]","[BEKANTSKAPSNIVA]","[EKONOMISKA_UTMANINGAR]","[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 ett smalt ämne, inte en hel kategori.</strong> ”Investeringar” är för brett; ”Hur indexfonder fungerar för nybörjare” är hanterbart och ger mer strukturerade moduler. Om resultatet känns spretigt, kör igen med en snävare [TOPIC] och be: ”Håll dig till en kärnidé per modul, max sex moduler.”</li>


<li><strong>Säg vem nybörjaren är.</strong> Prompten refererar till [FAMILIARITY_LEVEL], så lämna inte läsaren otydlig. Lägg till en rad som: ”FAMILIARITY_LEVEL: total nybörjare som vet vad ett bankkonto är men inte vad APR betyder”, och följ upp med: ”Definiera alla nödvändiga termer första gången de förekommer, i en mening.”</li>


<li><strong>Styr mot relaterbara scenarier som passar din målgrupp.</strong> Om du skriver för unga yrkesverksamma, be om exempel kring första jobb, förmåner och hyra; om du skriver för småföretagare, be om kassaflödesscenarier. En bra uppföljning: ”Lägg till tre scenarier: en försiktig, en genomsnittlig och en impulsiv spenderare, och visa hur var och en skulle använda stegen.”</li>


<li><strong>Iterera modul för modul i stället för att skriva om allt.</strong> Efter första output: välj den svagaste modulen och be: ”Skriv om modul 3 med en enklare analogi och ett miniexempel med runda siffror under 500 USD.” Sedan: ”Strama upp stegen i ’Gör det här härnäst’ så att varje steg börjar med ett verb och kan göras på under 30 minuter.”</li>


<li><strong>Kombinera utbildning med etiska konverteringstillgångar.</strong> Om guiden är en lead magnet behöver du oftast ett lugnt uppföljningsmejl för att distribuera den utan hype. För den delen kan du använda en separat prompt som <a href="https://nodenordic.se/prompts/skriv-ett-kampanjmejl-med-tidsbegransat-erbjudande">Skriv ett kampanjmejl med tidsbegränsat erbjudande</a> och hålla budskapet konsekvent: lugn ton, tydlig nytta, ingen press.</li>

</ul>

</div>

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

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



<p>När din finansguide är tydlig och hjälpsam kan de här promptarna stötta marknadsföringsinnehållet runt den utan att förvandla texten till hype.</p>



<p>Om du också behöver marknadsföra guiden (eller en workshop kopplad till den) med en känsla av brådska som ändå känns respektfull, hjälper <a href="https://nodenordic.se/prompts/skapa-kampanjcopy-med-etisk-knapphet">Skapa kampanjcopy med etisk knapphet</a> dig att skapa nedräkningar, deadlines och kapacitetsbegränsningar med ett jordnära och transparent språk.</p>



<p>För team som jobbar med affiliate-samarbeten inom privatekonomi är <a href="https://nodenordic.se/prompts/skriv-etiska-affiliate-hooks-med-ai-prompt">Skriv etiska affiliate-hooks med AI-prompt</a> användbar när du vill ha compliance-säkrade, läsarcentrerade hooks som inte lovar för mycket eller antyder garanterade resultat.</p>



<p>När ditt utbildningsinnehåll behöver leda in i ett betalt erbjudande (kurs, medlemskap, rådgivningspaket) hjälper <a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">Skapa etisk erbjudandekommunikation via beteendedata</a> dig att rama in erbjudandet utifrån verkliga beteenden och beslutstillfällen, vilket passar bra ihop med ”gör det här härnäst”-stegen i en nybörjarguide.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-kampanjcopy-med-etisk-knapphet">Skapa kampanjcopy med etisk knapphet</a>: Deadline-budskap utan manipulativ press.</li>


<li><a href="https://nodenordic.se/prompts/skriv-etiska-affiliate-hooks-med-ai-prompt">Skriv etiska affiliate-hooks med AI-prompt</a>: Compliance-säkra hooks för affiliate-kampanjer.</li>


<li><a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">Skapa etisk erbjudandekommunikation via beteendedata</a>: Budskap kopplat till verkliga köparbeteenden.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-kampanjmejl-med-tidsbegransat-erbjudande">Skriv ett kampanjmejl med tidsbegränsat erbjudande</a>: Ett strukturerat utkast till ett mejl med tidsbegränsad brådska.</li>


<li><a href="https://nodenordic.se/prompts/optimera-prissattningen-pa-ditt-erbjudande">Optimera prissättningen på ditt erbjudande</a>: Prisalternativ och positioneringsvinklar.</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 finansguide för nybörjare?</span>

<p class="answer"><strong>Content marketing managers</strong> använder den för att publicera korrekta, överskådliga förklaringar som inte känns som en lärobok och som inte skapar compliance-risk. <strong>Finanscoacher och utbildare</strong> använder den för att förvandla en lektionsstruktur till en tydlig handout med steg, fallgropar och exempel som förstärker det de lär ut live. <strong>Ansvariga för kundutbildning i fintech-appar</strong> använder den för att minska supportärenden genom att besvara vanliga ”hur fungerar det här?”-frågor på klarspråk. <strong>Småföretagare</strong> använder den för att skapa enkla guider för sin målgrupp (eller sitt team) utan att fastna i fackspråk.</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 finansguide för nybörjare?</span>

<p class="answer"><strong>Fintech- och privatekonomiappar</strong> använder den för onboarding-innehåll som ”Hur APR fungerar” eller ”Vad en kreditutnyttjandegrad är”, tillsammans med nästa-steg-åtgärder i produkten. <strong>Creator-verksamheter</strong> (YouTube, nyhetsbrev, kurskreatörer) använder den för att göra ett videotema till en skriven guide som driver SEO-trafik och håller läsare engagerade med scenarier. <strong>Plattformar för personalförmåner och HR</strong> använder den för att förklara 401(k), HSA och budgetgrunder för nyanställda utan att låta nedlåtande. <strong>Lokala banker och kreditföreningar</strong> tycker den är hjälpsam för utbildande blogginlägg som bygger förtroende lokalt samtidigt som de undviker individanpassade råd.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för att skriva en finansguide för nybörjare svaga resultat?</span>

<p class="answer">En typisk prompt som ”<em>Skriv en nybörjarguide om kreditkort</em>” misslyckas eftersom den: saknar en tydligt definierad lärarroll och ton, så texten pendlar mellan mästrande och för slängig; saknar modulstruktur, vilket leder till svamlande avsnitt som inte bygger förståelse steg för steg; ignorerar läsarens förkunskaper, så den antingen överförklarar eller slänger in facktermer utan definitioner; ger generella tips i stället för konkreta veckovisa åtgärder; och saknar ett dedikerat avsnitt om missuppfattningar, vilket är där nybörjare oftast fastnar.</p>

</div>

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

<p class="answer">Ja. Börja med att sätta [TOPIC] till en väldigt specifik fråga du hör från din målgrupp, och sätt sedan [FAMILIARITY_LEVEL] för att beskriva vad de redan kan (och vad de inte kan). Om du vill att guiden ska matcha din tonalitet, lägg till en kort notis som: ”Ton: lugn och praktisk, inget hustle-språk, korta stycken.” En användbar uppföljningsprompt efter första utkastet är: ”Skriv om introduktionen och exemplen för en målgrupp av [målgruppsbeskrivning], och lägg till ett beslutsramverk i ett stycke för ’hur man väljer mellan alternativ’ utan att ge individanpassade råd.”</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 finansguide för nybörjare?</span>

<p class="answer">Det största misstaget är att lämna [TOPIC] för brett — i stället för ”investeringar”, prova ”Hur indexfonder fungerar och vad avgifter betyder för nybörjare.” Ett annat vanligt fel är att inte specificera [FAMILIARITY_LEVEL]; ”nybörjare” räcker, men ”nybörjare som har skulder och är rädd för att investera” ger mer empatiska scenarier och bättre tempo. Många glömmer också att be om skumläsbarhet, så resultatet blir kompakt och tungt; lägg till ”Använd korta rubriker, punktlistor för steg och håll stycken under 3 rader.” Slutligen ber användare ibland om personliga rekommendationer (som exakta aktier eller skatteåtgärder), vilket prompten undviker; be om beslutsramverk och checklistor i stället för direktiv.</p>

</div>

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

<p class="answer">Den här prompten är inte optimal för starkt reglerade, individanpassade rådgivningssituationer (som beslut kring privat deklaration, specifika portföljallokeringar eller juridisk vägledning), eftersom den är designad för generell utbildning och beslutsramverk. Den passar inte heller om du vill ha en avancerad whitepaper med tung credential-tyngd; den prioriterar klarspråk framför teknisk djupnivå. Om du behöver personlig hjälp, använd guiden som utgångspunkt och hänvisa sedan läsare till en licensierad expert eller en intern process som är compliance-granskad.</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 finansguide för nybörjare?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Content marketing managers använder den för att publicera korrekta, överskådliga förklaringar som inte känns som en lärobok och som inte skapar compliance-risk. Finanscoacher och utbildare använder den för att förvandla en lektionsstruktur till en tydlig handout med steg, fallgropar och exempel som förstärker det de lär ut live. Ansvariga för kundutbildning i fintech-appar använder den för att minska supportärenden genom att besvara vanliga ”hur fungerar det här?”-frågor på klarspråk. Småföretagare använder den för att skapa enkla guider för sin målgrupp (eller sitt team) utan att fastna i fackspråk."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en finansguide för nybörjare?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Fintech- och privatekonomiappar använder den för onboarding-innehåll som ”Hur APR fungerar” eller ”Vad en kreditutnyttjandegrad är”, tillsammans med nästa-steg-åtgärder i produkten. Creator-verksamheter (YouTube, nyhetsbrev, kurskreatörer) använder den för att göra ett videotema till en skriven guide som driver SEO-trafik och håller läsare engagerade med scenarier. Plattformar för personalförmåner och HR använder den för att förklara 401(k), HSA och budgetgrunder för nyanställda utan att låta nedlåtande. Lokala banker och kreditföreningar tycker den är hjälpsam för utbildande blogginlägg som bygger förtroende lokalt samtidigt som de undviker individanpassade råd."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att skriva en finansguide för nybörjare svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en nybörjarguide om kreditkort” misslyckas eftersom den: saknar en tydligt definierad lärarroll och ton, så texten pendlar mellan mästrande och för slängig; saknar modulstruktur, vilket leder till svamlande avsnitt som inte bygger förståelse steg för steg; ignorerar läsarens förkunskaper, så den antingen överförklarar eller slänger in facktermer utan definitioner; ger generella tips i stället för konkreta veckovisa åtgärder; och saknar ett dedikerat avsnitt om missuppfattningar, vilket är där nybörjare oftast fastnar."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en finansguide för nybörjare till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Börja med att sätta [TOPIC] till en väldigt specifik fråga du hör från din målgrupp, och sätt sedan [FAMILIARITY_LEVEL] för att beskriva vad de redan kan (och vad de inte kan). Om du vill att guiden ska matcha din tonalitet, lägg till en kort notis som: ”Ton: lugn och praktisk, inget hustle-språk, korta stycken.” En användbar uppföljningsprompt efter första utkastet är: ”Skriv om introduktionen och exemplen för en målgrupp av [målgruppsbeskrivning], och lägg till ett beslutsramverk i ett stycke för ’hur man väljer mellan alternativ’ utan att ge individanpassade råd.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en finansguide för nybörjare?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TOPIC] för brett — i stället för ”investeringar”, prova ”Hur indexfonder fungerar och vad avgifter betyder för nybörjare.” Ett annat vanligt fel är att inte specificera [FAMILIARITY_LEVEL]; ”nybörjare” räcker, men ”nybörjare som har skulder och är rädd för att investera” ger mer empatiska scenarier och bättre tempo. Många glömmer också att be om skumläsbarhet, så resultatet blir kompakt och tungt; lägg till ”Använd korta rubriker, punktlistor för steg och håll stycken under 3 rader.” Slutligen ber användare ibland om personliga rekommendationer (som exakta aktier eller skatteåtgärder), vilket prompten undviker; be om beslutsramverk och checklistor i stället för direktiv."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för en finansguide för nybörjare?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för starkt reglerade, individanpassade rådgivningssituationer (som beslut kring privat deklaration, specifika portföljallokeringar eller juridisk vägledning), eftersom den är designad för generell utbildning och beslutsramverk. Den passar inte heller om du vill ha en avancerad whitepaper med tung credential-tyngd; den prioriterar klarspråk framför teknisk djupnivå. Om du behöver personlig hjälp, använd guiden som utgångspunkt och hänvisa sedan läsare till en licensierad expert eller en intern process som är compliance-granskad."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Tydlig finansiell utbildning bygger snabbt förtroende, men bara om folk faktiskt kan följa den. Klistra in prompten i ditt AI-verktyg, välj ett specifikt ämne och publicera en guide som hjälper nybörjare att agera utan att känna sig överväldigade.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-nyborjarguider-i-privatekonomi-med-ai/">Skapa nybörjarguider i privatekonomi 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>Skriv en neutral briefing om en kontrovers</title>
		<link>https://nodenordic.se/prompts/skriv-en-neutral-briefing-om-en-kontrovers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-en-neutral-briefing-om-en-kontrovers</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:51:13 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002730</guid>

					<description><![CDATA[<p>Känns debattunderlag partiska? Den här AI-prompten strukturerar tvister, stärker båda sidors argument och citerar källor i en brief.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-neutral-briefing-om-en-kontrovers/">Skriv en neutral briefing om en kontrovers</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: controversy briefing prompt -->

<div class="hook-introduction">

<p>Det mesta av det som kallas ”debattresearch” är inte research. Det är en samling körsbärsplockade länkar, självsäkra tolkningar och skärmdumpar som inte klarar en enkel trovärdighetskontroll. Och när ett ämne är känsloladdat blir det värre: definitioner glider, källor används som vapen och nyanserna försvinner.</p>



<p>Den här <strong>prompten för kontroversbrief</strong> är byggd för <strong>kommunikationschefer</strong> som behöver ett lugnt, försvarbart bakgrundsunderlag innan talespersoner uttalar sig offentligt, <strong>policyanalytiker</strong> som måste kartlägga vad experter faktiskt är överens om jämfört med vad som fortfarande är omstritt, och <strong>konsulter</strong> som vill briefa kunder utan att råka smuggla in opinionsdrivande språk. Resultatet är en strukturerad, evidensdriven briefing som definierar termer, delar upp kontroversen i centrala debattområden, stålmannar trovärdiga perspektiv och kopplar icke-triviala faktapåståenden till källhänvisningar.</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 uppdraget direkt i 3–5 punkter, så att modellen förbinder sig till en neutral standard innan den börjar skriva.</li>
          <li>Den definierar avgränsning och operativa termer, vilket minskar att man ”pratar förbi varandra” på grund av skiftande definitioner.</li>
          <li>Den kartlägger frågan i centrala konfliktområden och behandlar sedan varje del som en egen mini-brief med flera trovärdiga perspektiv.</li>
          <li>Den separerar påståenden från evidens och kräver källor för varje icke-trivialt faktapåstående, samtidigt som svagare källor flaggas.</li>
          <li>Den sammanfattar landskapet i konsensuspunkter, öppna frågor och vad den starkaste samlade evidensen pekar på.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du förbereder en ledningsbrief om ett kontroversiellt ämne och behöver att den håller för granskning från flera håll.</li>
          <li>Ditt team har motstridiga interna narrativ, och du behöver en gemensam faktabas innan strategisamtal kan bli produktiva.</li>
          <li>En intressent frågar: ”Vad är experter faktiskt överens om?” och du kan inte svara med en enda artikel eller en viral tråd.</li>
          <li>Du går in i en trång diskussion där konkurrenter eller kommentatorer redan ramar in frågan aggressivt.</li>
          <li>Du behöver skala research snabbt över flera tvister, utan att tonen glider över i övertalning.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En strukturerad kontroversbrief med föranalys i punktform, definierade termer, kartlagda debatter och syntesavsnitt.</li>
           <li>Minst 3 större debattområden, vart och ett med två eller fler trovärdiga perspektiv och deras starkaste argument.</li>
           <li>En evidenslista med källhänvisningar inbäddade genomgående, plus noteringar om evidenskvalitet och luckor.</li>
           <li>En uppsättning slutsatser om ”konsensus vs omstritt” som du kan återanvända i presentationer, FAQ:er eller mejl till intressenter.</li>
           <li>En sammanfattning av ”vad den starkaste evidensen sammantaget pekar på”, skriven i en lugn, akademisk stil.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: neutral byggare för kontroversbrief</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 den omstridda frågan eller det ämne som ska analyseras. Det ska vara tydligt och kortfattat, med fokus på ett ämne där det finns flera trovärdiga perspektiv.                                    <div class="var-example">Till exempel: "Den miljöpåverkan som kryptovalutabrytning medför"</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>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilket relevant område eller vilken domän ämnet hör till. Det hjälper till att sätta diskussionen i kontext och avgränsa omfattningen.                                    <div class="var-example">Till exempel: "Miljövetenskap och energipolitik"</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>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange eventuell kompletterande kontext eller begränsningar för analysen, till exempel geografiskt fokus, tidsperiod eller specifika delämnen som ska inkluderas eller uteslutas.                                    <div class="var-example">Till exempel: "Fokusera på Nordamerika och studier publicerade efter 2015."</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>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Beskriv analysens huvudsakliga syfte, till exempel att ta fram en policyöversikt, sammanfatta forskning eller ge en översikt över evidensläget.                                    <div class="var-example">Till exempel: "Ta fram en policygenomgång för lagstiftare som utvärderar reglering av kryptovalutor."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Beskriv önskad ton i resultatet, till exempel formell, akademisk, neutral eller lättillgänglig för en bred publik.                                    <div class="var-example">Till exempel: "Neutral och akademisk, anpassad för en välinformerad beslutsfattare."</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 önskad längd eller format för resultatet, till exempel antal ord, dokumenttyp eller avsnittsstruktur.                                    <div class="var-example">Till exempel: "2 000 ord med avsnitt för introduktion, debatter, evidens och slutsats."</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>[ANTAL_DEBATTER]</code></td>
                                <td class="var-desc">
                                    Ange minsta antal större konfliktområden som ska behandlas i analysen. Det hjälper till att fastställa hur djupt genomgången ska gå.                                    <div class="var-example">Till exempel: "3 centrala debatter: miljöpåverkan, ekonomisk genomförbarhet och regulatoriska utmaningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ANTAL_DEBATTER]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NYCKELORD]</code></td>
                                <td class="var-desc">
                                    Lista specifika termer eller begrepp att fokusera på eller prioritera i analysen, så att viktiga aspekter täcks in ordentligt.                                    <div class="var-example">Till exempel: "Koldioxidavtryck, blockkedjans skalbarhet, energieffektivitet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYCKELORD]"
                                            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 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">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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></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) Uppdragsförståelse (föranalys)</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) Snabböversikt: {Topic} inom {Field}</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) Debattkarta (upprepa för varje större debatt)</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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Integrerad slutsats (evidensviktad)</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">5) Källor</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">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></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 neutral, evidensledd briefing om en omtvistad fråga, där du kartlägger huvudargumenten, vad experter är överens om, vad de är oense om och vad den starkaste evidensen sammantaget indikerar.

## PERSONA
Agera som en rigorös utredningsanalytiker och formell skeptiker: envis med tydlighet, noggrann med definitioner och disciplinerad i att separera påståenden från evidens. Skriv i en lugn, akademisk stil som passar en insatt läsare.

## BEGRÄNSNINGAR
- Använd **leveransstandarder**: balanserad ton, inga personliga åsikter, inget opinionsdrivande språk.
- Behandla ämnet som **kontroversiellt som standard**: representera trovärdiga sidor rättvist, inklusive minoritetspositioner när de stöds av ansedda källor.
- Varje icke-trivialt faktapåstående måste paras ihop med en källhänvisning.
- Föredra högkvalitativa referenser (peer-reviewade artiklar, akademiska böcker, officiell statistik, stora granskande redaktioner). Flagga svagare evidens.
- Om indata saknas eller är vaga, tillämpa hantering av kantfall (se PROCESS).
- **Det här är INTE:**  
  - Inte en övertalningstext, en sågning eller att “vinna” en debatt.  
  - Inte juridisk/medicinsk/finansiell rådgivning.  
  - Inte en uttömmande systematisk översikt; det är en strukturerad, källstödd landskapsskanning.

## PROCESS
1. **Föranalys (obligatorisk):** Återge din förståelse av uppdraget i 3–5 punkter, inklusive hur du kommer att definiera kontroversen och vad som räknas som “ansett” i det här sammanhanget.
2. **Definiera scope och termer:** Ge korta operationella definitioner av nyckeltermer och fältets avgränsningar så som de används här.
3. **Samla evidens:** Identifiera och använd minst {Source Count} ansedda källor (eller så många som är möjligt om du är begränsad). Notera eventuella stora luckor i tillgänglig evidens.
4. **Kartlägg debatter:** Dela upp frågan i {Number Of Debates} större konfliktområden (justera vid behov för tydlighet).
5. **För varje debatt:** Presentera minst två trovärdiga perspektiv, deras bästa argument och deras starkaste stödjande evidens.
6. **Syntetisera:** Extrahera konsenspunkter och tvistepunkter; identifiera vilken evidens som skulle kunna ändra uppfattningar.
7. **Avsluta neutralt:** Ge en avvägd bedömning utifrån evidensens tyngd, samt en kort lista med öppna frågor.
8. **Hantering av kantfall:**  
   - Om [AMNE] eller [BRANSCH] är oklart, ställ upp till 5 klargörande frågor innan du skriver utkastet.  
   - Om ansedda källor är få, säg det uttryckligen och skilj spekulation från underbyggda påståenden.  
   - Om ämnet spänner över flera fält, dela upp debatterna per fält och märk dem.

## INPUTS
- **Omtvistat ämne:** [AMNE]  
- **Fält / domän:** [BRANSCH]  
- **Bakgrundskontext eller avgränsningar (valfritt):** [KONTEXT]  
- **Primärt mål (valfritt: t.ex. policy brief, litteraturöversikt):** [PRIMART_MAL]  
- **Önskad ton (valfritt):** [TON]  
- **Önskad längd/format (valfritt):** [FORMAT]  
- **Minsta antal nyckeldebatter att täcka (valfritt):** [ANTAL_DEBATTER]  
- **Nyckeltermer att inkludera eller prioritera (valfritt):** [NYCKELORD]

## OUTPUTSPECIFIKATION
Använd rubriker, underrubriker och punktlistor (ingen XML). Producera:

### 1) Uppdragsförståelse (föranalys)
- {Understanding Bullet 1}  
- {Understanding Bullet 2}  
- {Understanding Bullet 3}  
- {Optional Understanding Bullet 4}  

### 2) Snabböversikt: {Topic} inom {Field}
- {High-Level Description}
- {Why It’s Contested}
- {Key Definitions / Assumptions}

### 3) Debattkarta (upprepa för varje större debatt)
#### Debatt {Debate Number}: {Debate Title}
- **Vad som är omtvistat:** {Dispute Summary}

- **Perspektiv 1:** {Perspective One Label}  
  - **Kärnpåståenden:** {Perspective One Claims}  
  - **Bästa stödjande evidens:** {Perspective One Evidence With Citations}  
  - **Vanliga invändningar / begränsningar:** {Perspective One Limitations With Citations}

- **Perspektiv 2:** {Perspective Two Label}  
  - **Kärnpåståenden:** {Perspective Two Claims}  
  - **Bästa stödjande evidens:** {Perspective Two Evidence With Citations}  
  - **Vanliga invändningar / begränsningar:** {Perspective Two Limitations With Citations}

- **Där experter är överens:**  
  - {Consensus Point 1}  
  - {Consensus Point 2}

- **Där de skiljer sig åt:**  
  - {Disagreement Point 1}  
  - {Disagreement Point 2}

- **Vilken evidens som skulle hjälpa att avgöra detta:**  
  - {Research Need 1}  
  - {Research Need 2}

### 4) Integrerad slutsats (evidensviktad)
Baserat på {Source Count} ansedda källor som granskats:
- {Key Takeaway 1}
- {Key Takeaway 2}
- {Remaining Uncertainties / Active Research Areas}
- {Neutral Closing Assessment}

### 5) Källor
Numrerad referenslista:
1. {Source 1}  
2. {Source 2}  
…  

## KVALITETSKONTROLLER
- [ ] Flera trovärdiga perspektiv presenteras steel-mannade (bästa versionen), inte karikerade.  
- [ ] Påståenden stöds konsekvent av källhänvisningar; svag evidens märks som sådan.  
- [ ] Tydlig åtskillnad mellan konsensus, omtvistade punkter och okända/obesvarade frågor.  
- [ ] Språket förblir opartiskt (inga moraliseringar, inget “uppenbart”, ingen partisk inramning).  
- [ ] Output följer leveransstrukturen och använder numrerade källor i slutet.            </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 neutral, evidensledd briefing om en omtvistad fr\u00e5ga, d\u00e4r du kartl\u00e4gger huvudargumenten, vad experter \u00e4r \u00f6verens om, vad de \u00e4r oense om och vad den starkaste evidensen sammantaget indikerar.\r\n\r\n## PERSONA\r\nAgera som en rigor\u00f6s utredningsanalytiker och formell skeptiker: envis med tydlighet, noggrann med definitioner och disciplinerad i att separera p\u00e5st\u00e5enden fr\u00e5n evidens. Skriv i en lugn, akademisk stil som passar en insatt l\u00e4sare.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **leveransstandarder**: balanserad ton, inga personliga \u00e5sikter, inget opinionsdrivande spr\u00e5k.\r\n- Behandla \u00e4mnet som **kontroversiellt som standard**: representera trov\u00e4rdiga sidor r\u00e4ttvist, inklusive minoritetspositioner n\u00e4r de st\u00f6ds av ansedda k\u00e4llor.\r\n- Varje icke-trivialt faktap\u00e5st\u00e5ende m\u00e5ste paras ihop med en k\u00e4llh\u00e4nvisning.\r\n- F\u00f6redra h\u00f6gkvalitativa referenser (peer-reviewade artiklar, akademiska b\u00f6cker, officiell statistik, stora granskande redaktioner). Flagga svagare evidens.\r\n- Om indata saknas eller \u00e4r vaga, till\u00e4mpa hantering av kantfall (se PROCESS).\r\n- **Det h\u00e4r \u00e4r INTE:**  \r\n  - Inte en \u00f6vertalningstext, en s\u00e5gning eller att \u201cvinna\u201d en debatt.  \r\n  - Inte juridisk\/medicinsk\/finansiell r\u00e5dgivning.  \r\n  - Inte en utt\u00f6mmande systematisk \u00f6versikt; det \u00e4r en strukturerad, k\u00e4llst\u00f6dd landskapsskanning.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge din f\u00f6rst\u00e5else av uppdraget i 3\u20135 punkter, inklusive hur du kommer att definiera kontroversen och vad som r\u00e4knas som \u201cansett\u201d i det h\u00e4r sammanhanget.\r\n2. **Definiera scope och termer:** Ge korta operationella definitioner av nyckeltermer och f\u00e4ltets avgr\u00e4nsningar s\u00e5 som de anv\u00e4nds h\u00e4r.\r\n3. **Samla evidens:** Identifiera och anv\u00e4nd minst {Source Count} ansedda k\u00e4llor (eller s\u00e5 m\u00e5nga som \u00e4r m\u00f6jligt om du \u00e4r begr\u00e4nsad). Notera eventuella stora luckor i tillg\u00e4nglig evidens.\r\n4. **Kartl\u00e4gg debatter:** Dela upp fr\u00e5gan i {Number Of Debates} st\u00f6rre konfliktomr\u00e5den (justera vid behov f\u00f6r tydlighet).\r\n5. **F\u00f6r varje debatt:** Presentera minst tv\u00e5 trov\u00e4rdiga perspektiv, deras b\u00e4sta argument och deras starkaste st\u00f6djande evidens.\r\n6. **Syntetisera:** Extrahera konsenspunkter och tvistepunkter; identifiera vilken evidens som skulle kunna \u00e4ndra uppfattningar.\r\n7. **Avsluta neutralt:** Ge en avv\u00e4gd bed\u00f6mning utifr\u00e5n evidensens tyngd, samt en kort lista med \u00f6ppna fr\u00e5gor.\r\n8. **Hantering av kantfall:**  \r\n   - Om [AMNE] eller [BRANSCH] \u00e4r oklart, st\u00e4ll upp till 5 klarg\u00f6rande fr\u00e5gor innan du skriver utkastet.  \r\n   - Om ansedda k\u00e4llor \u00e4r f\u00e5, s\u00e4g det uttryckligen och skilj spekulation fr\u00e5n underbyggda p\u00e5st\u00e5enden.  \r\n   - Om \u00e4mnet sp\u00e4nner \u00f6ver flera f\u00e4lt, dela upp debatterna per f\u00e4lt och m\u00e4rk dem.\r\n\r\n## INPUTS\r\n- **Omtvistat \u00e4mne:** [AMNE]  \r\n- **F\u00e4lt \/ dom\u00e4n:** [BRANSCH]  \r\n- **Bakgrundskontext eller avgr\u00e4nsningar (valfritt):** [KONTEXT]  \r\n- **Prim\u00e4rt m\u00e5l (valfritt: t.ex. policy brief, litteratur\u00f6versikt):** [PRIMART_MAL]  \r\n- **\u00d6nskad ton (valfritt):** [TON]  \r\n- **\u00d6nskad l\u00e4ngd\/format (valfritt):** [FORMAT]  \r\n- **Minsta antal nyckeldebatter att t\u00e4cka (valfritt):** [ANTAL_DEBATTER]  \r\n- **Nyckeltermer att inkludera eller prioritera (valfritt):** [NYCKELORD]\r\n\r\n## OUTPUTSPECIFIKATION\r\nAnv\u00e4nd rubriker, underrubriker och punktlistor (ingen XML). Producera:\r\n\r\n### 1) Uppdragsf\u00f6rst\u00e5else (f\u00f6ranalys)\r\n- {Understanding Bullet 1}  \r\n- {Understanding Bullet 2}  \r\n- {Understanding Bullet 3}  \r\n- {Optional Understanding Bullet 4}  \r\n\r\n### 2) Snabb\u00f6versikt: {Topic} inom {Field}\r\n- {High-Level Description}\r\n- {Why It\u2019s Contested}\r\n- {Key Definitions \/ Assumptions}\r\n\r\n### 3) Debattkarta (upprepa f\u00f6r varje st\u00f6rre debatt)\r\n#### Debatt {Debate Number}: {Debate Title}\r\n- **Vad som \u00e4r omtvistat:** {Dispute Summary}\r\n\r\n- **Perspektiv 1:** {Perspective One Label}  \r\n  - **K\u00e4rnp\u00e5st\u00e5enden:** {Perspective One Claims}  \r\n  - **B\u00e4sta st\u00f6djande evidens:** {Perspective One Evidence With Citations}  \r\n  - **Vanliga inv\u00e4ndningar \/ begr\u00e4nsningar:** {Perspective One Limitations With Citations}\r\n\r\n- **Perspektiv 2:** {Perspective Two Label}  \r\n  - **K\u00e4rnp\u00e5st\u00e5enden:** {Perspective Two Claims}  \r\n  - **B\u00e4sta st\u00f6djande evidens:** {Perspective Two Evidence With Citations}  \r\n  - **Vanliga inv\u00e4ndningar \/ begr\u00e4nsningar:** {Perspective Two Limitations With Citations}\r\n\r\n- **D\u00e4r experter \u00e4r \u00f6verens:**  \r\n  - {Consensus Point 1}  \r\n  - {Consensus Point 2}\r\n\r\n- **D\u00e4r de skiljer sig \u00e5t:**  \r\n  - {Disagreement Point 1}  \r\n  - {Disagreement Point 2}\r\n\r\n- **Vilken evidens som skulle hj\u00e4lpa att avg\u00f6ra detta:**  \r\n  - {Research Need 1}  \r\n  - {Research Need 2}\r\n\r\n### 4) Integrerad slutsats (evidensviktad)\r\nBaserat p\u00e5 {Source Count} ansedda k\u00e4llor som granskats:\r\n- {Key Takeaway 1}\r\n- {Key Takeaway 2}\r\n- {Remaining Uncertainties \/ Active Research Areas}\r\n- {Neutral Closing Assessment}\r\n\r\n### 5) K\u00e4llor\r\nNumrerad referenslista:\r\n1. {Source 1}  \r\n2. {Source 2}  \r\n\u2026  \r\n\r\n## KVALITETSKONTROLLER\r\n- [ ] Flera trov\u00e4rdiga perspektiv presenteras steel-mannade (b\u00e4sta versionen), inte karikerade.  \r\n- [ ] P\u00e5st\u00e5enden st\u00f6ds konsekvent av k\u00e4llh\u00e4nvisningar; svag evidens m\u00e4rks som s\u00e5dan.  \r\n- [ ] Tydlig \u00e5tskillnad mellan konsensus, omtvistade punkter och ok\u00e4nda\/obesvarade fr\u00e5gor.  \r\n- [ ] Spr\u00e5ket f\u00f6rblir opartiskt (inga moraliseringar, inget \u201cuppenbart\u201d, ingen partisk inramning).  \r\n- [ ] Output f\u00f6ljer leveransstrukturen och anv\u00e4nder numrerade k\u00e4llor i slutet.";
    const variables = ["[AMNE]","[BRANSCH]","[KONTEXT]","[PRIMART_MAL]","[TON]","[FORMAT]","[ANTAL_DEBATTER]","[NYCKELORD]"];
    // 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 kontroversen en snäv inramande mening.</strong> Klistra inte in ett ämne som ”AI” eller ”invandring” och förvänta dig precision. Testa en one-liner som: ”Bedöm evidensen för om [specifik policy] minskade [specifikt utfall] i [plats/tid].” Om första resultatet känns spretigt, be: ”Snäva in avgränsningen till de senaste 10 åren och fokusera på OECD-länder.”</li>


<li><strong>Be den visa sina definitionsval.</strong> Många konflikter är i grunden definitionstvister. Efter första körningen, följ upp med: ”Lista 5 nyckeltermer du använde, ge operativa definitioner och förklara hur alternativa definitioner skulle förändra debattkartan.”</li>

<li><strong>Tvinga märkning av evidenskvalitet.</strong> Du vill ha mer än en hög med länkar. Använd en följdfråga som: ”För varje källa, märk den som peer reviewed, officiell statistik, akademisk bok, granskande redaktion eller låg tillförlitlighet; motivera kort märkningen.”</li>


<li><strong>Iterera genom att strama åt en debatt i taget.</strong> När du har helhetskartan, välj den rörigaste delen och borra djupare. Exempel: ”Skriv om debatt nr 2 som ett fristående PM, lägg till två ytterligare högkvalitativa källor och inkludera det bästa motargumentet till varje sida.”</li>


<li><strong>Gör om briefen till material utan att ändra researchen.</strong> När du har godkänt briefingen kan du återanvända den på ett säkert sätt: ”Gör om konsensuspunkterna till en Q&amp;A för intressenter” eller ”Skriv en intern en-sidig förklaring för icke-experter, behåll källor och neutral ton.” Om du också gör säljande budskap någon annanstans, håll det separat så att briefingen förblir strukturerad och saklig.</li>

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

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

<!-- wp:paragraph -->
<p>När du kan briefa en kontrovers neutralt hjälper de här promptarna dig att kommunicera etiskt när du går från research till marknadsföringsgenomförande:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Om du också behöver övertyga kunder utan att kliva över gränsen till manipulation passar <a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">Skapa etisk erbjudandekommunikation via beteendedata</a> bra. Använd kontroversbriefen för att slå fast dina ”icke-förhandlingsbara” punkter (påståenden du kan försvara) och använd sedan den prompten för att forma budskap som är förankrade i fakta och undviker att lova för mycket.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När ditt team frestas att använda brådsketaktik kring känsliga ämnen är <a href="https://nodenordic.se/prompts/skapa-kampanjcopy-med-etisk-knapphet">Skapa kampanjcopy med etisk knapphet</a> ett praktiskt nästa steg. Den hjälper dig att utforma knapphetsspråk som är transparent, vilket blir ännu viktigare när den offentliga berättelsen redan är polariserad.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som jobbar med livscykelmarknadsföring inom retail eller DTC kan <a href="https://nodenordic.se/prompts/skapa-e-post-och-sms-floden-for-ater-i-lager-med-ai-prompt">Skapa e-post- och SMS-flöden för åter i lager med AI-prompt</a> översätta dina godkända, evidenssäkra produktpåståenden till operativa flöden. Det är särskilt användbart efter att du har klargjort vad du kan säga med säkerhet jämfört med vad som bör ramas in som osäkerhet eller ”pågående arbete”.</p>
<!-- /wp:paragraph -->

<br>

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

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-etisk-erbjudandekommunikation-via-beteendedata">Skapa etisk erbjudandekommunikation via beteendedata</a>: Etisk kommunikation baserad på användarbeteende.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-kampanjcopy-med-etisk-knapphet">Skapa kampanjcopy med etisk knapphet</a>: Brådske-copy utan manipulerande press.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<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>: Merförsäljningserbjudanden som respekterar användarens intention.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/etisk-flygplan-for-omdesign-av-butikslayout">Etisk flygplan för omdesign av butikslayout</a>: Förändringar i butikslayout med etiska skyddsräcken.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-e-post-och-sms-floden-for-ater-i-lager-med-ai-prompt">Skapa e-post- och SMS-flöden för åter i lager med AI-prompt</a>: Påfyllnadssekvenser för e-post och SMS.</li>
<!-- /wp:list-item -->
</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 kontroversbrief?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Kommunikationschefer</strong> använder den för att ta fram neutrala interna och externa underlag som inte slår tillbaka när journalister eller intressenter letar efter vinkling. <strong>Policy- och researchanalytiker</strong> förlitar sig på den för att separera ”vad som är känt” från ”vad som diskuteras”, vilket är avgörande när man skriver PM eller ger råd till ledningen. <strong>Konsulter</strong> använder den för att snabbt sätta sig in i ett kundområde med hög konflikt och för att visa underlag (källhänvisningar) i stället för magkänsla. <strong>Innehållsstrateger</strong> använder den när ett ämne innebär reputationsrisk och varje påstående måste vara försvarbart.</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 kontroversbrief?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Hälso- och bioteknikteam</strong> använder den för att kartlägga omstridd evidens kring behandlingar, folkhälsoinsatser eller säkerhetsdebatter, samtidigt som gränserna för ”inte medicinsk rådgivning” hålls tydliga. <strong>Teknik- och AI-bolag</strong> använder den för ämnen som modelleffekter, integritet eller reglering, där definitioner och evidenskvalitet varierar kraftigt mellan källor. <strong>Energi- och klimatområdet</strong> gynnas eftersom argument ofta hänger på tidshorisonter, mätval och konkurrerande dataset, som alla behöver en tydlig avgränsning. <strong>Offentlig sektor och NGO:er</strong> använder den för att briefa beslutsfattare om omstridda frågor utan att själva briefen blir opinionsdrivande.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att skriva en neutral kontroversbrief svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv en neutral sammanfattning av debatten om X” misslyckas eftersom den: saknar en tydlig neutralitetsstandard och glider in i implicit opinionsdrivning via ordval, inte ger någon struktur för att kartlägga flera konfliktområden, ignorerar operativa definitioner så att sammanfattningen blandar oförenliga påståenden, skapar ett ”båda sidor”-kollage i stället för stålmannade trovärdiga perspektiv och saknar strikta regler för källhänvisningar vid icke-triviala faktapåståenden. Den här prompten tvingar fram föranalys, avgränsade termer, debattkartläggning och evidensdriven syntes, så resultatet ligger närmare en brief du faktiskt kan cirkulera.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för kontroversbrief till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, men du gör det via ämnet du klistrar in och de följdinstruktioner du lägger till efter första körningen, eftersom själva mallen inte exponerar användarvariabler. Börja med att specificera avgränsning (region, tidsperiod, population) och beslutscontext (t.ex. ”briefing för ledningen” vs ”teknisk målgrupp”). Be sedan om kontrollerade justeringar som: ”Öka Source Count till 20 och prioritera peer reviewed och officiell statistik” eller ”Utöka Number Of Debates till 6 och håll varje debatt under 250 ord.” En pålitlig följdfråga är: ”Innan du skriver om, lista vad du ändrade i avgränsning, källor och debattstruktur.”</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 kontroversbrief?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna ämnet för vagt—i stället för ”Är distansarbete bra eller dåligt?”, testa ”Vad visar evidensen sedan 2020 om distansarbetets påverkan på produktivitet och retention för kunskapsarbetare i USA och Storbritannien?” Ett annat vanligt fel är att inte sätta gränser, som att missa att säga ”exkludera opinionsartiklar om de inte hänvisar till primärdata”, vilket leder till brusiga källor. Många glömmer också att be om operativa definitioner; ”Definiera ’produktivitet’ som output per timme, självrapporterad output eller chefers bedömningar?” ändrar hela evidenskartan. Slutligen itererar många inte: efter första briefen, be om ”två ytterligare källor i toppklass per debatt och en kort not om evidensluckor” för att stärka den.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för kontroversbrief?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte optimal för enstaka inlägg i sociala medier där du inte kommer att verifiera källor, eller för situationer där du behöver en heltäckande systematisk översikt med uttömmande sökmetodik. Den passar också dåligt om du försöker ”vinna” en debatt, eftersom strukturen medvetet stålmannar trovärdiga motstående perspektiv. Om du behöver opinionsdrivande copy, skriv den separat efter briefingen, med tydliga gränser för påståenden och compliancegranskning.</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 kontroversbrief?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Kommunikationschefer använder den för att ta fram neutrala interna och externa underlag som inte slår tillbaka när journalister eller intressenter letar efter vinkling. Policy- och researchanalytiker förlitar sig på den för att separera ”vad som är känt” från ”vad som diskuteras”, vilket är avgörande när man skriver PM eller ger råd till ledningen. Konsulter använder den för att snabbt sätta sig in i ett kundområde med hög konflikt och för att visa underlag (källhänvisningar) i stället för magkänsla. Innehållsstrateger använder den när ett ämne innebär reputationsrisk och varje påstående måste vara försvarbart."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för kontroversbrief?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Hälso- och bioteknikteam använder den för att kartlägga omstridd evidens kring behandlingar, folkhälsoinsatser eller säkerhetsdebatter, samtidigt som gränserna för ”inte medicinsk rådgivning” hålls tydliga. Teknik- och AI-bolag använder den för ämnen som modelleffekter, integritet eller reglering, där definitioner och evidenskvalitet varierar kraftigt mellan källor. Energi- och klimatområdet gynnas eftersom argument ofta hänger på tidshorisonter, mätval och konkurrerande dataset, som alla behöver en tydlig avgränsning. Offentlig sektor och NGO:er använder den för att briefa beslutsfattare om omstridda frågor utan att själva briefen blir opinionsdrivande."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att skriva en neutral kontroversbrief svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en neutral sammanfattning av debatten om X” misslyckas eftersom den: saknar en tydlig neutralitetsstandard och glider in i implicit opinionsdrivning via ordval, inte ger någon struktur för att kartlägga flera konfliktområden, ignorerar operativa definitioner så att sammanfattningen blandar oförenliga påståenden, skapar ett ”båda sidor”-kollage i stället för stålmannade trovärdiga perspektiv och saknar strikta regler för källhänvisningar vid icke-triviala faktapåståenden. Den här prompten tvingar fram föranalys, avgränsade termer, debattkartläggning och evidensdriven syntes, så resultatet ligger närmare en brief du faktiskt kan cirkulera."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för kontroversbrief till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men du gör det via ämnet du klistrar in och de följdinstruktioner du lägger till efter första körningen, eftersom själva mallen inte exponerar användarvariabler. Börja med att specificera avgränsning (region, tidsperiod, population) och beslutscontext (t.ex. ”briefing för ledningen” vs ”teknisk målgrupp”). Be sedan om kontrollerade justeringar som: ”Öka Source Count till 20 och prioritera peer reviewed och officiell statistik” eller ”Utöka Number Of Debates till 6 och håll varje debatt under 250 ord.” En pålitlig följdfråga är: ”Innan du skriver om, lista vad du ändrade i avgränsning, källor och debattstruktur.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för kontroversbrief?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna ämnet för vagt—i stället för ”Är distansarbete bra eller dåligt?”, testa ”Vad visar evidensen sedan 2020 om distansarbetets påverkan på produktivitet och retention för kunskapsarbetare i USA och Storbritannien?” Ett annat vanligt fel är att inte sätta gränser, som att missa att säga ”exkludera opinionsartiklar om de inte hänvisar till primärdata”, vilket leder till brusiga källor. Många glömmer också att be om operativa definitioner; ”Definiera ’produktivitet’ som output per timme, självrapporterad output eller chefers bedömningar?” ändrar hela evidenskartan. Slutligen itererar många inte: efter första briefen, be om ”två ytterligare källor i toppklass per debatt och en kort not om evidensluckor” för att stärka den."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för kontroversbrief?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för enstaka inlägg i sociala medier där du inte kommer att verifiera källor, eller för situationer där du behöver en heltäckande systematisk översikt med uttömmande sökmetodik. Den passar också dåligt om du försöker ”vinna” en debatt, eftersom strukturen medvetet stålmannar trovärdiga motstående perspektiv. Om du behöver opinionsdrivande copy, skriv den separat efter briefingen, med tydliga gränser för påståenden och compliancegranskning."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Bra beslut kräver korrekta, strukturerade underlag, särskilt i omstridda frågor. Klistra in den här prompten i din modell, välj en snäv avgränsning och generera en briefing du kan dela utan att behöva förbereda dig på onödiga anklagelser om vinkling.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-neutral-briefing-om-en-kontrovers/">Skriv en neutral briefing om en kontrovers</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>Analysera forskningsskiften efter genombrott</title>
		<link>https://nodenordic.se/prompts/analysera-forskningsskiften-efter-genombrott/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=analysera-forskningsskiften-efter-genombrott</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:50:15 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002729</guid>

					<description><![CDATA[<p>Oklart vad forskningsgenombrott påverkar? Den här AI-prompten kartlägger utveckling, metoder och finansieringsskiften med belägg och källor.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/analysera-forskningsskiften-efter-genombrott/">Analysera forskningsskiften efter genombrott</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: research shifts AI prompt -->
<div class="hook-introduction">

<p>Genombrott sker, och plötsligt känns din roadmap föråldrad. Teamen hänvisar hela tiden till ”den stora artikeln” eller ”det där tillkännagivandet”, men ingen kan tydligt förklara vad som faktiskt ändrades i forskningsprioriteringar, metoder eller finansiering. Resultatet blir utspridda anteckningar, skakiga antaganden och beslut som tas på magkänsla.</p>



<p>Den här <strong>research shifts AI prompt</strong> är byggd för <strong>strategiansvariga inom FoU</strong> som behöver briefa ledningen efter en större upptäckt, <strong>universitetslabbschefer</strong> som snabbt måste ställa om projekt och bemanning, och <strong>innovationskonsulter</strong> som tar fram evidensbaserade kunduppdateringar under hårda deadlines. Resultatet är en källstödd briefing som kartlägger direkta och indirekta effekter över forskningsområden, metodförändringar och finansieringsprioriteringar, med tydliga markeringar för fakta kontra inferens.</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>Återger händelsen/upptäckten och målområdet, och listar sedan explicita antaganden innan någon analys görs.</li>
          <li>Gör en evidensskanning som prioriterar källor direkt kopplade till genombrottet, inklusive peer review-granskad forskning, utlysningar från finansiärer samt myndighets- eller IGO-rapporter.</li>
          <li>Kartlägger effekter i tre kategorier: forskningsinriktningar, metodförskjutningar och förändringar i finansieringsprioriteringar.</li>
          <li>Separar direkta effekter från indirekta effekter och skiljer evidensbaserade påståenden från välgrundad inferens.</li>
          <li>Markerar områden med svagt underlag på ett ärligt sätt och specificerar vilken data eller vilka dokument som behövs för att stärka slutsatsen.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>En ny artikel, benchmark, verktygsrelease eller uppmärksammad upptäckt förändrar hur intressenter pratar om ditt område.</li>
          <li>Ledningen frågar ”och vad betyder det?” och det enda svaret just nu är en hög länkar i stället för en försvarbar berättelse.</li>
          <li>Du måste besluta vilka forskningsspår ni ska satsa mer på, pausa eller avveckla under nästa kvartal.</li>
          <li>Konkurrenter börjar rekrytera eller publicera aggressivt, och du behöver veta om det är en trendfluga eller en strukturell förskjutning.</li>
          <li>Du förbereder dig inför ansökningssäsongen och behöver förstå vart finansiärer är på väg, inte var de var förra året.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En strukturerad briefing med en förhandsbekräftelse på 2–4 meningar före analys samt en tydligt formulerad lista med antaganden.</li>
           <li>En evidensdel som citerar minst 3 trovärdiga källor med korta noteringar om varför varje källa är relevant.</li>
           <li>En tredelad effektkarta (ämnen, metoder, finansiering) med markerade direkta och indirekta effekter.</li>
           <li>En lista med ”svagt underlag” som namnger saknad data och föreslår vad ni ska bevaka härnäst.</li>
           <li>Ett kortfattat slutsatsblock som du kan klistra in i ett ledningsmemo, en slide eller en veckovis forskningsuppdatering.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: forskningsbriefing om genombrottets påverkan</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>[VERSALER_MED_UNDERSTRECK]</code></td>
                                <td class="var-desc">
                                    Ett platshållarformat som visar användarinmatning i versaler med understreck. Formatet används för variabler som exempelvis händelser, ämnesområden eller kontext.                                    <div class="var-example">Till exempel: "[NYLIG_HANDELSE_ELLER_UPPTACKT], [FORSKNINGSOMRADE], [KONTEXT]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSTRECK]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NYLIG_HANDELSE_ELLER_UPPTACKT]</code></td>
                                <td class="var-desc">
                                    Ange den nyliga händelse eller upptäckt som har påverkat det akademiska eller forskningsområde som analyseras. Inkludera en kort beskrivning eller händelsens namn.                                    <div class="var-example">Till exempel: "Upptäckten av fosfingas i Venus atmosfär, vilket antyder möjliga tecken på liv."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYLIG_HANDELSE_ELLER_UPPTACKT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORSKNINGSOMRADE]</code></td>
                                <td class="var-desc">
                                    Ange vilket specifikt akademiskt eller vetenskapligt område som påverkas av den nyliga händelsen eller upptäckten. Ge tillräckligt med detaljer för att tydliggöra områdets omfattning.                                    <div class="var-example">Till exempel: "Astrobiologi, med fokus på att söka efter utomjordiskt liv."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORSKNINGSOMRADE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange eventuell extra kontext eller begränsningar som är relevanta för analysen, till exempel målgrupp, geografi eller tidsperiod för de effekter som ska beaktas.                                    <div class="var-example">Till exempel: "Analys för europeiska FoU-ledare med fokus på utvecklingen sedan 2020."</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 class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är (avgrä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></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">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></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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Event/Discovery Snapshot</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">Field</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">Impacts (lists; exactly 3 bullets each)</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">Impact Analysis Table (exactly 3 rows)</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">Sources (minimum 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></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
Ta fram en källstödd briefing som förklarar hur en **nylig händelse eller upptäckt** har omformat ett **specifikt akademiskt/forskningsfält**, med fokus på följdeffekter för forskningsfrågor, metoder och finansiering.

## PERSONA
Du är en senior analyst inom research intelligence som skriver för FoU-ledare och läsare på avancerad nivå (master/PhD). Kommunicera med tydlig struktur, noggrann källhantering och försiktig tolkning—förankra påståenden i evidens och skilj fakta från välgrundade slutsatser.

## BEGRÄNSNINGAR
- Använd **leveransstandarder** som prioriterar djup framför bredd; fokusera på de mest betydelsefulla effekterna.
- Inkludera **både omedelbara och andra ordningens** effekter.
- Inga gissningar: om evidensen är svag, säg det och förklara vad som saknas.
- Använd **minst 3 trovärdiga källor** (peer review-granskade artiklar, större finansiärers utlysningar, myndighets-/IGO-rapporter, välrenommerade tidskrifter/pressmeddelanden kopplade till primärdokument).
- Efterlevnad av variabelformat:
  - Användarinslagna input måste vara i **[VERSALER_MED_UNDERSTRECK]**.
  - AI-ifyllda platshållare måste vara i **{Title Case}**.

### Vad detta INTE är (avgränsningar)
- Ingen litteraturöversikt av hela fältet.
- Ingen prediktionsmarknad / futuristisk prognos utan källhänvisningar.
- Ingen opinionsbildning eller policy-lobbying.
- Inte en ersättning för juridisk, medicinsk eller regelefterlevnadsrelaterad rådgivning.

## PROCESS
1. **Bekräftelse före analys (obligatorisk):** Återge vad du tror att händelsen/upptäckten är och vilket fält som analyseras, i 2–4 meningar. Lista eventuella antaganden du gör.
2. **Evidensscan:** Identifiera de starkaste tillgängliga källorna som är direkt kopplade till händelsen/upptäckten och till fältet (t.ex. banbrytande artiklar, positionsuttalanden, anslagsutlysningar).
3. **Effektkartläggning:** Dela upp effekter i:
   - Forskningsinriktningar (vilka frågor blev hetare/kallare)
   - Metodologiska skiften (verktyg, upplägg, standarder, datapraxis)
   - Förändringar i finansieringsprioriteringar (vem finansierade vad annorlunda, och hur)
4. **Direkta vs indirekta effekter:** För varje effekt, märk om den är direkt, indirekt eller blandad—och motivera kort.
5. **Hantering av gränsfall:** Om [NYLIG_HANDELSE_ELLER_UPPTACKT] eller [FORSKNINGSOMRADE] är otydlig, ställ upp till 5 förtydligande frågor. Om du ändå kan gå vidare, ge en “best-effort”-analys och markera osäkerhet tydligt.
6. **Källdisciplin:** Koppla varje huvudpåstående till en källa; om du inte kan hitta stöd, utelämna det eller markera det som obekräftat.

## INPUT
- **Nylig händelse eller upptäckt:** [NYLIG_HANDELSE_ELLER_UPPTACKT]  
- **Fält som analyseras:** [FORSKNINGSOMRADE]  
- **Valfri bakgrund eller begränsningar (målgrupp, geografi, tidsfönster):** [KONTEXT]

## SPECIFIKATION FÖR OUTPUT
Returnera leveransen med följande avsnitt och platshållare:

### Event/Discovery Snapshot
- **Event/Discovery:** {Event Summary}  
- **Why it matters (1–2 lines):** {Significance}

### Field
- **Field of Study:** {Field Name}  
- **Field context (2–3 lines):** {Field Context}

### Impacts (lists; exactly 3 bullets each)
**Impact on Research Directions**
- {Direction Impact 1}
- {Direction Impact 2}
- {Direction Impact 3}

**Methodological Changes**
- {Method Change 1}
- {Method Change 2}
- {Method Change 3}

**Funding Priority Shifts**
- {Funding Shift 1}
- {Funding Shift 2}
- {Funding Shift 3}

### Impact Analysis Table (exactly 3 rows)
| Impact Area | Description | Concrete Example |
|---|---|---|
| {Impact Area 1} | {Detailed Description 1} | {Concrete Example 1} |
| {Impact Area 2} | {Detailed Description 2} | {Concrete Example 2} |
| {Impact Area 3} | {Detailed Description 3} | {Concrete Example 3} |

### Sources (minimum 3)
Ge en numrerad lista med länkar när det finns:
1. {Source 1}
2. {Source 2}
3. {Source 3}
- (Lägg till fler vid behov): {Additional Sources}

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Påståenden är evidenskopplade och går inte längre än vad källmaterialet stödjer.
- Var och en av de tre effektkategorierna innehåller **exakt tre** substantiella, icke-överlappande punkter.
- Tabellen innehåller **tre** distinkta effektområden med konkreta, fältrelevanta exempel.
- Direkta vs indirekta effekter hanteras någonstans i narrativet eller beskrivningarna.
- Input och platshållare följer de format som krävs: **[VERSALER_MED_UNDERSTRECK]** för användarinput och **{Title Case}** för AI-output.            </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\nTa fram en k\u00e4llst\u00f6dd briefing som f\u00f6rklarar hur en **nylig h\u00e4ndelse eller uppt\u00e4ckt** har omformat ett **specifikt akademiskt\/forskningsf\u00e4lt**, med fokus p\u00e5 f\u00f6ljdeffekter f\u00f6r forskningsfr\u00e5gor, metoder och finansiering.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior analyst inom research intelligence som skriver f\u00f6r FoU-ledare och l\u00e4sare p\u00e5 avancerad niv\u00e5 (master\/PhD). Kommunicera med tydlig struktur, noggrann k\u00e4llhantering och f\u00f6rsiktig tolkning\u2014f\u00f6rankra p\u00e5st\u00e5enden i evidens och skilj fakta fr\u00e5n v\u00e4lgrundade slutsatser.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **leveransstandarder** som prioriterar djup framf\u00f6r bredd; fokusera p\u00e5 de mest betydelsefulla effekterna.\r\n- Inkludera **b\u00e5de omedelbara och andra ordningens** effekter.\r\n- Inga gissningar: om evidensen \u00e4r svag, s\u00e4g det och f\u00f6rklara vad som saknas.\r\n- Anv\u00e4nd **minst 3 trov\u00e4rdiga k\u00e4llor** (peer review-granskade artiklar, st\u00f6rre finansi\u00e4rers utlysningar, myndighets-\/IGO-rapporter, v\u00e4lrenommerade tidskrifter\/pressmeddelanden kopplade till prim\u00e4rdokument).\r\n- Efterlevnad av variabelformat:\r\n  - Anv\u00e4ndarinslagna input m\u00e5ste vara i **[VERSALER_MED_UNDERSTRECK]**.\r\n  - AI-ifyllda platsh\u00e5llare m\u00e5ste vara i **{Title Case}**.\r\n\r\n### Vad detta INTE \u00e4r (avgr\u00e4nsningar)\r\n- Ingen litteratur\u00f6versikt av hela f\u00e4ltet.\r\n- Ingen prediktionsmarknad \/ futuristisk prognos utan k\u00e4llh\u00e4nvisningar.\r\n- Ingen opinionsbildning eller policy-lobbying.\r\n- Inte en ers\u00e4ttning f\u00f6r juridisk, medicinsk eller regelefterlevnadsrelaterad r\u00e5dgivning.\r\n\r\n## PROCESS\r\n1. **Bekr\u00e4ftelse f\u00f6re analys (obligatorisk):** \u00c5terge vad du tror att h\u00e4ndelsen\/uppt\u00e4ckten \u00e4r och vilket f\u00e4lt som analyseras, i 2\u20134 meningar. Lista eventuella antaganden du g\u00f6r.\r\n2. **Evidensscan:** Identifiera de starkaste tillg\u00e4ngliga k\u00e4llorna som \u00e4r direkt kopplade till h\u00e4ndelsen\/uppt\u00e4ckten och till f\u00e4ltet (t.ex. banbrytande artiklar, positionsuttalanden, anslagsutlysningar).\r\n3. **Effektkartl\u00e4ggning:** Dela upp effekter i:\r\n   - Forskningsinriktningar (vilka fr\u00e5gor blev hetare\/kallare)\r\n   - Metodologiska skiften (verktyg, uppl\u00e4gg, standarder, datapraxis)\r\n   - F\u00f6r\u00e4ndringar i finansieringsprioriteringar (vem finansierade vad annorlunda, och hur)\r\n4. **Direkta vs indirekta effekter:** F\u00f6r varje effekt, m\u00e4rk om den \u00e4r direkt, indirekt eller blandad\u2014och motivera kort.\r\n5. **Hantering av gr\u00e4nsfall:** Om [NYLIG_HANDELSE_ELLER_UPPTACKT] eller [FORSKNINGSOMRADE] \u00e4r otydlig, st\u00e4ll upp till 5 f\u00f6rtydligande fr\u00e5gor. Om du \u00e4nd\u00e5 kan g\u00e5 vidare, ge en \u201cbest-effort\u201d-analys och markera os\u00e4kerhet tydligt.\r\n6. **K\u00e4lldisciplin:** Koppla varje huvudp\u00e5st\u00e5ende till en k\u00e4lla; om du inte kan hitta st\u00f6d, utel\u00e4mna det eller markera det som obekr\u00e4ftat.\r\n\r\n## INPUT\r\n- **Nylig h\u00e4ndelse eller uppt\u00e4ckt:** [NYLIG_HANDELSE_ELLER_UPPTACKT]  \r\n- **F\u00e4lt som analyseras:** [FORSKNINGSOMRADE]  \r\n- **Valfri bakgrund eller begr\u00e4nsningar (m\u00e5lgrupp, geografi, tidsf\u00f6nster):** [KONTEXT]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nReturnera leveransen med f\u00f6ljande avsnitt och platsh\u00e5llare:\r\n\r\n### Event\/Discovery Snapshot\r\n- **Event\/Discovery:** {Event Summary}  \r\n- **Why it matters (1\u20132 lines):** {Significance}\r\n\r\n### Field\r\n- **Field of Study:** {Field Name}  \r\n- **Field context (2\u20133 lines):** {Field Context}\r\n\r\n### Impacts (lists; exactly 3 bullets each)\r\n**Impact on Research Directions**\r\n- {Direction Impact 1}\r\n- {Direction Impact 2}\r\n- {Direction Impact 3}\r\n\r\n**Methodological Changes**\r\n- {Method Change 1}\r\n- {Method Change 2}\r\n- {Method Change 3}\r\n\r\n**Funding Priority Shifts**\r\n- {Funding Shift 1}\r\n- {Funding Shift 2}\r\n- {Funding Shift 3}\r\n\r\n### Impact Analysis Table (exactly 3 rows)\r\n| Impact Area | Description | Concrete Example |\r\n|---|---|---|\r\n| {Impact Area 1} | {Detailed Description 1} | {Concrete Example 1} |\r\n| {Impact Area 2} | {Detailed Description 2} | {Concrete Example 2} |\r\n| {Impact Area 3} | {Detailed Description 3} | {Concrete Example 3} |\r\n\r\n### Sources (minimum 3)\r\nGe en numrerad lista med l\u00e4nkar n\u00e4r det finns:\r\n1. {Source 1}\r\n2. {Source 2}\r\n3. {Source 3}\r\n- (L\u00e4gg till fler vid behov): {Additional Sources}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- P\u00e5st\u00e5enden \u00e4r evidenskopplade och g\u00e5r inte l\u00e4ngre \u00e4n vad k\u00e4llmaterialet st\u00f6djer.\r\n- Var och en av de tre effektkategorierna inneh\u00e5ller **exakt tre** substantiella, icke-\u00f6verlappande punkter.\r\n- Tabellen inneh\u00e5ller **tre** distinkta effektomr\u00e5den med konkreta, f\u00e4ltrelevanta exempel.\r\n- Direkta vs indirekta effekter hanteras n\u00e5gonstans i narrativet eller beskrivningarna.\r\n- Input och platsh\u00e5llare f\u00f6ljer de format som kr\u00e4vs: **[VERSALER_MED_UNDERSTRECK]** f\u00f6r anv\u00e4ndarinput och **{Title Case}** f\u00f6r AI-output.";
    const variables = ["[VERSALER_MED_UNDERSTRECK]","[NYLIG_HANDELSE_ELLER_UPPTACKT]","[FORSKNINGSOMRADE]","[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 med AI-prompten</h2>



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

<li><strong>Namnge ”händelsen” som en bibliotekarie, inte en marknadsförare.</strong> I stället för ”det nya fusionsgenombrottet” klistrar du in exakt titel på artikeln, publikation/venue och datum (eller det officiella pressmeddelandet som är kopplat till primärdokumenten). Om du har dem, lägg till identifierare som DOI, arXiv-ID, registreringsnummer för klinisk studie eller namnet på finansieringsprogrammet.</li>


<li><strong>Tvinga modellen att visa hur den resonerar.</strong> Efter första körningen följer du upp med: ”Lista de 5 starkaste påståendena du gjorde och bifoga 1–2 citeringar till varje, och nedgradera sedan alla påståenden som bara har bevakning i kommentarsformat.” Det hindrar briefingen från att glida över i självsäkra generaliseringar.</li>


<li><strong>Ge den tydliga avgränsningar för fältet.</strong> ”Fält” kan svälla. Lägg till en rad som: ”Behandla fältet som {delfält} och exkludera {angränsande område} om inte finansieringsförändringarna uttryckligen nämner det.” Ärligt talat förbättrar den enda begränsningen ofta relevansen mer än att lägga till fler källor.</li>


<li><strong>Iterera avsnittet om direkta vs indirekta effekter med avsikt.</strong> Be: ”Skriv om effektkartläggningen så att varje punkt börjar med ‘Direkt:’ eller ‘Indirekt:’ och lägg till en mening om mekanismen.” Efter första resultatet, testa: ”Gör nu de indirekta effekterna mer konservativa och markera allt spekulativt som ‘hypotes.’”</li>


<li><strong>Stresstesta påståenden om finansiering med en andra pass.</strong> Finansieringsförskjutningar är lätta att överdriva. Använd en följdprompt: ”Kontrollera alla påståenden om förändrad finansiering mot faktiska utlysningar, budgetdokument eller programsidor; om du inte kan hitta dem, märk som ‘overifierat’ och föreslå vilket dokument som skulle bekräfta det.”</li>

</ul>

</div>

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

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



<p>När din briefing är tydlig hjälper de här promptarna dig att omvandla insikten till publicerbara, målgruppsanpassade tillgångar.</p>



<p>Om du också behöver en felfri, indexerbar hubb för alla närliggande begrepp som briefingen tar fram, hjälper <a href="https://nodenordic.se/prompts/skriv-seo-texter-for-kategorier-med-denna-prompt">Skriv SEO-texter för kategorier med denna prompt</a> dig att strukturera kategorisidor som sammanfattar teman utan att förvandlas till en jargongdump. Den passar bra när du bygger ett kunskapscenter kring ett snabbt föränderligt forskningsområde och vill ha konsekventa definitioner och tydlig sidintention.</p>



<p>När genombrottet har implikationer som lämpar sig för förklarande innehåll eller expertintervjuer kan <a href="https://nodenordic.se/prompts/skapa-virala-youtube-koncept-med-ai-prompt">Skapa virala YouTube-koncept med AI-prompt</a> översätta din effektkarta till videovinklar som en bredare publik faktiskt klickar på. Använd den efter att du har separerat fakta från inferens, så att ämnena förblir korrekta även när paketeringen blir mer slagkraftig.</p>



<p>För team som jobbar med videodistribution och behöver den operativa checklistan är <a 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> ett naturligt nästa steg. Den är särskilt användbar när briefingen identifierar ett nytt ”hett” kluster av sökord och du vill att ditt innehåll ska ranka innan konkurrenter fyller SERP:en.</p>


<br>


<p>Snabböversikt:</p>



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

<li><a href="https://nodenordic.se/prompts/skriv-seo-texter-for-kategorier-med-denna-prompt">Skriv SEO-texter för kategorier med denna prompt</a>: Omvandla teman till strukturerade kategorihubbar.</li>


<li><a href="https://nodenordic.se/prompts/skapa-virala-youtube-koncept-med-ai-prompt">Skapa virala YouTube-koncept med AI-prompt</a>: Omvandla insikter till klickbara videämnen.</li>

<li><a 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>: Publiceringsklara YouTube SEO-steg och kontroller.</li>


<li><a href="https://nodenordic.se/prompts/skriv-airbnb-annonsbeskrivningar-med-denna-ai-prompt">Skriv airbnb-annonsbeskrivningar med denna ai-prompt</a>: Copy-ramverk för boendesidor.</li>


<li><a href="https://nodenordic.se/prompts/skriv-produkttexter-for-e-handel-med-denna-ai-prompt">Skriv produkttexter för e-handel med denna AI-prompt</a>: Produktcopy som är tydlig och konverteringsfokuserad.</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 research shifts AI prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Ansvariga för forskningsstrategi</strong> använder den här för att översätta ett genombrott till konkreta portföljimplikationer (vad man ska starta, stoppa och bevaka) med citeringar som ledningen kan granska. <strong>Programdirektörer inom FoU</strong> förlitar sig på den för att briefa styrgrupper om metodförändringar och standarder som kan påverka tidslinjer eller valideringskrav. <strong>Analytiker inom konkurrensbevakning</strong> använder den när de behöver en försvarbar förklaring till varför konkurrentaktivitet accelererar inom en nisch. <strong>Ansvariga för anslagsutveckling och forskningsdrift</strong> använder den för att upptäcka skiften i finansiärers formuleringar och anpassa interna ansökningar därefter.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här research shifts AI prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Bioteknik och läkemedel</strong> använder den för att tolka hur en ny analysmetod, ett resultat kring en terapeutisk modalitet eller en uppdatering inom regulatorisk vetenskap förändrar vad som är finansierbart och vilka studiedesigner som nu räknas som ”state of the art”. <strong>Energi och avancerade material</strong>-team använder den efter ett resultat inom batterikemi eller ett tillverkningsgenombrott för att skilja labbnyhet från skalbara metodskiften och sedan koppla det till offentliga utlysningar. <strong>AI- och mjukvaru-FoU</strong>-grupper använder den för att följa benchmark-drivna skiften (nya arkitekturer, dataset, utvärderingsnormer) utan att förväxla hypebevakning med primärevidens. <strong>Försvars- och flyg-/rymdforskning</strong> har nytta av den när en kapabilitetsdemonstration utlöser indirekta skiften, som nya valideringsstandarder, nytt upphandlingsspråk eller omdirigerad programfinansiering.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att analysera forskningsskiften efter genombrott svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”<em>Sammanfatta hur det här genombrottet förändrade fältet</em>” misslyckas eftersom den: saknar en obligatorisk förhandsbekräftelse före analys som låser den exakta händelsen och fältets avgränsning, ger ingen struktur för att separera ämnen vs metoder vs finansiering, ignorerar behovet av att märka direkta kontra indirekta effekter, producerar generella påståenden som ”det här kommer att accelerera innovation” i stället för en källstödd effektkarta, och missar promptens uttryckliga regel att lyfta svagt underlag i stället för att gissa. Du får en självsäker essä, inte en briefing du kan försvara i ett rum fullt av experter.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här research shifts AI prompt prompten för min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, men anpassningen sker i de indata du ger kring händelsen och fältet, eftersom prompten i sig förväntar sig att du fyller i de detaljerna i [UPPERCASE_WITH_UNDERSCORES]. Var specifik om upptäckten (titel, datum, länk till primärdokument) och definiera fältets avgränsning (delfält inom scope, angränsande områden utanför scope). Om du har begränsningar, lägg till dem som antaganden att testa, till exempel ”Anta att vi bryr oss om översättningsmognad inom 18 månader.” En användbar uppföljning är: ”Skriv om briefingen för {branschkontext} och lägg till en sektion som heter ‘Implikationer för vår pipeline’ med 3 beslut och evidensnivån för varje.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här research shifts AI prompt prompten?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna [RECENT_EVENT_OR_DISCOVERY] för vagt — i stället för ”ett stort CRISPR-genombrott”, använd ”förbättringar av prime editing-effektivitet rapporterade i [artikelns titel, tidskrift, månad/år] plus de länkade kompletterande metoderna.” Ett annat vanligt fel är att definiera [SPECIFIC_FIELD] för brett; ”maskininlärning” är ett träsk, medan ”foundation-modeller för medicinsk bildanalys i radiologiska arbetsflöden” ger en skarpare effektkarta. Folk hoppar också över källintentionen och ger bara nyhetslänkar; lägg till minst en primärartikel och ett finansiärdokument så att finansieringsdelen inte blir fluffig. Till sist glömmer användare att ange antaganden, vilket gör att modellen i tysthet väljer en berättelse; skriv dem uttryckligen, även om det bara är ”Anta att klinisk implementering är utanför scope.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här research shifts AI prompt prompten?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten passar inte för enstaka ”snabba takes” där du inte planerar att verifiera källor, eller för team som bara vill ha en lättviktig sammanfattning utan kraven som följer med evidensstandarder. Den passar inte heller i situationer där händelsen är konfidentiell och du inte kan beskriva den eller tillhandahålla någon citerbar dokumentation, eftersom arbetsflödet bygger på källstödda påståenden. Om det gäller dig, överväg att först göra en intern syntes via expertintervjuer och kör sedan den här prompten när du har delbara referenser och tydligare fältavgränsningar.</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 research shifts AI prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ansvariga för forskningsstrategi använder den här för att översätta ett genombrott till konkreta portföljimplikationer (vad man ska starta, stoppa och bevaka) med citeringar som ledningen kan granska. Programdirektörer inom FoU förlitar sig på den för att briefa styrgrupper om metodförändringar och standarder som kan påverka tidslinjer eller valideringskrav. Analytiker inom konkurrensbevakning använder den när de behöver en försvarbar förklaring till varför konkurrentaktivitet accelererar inom en nisch. Ansvariga för anslagsutveckling och forskningsdrift använder den för att upptäcka skiften i finansiärers formuleringar och anpassa interna ansökningar därefter."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här research shifts AI prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Bioteknik och läkemedel använder den för att tolka hur en ny analysmetod, ett resultat kring en terapeutisk modalitet eller en uppdatering inom regulatorisk vetenskap förändrar vad som är finansierbart och vilka studiedesigner som nu räknas som ”state of the art”. Energi och avancerade material-team använder den efter ett resultat inom batterikemi eller ett tillverkningsgenombrott för att skilja labbnyhet från skalbara metodskiften och sedan koppla det till offentliga utlysningar. AI- och mjukvaru-FoU-grupper använder den för att följa benchmark-drivna skiften (nya arkitekturer, dataset, utvärderingsnormer) utan att förväxla hypebevakning med primärevidens. Försvars- och flyg-/rymdforskning har nytta av den när en kapabilitetsdemonstration utlöser indirekta skiften, som nya valideringsstandarder, nytt upphandlingsspråk eller omdirigerad programfinansiering."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att analysera forskningsskiften efter genombrott svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Sammanfatta hur det här genombrottet förändrade fältet” misslyckas eftersom den: saknar en obligatorisk förhandsbekräftelse före analys som låser den exakta händelsen och fältets avgränsning, ger ingen struktur för att separera ämnen vs metoder vs finansiering, ignorerar behovet av att märka direkta kontra indirekta effekter, producerar generella påståenden som ”det här kommer att accelerera innovation” i stället för en källstödd effektkarta, och missar promptens uttryckliga regel att lyfta svagt underlag i stället för att gissa. Du får en självsäker essä, inte en briefing du kan försvara i ett rum fullt av experter."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här research shifts AI prompt prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men anpassningen sker i de indata du ger kring händelsen och fältet, eftersom prompten i sig förväntar sig att du fyller i de detaljerna i [UPPERCASE_WITH_UNDERSCORES]. Var specifik om upptäckten (titel, datum, länk till primärdokument) och definiera fältets avgränsning (delfält inom scope, angränsande områden utanför scope). Om du har begränsningar, lägg till dem som antaganden att testa, till exempel ”Anta att vi bryr oss om översättningsmognad inom 18 månader.” En användbar uppföljning är: ”Skriv om briefingen för {branschkontext} och lägg till en sektion som heter ‘Implikationer för vår pipeline’ med 3 beslut och evidensnivån för varje.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här research shifts AI prompt prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [RECENT_EVENT_OR_DISCOVERY] för vagt — i stället för ”ett stort CRISPR-genombrott”, använd ”förbättringar av prime editing-effektivitet rapporterade i [artikelns titel, tidskrift, månad/år] plus de länkade kompletterande metoderna.” Ett annat vanligt fel är att definiera [SPECIFIC_FIELD] för brett; ”maskininlärning” är ett träsk, medan ”foundation-modeller för medicinsk bildanalys i radiologiska arbetsflöden” ger en skarpare effektkarta. Folk hoppar också över källintentionen och ger bara nyhetslänkar; lägg till minst en primärartikel och ett finansiärdokument så att finansieringsdelen inte blir fluffig. Till sist glömmer användare att ange antaganden, vilket gör att modellen i tysthet väljer en berättelse; skriv dem uttryckligen, även om det bara är ”Anta att klinisk implementering är utanför scope.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här research shifts AI prompt prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten passar inte för enstaka ”snabba takes” där du inte planerar att verifiera källor, eller för team som bara vill ha en lättviktig sammanfattning utan kraven som följer med evidensstandarder. Den passar inte heller i situationer där händelsen är konfidentiell och du inte kan beskriva den eller tillhandahålla någon citerbar dokumentation, eftersom arbetsflödet bygger på källstödda påståenden. Om det gäller dig, överväg att först göra en intern syntes via expertintervjuer och kör sedan den här prompten när du har delbara referenser och tydligare fältavgränsningar."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>När ett genombrott sker är tydlighet en konkurrensfördel. Klistra in den här prompten i ditt AI-verktyg, mata in rätt primärkällor och få en briefing du faktiskt kan försvara.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/analysera-forskningsskiften-efter-genombrott/">Analysera forskningsskiften efter genombrott</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>Tolka earnings calls till handelssignaler</title>
		<link>https://nodenordic.se/prompts/tolka-earnings-calls-till-handelssignaler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tolka-earnings-calls-till-handelssignaler</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:31 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001285</guid>

					<description><![CDATA[<p>Guidance känns ofta regisserad. En beprövad AI-prompt som gör rapportcalls till handlingsbara signaler, varningsflaggor och nästa steg.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/tolka-earnings-calls-till-handelssignaler/">Tolka earnings calls till handelssignaler</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: earnings call trade signals -->

<div class="hook-introduction">

<p>Du läser ett earnings call och lämnar med en vag känsla: ”Det lät… okej?” Problemet är att polerat språk kan dölja verklig operativ stress, och det viktiga ligger ofta begravt i brasklappar, engångsförklaringar eller undvikande svar i Q&amp;A. När marknadens berättelse väl har satt sig kan den rena affären redan vara borta.</p>



<p>Den här prompten för <strong>earnings call trade signals</strong> är byggd för <strong>analytiker på publik aktiemarknad</strong> som snabbt behöver förvandla röriga transkript till en skarp bild, <strong>portföljförvaltare</strong> som vill göra en pre-mortem på guidningsrisk innan de sätter positionens storlek, samt <strong>IR- och strategiteam</strong> som vill stresstesta hur deras budskap kan tolkas. Resultatet är en strukturerad debrief med bullish/bearish-signaler, evidenscitat, varningsflaggor och konkreta nästa steg som du kan använda 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">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den skannar transkriptet efter nyckeltal och guidning (intäkter, marginaler, EPS om det finns, kassaflöde, capex) och flaggar vad som ändrades eller undveks.</li>
          <li>Den isolerar framåtblickande uttalanden om efterfrågan, prissättning, pipeline, orderstock, kapacitet, kostnader och konkurrens och grupperar dem i teman.</li>
          <li>Den gör en språk- och hållningsanalys och identifierar brasklappar, förbehåll, ”makro”-avledningar och engångsinramning, med stödjande citat.</li>
          <li>Den kör en Q&amp;A-integritetskontroll som klassar frågor som besvarade direkt, delvis besvarade eller avledda, och förklarar varför.</li>
          <li>Den tar fram beslutsinriktade slutsatser samtidigt som den är strikt begränsad till transkriptet och den kontext du ger (ingen extern research eller prisreaktion).</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har precis fått samtalsanteckningarna och behöver en snabb ”vad som spelar roll”-genomgång inför ett morgonmöte eller en trade review.</li>
          <li>Guidningen lät positiv, men du misstänker att det verkliga budskapet är avtagande efterfrågan eller en marginalreset.</li>
          <li>En ledningsperson betonar upprepade gånger ”visibility”, ”prudence” eller ”normalization” och du vill veta vad de egentligen förbereder investerare på.</li>
          <li>Konkurrenter rapporterar blandade utfall och du behöver jämföra narrativ hållning i gruppen (enbart utifrån det du klistrar in).</li>
          <li>Du skalar en repeterbar earnings-process och vill ha en konsekvent debrief-struktur över dussintals transkript.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En strukturerad earnings-debrief med 8–12 nyckelsignaler märkta som bullish, bearish eller blandade.</li>
           <li>En sammanfattning av nyckeltal och guidning som lyfter fram både explicita siffror och ”saknas-men-förväntas”-punkter.</li>
           <li>En framåtblickande temakarta (3–6 teman) med stödjande utdrag ur transkriptet för varje tema.</li>
           <li>En Q&amp;A-integritetstabell som listar de tuffaste frågorna och hur direkt ledningen hanterade dem.</li>
           <li>En åtgärdslista för nästa steg (5–10 punkter) för uppföljande due diligence, scenariokontroller eller bevakningspunkter.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: från earnings call-transkript till debrief med tradesignaler</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>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Bifoga transkriptet eller utförliga anteckningar från rapportpresentationen (earnings call), inklusive relevanta kommentarer från ledningen, nyckeltal och eventuell prognos- eller guidningsinformation som lämnats.                                    <div class="var-example">Till exempel: "Transkript från Q3 2023-rapportpresentationen för XYZ Corp, inklusive vd:s kommentarer om efterfrågetrender, finanschefens marginalguidning samt frågestund (Q&amp;A)."</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>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange tidsramen för din investeringshorisont, till exempel kort sikt, medellång sikt eller lång sikt.                                    <div class="var-example">Till exempel: "Medellång sikt: 6–12 månader."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RISKTOLERANS]</code></td>
                                <td class="var-desc">
                                    Ange din nivå av risktolerans, exempelvis låg, medel eller hög, för att styra analysens fokus.                                    <div class="var-example">Till exempel: "Hög risktolerans: beredd att acceptera volatilitet för potentiellt högre avkastning."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[RISKTOLERANS]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NUVARANDE_POSITION]</code></td>
                                <td class="var-desc">
                                    Ange din nuvarande position i den aktie som analyseras, inklusive om du är lång, kort eller saknar position.                                    <div class="var-example">Till exempel: "För närvarande lång 5 000 aktier i XYZ Corp."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[NUVARANDE_POSITION]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BOLAGSNAMN]</code></td>
                                <td class="var-desc">
                                    Ange namnet på det bolag vars rapportpresentation (earnings call) ska analyseras.                                    <div class="var-example">Till exempel: "XYZ Corp."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BOLAGSNAMN]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTDRAG_FRAN_FOREGAENDE_KVARTAL]</code></td>
                                <td class="var-desc">
                                    Inkludera centrala utdrag eller anteckningar från föregående kvartals rapportpresentation för jämförelse, om det finns tillgängligt.                                    <div class="var-example">Till exempel: "Anteckningar Q2 2023: vd lyfte fram stark efterfrågan i Europa, finanschefen guidande för 15 % omsättningstillväxt i Q3."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UTDRAG_FRAN_FOREGAENDE_KVARTAL]"
                                            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">
                                    Beskriv huvudsyftet med analysen, till exempel att identifiera risker, hitta tillväxtmöjligheter eller bedöma ledningens trovärdighet.                                    <div class="var-example">Till exempel: "Bedöm om ledningens guidning stämmer överens med den operativa utvecklingen och identifiera eventuella dolda risker i framåtblickande kommentarer."</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>
                                            </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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">1) Förförståelse inför analysen (måste komma först)</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) Arbetsflöde för signalextraktion</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">3) 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 class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Vad detta INTE är (scopegränser)</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">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></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 subheader">1) Executive flash brief</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) Viktiga finansiella &amp; operativa nyckeltal (som angivet)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Läsning av ledningens narrativ (vad de egentligen kommunicerar)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Signal-karta för Q&amp;A</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">5) Varningsflaggor &amp; gröna ljus</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">6) Investeringsimplikationer (anpassat till användarprofilen)</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">7) Slutsats (3–5 takeaways)</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">8) Handlingsbara nästa steg</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">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
Förvandla en resultatsamtalsutskrift/anteckningar till snabb, beslutsorienterad intelligens genom att separera verkliga operativa signaler från polerad kommunikation. Upptäck dolda guidningssänkningar, skiftande narrativ och ledningens defensivitet så att användaren kan bedöma möjlighet/risk innan det i bred utsträckning återspeglas i priset.

## PERSONA
Du är en före detta buy-side (hedgefond)-specialist på resultatdebriefs, känd för att plocka fram ”mellan raderna”-insikter ur ledningens kommentarer. Du fokuserar på ordval, undvikanden, narrativ drift jämfört med tidigare perioder (endast när användaren ger tidigare kontext), och hur ledningen ramar in förväntningar framåt.

## BEGRÄNSNINGAR
- Använd **endast** informationen som finns i den tillhandahållna utskriften/anteckningarna och eventuell kontext som användaren själv ger.
- Ingen realtidsreaktion i pris/marknad, ingen extern research och ingen ljud/röstanlys.
- Behandla resultatet som analytiskt stöd, inte personlig finansiell rådgivning.
- Om utskriften är partiell, stökig eller saknar nyckeltal, fortsätt ändå och märk tydligt antaganden och saknade delar.

## PROCESS
### 1) Förförståelse inför analysen (måste komma först)
Återge kort:
- vilket bolag/vilken händelse du analyserar (om känt),
- användarens angivna tidshorisont och riskprofil,
- vad du kommer att prioritera i denna genomgång.

### 2) Arbetsflöde för signalextraktion
Gå igenom dessa steg (visa inte chain-of-thought; visa slutsatser och belägg):
- **Steg A — Scan av nyckeltal &amp; guidning:** intäkter, marginaler, EPS (om det finns), kassaflöde, capex och eventuella uppdateringar av guidning/prognos; identifiera vad som ändrades jämfört med vad som var underförstått.
- **Steg B — Framåtblickande fokus:** isolera uttalanden om nästa kvartal/år, efterfrågan, prissättning, pipeline, orderbok, kapacitet, kostnadstrend och konkurrensposition.
- **Steg C — Språk &amp; hållning:** identifiera markörer för självsäkerhet kontra inramning som syftar till att begränsa (t.ex. garderingar, förbehåll, ”macro”-avledning, engångs-/one-off-inramning).
- **Steg D — Integritetskontroll av Q&amp;A:** klassificera analytikerfrågor som direkt besvarade kontra omdirigerade; notera upprepningar, vägran, ”vi återkommer”, eller insnävning av scope.
- **Steg E — Avstämning siffror vs narrativ:** lyft fram motsägelser (t.ex. ”stark efterfrågan” samtidigt som marginaler/kassaflöde försvagas, eller ”tillfälliga” förklaringar som återkommer).
- **Steg F — Beslutsimplikationer:** mappa fynd till scenariorisk/uppsida i linje med användarens tidshorisont och risktolerans.

### 3) Hantering av edge cases
- Om utskriften saknar guidning: härled ledningens framåtblickande hållning från operativa kommentarer och skriv uttryckligen “Ingen formell guidning lämnades.”
- Om nyckelsiffror saknas: skapa en lista “Data saknas” och undvik att hitta på siffror.
- Om jargong döljer innebörd: översätt till konsekvenser i klarspråk (unit economics, efterfrågesignal, kostnadstryck, kassaflödeskonvertering).
- Om det finns flera affärssegment: separera signaler per segment när det är möjligt.

### 4) Vad detta INTE är (scopegränser)
- Inte en värderingsmodell, riktkurs eller DCF.
- Inte en trading-signal baserad på orderflöde/marknadstejp eller after-hours-rörelser.
- Inte forensisk redovisningsanalys utöver vad utskriften faktiskt evidensierar.
- Inte en ersättning för att läsa rapporter/filings; det här är en transcript-intelligence-brief.

## INDATA
- **Resultatsamtalsutskrift/anteckningar:** [KONTEXT]
- **Investeringshorisont:** [TIDSRAM]
- **Risktolerans:** [RISKTOLERANS]
- **Nuvarande position/hållning:** [NUVARANDE_POSITION]
- **Bolagsnamn (om känt):** [BOLAGSNAMN]
- **Utdrag ur föregående kvartals utskrift för jämförelse (valfritt):** [UTDRAG_FRAN_FOREGAENDE_KVARTAL]
- **Primärt mål (t.ex. bekräfta tes, hitta varningsflaggor, bedöma guidningsrisk):** [HUVUDMAL]

## SPECIFIKATION FÖR OUTPUT
Använd tydliga rubriker, tajta bullets och skumläsningsvänlig formatering.
- Använd **fetstil** för fynd du absolut inte får missa.
- Använd *kursiv* för försiktighets- eller potentiellt försämrande signaler.
- Använd `kodstil` sparsamt för specifika numeriska värden om det förbättrar läsbarheten.
- Använd `&gt;` blockcitat för avslöjande ledningsrader, följt av din tolkning.

Leverera i denna struktur:

### 1) Executive flash brief
- **{Most Important Finding}**
- **{Second Critical Finding}**
- **{Immediate Watch Item}**
- {One-line context for why it matters given [TIDSRAM] and [RISKTOLERANS]}

### 2) Viktiga finansiella &amp; operativa nyckeltal (som angivet)
- {Revenue / Growth}: {Details}
- {Margins}: {Details}
- {Cash Flow / Cash Conversion}: {Details}
- {Capex / Opex}: {Details}
- {Guidance / Outlook}: {Details}
- **Data saknas:** {Missing Metrics List}

### 3) Läsning av ledningens narrativ (vad de egentligen kommunicerar)
- **Confidence Indicators:** {Signals}
- *Defensive / Containment Indicators:* {Signals}
- {What they emphasized}: {Themes}
- {What they minimized or reframed}: {Themes}
- {Any newly introduced risks}: {Items}
- {Executive participation changes}: {Notes}

### 4) Signal-karta för Q&amp;A
- **Directly answered:** {Question Topics}
- *Dodged / reframed:* {Question Topics}
- {Notable exchanges}:  
  &gt; {Quote}  
  {Interpretation}

### 5) Varningsflaggor &amp; gröna ljus
- **Green Lights (upside drivers):** {Bullets}
- *Red Flags (downside/headwinds):* {Bullets}
- **Glapp mellan siffror och narrativ:** {Bullets with cited quotes/figures}

### 6) Investeringsimplikationer (anpassat till användarprofilen)
- För [TIDSRAM] + [NUVARANDE_POSITION]: {Implications}
- Viktiga katalysatorer att bevaka härnäst: {Catalysts}
- “Om/så”-scenarier:  
  - Om {Condition}, så {Likely Impact}  
  - Om {Condition}, så {Likely Impact}

### 7) Slutsats (3–5 takeaways)
- **{Takeaway 1}**
- **{Takeaway 2}**
- *{Takeaway 3}*
- {Takeaway 4}
- {Takeaway 5 (optional)}

### 8) Handlingsbara nästa steg
- {Action 1 aligned to risk tolerance}
- {Action 2}
- {Action 3}
- {Specific questions to resolve on next call / via filings}: {Questions}

## KVALITETSKONTROLLER
I slutet, inkludera en kort verifieringslista:
- [ ] Framåtblickande punkter prioriterades framför en bakåtblickande recap.
- [ ] Varje större påstående är kopplat till en siffra eller en citerad rad från utskriften.
- [ ] Förändringar i guidning/outlook (inklusive subtila nedjusteringar) lyftes fram uttryckligen.
- [ ] Undvikanden i Q&amp;A identifierades med exakt ämne och stödjande citat.
- [ ] Rekommendationer är konsistenta med [TIDSRAM], [RISKTOLERANS] och [NUVARANDE_POSITION].            </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\nF\u00f6rvandla en resultatsamtalsutskrift\/anteckningar till snabb, beslutsorienterad intelligens genom att separera verkliga operativa signaler fr\u00e5n polerad kommunikation. Uppt\u00e4ck dolda guidningss\u00e4nkningar, skiftande narrativ och ledningens defensivitet s\u00e5 att anv\u00e4ndaren kan bed\u00f6ma m\u00f6jlighet\/risk innan det i bred utstr\u00e4ckning \u00e5terspeglas i priset.\r\n\r\n## PERSONA\r\nDu \u00e4r en f\u00f6re detta buy-side (hedgefond)-specialist p\u00e5 resultatdebriefs, k\u00e4nd f\u00f6r att plocka fram \u201dmellan raderna\u201d-insikter ur ledningens kommentarer. Du fokuserar p\u00e5 ordval, undvikanden, narrativ drift j\u00e4mf\u00f6rt med tidigare perioder (endast n\u00e4r anv\u00e4ndaren ger tidigare kontext), och hur ledningen ramar in f\u00f6rv\u00e4ntningar fram\u00e5t.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **endast** informationen som finns i den tillhandah\u00e5llna utskriften\/anteckningarna och eventuell kontext som anv\u00e4ndaren sj\u00e4lv ger.\r\n- Ingen realtidsreaktion i pris\/marknad, ingen extern research och ingen ljud\/r\u00f6stanlys.\r\n- Behandla resultatet som analytiskt st\u00f6d, inte personlig finansiell r\u00e5dgivning.\r\n- Om utskriften \u00e4r partiell, st\u00f6kig eller saknar nyckeltal, forts\u00e4tt \u00e4nd\u00e5 och m\u00e4rk tydligt antaganden och saknade delar.\r\n\r\n## PROCESS\r\n### 1) F\u00f6rf\u00f6rst\u00e5else inf\u00f6r analysen (m\u00e5ste komma f\u00f6rst)\r\n\u00c5terge kort:\r\n- vilket bolag\/vilken h\u00e4ndelse du analyserar (om k\u00e4nt),\r\n- anv\u00e4ndarens angivna tidshorisont och riskprofil,\r\n- vad du kommer att prioritera i denna genomg\u00e5ng.\r\n\r\n### 2) Arbetsfl\u00f6de f\u00f6r signalextraktion\r\nG\u00e5 igenom dessa steg (visa inte chain-of-thought; visa slutsatser och bel\u00e4gg):\r\n- **Steg A \u2014 Scan av nyckeltal & guidning:** int\u00e4kter, marginaler, EPS (om det finns), kassafl\u00f6de, capex och eventuella uppdateringar av guidning\/prognos; identifiera vad som \u00e4ndrades j\u00e4mf\u00f6rt med vad som var underf\u00f6rst\u00e5tt.\r\n- **Steg B \u2014 Fram\u00e5tblickande fokus:** isolera uttalanden om n\u00e4sta kvartal\/\u00e5r, efterfr\u00e5gan, priss\u00e4ttning, pipeline, orderbok, kapacitet, kostnadstrend och konkurrensposition.\r\n- **Steg C \u2014 Spr\u00e5k & h\u00e5llning:** identifiera mark\u00f6rer f\u00f6r sj\u00e4lvs\u00e4kerhet kontra inramning som syftar till att begr\u00e4nsa (t.ex. garderingar, f\u00f6rbeh\u00e5ll, \u201dmacro\u201d-avledning, eng\u00e5ngs-\/one-off-inramning).\r\n- **Steg D \u2014 Integritetskontroll av Q&A:** klassificera analytikerfr\u00e5gor som direkt besvarade kontra omdirigerade; notera upprepningar, v\u00e4gran, \u201dvi \u00e5terkommer\u201d, eller insn\u00e4vning av scope.\r\n- **Steg E \u2014 Avst\u00e4mning siffror vs narrativ:** lyft fram mots\u00e4gelser (t.ex. \u201dstark efterfr\u00e5gan\u201d samtidigt som marginaler\/kassafl\u00f6de f\u00f6rsvagas, eller \u201dtillf\u00e4lliga\u201d f\u00f6rklaringar som \u00e5terkommer).\r\n- **Steg F \u2014 Beslutsimplikationer:** mappa fynd till scenariorisk\/uppsida i linje med anv\u00e4ndarens tidshorisont och risktolerans.\r\n\r\n### 3) Hantering av edge cases\r\n- Om utskriften saknar guidning: h\u00e4rled ledningens fram\u00e5tblickande h\u00e5llning fr\u00e5n operativa kommentarer och skriv uttryckligen \u201cIngen formell guidning l\u00e4mnades.\u201d\r\n- Om nyckelsiffror saknas: skapa en lista \u201cData saknas\u201d och undvik att hitta p\u00e5 siffror.\r\n- Om jargong d\u00f6ljer inneb\u00f6rd: \u00f6vers\u00e4tt till konsekvenser i klarspr\u00e5k (unit economics, efterfr\u00e5gesignal, kostnadstryck, kassafl\u00f6deskonvertering).\r\n- Om det finns flera aff\u00e4rssegment: separera signaler per segment n\u00e4r det \u00e4r m\u00f6jligt.\r\n\r\n### 4) Vad detta INTE \u00e4r (scopegr\u00e4nser)\r\n- Inte en v\u00e4rderingsmodell, riktkurs eller DCF.\r\n- Inte en trading-signal baserad p\u00e5 orderfl\u00f6de\/marknadstejp eller after-hours-r\u00f6relser.\r\n- Inte forensisk redovisningsanalys ut\u00f6ver vad utskriften faktiskt evidensierar.\r\n- Inte en ers\u00e4ttning f\u00f6r att l\u00e4sa rapporter\/filings; det h\u00e4r \u00e4r en transcript-intelligence-brief.\r\n\r\n## INDATA\r\n- **Resultatsamtalsutskrift\/anteckningar:** [KONTEXT]\r\n- **Investeringshorisont:** [TIDSRAM]\r\n- **Risktolerans:** [RISKTOLERANS]\r\n- **Nuvarande position\/h\u00e5llning:** [NUVARANDE_POSITION]\r\n- **Bolagsnamn (om k\u00e4nt):** [BOLAGSNAMN]\r\n- **Utdrag ur f\u00f6reg\u00e5ende kvartals utskrift f\u00f6r j\u00e4mf\u00f6relse (valfritt):** [UTDRAG_FRAN_FOREGAENDE_KVARTAL]\r\n- **Prim\u00e4rt m\u00e5l (t.ex. bekr\u00e4fta tes, hitta varningsflaggor, bed\u00f6ma guidningsrisk):** [HUVUDMAL]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nAnv\u00e4nd tydliga rubriker, tajta bullets och skuml\u00e4sningsv\u00e4nlig formatering.\r\n- Anv\u00e4nd **fetstil** f\u00f6r fynd du absolut inte f\u00e5r missa.\r\n- Anv\u00e4nd *kursiv* f\u00f6r f\u00f6rsiktighets- eller potentiellt f\u00f6rs\u00e4mrande signaler.\r\n- Anv\u00e4nd `kodstil` sparsamt f\u00f6r specifika numeriska v\u00e4rden om det f\u00f6rb\u00e4ttrar l\u00e4sbarheten.\r\n- Anv\u00e4nd `>` blockcitat f\u00f6r avsl\u00f6jande ledningsrader, f\u00f6ljt av din tolkning.\r\n\r\nLeverera i denna struktur:\r\n\r\n### 1) Executive flash brief\r\n- **{Most Important Finding}**\r\n- **{Second Critical Finding}**\r\n- **{Immediate Watch Item}**\r\n- {One-line context for why it matters given [TIDSRAM] and [RISKTOLERANS]}\r\n\r\n### 2) Viktiga finansiella & operativa nyckeltal (som angivet)\r\n- {Revenue \/ Growth}: {Details}\r\n- {Margins}: {Details}\r\n- {Cash Flow \/ Cash Conversion}: {Details}\r\n- {Capex \/ Opex}: {Details}\r\n- {Guidance \/ Outlook}: {Details}\r\n- **Data saknas:** {Missing Metrics List}\r\n\r\n### 3) L\u00e4sning av ledningens narrativ (vad de egentligen kommunicerar)\r\n- **Confidence Indicators:** {Signals}\r\n- *Defensive \/ Containment Indicators:* {Signals}\r\n- {What they emphasized}: {Themes}\r\n- {What they minimized or reframed}: {Themes}\r\n- {Any newly introduced risks}: {Items}\r\n- {Executive participation changes}: {Notes}\r\n\r\n### 4) Signal-karta f\u00f6r Q&A\r\n- **Directly answered:** {Question Topics}\r\n- *Dodged \/ reframed:* {Question Topics}\r\n- {Notable exchanges}:  \r\n  > {Quote}  \r\n  {Interpretation}\r\n\r\n### 5) Varningsflaggor & gr\u00f6na ljus\r\n- **Green Lights (upside drivers):** {Bullets}\r\n- *Red Flags (downside\/headwinds):* {Bullets}\r\n- **Glapp mellan siffror och narrativ:** {Bullets with cited quotes\/figures}\r\n\r\n### 6) Investeringsimplikationer (anpassat till anv\u00e4ndarprofilen)\r\n- F\u00f6r [TIDSRAM] + [NUVARANDE_POSITION]: {Implications}\r\n- Viktiga katalysatorer att bevaka h\u00e4rn\u00e4st: {Catalysts}\r\n- \u201cOm\/s\u00e5\u201d-scenarier:  \r\n  - Om {Condition}, s\u00e5 {Likely Impact}  \r\n  - Om {Condition}, s\u00e5 {Likely Impact}\r\n\r\n### 7) Slutsats (3\u20135 takeaways)\r\n- **{Takeaway 1}**\r\n- **{Takeaway 2}**\r\n- *{Takeaway 3}*\r\n- {Takeaway 4}\r\n- {Takeaway 5 (optional)}\r\n\r\n### 8) Handlingsbara n\u00e4sta steg\r\n- {Action 1 aligned to risk tolerance}\r\n- {Action 2}\r\n- {Action 3}\r\n- {Specific questions to resolve on next call \/ via filings}: {Questions}\r\n\r\n## KVALITETSKONTROLLER\r\nI slutet, inkludera en kort verifieringslista:\r\n- [ ] Fram\u00e5tblickande punkter prioriterades framf\u00f6r en bak\u00e5tblickande recap.\r\n- [ ] Varje st\u00f6rre p\u00e5st\u00e5ende \u00e4r kopplat till en siffra eller en citerad rad fr\u00e5n utskriften.\r\n- [ ] F\u00f6r\u00e4ndringar i guidning\/outlook (inklusive subtila nedjusteringar) lyftes fram uttryckligen.\r\n- [ ] Undvikanden i Q&A identifierades med exakt \u00e4mne och st\u00f6djande citat.\r\n- [ ] Rekommendationer \u00e4r konsistenta med [TIDSRAM], [RISKTOLERANS] och [NUVARANDE_POSITION].";
    const variables = ["[KONTEXT]","[TIDSRAM]","[RISKTOLERANS]","[NUVARANDE_POSITION]","[BOLAGSNAMN]","[UTDRAG_FRAN_FOREGAENDE_KVARTAL]","[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-prompten</h2>



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

<li><strong>Klistra in rätt textutdrag.</strong> Inkludera de förberedda kommentarerna samt hela Q&amp;A om du har den; det är i Q&amp;A som defensivitet och skiften i inramning syns. Om transkriptet är långt, lägg till en notis som: ”Fokusera på guidning, efterfrågan, prissättning och marginaler; ignorera juridiska friskrivningar.”</li>


<li><strong>Lägg till en rad med ”tidshorisont + riskhållning”.</strong> Promptens föranalysdel återger den, och resten av outputen blir mer användbar. Testa: ”Horisont: 2–6 veckor, riskhållning: undvik drawdowns, letar efter risk för guidningssänkning”, eller ”Horisont: 6–18 månader, riskhållning: kan hålla genom volatilitet, fokus på narrativt skifte.”</li>


<li><strong>Ge minimal kontext från föregående period när du har den.</strong> Prompten kan bara jämföra narrativ drift om du ger kontext, så håll det tajt: förra kvartalets guidningsintervall, ett eller två tidigare påståenden (”prissättningen höll”, ”pipeline stark”) och något nyckeltal som spelar roll. Följdfråga: ”Jämför marginalkommentaren i det här samtalet mot: ’förra kvartalet sa vi att mixen skulle förbättras i H2’. Vad har förändrats?”</li>


<li><strong>Kräv evidens, inte magkänsla.</strong> Efter första outputen, fråga: ”För varje bearish-signal, citera exakt rad/rader som stödjer den och förklara tolkningen i en mening.” Det håller analysen förankrad i transkriptet, vilket är begränsningen som gör resultatet pålitligt.</li>


<li><strong>Kör en andra genomgång med fokus på utelämnanden och undvikanden.</strong> Ledningsgrupper ”svarar” ofta genom att byta analysenhet (prata strategi i stället för siffror). Fråga: ”Lista de 5 viktigaste frågorna som inte besvarades direkt, och hur ett direkt svar skulle ha låtit.” Ärligt talat kan just det här steget lyfta fram den verkliga risken snabbare än vilken rubriksummary som helst.</li>

</ul>

</div>

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

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



<p>När du väl har gjort om transkriptet till signaler hjälper de här promptarna dig att skärpa de operativa- och riskvinklarna kring det du precis lärde dig:</p>



<p>Om din genomgång antyder operativ skörhet (tunna marginaler, leverantörskoncentration eller exekveringsrisk), kombinera detta med <a href="https://nodenordic.se/prompts/skapa-en-leverantorsriskrapport-for-styrelsen">Skapa en leverantörsriskrapport för styrelsen</a>. Den är användbar när samtalet antyder utbudsbegränsningar eller leveransrisk och du behöver en strukturerad, intressentvänlig sammanfattning för interna beslutsfattare.</p>



<p>När ledningen pekar på rörelsekapitalpress eller ”kostnadsåtgärder” som sannolikt slår igenom i COGS hjälper <a href="https://nodenordic.se/prompts/omforhandla-leverantorers-betalningsvillkor-med-ai">Omförhandla leverantörers betalningsvillkor med AI</a> dig att tänka i hävstänger. Det är en praktisk uppföljning för operatörer eller konsulter som översätter smärtpunkter från earnings calls till alternativ för kassaflödeslättnad.</p>



<p>Om transkriptet väcker frågor om checkout-prestanda, betalningsacceptansgrad eller friktion vid internationell expansion, använd <a href="https://nodenordic.se/prompts/valj-en-shortlist-for-betalgateway-med-ai-prompt">Välj en shortlist för betalgateway med AI-prompt</a> för att utvärdera alternativ på ett strukturerat sätt. Det passar bra när ”signalerna” inte bara är finansiella; de pekar på konvertering och betalningar som den verkliga flaskhalsen.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-en-leverantorsriskrapport-for-styrelsen">Skapa en leverantörsriskrapport för styrelsen</a>: Gör om leverantörsexponering till en styrelsefärdig sammanfattning.</li>


<li><a href="https://nodenordic.se/prompts/omforhandla-leverantorers-betalningsvillkor-med-ai">Omförhandla leverantörers betalningsvillkor med AI</a>: Förhandla villkor för att förbättra kassaflödet.</li>

<li><a href="https://nodenordic.se/prompts/valj-en-shortlist-for-betalgateway-med-ai-prompt">Välj en shortlist för betalgateway med AI-prompt</a>: Shortlista gateways med ändamålsenliga kriterier.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-chargeback-plan-for-att-forebygga-tvister">Skapa en chargeback-plan för att förebygga tvister</a>: Minska tvister och intäktsläckage.</li>


<li><a href="https://nodenordic.se/prompts/handlingsplan-for-ratt-koptillfalle-med-ai-prompt">Handlingsplan för rätt köptillfälle med AI-prompt</a>: Tajma köpbeslut med strukturerade signaler.</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 earnings call trade signals?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Aktieanalytiker</strong> använder den för att göra om ett långt transkript till en strukturerad lista med signaler och citat som de kan klistra in i en intern not. <strong>Associates på hedgefonder</strong> använder den för att läsa ”mellan raderna” (garderingar, avledningar, engångsinramning), vilket ofta betyder mer än den rubrikmässiga EPS-slagen. <strong>Portföljförvaltare</strong> drar nytta av den beslutsorienterade strukturen: vad som ändrades, vad som undveks och vad som ska bevakas härnäst. <strong>IR- och företagsstrategiteam</strong> använder den också för att stresstesta hur budskap och Q&amp;A-hantering kan tolkas av skeptiska lyssnare.</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 earnings call trade signals?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS- och prenumerationsbolag</strong> får mycket värde eftersom guidningsnyanser ofta syns i språk kring pipeline, förnyelser, seat expansion och ”normalisering av säljcykeln”. <strong>Konsument- och e-handelsvarumärken</strong> gynnas när efterfrågesignaler är dolda i kampanjkadens, priselasticitet, returer och fraktkommentarer som ledningen kan rama in som ”tillfälliga”. <strong>Halvledare och hårdvara</strong> kan använda den för att isolera kommentarer om orderstockens kvalitet, ledtider, kanalens lager och kapacitetsutbyggnad som ofta förebådar revideringar. <strong>Industribolag och logistik</strong> passar också bra, eftersom samtal ofta blandar makroprat med verkliga signaler om utnyttjandegrad, mix och kostnadsutveckling.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompts för att tolka earnings calls till tradesignaler svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”<em>Sammanfatta det här earnings call och säg om det är bullish eller bearish</em>” misslyckas eftersom den: saknar ett stegvis arbetsflöde (nyckeltal/guidning, framåtblickande betoning, språk/hållning, Q&amp;A-integritet), ställer inget krav på evidenscitat och ignorerar skillnaden mellan operativa signaler och polerat budskap. Den tenderar också att hallucinera marknadsreaktion eller ”vad investerare tycker”, vilket den här prompten uttryckligen förbjuder. Slutligen missar enkla prompts ofta utelämnanden, garderingar och narrativ drift, så du får en generisk recap i stället för handlingsbara signaler och varningsflaggor.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för earnings call trade signals till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Även om prompten inte har inbyggda formulärvariabler kan du anpassa den genom att lägga till en kort förtext ovanför transkriptet som anger (1) din tidshorisont, (2) din riskhållning och (3) vad som ska prioriteras (till exempel: ”fokusera på marginaler och efterfrågan” eller ”fokusera på guidningssänkningar och undvikanden i Q&amp;A”). Du kan också klistra in begränsad kontext från föregående period (förra kvartalets guidning, tidigare påstående från ledningen) så att outputen kan peka ut narrativ drift. En bra följdfråga är: ”Rangordna om de viktigaste signalerna för en 4-veckorshorisont och lista 5 bevakningspunkter som skulle bekräfta eller motbevisa signal #1.”</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 earnings call trade signals?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att inte ange horisont eller riskhållning; ”Analysera bara detta” ger en generisk debrief, medan ”Horisont: 2–8 veckor, risk: låg tolerans för drawdown” tvingar fram tydligare, mer tradbar prioritering. Ett annat vanligt fel är att bara klistra in de förberedda kommentarerna och hoppa över Q&amp;A, där avledningar syns; inkludera båda när det går. Många lägger också till externa påståenden (”aktien föll 12% after hours”) som prompten inte får använda, så håll inputen till enbart transkript. Slutligen klistrar användare ibland in ”tidigare kontext” som är vag; i stället för ”förra kvartalet var starkt”, ge en konkret ankare som ”tidigare guidning: intäkter $1.20–$1.24B, marginal 41–42%”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för earnings call trade signals?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk om du behöver marknadskontext i realtid, nyhetssyntes eller tolkning av prisrörelser, eftersom den medvetet förbjuder extern research och marknadsreaktion. Den hjälper inte heller särskilt mycket om du saknar transkript eller ens grova anteckningar; analysen blir bara så bra som texten du ger. Och om du vill ha personlig investeringsrådgivning eller en ”köp/sälj”-instruktion är det här inte det. I de fallen: använd den som en transkript-debrief och kombinera sedan outputen med dina egna modeller, begränsningar och compliance-process.</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 earnings call trade signals?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aktieanalytiker använder den för att göra om ett långt transkript till en strukturerad lista med signaler och citat som de kan klistra in i en intern not. Associates på hedgefonder använder den för att läsa ”mellan raderna” (garderingar, avledningar, engångsinramning), vilket ofta betyder mer än den rubrikmässiga EPS-slagen. Portföljförvaltare drar nytta av den beslutsorienterade strukturen: vad som ändrades, vad som undveks och vad som ska bevakas härnäst. IR- och företagsstrategiteam använder den också för att stresstesta hur budskap och Q&A-hantering kan tolkas av skeptiska lyssnare."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för earnings call trade signals?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS- och prenumerationsbolag får mycket värde eftersom guidningsnyanser ofta syns i språk kring pipeline, förnyelser, seat expansion och ”normalisering av säljcykeln”. Konsument- och e-handelsvarumärken gynnas när efterfrågesignaler är dolda i kampanjkadens, priselasticitet, returer och fraktkommentarer som ledningen kan rama in som ”tillfälliga”. Halvledare och hårdvara kan använda den för att isolera kommentarer om orderstockens kvalitet, ledtider, kanalens lager och kapacitetsutbyggnad som ofta förebådar revideringar. Industribolag och logistik passar också bra, eftersom samtal ofta blandar makroprat med verkliga signaler om utnyttjandegrad, mix och kostnadsutveckling."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompts för att tolka earnings calls till tradesignaler svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Sammanfatta det här earnings call och säg om det är bullish eller bearish” misslyckas eftersom den: saknar ett stegvis arbetsflöde (nyckeltal/guidning, framåtblickande betoning, språk/hållning, Q&A-integritet), ställer inget krav på evidenscitat och ignorerar skillnaden mellan operativa signaler och polerat budskap. Den tenderar också att hallucinera marknadsreaktion eller ”vad investerare tycker”, vilket den här prompten uttryckligen förbjuder. Slutligen missar enkla prompts ofta utelämnanden, garderingar och narrativ drift, så du får en generisk recap i stället för handlingsbara signaler och varningsflaggor."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för earnings call trade signals till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Även om prompten inte har inbyggda formulärvariabler kan du anpassa den genom att lägga till en kort förtext ovanför transkriptet som anger (1) din tidshorisont, (2) din riskhållning och (3) vad som ska prioriteras (till exempel: ”fokusera på marginaler och efterfrågan” eller ”fokusera på guidningssänkningar och undvikanden i Q&A”). Du kan också klistra in begränsad kontext från föregående period (förra kvartalets guidning, tidigare påstående från ledningen) så att outputen kan peka ut narrativ drift. En bra följdfråga är: ”Rangordna om de viktigaste signalerna för en 4-veckorshorisont och lista 5 bevakningspunkter som skulle bekräfta eller motbevisa signal #1.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för earnings call trade signals?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att inte ange horisont eller riskhållning; ”Analysera bara detta” ger en generisk debrief, medan ”Horisont: 2–8 veckor, risk: låg tolerans för drawdown” tvingar fram tydligare, mer tradbar prioritering. Ett annat vanligt fel är att bara klistra in de förberedda kommentarerna och hoppa över Q&A, där avledningar syns; inkludera båda när det går. Många lägger också till externa påståenden (”aktien föll 12% after hours”) som prompten inte får använda, så håll inputen till enbart transkript. Slutligen klistrar användare ibland in ”tidigare kontext” som är vag; i stället för ”förra kvartalet var starkt”, ge en konkret ankare som ”tidigare guidning: intäkter $1.20–$1.24B, marginal 41–42%”."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för earnings call trade signals?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk om du behöver marknadskontext i realtid, nyhetssyntes eller tolkning av prisrörelser, eftersom den medvetet förbjuder extern research och marknadsreaktion. Den hjälper inte heller särskilt mycket om du saknar transkript eller ens grova anteckningar; analysen blir bara så bra som texten du ger. Och om du vill ha personlig investeringsrådgivning eller en ”köp/sälj”-instruktion är det här inte det. I de fallen: använd den som en transkript-debrief och kombinera sedan outputen med dina egna modeller, begränsningar och compliance-process."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Earnings calls säger sällan det man egentligen menar rakt ut. Klistra in transkriptet i promptvisaren, kör debriefen och lämna med signaler du faktiskt kan agera på.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/tolka-earnings-calls-till-handelssignaler/">Tolka earnings calls till handelssignaler</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 domstolsklar processinlaga med ai-prompt</title>
		<link>https://nodenordic.se/prompts/skriv-en-domstolsklar-processinlaga-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-en-domstolsklar-processinlaga-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:22 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000809</guid>

					<description><![CDATA[<p>Deadlines närmar sig – en beprövad ai-prompt som skriver en domstolsklar processinlaga med tre argument, hänvisningar, bemötanden och yrkanden.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-domstolsklar-processinlaga-med-ai-prompt/">Skriv en domstolsklar processinlaga 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: litigation brief prompt -->

<div class="hook-introduction">

<p>Processfrister väntar inte på perfekta skrivdagar. Och när du är pressad är det lätt att landa i en inlaga som är full av känslor, saknar tydliga standarder och inte har den tydliga struktur som domare förväntar sig. Än värre: hastigt skrivna inlagor leder ofta till slarviga hänvisningar och argument som inte faktiskt följer rekvisiten.</p>



<p>Den här <strong>litigation brief prompt</strong> är byggd för <strong>processjurister</strong> som behöver ett första ramverk för en inlaga före intern granskning, <strong>bolagsjurister</strong> som sätter ihop ett motionspaket tillsammans med externa ombud under tidspress, och <strong>legal operations-team</strong> som måste standardisera kvaliteten på inlagor mellan olika ärenden. Resultatet blir ett domstolsmässigt utkast med tydliga rubriker, en sammanfattning av procesställning före analys, tre separata argument med rättskällor (markerade om de måste verifieras), motargument samt ett tydligt yrkande.</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 procesställning, begärd rättelse och centrala antaganden innan något substantiellt utkastas.</li>
          <li>Den identifierar sannolika anspråk, invändningar eller grunder som följer av de fakta du anger och det forum du namnger.</li>
          <li>Den genererar tre separata juridiska argument med sakrubriker, tillämplig rättslig standard och tillämpning på fakta.</li>
          <li>Den föreslår stödjande rättskällor och undviker fabricerade citat eller exakta hänvisningar genom att markera osäkra källor som ”måste verifieras”.</li>
          <li>Den inkluderar motargument och bemötanden så att utkastet läses som en partsinlaga, inte en promemoria.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har en motion som snart ska in och behöver ett strukturerat utkast som en jurist kan vässa och kontrollera hänvisningar i.</li>
          <li>Faktabilden är rörig och du behöver hjälp att översätta den till rekvisit, standarder och organiserade teman.</li>
          <li>Du förbereder dig för meet-and-confer, förhandling eller medling där en tajt argumentdisposition är mer användbar än råa anteckningar.</li>
          <li>Motpartens ombud har lämnat in först och du behöver ett snabbt, disciplinerat ramverk för bemötande som ändå förutser invändningar.</li>
          <li>Ditt team skalar upp processstödet och vill ha konsekvent disposition i inlagor mellan ärenden och jurisdiktioner.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett komplett inlaga-liknande utkast med en pre-analysdel samt tre argumentdelar och en yrkandedel.</li>
           <li>Tre argumentteman, vart och ett presenterat med rättslig standard, rättskällor och en faktapunkt-för-faktapunkt-tillämpning.</li>
           <li>En motarguments- och bemötandedel för varje argument, skriven i en domstolsmässig ton.</li>
           <li>En lista över rättskällor som ”måste verifieras” som visar exakt vad som måste bekräftas före inlämning.</li>
           <li>En korrekt formaterad, tydlig rubrikstruktur som du kan klistra in i er byråmall och formatera snabbt.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: domstolsmässigt utkast till processinlaga</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>[MALNAMN]</code></td>
                                <td class="var-desc">
                                    Ange målets fullständiga namn, inklusive eventuella parter och målnummer eller andra identifierare.                                    <div class="var-example">Till exempel: "Smith v. Jones, 2023 WL 1234567"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[MALNAMN]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[DOMSTOL]</code></td>
                                <td class="var-desc">
                                    Ange vilken domstol eller förhandlingsplats som handlägger målet, inklusive jurisdiktion och instans (t.ex. första instans eller överrätt).                                    <div class="var-example">Till exempel: "United States District Court for the Southern District of New York"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[DOMSTOL]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Beskriv relevant processuellt läge, bakgrund och vilket rättsmedel som yrkas. Ta med viktig processhistorik och eventuella strategiska överväganden.                                    <div class="var-example">Till exempel: "Käranden yrkar på ett föreläggande för att hindra svaranden från att fortsätta den påstådda varumärkesintrångsgärningen. Målet befinner sig i skedet för prövning av sammanfattad dom efter att bevisupptagningen avslutades förra månaden."</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>
                                                    <tr>
                                <td class="var-name"><code>[NYCKELFAKTA]</code></td>
                                <td class="var-desc">
                                    Sammanfatta de centrala omständigheter i målet som är relevanta för de juridiska argumenten. Inkludera datum, händelser och parternas agerande.                                    <div class="var-example">Till exempel: "Svarande påstås ha brutit mot avtalet genom att inte leverera varor på avtalad dag (15 juni 2023), vilket orsakat käranden ekonomisk skada om 250 000 USD."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYCKELFAKTA]"
                                            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">
                                    Ange önskad ton eller stil för dokumentet, t.ex. formell, övertygande eller kortfattad. Specificera eventuella nyanser eller formuleringar du föredrar.                                    <div class="var-example">Till exempel: "Rak och analytisk, med fokus på domstolsanpassad argumentation och koncis motivering."</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 önskad struktur eller formateringsriktlinjer för inlagan, inklusive rubriker, citat-/hänvisningsstil och eventuella längdbegränsningar.                                    <div class="var-example">Till exempel: "Använd tydliga sakrubriker, Bluebook-format för hänvisningar och håll en stram disposition om högst 20 sidor."</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>
                                            </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 (avgrä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></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 (saknade eller otydliga 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">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></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 domstolsredo processkrift (litigation brief) för [MALNAMN] i [DOMSTOL] som övertygande driver användarens önskade utgång med välunderbyggd juridisk argumentation, rättskällor och tydlig struktur.

## PERSONA
Agera som en erfaren processjurist på både första instans och appellationsnivå, med vana av högriskmål i civil- och brottmål i flera jurisdiktioner. Skriv med skarp, domstolsanpassad övertygelse: direkt, analytisk och resultatfokuserad.

## BEGRÄNSNINGAR
- Följ leveransstrukturen i **## OUTPUTSPECIFIKATION** och håll rubrikerna tydliga och explicita.
- Förlita dig på tillämpliga, jurisdiktionsanpassade rättskällor; om jurisdiktionsdetaljer saknas, använd allmänt erkända, generellt övertygande rättskällor och flagga antaganden.
- Ge **tre** distinkta juridiska argument, vart och ett med stödjande rättspraxis och tillämpning på omständigheterna.
- Behåll tydlighet och koncishet; prioritera starka sakrubriker och strama stycken.
- **Använd inte XML-taggar** någonstans.
- Ta inte med påhittade citat eller pinpoint-hänvisningar. Om du inte kan verifiera en hänvisning, presentera den som en “to-be-verified”-källa och förklara vad som måste bekräftas.

### Vad detta INTE är (avgränsningar)
- Inte formell juridisk rådgivning eller en ersättning för att anlita ombud.
- Inte en garanti för utfall, en strategi för vittnescoachning eller instruktioner för att undvika laglig process.
- Inte en fullständig aktbilaga, utställnings-/bevisbilagekompilering eller en jurisdiktionsspecifik checklista för formalia vid ingivning (om inte uttryckligen angivet i [KONTEXT]).

## PROCESS
1. **Föranalyssteg (obligatoriskt):** Återge kort din förståelse av målets processuella läge, vilken lättnad/åtgärd som efterfrågas och vilka antaganden du måste göra baserat på givna uppgifter.
2. Identifiera sannolika talan/grunder/yrkanden/invändningar som aktualiseras av [NYCKELFAKTA].
3. Välj tre argumentteman med hög hävstång (t.ex. jurisdiktion/talerätt, rekvisit/standarder, bevis- eller processuella frågor, rättsmedel).
4. För varje argument:
   - Ange tillämplig juridisk standard.
   - Ange stödjande rättskällor (rättsfall och, där det passar, lagar/regler).
   - Tillämpa standarden på nyckelfakta med stram argumentation och förväntade motargument.
5. Avsluta med en slutsats som knyter argumenten till den begärda lättnaden/åtgärden.

### Hantering av edge cases (saknade eller otydliga indata)
- Om [NYCKELFAKTA] är knapphändiga eller oklara, ställ upp till **5** riktade förtydligandefrågor och fortsätt därefter med ett villkorat utkast med tydligt markerade antaganden.
- Om [DOMSTOL] är ospecificerad eller vag, ge ett neutralt processkriftsramverk och notera var jurisdiktionsspecifika standarder/hänvisningar måste infogas.
- Om önskad lättnad/åtgärd inte framgår av [KONTEXT], dra slutsats om det mest sannolika målet och presentera 2–3 alternativa “Desired Outcome”-alternativ som användaren kan välja mellan.

## INDATA
- **Målnamn:** [MALNAMN]
- **Domstol/forum:** [DOMSTOL]
- **Nyckelfakta i målet:** [NYCKELFAKTA]
- **Ytterligare bakgrund, processuellt läge och önskad lättnad/åtgärd (valfritt men rekommenderat):** [KONTEXT]
- **Stilpreferenser (valfritt):** [TON]
- **Eventuella obligatoriska formatkrav (valfritt):** [FORMAT]

## OUTPUTSPECIFIKATION
Leverera en processkrift med följande namngivna avsnitt (använd dessa rubriker):

1. **Målnamn**
   - {Case Name}

2. **Domstol**
   - {Court}

3. **Sammanfattning av fakta**
   - {Facts Summary}

4. **Juridiskt argument 1**
   - **Punkt 1:** {Argument 1 Point Heading}
   - **Relevant rättspraxis 1:** {Argument 1 Authorities}
   - **Analys 1:** {Argument 1 Application And Reasoning}

5. **Juridiskt argument 2**
   - **Punkt 2:** {Argument 2 Point Heading}
   - **Relevant rättspraxis 2:** {Argument 2 Authorities}
   - **Analys 2:** {Argument 2 Application And Reasoning}

6. **Juridiskt argument 3**
   - **Punkt 3:** {Argument 3 Point Heading}
   - **Relevant rättspraxis 3:** {Argument 3 Authorities}
   - **Analys 3:** {Argument 3 Application And Reasoning}

7. **Slutsats**
   - **Sammanfattning:** {Conclusion Summary}
   - **Önskat utfall:** {Requested Relief}

Formateringskrav:
- Använd stycken och punktlistor där det hjälper.
- Använd korta, slagkraftiga sakrubriker som låter som avgöranden domstolen skulle kunna anta.
- Inga XML-taggar.

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Processkriften innehåller **exakt tre** distinkta juridiska argument med rättskällor och faktaspecifik tillämpning.
- Resonemanget är internt konsekvent och i linje med den begärda lättnaden/åtgärden.
- Eventuella antaganden eller “to-be-verified”-hänvisningar är tydligt markerade och minimerade.
- Språket är domstolsanpassat: precist, professionellt och fritt från irrelevant kommenterande.
- Rubriker och etiketter matchar **## OUTPUTSPECIFIKATION** exakt och är fortsatt lättöverskådliga.            </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 domstolsredo processkrift (litigation brief) f\u00f6r [MALNAMN] i [DOMSTOL] som \u00f6vertygande driver anv\u00e4ndarens \u00f6nskade utg\u00e5ng med v\u00e4lunderbyggd juridisk argumentation, r\u00e4ttsk\u00e4llor och tydlig struktur.\r\n\r\n## PERSONA\r\nAgera som en erfaren processjurist p\u00e5 b\u00e5de f\u00f6rsta instans och appellationsniv\u00e5, med vana av h\u00f6griskm\u00e5l i civil- och brottm\u00e5l i flera jurisdiktioner. Skriv med skarp, domstolsanpassad \u00f6vertygelse: direkt, analytisk och resultatfokuserad.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- F\u00f6lj leveransstrukturen i **## OUTPUTSPECIFIKATION** och h\u00e5ll rubrikerna tydliga och explicita.\r\n- F\u00f6rlita dig p\u00e5 till\u00e4mpliga, jurisdiktionsanpassade r\u00e4ttsk\u00e4llor; om jurisdiktionsdetaljer saknas, anv\u00e4nd allm\u00e4nt erk\u00e4nda, generellt \u00f6vertygande r\u00e4ttsk\u00e4llor och flagga antaganden.\r\n- Ge **tre** distinkta juridiska argument, vart och ett med st\u00f6djande r\u00e4ttspraxis och till\u00e4mpning p\u00e5 omst\u00e4ndigheterna.\r\n- Beh\u00e5ll tydlighet och koncishet; prioritera starka sakrubriker och strama stycken.\r\n- **Anv\u00e4nd inte XML-taggar** n\u00e5gonstans.\r\n- Ta inte med p\u00e5hittade citat eller pinpoint-h\u00e4nvisningar. Om du inte kan verifiera en h\u00e4nvisning, presentera den som en \u201cto-be-verified\u201d-k\u00e4lla och f\u00f6rklara vad som m\u00e5ste bekr\u00e4ftas.\r\n\r\n### Vad detta INTE \u00e4r (avgr\u00e4nsningar)\r\n- Inte formell juridisk r\u00e5dgivning eller en ers\u00e4ttning f\u00f6r att anlita ombud.\r\n- Inte en garanti f\u00f6r utfall, en strategi f\u00f6r vittnescoachning eller instruktioner f\u00f6r att undvika laglig process.\r\n- Inte en fullst\u00e4ndig aktbilaga, utst\u00e4llnings-\/bevisbilagekompilering eller en jurisdiktionsspecifik checklista f\u00f6r formalia vid ingivning (om inte uttryckligen angivet i [KONTEXT]).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalyssteg (obligatoriskt):** \u00c5terge kort din f\u00f6rst\u00e5else av m\u00e5lets processuella l\u00e4ge, vilken l\u00e4ttnad\/\u00e5tg\u00e4rd som efterfr\u00e5gas och vilka antaganden du m\u00e5ste g\u00f6ra baserat p\u00e5 givna uppgifter.\r\n2. Identifiera sannolika talan\/grunder\/yrkanden\/inv\u00e4ndningar som aktualiseras av [NYCKELFAKTA].\r\n3. V\u00e4lj tre argumentteman med h\u00f6g h\u00e4vst\u00e5ng (t.ex. jurisdiktion\/taler\u00e4tt, rekvisit\/standarder, bevis- eller processuella fr\u00e5gor, r\u00e4ttsmedel).\r\n4. F\u00f6r varje argument:\r\n   - Ange till\u00e4mplig juridisk standard.\r\n   - Ange st\u00f6djande r\u00e4ttsk\u00e4llor (r\u00e4ttsfall och, d\u00e4r det passar, lagar\/regler).\r\n   - Till\u00e4mpa standarden p\u00e5 nyckelfakta med stram argumentation och f\u00f6rv\u00e4ntade motargument.\r\n5. Avsluta med en slutsats som knyter argumenten till den beg\u00e4rda l\u00e4ttnaden\/\u00e5tg\u00e4rden.\r\n\r\n### Hantering av edge cases (saknade eller otydliga indata)\r\n- Om [NYCKELFAKTA] \u00e4r knapph\u00e4ndiga eller oklara, st\u00e4ll upp till **5** riktade f\u00f6rtydligandefr\u00e5gor och forts\u00e4tt d\u00e4refter med ett villkorat utkast med tydligt markerade antaganden.\r\n- Om [DOMSTOL] \u00e4r ospecificerad eller vag, ge ett neutralt processkriftsramverk och notera var jurisdiktionsspecifika standarder\/h\u00e4nvisningar m\u00e5ste infogas.\r\n- Om \u00f6nskad l\u00e4ttnad\/\u00e5tg\u00e4rd inte framg\u00e5r av [KONTEXT], dra slutsats om det mest sannolika m\u00e5let och presentera 2\u20133 alternativa \u201cDesired Outcome\u201d-alternativ som anv\u00e4ndaren kan v\u00e4lja mellan.\r\n\r\n## INDATA\r\n- **M\u00e5lnamn:** [MALNAMN]\r\n- **Domstol\/forum:** [DOMSTOL]\r\n- **Nyckelfakta i m\u00e5let:** [NYCKELFAKTA]\r\n- **Ytterligare bakgrund, processuellt l\u00e4ge och \u00f6nskad l\u00e4ttnad\/\u00e5tg\u00e4rd (valfritt men rekommenderat):** [KONTEXT]\r\n- **Stilpreferenser (valfritt):** [TON]\r\n- **Eventuella obligatoriska formatkrav (valfritt):** [FORMAT]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera en processkrift med f\u00f6ljande namngivna avsnitt (anv\u00e4nd dessa rubriker):\r\n\r\n1. **M\u00e5lnamn**\r\n   - {Case Name}\r\n\r\n2. **Domstol**\r\n   - {Court}\r\n\r\n3. **Sammanfattning av fakta**\r\n   - {Facts Summary}\r\n\r\n4. **Juridiskt argument 1**\r\n   - **Punkt 1:** {Argument 1 Point Heading}\r\n   - **Relevant r\u00e4ttspraxis 1:** {Argument 1 Authorities}\r\n   - **Analys 1:** {Argument 1 Application And Reasoning}\r\n\r\n5. **Juridiskt argument 2**\r\n   - **Punkt 2:** {Argument 2 Point Heading}\r\n   - **Relevant r\u00e4ttspraxis 2:** {Argument 2 Authorities}\r\n   - **Analys 2:** {Argument 2 Application And Reasoning}\r\n\r\n6. **Juridiskt argument 3**\r\n   - **Punkt 3:** {Argument 3 Point Heading}\r\n   - **Relevant r\u00e4ttspraxis 3:** {Argument 3 Authorities}\r\n   - **Analys 3:** {Argument 3 Application And Reasoning}\r\n\r\n7. **Slutsats**\r\n   - **Sammanfattning:** {Conclusion Summary}\r\n   - **\u00d6nskat utfall:** {Requested Relief}\r\n\r\nFormateringskrav:\r\n- Anv\u00e4nd stycken och punktlistor d\u00e4r det hj\u00e4lper.\r\n- Anv\u00e4nd korta, slagkraftiga sakrubriker som l\u00e5ter som avg\u00f6randen domstolen skulle kunna anta.\r\n- Inga XML-taggar.\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Processkriften inneh\u00e5ller **exakt tre** distinkta juridiska argument med r\u00e4ttsk\u00e4llor och faktaspecifik till\u00e4mpning.\r\n- Resonemanget \u00e4r internt konsekvent och i linje med den beg\u00e4rda l\u00e4ttnaden\/\u00e5tg\u00e4rden.\r\n- Eventuella antaganden eller \u201cto-be-verified\u201d-h\u00e4nvisningar \u00e4r tydligt markerade och minimerade.\r\n- Spr\u00e5ket \u00e4r domstolsanpassat: precist, professionellt och fritt fr\u00e5n irrelevant kommenterande.\r\n- Rubriker och etiketter matchar **## OUTPUTSPECIFIKATION** exakt och \u00e4r fortsatt l\u00e4tt\u00f6versk\u00e5dliga.";
    const variables = ["[MALNAMN]","[DOMSTOL]","[KONTEXT]","[NYCKELFAKTA]","[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>Ge en processuell ögonblicksbild, inte bara fakta.</strong> Börja med procesställning (avvisningsyrkande, summary judgment, TRO, överklagandeläge), granskningsstandard om relevant och vad du vill att domstolen ska besluta. Efter första utkastet, lägg till en följdfråga som: ”Skriv om inledningen så att irreparabel skada och standarden för sannolikhet att vinna framgång tydliggörs.”</li>


<li><strong>Var konkret om forum och tillämplig rätt.</strong> Prompten markerar antaganden när jurisdiktionsdetaljer saknas, men du får skarpare standarder när du anger domstol, delstat och centrala lagrum. Testa: ”Utgå från kalifornisk delstatsdomstol och hänvisa om möjligt till California Supreme Court och Courts of Appeal; annars markera som måste verifieras.”</li>


<li><strong>Ge modellen dina bästa ”nyckelfakta” så som en domare läser dem.</strong> Använd punktlistor med datum, parternas roller och de två eller tre faktauppgifter som driver ansvar eller ett försvar. Om faktamassan är lång, lägg till: ”Sammanfatta nyckelfakta i högst 10 punkter innan du skriver argumenten.”</li>


<li><strong>Tvinga fram argumentmångfald medvetet.</strong> Prompten ska skapa tre argument, men du kan styra dem så att de inte överlappar (talerätt/jurisdiktion, rekvisit/standard, rättsmedel/process). Efter första svaret, testa: ”Gör nu argument 2 enbart bevis-/processuellt, och gör argument 3 fokuserat endast på rättsmedel och omfattningen av yrkat beslut.”</li>


<li><strong>Använd den som en skrivaccelerator, och gör sedan riktigt källarbete.</strong> Den snabbaste nyttan får du om du behandlar rättskällorna som en forskningskarta, inte som en hänvisningslista redo att lämnas in. Följ upp med: ”Konvertera alla rättskällor markerade som måste verifieras till verifierade hänvisningar och lägg till exakta sid-/punktangivelser, men bara om du kan bekräfta dem; annars låt dem vara markerade.”</li>

</ul>

</div>

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

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



<p>När du har ett utkast till processinlaga kan de här promptarna hjälpa dig att bygga stödverktyg och arbetsflöden runt det.</p>



<p>Om du också behöver en säker plats för att lagra ärendedata, versioner av inlagor och interna granskningsanteckningar kan prompten om att bygga ett säkert API hjälpa dig att snabbt skissa fram ett enkelt system: <a href="https://nodenordic.se/prompts/bygg-en-saker-nextjs-prisma-crud-api-med-ai-prompt">Bygg en säker Next.js Prisma CRUD-API med AI-prompt</a>. Det är användbart när teamet är trött på att inlagor ligger i e-posttrådar och ostrukturerade mappar.</p>



<p>För team som jobbar med interna granskningsflöden (issue spotting, ändringsmarkeringar, godkännanden) gör ett strukturerat gränssnitt adoptionen enklare än man tror. Kombinera detta med <a href="https://nodenordic.se/prompts/bygg-ett-premium-ui-i-react-med-ai-prompt">Bygg ett premium-UI i React med ai-prompt</a> för att skissa en genomarbetad frontend för ärendedashboards, granskningsköer eller checklistor för hänvisningar som ”måste verifieras”.</p>



<p>När du förbereder utbildning eller intern enablement kring kvalitet i inlagor hjälper visuellt material: argumentstruktur, inlämningstidslinjer och granskningssteg. Använd <a href="https://nodenordic.se/prompts/bygg-ett-react-bildspelsystem-med-denna-ai-prompt">Bygg ett React-bildspelsystem med denna AI-prompt</a> för att ta fram en bildbaserad genomgång som teamet kan återanvända för onboarding och process-playbooks.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/bygg-en-saker-nextjs-prisma-crud-api-med-ai-prompt">Bygg en säker Next.js Prisma CRUD-API med AI-prompt</a>: Lagra ärendedata och versioner av inlagor.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-premium-ui-i-react-med-ai-prompt">Bygg ett premium-UI i React med ai-prompt</a>: Skapa en genomarbetad granskningsdashboard.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-react-bildspelsystem-med-denna-ai-prompt">Bygg ett React-bildspelsystem med denna AI-prompt</a>: Gör om argument till utbildningsbilder.</li>

<li><a href="https://nodenordic.se/prompts/bygg-en-react-widget-med-ai-prompt">Bygg en React-widget med ai-prompt</a>: Lägg till små verktyg som checklistor.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-react-plan-for-ai-skrivapp-med-ai-prompt">Bygg en React-plan för AI-skrivapp med AI-prompt</a>: Planera ett AI-arbetsflöde för utkast.</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 processinlaga?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Biträdande jurister inom process</strong> använder den för att skapa ett disciplinerat första utkast med sakrubriker och tre argumentspår, så att partnergranskningen kan börja i en struktur i stället för från ett tomt blad. <strong>Huvudombud i domstol</strong> får nytta när de behöver en snabb ”argumentarkitektur” som förutser invändningar och håller en domstolsmässig ton. <strong>Bolagsjurister</strong> använder den för att stresstesta externa ombuds positioner och snabbt hitta saknade standarder, frågor om rättsmedel eller svaga kopplingar till fakta. <strong>Paralegals och specialister inom litigation support</strong> uppskattar den för att skapa en kontrollerbar disposition som flaggar vilka rättskällor som måste verifieras innan något lämnas in.</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 processinlaga?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS- och teknikteam</strong> använder den för att strukturera tvister om avtal, immaterialrätt, konkurrensklausuler och brådskande motioner där tidslinjerna är brutala. <strong>Finanssektorns</strong> ärenden gynnas eftersom inlagor ofta hänger på procesställning, lagstadgade standarder och en noggrann inramning av rättsmedel, vilket prompten tvingar in i tydliga avsnitt. <strong>Hälso- och life science-team</strong> använder den för att bygga argument kring regulatorisk kontext, berättelser om patientskada och kriterier för interimistiska förbud (samtidigt som texten hålls skarp). <strong>Bygg- och fastighetstvister</strong> får värde när många parter och dokument skapar spretighet; ett tajt ramverk med tre argument hjälper till att separera ansvar, invändningar och skadestånd tydligt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att skriva en processinlaga svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv en processinlaga för mitt fall” misslyckas eftersom den: saknar ett föranalyssteg som låser procesställning och yrkande, inte kräver någon struktur med tydliga rubriker och argumentspår, ignorerar jurisdiktionsosäkerhet och hur rättskällor ska hanteras ansvarsfullt, producerar generisk övertalning i stället för standarddriven analys kopplad till rekvisit, och riskerar påhittade citat eller exakta hänvisningar i stället för att tydligt markera sådant som måste verifieras. Du får något som läser som ett blogginlägg, inte en inlaga. Den här prompten är striktare, och det är poängen.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för processinlaga till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Anpassa den genom att ange ett exakt målnamn, domstolen och ett tajt urval av nyckelfakta som matchar procesställningen (till exempel ”Rule 12(b)(6) motion” jämfört med ”preliminary injunction”). Om du vill ha en viss ton, lägg till begränsningar som ”håll inledningen under 250 ord” eller ”använd korta, slagkraftiga sakrubriker.” Du kan också styra de tre argumenten tematiskt (jurisdiktion/talerätt, rekvisit/standarder, rättsmedel/process). Följ upp med: ”Revidera argument 1 så att det endast fokuserar på talerätt och subject-matter jurisdiction, och lägg till ett förutsett motargument med bemötande.”</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 processinlaga?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att inte ange domstol; ”delstatsdomstol” är vagt, men ”U.S. District Court for the Northern District of California” förändrar hur standarder och rättskällor bör formuleras. Ett annat vanligt fel är att hälla in råa fakta utan procesställning: ”De bröt avtalet” är tunt, medan ”Efter ett kravbrev den 3 mars vägrade svaranden fullgöra; käranden begär en TRO för att förhindra att tillgångar förs bort” ger prompten något användbart. Många glömmer också att ange yrkandet; ”hjälp mig vinna” går inte att arbeta med, men ”avvisa med prejudice,” ”tvinga skiljeförfarande,” eller ”bevilja summary judgment avseende ansvar” gör det. Slutligen behandlar användare ibland rättskällor markerade som måste verifieras som om de vore redo att lämnas in; rätt sätt är att göra en hänvisningskontroll och ersätta eller bekräfta innan man lutar sig mot dem.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för processinlaga?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten passar inte optimalt för personer som företräder sig själva och planerar att lämna in utan juristgranskning, eller för situationer där jurisdiktionsspecifika formateringsregler är huvudutmaningen (lokala regler, ordgränser, tabeller, inlämningsmekanik). Den ersätter inte heller verifierad juridisk research när du behöver exakta sid-/punktangivelser och ordagranna citat. Om din prioritet är regelefterlevnad, använd först domstolens checklista för lokala regler och ett verktyg för hänvisningar, och använd sedan den här prompten för att skärpa argumentstruktur och tydlighet.</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 processinlaga?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Biträdande jurister inom process använder den för att skapa ett disciplinerat första utkast med sakrubriker och tre argumentspår, så att partnergranskningen kan börja i en struktur i stället för från ett tomt blad. Huvudombud i domstol får nytta när de behöver en snabb ”argumentarkitektur” som förutser invändningar och håller en domstolsmässig ton. Bolagsjurister använder den för att stresstesta externa ombuds positioner och snabbt hitta saknade standarder, frågor om rättsmedel eller svaga kopplingar till fakta. Paralegals och specialister inom litigation support uppskattar den för att skapa en kontrollerbar disposition som flaggar vilka rättskällor som måste verifieras innan något lämnas in."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för processinlaga?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS- och teknikteam använder den för att strukturera tvister om avtal, immaterialrätt, konkurrensklausuler och brådskande motioner där tidslinjerna är brutala. Finanssektorns ärenden gynnas eftersom inlagor ofta hänger på procesställning, lagstadgade standarder och en noggrann inramning av rättsmedel, vilket prompten tvingar in i tydliga avsnitt. Hälso- och life science-team använder den för att bygga argument kring regulatorisk kontext, berättelser om patientskada och kriterier för interimistiska förbud (samtidigt som texten hålls skarp). Bygg- och fastighetstvister får värde när många parter och dokument skapar spretighet; ett tajt ramverk med tre argument hjälper till att separera ansvar, invändningar och skadestånd tydligt."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att skriva en processinlaga svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en processinlaga för mitt fall” misslyckas eftersom den: saknar ett föranalyssteg som låser procesställning och yrkande, inte kräver någon struktur med tydliga rubriker och argumentspår, ignorerar jurisdiktionsosäkerhet och hur rättskällor ska hanteras ansvarsfullt, producerar generisk övertalning i stället för standarddriven analys kopplad till rekvisit, och riskerar påhittade citat eller exakta hänvisningar i stället för att tydligt markera sådant som måste verifieras. Du får något som läser som ett blogginlägg, inte en inlaga. Den här prompten är striktare, och det är poängen."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för processinlaga till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Anpassa den genom att ange ett exakt målnamn, domstolen och ett tajt urval av nyckelfakta som matchar procesställningen (till exempel ”Rule 12(b)(6) motion” jämfört med ”preliminary injunction”). Om du vill ha en viss ton, lägg till begränsningar som ”håll inledningen under 250 ord” eller ”använd korta, slagkraftiga sakrubriker.” Du kan också styra de tre argumenten tematiskt (jurisdiktion/talerätt, rekvisit/standarder, rättsmedel/process). Följ upp med: ”Revidera argument 1 så att det endast fokuserar på talerätt och subject-matter jurisdiction, och lägg till ett förutsett motargument med bemötande.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för processinlaga?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att inte ange domstol; ”delstatsdomstol” är vagt, men ”U.S. District Court for the Northern District of California” förändrar hur standarder och rättskällor bör formuleras. Ett annat vanligt fel är att hälla in råa fakta utan procesställning: ”De bröt avtalet” är tunt, medan ”Efter ett kravbrev den 3 mars vägrade svaranden fullgöra; käranden begär en TRO för att förhindra att tillgångar förs bort” ger prompten något användbart. Många glömmer också att ange yrkandet; ”hjälp mig vinna” går inte att arbeta med, men ”avvisa med prejudice,” ”tvinga skiljeförfarande,” eller ”bevilja summary judgment avseende ansvar” gör det. Slutligen behandlar användare ibland rättskällor markerade som måste verifieras som om de vore redo att lämnas in; rätt sätt är att göra en hänvisningskontroll och ersätta eller bekräfta innan man lutar sig mot dem."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för processinlaga?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten passar inte optimalt för personer som företräder sig själva och planerar att lämna in utan juristgranskning, eller för situationer där jurisdiktionsspecifika formateringsregler är huvudutmaningen (lokala regler, ordgränser, tabeller, inlämningsmekanik). Den ersätter inte heller verifierad juridisk research när du behöver exakta sid-/punktangivelser och ordagranna citat. Om din prioritet är regelefterlevnad, använd först domstolens checklista för lokala regler och ett verktyg för hänvisningar, och använd sedan den här prompten för att skärpa argumentstruktur och tydlighet."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>En stark inlaga handlar till stor del om struktur, standarder och en korrekt formaterad tillämpning. Använd den här prompten för att snabbt få ett disciplinerat utkast på plats, och verifiera sedan rättskällor och finjustera inför inlämning.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-en-domstolsklar-processinlaga-med-ai-prompt/">Skriv en domstolsklar processinlaga 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>Bygg en playbook för förpackningsefterlevnad</title>
		<link>https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-playbook-for-forpackningsefterlevnad</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:22 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002887</guid>

					<description><![CDATA[<p>Sändningar anländer skadade eller felroutade – en AI-prompt som skapar en ISTA 3A-plan med ISO 780-symboler och GS1-etiketter. Upptäck fler.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/">Bygg en playbook för förpackningsefterlevnad</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: packaging compliance playbook -->
<div class="hook-introduction">

<p>Skadade leveranser kostar inte bara ersättningsenheter. De urholkar marginalen i det tysta genom tid i kundsupport, chargebacks, omleveranser och en reputationssmäll i stil med ”vi kan inte lita på den här leverantören”. Och när etiketter fallerar får du en annan typ av smärta: felroutning, missade skanningar och lager som ser borttappat ut tills det är för sent.</p>



<p>Den här <strong>packaging compliance playbook</strong> är byggd för <strong>driftchefer</strong> som gång på gång ser förebyggbara transportskador, <strong>förpackningsingenjörer</strong> som snabbt behöver en strukturerad testplan i ISTA 3A-stil, och <strong>e-handelsgrundare</strong> som skalar till nya transportörer och fulfillment-modeller utan ett märkningssystem som håller. Resultatet är en praktisk, komplett förpackningsplaybook som kombinerar en ISTA 3A-distributionstestsekvens, val/placering av hanteringssymboler enligt ISO 780 och vägledning för GS1-streckkod/etikettlayout som du kan lämna direkt till packare och QA utan att behöva översätta den till ”lager-språk”.</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 modellerar paketresan (terminaler, transportband, sista milen) och kopplar varje steg till sannolika felmoder som stöt, vibration och kompression.</li>
          <li>Den tar fram en distributionstestplan i linje med ISTA 3A, med sekvenslogik och acceptanskriterier som du kan köra internt eller ta till ett labb.</li>
          <li>Den väljer hanteringssymboler enligt ISO 780 baserat på produktens känslighet och hanteringsrisker, och specificerar sedan var och hur de ska placeras.</li>
          <li>Den föreslår GS1-identifiering och praxis för streckkodsetiketter, inklusive etikettyp och en layout som minskar skanningsfel.</li>
          <li>Den skriver operativa instruktioner på tydligt språk så att packare, QA och ansvariga i supply chain kan utföra arbetet konsekvent i alla kanaler.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ser ett mönster av spruckna höljen, trasiga förseglingar eller recensioner som säger ”kom fram med buckla” och behöver en repeterbar plan för att förebygga.</li>
          <li>Du byter transportör, lägger till 3PL-stöd eller går från DTC-enskildleveranser till retail/DC-distribution och plötsligt börjar saker fallera.</li>
          <li>Teamet diskuterar material och rätt dimensionering, men ingen kan koppla besluten till testbara kriterier och kontrollpunkter.</li>
          <li>Skanningsgraden är ojämn eftersom etiketter smetar ut, blir skrynkliga eller placeras där transportband och handskannrar missar dem.</li>
          <li>Du behöver dokumentera standarder för förpackning och märkning för onboarding, revisioner eller utrullning till flera lager utan att börja från noll.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En steg-för-steg-playbook för förpackning som täcker material, packmetod och hanteringsantaganden för 1 produktkonfiguration.</li>
           <li>En testsekvens i ISTA 3A-stil med acceptanskriterier, plus en checklista över vad som ska inspekteras efter varje teststeg.</li>
           <li>En rekommenderad uppsättning ISO 780-symboler med placeringsnoteringar (vilka sidor, ungefärlig position och antal).</li>
           <li>En GS1-etikettstrategi med vägledning för streckkodstyp och en praktisk layoutbeskrivning för att minska felroutning och skanningsfel.</li>
           <li>En kvalitetskontroll-checklista med kontrollpunkter, toleranser och ”stoppa linan”-triggers som teamet faktiskt kan använda.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: byggare för compliance-playbook för skadeförebyggande förpackning</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 detaljerad beskrivning av produkten, inklusive mått, vikt, material/komposition samt eventuella unika egenskaper eller sårbarheter.                                    <div class="var-example">Till exempel: "En 16 tum hög keramisk vas som väger 2,5 pund, med smal hals och bred bas, benägen att spricka vid tryck eller stötar."</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>[SKORHETSNIVA]</code></td>
                                <td class="var-desc">
                                    Ange produktens skörhetsnivå, inklusive känslighet för stötar, vibrationer, kompression samt miljöfaktorer som temperatur och luftfuktighet.                                    <div class="var-example">Till exempel: "Mycket ömtålig: kan spricka vid mindre fall eller vibrationer; tål inte temperaturer under 32°F."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SKORHETSNIVA]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange budgeten som avsatts för förpackningslösningen, inklusive material, tester och implementering.                                    <div class="var-example">Till exempel: "5 000 USD för förpackningsmaterial och 2 000 USD för tester."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TRANSPORTOR]</code></td>
                                <td class="var-desc">
                                    Ange vilken/vilka transportörer som hanterar produkten, eftersom deras riktlinjer och processer kan påverka förpackningskraven.                                    <div class="var-example">Till exempel: "FedEx Ground och UPS Air Freight."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TRANSPORTOR]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange förväntad tidsram för frakt och leverans, inklusive eventuella deadlines för att färdigställa och införa förpackningslösningen.                                    <div class="var-example">Till exempel: "Förpackningslösningen ska vara färdigställd och implementerad inom 6 veckor; typisk leveranstid är 3–5 arbetsdagar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TRANSPORTSTRACKA]</code></td>
                                <td class="var-desc">
                                    Ange genomsnittlig eller maximal transportsträcka som produkten kommer att färdas, inklusive eventuella internationella rutter om relevant.                                    <div class="var-example">Till exempel: "Produkterna skickas inom landet upp till 500 miles och internationellt upp till 5 000 miles."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TRANSPORTSTRACKA]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSMETOD]</code></td>
                                <td class="var-desc">
                                    Beskriv leverans- och uppfyllnadsmodellen, t.ex. direkt till konsument, bulkleverans till distributionscenter eller butiksklara förpackningar.                                    <div class="var-example">Till exempel: "Direktleveranser till konsument via e-handel, packade styckvis i wellkartonger."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSMETOD]"
                                            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">
                                    Ge kompletterande information om frakt- och hanteringsmiljön, inklusive lagerförhållanden, transportörsspecifika begränsningar eller kundförväntningar.                                    <div class="var-example">Till exempel: "Produkterna hanteras i automatiserade sorteringscentraler med transportband och levereras via sista-milen-bud i stadsområden."</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>
                                                    <tr>
                                <td class="var-name"><code>[HALLBARHETSKRAV]</code></td>
                                <td class="var-desc">
                                    Lista eventuella hållbarhetskrav eller preferenser, t.ex. återvinningsbara material, minskad förpackningsmängd eller efterlevnad av miljöcertifieringar.                                    <div class="var-example">Till exempel: "Förpackningen måste vara 100 % återvinningsbar och innehålla minimalt med plast; preferens för FSC-certifierade material."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HALLBARHETSKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[REGELKRAV]</code></td>
                                <td class="var-desc">
                                    Ange eventuella regelkrav som förpackningen måste uppfylla, t.ex. märkning, hanteringssymboler eller landspecifika standarder.                                    <div class="var-example">Till exempel: "Måste uppfylla ISO 780 för hanteringssymboler och GS1-standarder för streckkoder vid internationell frakt."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[REGELKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NYCKELORD]</code></td>
                                <td class="var-desc">
                                    Ange specifika nyckelord eller fraser som ska betonas i förpackningshandboken för tydlighet och konsekvens.                                    <div class="var-example">Till exempel: "Ömtåligt, återvinningsbart, placering av streckkod, ISTA 3A, stötdämpning."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYCKELORD]"
                                            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 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">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="prompt-header-visible subheader">0) Föranalys (obligatorisk)</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) Risk- och flödesmodellering</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Bygg en dynamisk fasplan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Konstruera förpackningssystemet</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) Översättning till ISTA 3A-test</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">5) Hanteringskommunikation (ISO 780)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Identifiering &amp; ruttning (GS1)</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">7) Packprocedur &amp; kvalitetsgrindar</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">8) Hållbarhets- och kostnadsjustering</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">9) Kanalvarianter (om tillämpligt)</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">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 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">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 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">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 heltäckande, skadeförebyggande förpackningsplaybook för en specifik produkt genom att kombinera:
- ISTA 3A-logik för distributionstestning (sekvens + acceptanskriterier)
- ISO 780-hanteringssymboler (urval + placering)
- GS1-praxis för identifiering/streckkoder (typ + etikettlayout)

Leveransen ska minska risken för skador och minimera rutt-/scanningsfel i de valda fulfillmentkanalerna.

## PERSONA
Du är en erfaren förpackningssystemsingenjör med ett decennium av erfarenhet av att designa redundans och feltolerans för logistik i rymdklass. En personlig fraktförlust fick dig att bli besatt av vardagliga paketfel. Du diagnostiserar nu förpackningssvagheter genom att spåra hur laster rör sig genom hubbar, transportband och sista milen—och du skriver instruktioner som lagerteam kan utföra utan tolkning.

## BEGRÄNSNINGAR
- Måste anpassa rekommendationerna till skörhet, värde, avstånd, transportörers regler, hållbarhetsbegränsningar och fulfillmentmodell(er).
- Måste inkludera alla tre standarder: ISTA 3A, ISO 780 och GS1.
- Använd tydligt operativt språk som passar packare, QA-personal och supply chain-ansvariga.
- Hitta inte på regulatoriska krav; om du är osäker, be om saknade indata eller ge villkorade alternativ.
- Håll det praktiskt: specificera material, dimensioner, toleranser och kontrollpunkter när indata tillåter.

### Vad detta INTE är
- Inte en juridisk efterlevnadsbedömning för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tullagstiftning.
- Inte en ersättning för att köra certifierade labbtester; du kan föreslå en testplan men kan inte ”certifiera” resultat.
- Inte en branding-/grafisk designbrief utöver funktionell märkning och symbolplacering.

## PROCESS
### 0) Föranalys (obligatorisk)
Börja med att återge din förståelse av produkten, fraktkontexten och användarens mål i 4–6 punkter. Lista sedan all saknad information som blockerar korrekta ingenjörsbeslut.

### 1) Risk- och flödesmodellering
- Identifiera produktens felmoder (stöt, vibration, kompression, punktering, nötning, fukt/temperatur).
- Kartlägg distributionsmiljön (sortering, linehaul, flyg vs mark, dimensionshantering, sista-milen-förhållanden).
- Tilldela en sårbarhetsrating och förklara vad som driver den.

### 2) Bygg en dynamisk fasplan
Välj antal faser utifrån komplexitet:
- Standardartiklar: 4–7 faser
- Mycket sköra eller högvärdiga artiklar: 8–11 faser  
Förklara varför du valde antalet och vad varje fas åstadkommer.

### 3) Konstruera förpackningssystemet
- Välj förpackningsstil(ar): primärskydd, sekundär dämpning, ytteremballage, förslutningar.
- Beräkna dämpningsbehov med vikt, skörhet, antaganden om fall-/droppexponering (knyt antaganden till ISTA 3A:s syfte).
- Specificera material (t.ex. wellpappkvalitet, skumtyp/densitet, papperssystem) och minsta dimensioner/luftspel.

### 4) Översättning till ISTA 3A-test
- Ta fram ett ISTA 3A-anpassat testflöde skräddarsytt för produkten (fall, vibration, kompression, konditionering).
- Definiera godkänd/underkänd-kriterier i mätbara termer (kosmetiskt vs funktionellt, tillåten rörelse, förslutningsintegritet etc.).

### 5) Hanteringskommunikation (ISO 780)
- Välj relevanta ISO 780-symboler och motivera varje val.
- Ge en placeringsplan: ytor, vägledning för minsta storlek, hållbarhet/tryckmetod-överväganden och zoner som ”får inte täckas”.

### 6) Identifiering &amp; ruttning (GS1)
- Rekommendera streckkodssymbologi som passar kanal(erna) och artikel-/nivån.
- Ge regler för etikettplacering (tysta zoner, krökningsbegränsningar, kantavstånd, skydd mot skav, redundans).
- Inkludera ett steg för scan-verifiering och ett fallback-upplägg för läsbar ID för människa.

### 7) Packprocedur &amp; kvalitetsgrindar
- Skriv en repeterbar pack-SOP med verktygslista, stegordning, foton/diagram beskrivna i text och takt-tidsmål.
- Lägg till QC-kontroller i processen och vägledning för slutlig revisionsprovtagning.

### 8) Hållbarhets- och kostnadsjustering
- Rättstorleksanpassa förpackningen, minska tomrum och föreslå återvinningsbara/förnybara alternativ som fortfarande uppfyller skyddsbehov.
- Presentera avvägningar (kostnad, risk för skaderate, materialvikt/volym, återvinningsbarhet).

### 9) Kanalvarianter (om tillämpligt)
- Redovisa skillnader för FBA, DTC, retail-ready och internationellt enligt önskemål.
- Peka ut motstridiga krav och hur de löses (t.ex. extra etiketter vs minimalt material).

### Hantering av edge cases
- Om någon nyckelindata saknas: fortsätt med tydligt märkta antaganden och erbjud 2–3 scenariovägar (t.ex. ”Skört glas” vs ”Tålig plast”).
- Om begränsningar krockar (t.ex. plastfritt vs hög falltålighet): föreslå ett ”baslinje-säkert” alternativ och ett ”hållbarhetslutande” alternativ med kvantifierade risknoteringar.

## INDATA
- **Produktdetaljer (material, vikt, dimensioner):** [PRODUKTBESKRIVNING]
- **Skörhetsrating:** [SKORHETSNIVA]
- **Deklarerat värde / förlusttolerans:** [BUDGET]
- **Transportör(er) och servicenivå(er):** [TRANSPORTOR]
- **Typisk transittid/stråk:** [TIDSRAM]
- **Fraktavstånd / geografi:** [TRANSPORTSTRACKA]
- **Fulfillmentmodell(er) (FBA, DTC, 3PL, retail):** [LEVERANSMETOD]
- **Skadehistorik &amp; fel-/haveriexempel:** [KONTEXT]
- **Hållbarhetsbegränsningar (plastfritt, återvinningsbart i hushållssortering etc.):** [HALLBARHETSKRAV]
- **Regulatoriska/hanteringsbegränsningar (om några):** [REGELKRAV]
- **Streckkod/ID-behov (GTIN finns, begränsningar för etikettstorlek etc.):** [NYCKELORD]

## OUTPUTSPECIFIKATION
Leverera ett enda dokument med följande avsnitt och ifyllda placeholders:
1. **Sammanfattning av föranalys**
   - {Understanding Bullets}
   - {Missing Inputs / Assumptions}

2. **Fasplan**
   - {Number Of Phases}
   - {Phase Table} (Phase, Purpose, Owner, Outputs)

3. **Förpackningsarkitektur**
   - {Bill Of Materials}
   - {Box Style &amp; Board Spec}
   - {Internal Protection Design}
   - {Critical Dimensions &amp; Tolerances}

4. **ISTA 3A-anpassad testplan**
   - {Conditioning Requirements}
   - {Drop Schedule}
   - {Vibration Profile}
   - {Compression Requirements}
   - {Pass/Fail Criteria}

5. **ISO 780-hanteringsmärkning**
   - {Selected Symbols &amp; Rationale}
   - {Placement Map Description}
   - {Mark Size &amp; Durability Notes}

6. **GS1-märkning &amp; streckkodslayout**
   - {Barcode Type Recommendation}
   - {Label Content (Human + Machine Readable)}
   - {Placement Rules &amp; Protected Scan Zones}
   - {Verification Procedure}

7. **Pack-SOP + kvalitetsgrindar**
   - {Step-By-Step Instructions}
   - {In-Process Checks}
   - {Final QA Checklist}
   - {Common Errors &amp; Prevention}

8. **Hållbarhet-/kostnadsoptimering**
   - {Right-Sizing Actions}
   - {Material Alternatives}
   - {Impact Summary}

9. **Kanalvarianter (om begärt)**
   - {FBA Variant}
   - {DTC Variant}
   - {Retail Variant}
   - {International Variant}

## KVALITETSKONTROLLER
Avsluta med en valideringslista som bekräftar:
- Förpackningsdesignen är spårbar till identifierade faror och produktens felmoder.
- ISTA 3A-teststegen innehåller mätbara acceptanskriterier (inte vagt språk).
- Valda ISO 780-symboler är motiverade och har tydlig placeringsguidning.
- GS1-märkningsguidningen täcker scan-tillförlitlighet (tysta zoner, krökning/kantavstånd, redundans).
- SOP:en innehåller minst {Number} kvalitetsgrindar och en repeterbar verifieringsmetod.            </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 helt\u00e4ckande, skadef\u00f6rebyggande f\u00f6rpackningsplaybook f\u00f6r en specifik produkt genom att kombinera:\r\n- ISTA 3A-logik f\u00f6r distributionstestning (sekvens + acceptanskriterier)\r\n- ISO 780-hanteringssymboler (urval + placering)\r\n- GS1-praxis f\u00f6r identifiering\/streckkoder (typ + etikettlayout)\r\n\r\nLeveransen ska minska risken f\u00f6r skador och minimera rutt-\/scanningsfel i de valda fulfillmentkanalerna.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren f\u00f6rpackningssystemsingenj\u00f6r med ett decennium av erfarenhet av att designa redundans och feltolerans f\u00f6r logistik i rymdklass. En personlig fraktf\u00f6rlust fick dig att bli besatt av vardagliga paketfel. Du diagnostiserar nu f\u00f6rpackningssvagheter genom att sp\u00e5ra hur laster r\u00f6r sig genom hubbar, transportband och sista milen\u2014och du skriver instruktioner som lagerteam kan utf\u00f6ra utan tolkning.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- M\u00e5ste anpassa rekommendationerna till sk\u00f6rhet, v\u00e4rde, avst\u00e5nd, transport\u00f6rers regler, h\u00e5llbarhetsbegr\u00e4nsningar och fulfillmentmodell(er).\r\n- M\u00e5ste inkludera alla tre standarder: ISTA 3A, ISO 780 och GS1.\r\n- Anv\u00e4nd tydligt operativt spr\u00e5k som passar packare, QA-personal och supply chain-ansvariga.\r\n- Hitta inte p\u00e5 regulatoriska krav; om du \u00e4r os\u00e4ker, be om saknade indata eller ge villkorade alternativ.\r\n- H\u00e5ll det praktiskt: specificera material, dimensioner, toleranser och kontrollpunkter n\u00e4r indata till\u00e5ter.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en juridisk efterlevnadsbed\u00f6mning f\u00f6r farligt gods, livsmedelskontakt, medicinteknisk reglering eller tullagstiftning.\r\n- Inte en ers\u00e4ttning f\u00f6r att k\u00f6ra certifierade labbtester; du kan f\u00f6resl\u00e5 en testplan men kan inte \u201dcertifiera\u201d resultat.\r\n- Inte en branding-\/grafisk designbrief ut\u00f6ver funktionell m\u00e4rkning och symbolplacering.\r\n\r\n## PROCESS\r\n### 0) F\u00f6ranalys (obligatorisk)\r\nB\u00f6rja med att \u00e5terge din f\u00f6rst\u00e5else av produkten, fraktkontexten och anv\u00e4ndarens m\u00e5l i 4\u20136 punkter. Lista sedan all saknad information som blockerar korrekta ingenj\u00f6rsbeslut.\r\n\r\n### 1) Risk- och fl\u00f6desmodellering\r\n- Identifiera produktens felmoder (st\u00f6t, vibration, kompression, punktering, n\u00f6tning, fukt\/temperatur).\r\n- Kartl\u00e4gg distributionsmilj\u00f6n (sortering, linehaul, flyg vs mark, dimensionshantering, sista-milen-f\u00f6rh\u00e5llanden).\r\n- Tilldela en s\u00e5rbarhetsrating och f\u00f6rklara vad som driver den.\r\n\r\n### 2) Bygg en dynamisk fasplan\r\nV\u00e4lj antal faser utifr\u00e5n komplexitet:\r\n- Standardartiklar: 4\u20137 faser\r\n- Mycket sk\u00f6ra eller h\u00f6gv\u00e4rdiga artiklar: 8\u201311 faser  \r\nF\u00f6rklara varf\u00f6r du valde antalet och vad varje fas \u00e5stadkommer.\r\n\r\n### 3) Konstruera f\u00f6rpackningssystemet\r\n- V\u00e4lj f\u00f6rpackningsstil(ar): prim\u00e4rskydd, sekund\u00e4r d\u00e4mpning, ytteremballage, f\u00f6rslutningar.\r\n- Ber\u00e4kna d\u00e4mpningsbehov med vikt, sk\u00f6rhet, antaganden om fall-\/droppexponering (knyt antaganden till ISTA 3A:s syfte).\r\n- Specificera material (t.ex. wellpappkvalitet, skumtyp\/densitet, papperssystem) och minsta dimensioner\/luftspel.\r\n\r\n### 4) \u00d6vers\u00e4ttning till ISTA 3A-test\r\n- Ta fram ett ISTA 3A-anpassat testfl\u00f6de skr\u00e4ddarsytt f\u00f6r produkten (fall, vibration, kompression, konditionering).\r\n- Definiera godk\u00e4nd\/underk\u00e4nd-kriterier i m\u00e4tbara termer (kosmetiskt vs funktionellt, till\u00e5ten r\u00f6relse, f\u00f6rslutningsintegritet etc.).\r\n\r\n### 5) Hanteringskommunikation (ISO 780)\r\n- V\u00e4lj relevanta ISO 780-symboler och motivera varje val.\r\n- Ge en placeringsplan: ytor, v\u00e4gledning f\u00f6r minsta storlek, h\u00e5llbarhet\/tryckmetod-\u00f6verv\u00e4ganden och zoner som \u201df\u00e5r inte t\u00e4ckas\u201d.\r\n\r\n### 6) Identifiering & ruttning (GS1)\r\n- Rekommendera streckkodssymbologi som passar kanal(erna) och artikel-\/niv\u00e5n.\r\n- Ge regler f\u00f6r etikettplacering (tysta zoner, kr\u00f6kningsbegr\u00e4nsningar, kantavst\u00e5nd, skydd mot skav, redundans).\r\n- Inkludera ett steg f\u00f6r scan-verifiering och ett fallback-uppl\u00e4gg f\u00f6r l\u00e4sbar ID f\u00f6r m\u00e4nniska.\r\n\r\n### 7) Packprocedur & kvalitetsgrindar\r\n- Skriv en repeterbar pack-SOP med verktygslista, stegordning, foton\/diagram beskrivna i text och takt-tidsm\u00e5l.\r\n- L\u00e4gg till QC-kontroller i processen och v\u00e4gledning f\u00f6r slutlig revisionsprovtagning.\r\n\r\n### 8) H\u00e5llbarhets- och kostnadsjustering\r\n- R\u00e4ttstorleksanpassa f\u00f6rpackningen, minska tomrum och f\u00f6resl\u00e5 \u00e5tervinningsbara\/f\u00f6rnybara alternativ som fortfarande uppfyller skyddsbehov.\r\n- Presentera avv\u00e4gningar (kostnad, risk f\u00f6r skaderate, materialvikt\/volym, \u00e5tervinningsbarhet).\r\n\r\n### 9) Kanalvarianter (om till\u00e4mpligt)\r\n- Redovisa skillnader f\u00f6r FBA, DTC, retail-ready och internationellt enligt \u00f6nskem\u00e5l.\r\n- Peka ut motstridiga krav och hur de l\u00f6ses (t.ex. extra etiketter vs minimalt material).\r\n\r\n### Hantering av edge cases\r\n- Om n\u00e5gon nyckelindata saknas: forts\u00e4tt med tydligt m\u00e4rkta antaganden och erbjud 2\u20133 scenariov\u00e4gar (t.ex. \u201dSk\u00f6rt glas\u201d vs \u201dT\u00e5lig plast\u201d).\r\n- Om begr\u00e4nsningar krockar (t.ex. plastfritt vs h\u00f6g fallt\u00e5lighet): f\u00f6resl\u00e5 ett \u201dbaslinje-s\u00e4kert\u201d alternativ och ett \u201dh\u00e5llbarhetslutande\u201d alternativ med kvantifierade risknoteringar.\r\n\r\n## INDATA\r\n- **Produktdetaljer (material, vikt, dimensioner):** [PRODUKTBESKRIVNING]\r\n- **Sk\u00f6rhetsrating:** [SKORHETSNIVA]\r\n- **Deklarerat v\u00e4rde \/ f\u00f6rlusttolerans:** [BUDGET]\r\n- **Transport\u00f6r(er) och serviceniv\u00e5(er):** [TRANSPORTOR]\r\n- **Typisk transittid\/str\u00e5k:** [TIDSRAM]\r\n- **Fraktavst\u00e5nd \/ geografi:** [TRANSPORTSTRACKA]\r\n- **Fulfillmentmodell(er) (FBA, DTC, 3PL, retail):** [LEVERANSMETOD]\r\n- **Skadehistorik & fel-\/haveriexempel:** [KONTEXT]\r\n- **H\u00e5llbarhetsbegr\u00e4nsningar (plastfritt, \u00e5tervinningsbart i hush\u00e5llssortering etc.):** [HALLBARHETSKRAV]\r\n- **Regulatoriska\/hanteringsbegr\u00e4nsningar (om n\u00e5gra):** [REGELKRAV]\r\n- **Streckkod\/ID-behov (GTIN finns, begr\u00e4nsningar f\u00f6r etikettstorlek etc.):** [NYCKELORD]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera ett enda dokument med f\u00f6ljande avsnitt och ifyllda placeholders:\r\n1. **Sammanfattning av f\u00f6ranalys**\r\n   - {Understanding Bullets}\r\n   - {Missing Inputs \/ Assumptions}\r\n\r\n2. **Fasplan**\r\n   - {Number Of Phases}\r\n   - {Phase Table} (Phase, Purpose, Owner, Outputs)\r\n\r\n3. **F\u00f6rpackningsarkitektur**\r\n   - {Bill Of Materials}\r\n   - {Box Style & Board Spec}\r\n   - {Internal Protection Design}\r\n   - {Critical Dimensions & Tolerances}\r\n\r\n4. **ISTA 3A-anpassad testplan**\r\n   - {Conditioning Requirements}\r\n   - {Drop Schedule}\r\n   - {Vibration Profile}\r\n   - {Compression Requirements}\r\n   - {Pass\/Fail Criteria}\r\n\r\n5. **ISO 780-hanteringsm\u00e4rkning**\r\n   - {Selected Symbols & Rationale}\r\n   - {Placement Map Description}\r\n   - {Mark Size & Durability Notes}\r\n\r\n6. **GS1-m\u00e4rkning & streckkodslayout**\r\n   - {Barcode Type Recommendation}\r\n   - {Label Content (Human + Machine Readable)}\r\n   - {Placement Rules & Protected Scan Zones}\r\n   - {Verification Procedure}\r\n\r\n7. **Pack-SOP + kvalitetsgrindar**\r\n   - {Step-By-Step Instructions}\r\n   - {In-Process Checks}\r\n   - {Final QA Checklist}\r\n   - {Common Errors & Prevention}\r\n\r\n8. **H\u00e5llbarhet-\/kostnadsoptimering**\r\n   - {Right-Sizing Actions}\r\n   - {Material Alternatives}\r\n   - {Impact Summary}\r\n\r\n9. **Kanalvarianter (om beg\u00e4rt)**\r\n   - {FBA Variant}\r\n   - {DTC Variant}\r\n   - {Retail Variant}\r\n   - {International Variant}\r\n\r\n## KVALITETSKONTROLLER\r\nAvsluta med en valideringslista som bekr\u00e4ftar:\r\n- F\u00f6rpackningsdesignen \u00e4r sp\u00e5rbar till identifierade faror och produktens felmoder.\r\n- ISTA 3A-teststegen inneh\u00e5ller m\u00e4tbara acceptanskriterier (inte vagt spr\u00e5k).\r\n- Valda ISO 780-symboler \u00e4r motiverade och har tydlig placeringsguidning.\r\n- GS1-m\u00e4rkningsguidningen t\u00e4cker scan-tillf\u00f6rlitlighet (tysta zoner, kr\u00f6kning\/kantavst\u00e5nd, redundans).\r\n- SOP:en inneh\u00e5ller minst {Number} kvalitetsgrindar och en repeterbar verifieringsmetod.";
    const variables = ["[PRODUKTBESKRIVNING]","[SKORHETSNIVA]","[BUDGET]","[TRANSPORTOR]","[TIDSRAM]","[TRANSPORTSTRACKA]","[LEVERANSMETOD]","[KONTEXT]","[HALLBARHETSKRAV]","[REGELKRAV]","[NYCKELORD]"];
    // 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>Beskriv produkten som en felanalytiker, inte som en marknadsförare.</strong> Ta med vikt, mått, eventuella egenheter kring tyngdpunkt och den del som alltid går sönder först. Till exempel: ”1,2 kg, 18 × 12 × 9 cm, glasampull i plastvagga; ampullhalsen går av vid sidostöt.” Det ger avsevärt bättre testlogik i ISTA 3A-stil.</li>


<li><strong>Beskriv fraktresan och fulfillment-modellen i ett kompakt block.</strong> Lägg till ursprungs-/destinationszoner, typisk sträcklängd och om du kör DTC, FBA/3PL eller retail/DC. Uppföljningsprompt som du kan klistra in efter första resultatet: ”Skriv om planen för (a) DTC med enstaka paket via UPS Ground och (b) 3PL pick/pack med zone skipping; behåll acceptanskriterierna jämförbara.”</li>


<li><strong>Ange begränsningar som brukar ignoreras.</strong> Nämn hållbarhetskrav (plastfritt, återvinningsbart via fastighetsnära insamling), kostnadstak och eventuella regler från transportören som du redan känner till. Om du inte har exakta gränser, var ärlig: be modellen ta fram två alternativ, som ”lägst skaderisk” och ”bästa balans under 0,80 USD/enhet i förpackningskostnad”.</li>


<li><strong>Iterera på acceptanskriterierna, inte bara materialen.</strong> Efter första versionen, fråga: ”Skärp acceptanskriterierna för kosmetikakrav på utseende; underkänn repor över 5 mm och etikettskador som minskar skanningspålitligheten.” Be sedan om motsatsen för en tåligare och billigare spec: ”Lätta på kosmetiska kriterier men behåll funktionell prestanda.”</li>


<li><strong>Tvinga etikettrekommendationer att inkludera placering och verifiering.</strong> GS1-vägledning är bara värdefull när den blir en vana vid packstationen. Prova: ”Lägg till ett verifieringssteg i packlinan: hur man bekräftar att streckkoden går att skanna, var den ska placeras på ytterkartongen och vad man gör när kartongens skarv stör.” Ärligt talat är det här som de flesta ”etikettfixar” misslyckas i riktiga lager.</li>

</ul>

</div>

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

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



<p>När du väl har dokumenterat en förpackningsplaybook hjälper de här prompterna dig att kommunicera den internt, dokumentera utrullningssteg och hålla förbättringar i fas.</p>



<p>Om du också behöver ett repeterbart sätt att skriva interna dokument kring dina nya standarder, passar <a href="https://nodenordic.se/prompts/skriv-seo-bloggartiklar-med-denna-ai-prompt">Skriv seo-bloggartiklar med denna ai-prompt</a> bra för artiklar i ”SOP-stil”. Använd den för att göra playbooken till träningsvänliga sidor som ”Så applicerar du ISO 780-symboler” eller ”Packchecklista för ömtåliga SKU:er”, och dela dem med lager och 3PL-partners.</p>



<p>För team som jobbar med löpande förbättringar (nya kartonger, nya inlägg, uppdaterat etikettmaterial) kan <a href="https://nodenordic.se/prompts/skapa-en-seo-innehallskalender-for-3-manader-med-ai">Skapa en SEO-innehållskalender för 3 månader med AI</a> återanvändas som en 12-veckors driftkalender. Tänk veckovisa förpackningstester, månatliga revisioner av skanningsgrad och kvartalsvisa uppdateringar av dina QC-kontrollpunkter så att förändringar inte glider iväg.</p>



<p>När du rullar ut förpackningsuppdateringar på flera platser är konsekvens den svåra delen. <a href="https://nodenordic.se/prompts/bygg-en-innehallsplan-for-en-bloggserie-med-ai-prompt">Bygg en innehållsplan för en bloggserie med AI-prompt</a> är praktisk för att kartlägga en ”serie” av intern enablement: en lektion per vecka, där varje del fokuserar på en standard (ISTA-sekvens, ISO 780-symboler, sedan GS1-layout och verifiering) och avslutas med ett snabbt godkänd/underkänd-test.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skriv-seo-bloggartiklar-med-denna-ai-prompt">Skriv seo-bloggartiklar med denna ai-prompt</a>: Gör playbooks till tydliga SOP-artiklar.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-seo-innehallskalender-for-3-manader-med-ai">Skapa en SEO-innehållskalender för 3 månader med AI</a>: Planera revisioner, tester och uppdateringar vecka för vecka.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-innehallsplan-for-en-bloggserie-med-ai-prompt">Bygg en innehållsplan för en bloggserie med AI-prompt</a>: Strukturera utbildningsmoduler för utrullning.</li>

<li><a href="https://nodenordic.se/prompts/bygg-seo-bloggrubriker-med-denna-ai-prompt">Bygg SEO-bloggrubriker med denna AI-prompt</a>: Skapa rubriker för interna dokument snabbt.</li>

<li><a href="https://nodenordic.se/prompts/skapa-en-kalender-for-lokal-seo-uppdatering">Skapa en kalender för lokal SEO-uppdatering</a>: Schemalägg regelbundna cykler för processuppdateringar.</li>
<!-- /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 en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Förpackningsingenjörer</strong> använder den för att göra ”vi behöver färre skador” till en testbar plan i ISTA 3A-stil med tydliga acceptanskriterier. <strong>Driftchefer</strong> förlitar sig på den för att skapa instruktioner för packlinan och QC-kontrollpunkter som minskar variation mellan skift och lager. <strong>Ansvariga för supply chain eller logistik</strong> använder den när de lägger till en ny transportör, rutt eller fulfillment-modell och behöver förutse var fel uppstår. <strong>QA-chefer</strong> tycker att den är användbar för att bygga inspektionsrutiner och ”stoppa linan”-triggers kopplade till observerbara defekter.</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 en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-handelsföretag inom konsumentvaror</strong> använder den för ömtåliga till måttligt ömtåliga produkter (glas, keramik, personal care) där returer är frekventa och recensioner nämner skador. <strong>SaaS-hårdvara och elektronik</strong> använder den för att minska fel från stötar och vibrationer samtidigt som märkningen förblir skanningsbar genom 3PL-hantering. <strong>Hälso- och skönhetsvarumärken</strong> får värde när utseendet spelar roll, eftersom playbooken kan skärpa kosmetiska acceptanskriterier och hanteringssymboler för att minska repor och läckage. <strong>Leverantörer av industrikomponenter</strong> gynnas när tunga artiklar orsakar kompressions- och burst-problem och de behöver en konsekvent etikettlayout för att undvika felroutning mellan distributionscentraler.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att bygga en packaging compliance playbook svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv en förpackningsplan för att skicka min produkt” misslyckas eftersom den: saknar sekvenslogiken i ISTA 3A och mätbara acceptanskriterier som krävs för att validera prestanda, inte ger någon strukturerad metod för att koppla felmoder till paketresan, ignorerar val och placeringsdetaljer för ISO 780-symboler som lagerteam kan följa, producerar generella materialförslag i stället för mått/toleranser/kontrollpunkter och missar praxis för GS1-etikettlayout som förhindrar felroutning och skanningsfel. Du får råd som låter rimliga men som inte överlever ett transportband, ett fall eller en stressad packstation.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för en packaging compliance playbook till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Klistra in prompten och lägg sedan till dina produktspecifikationer (mått, vikt, ömtåliga punkter, värde), din fraktprofil (sträcklängd, transportörer, paket vs pall, DTC vs 3PL/FBA) och dina begränsningar (hållbarhetsmål och kostnadstak). Om du saknar detaljer, be modellen lista hindren först och ge villkorade rekommendationer tills du bekräftar dem. En bra uppföljning är: ”Skapa två varianter av playbooken: en optimerad för lägsta skadenivå, en optimerad för lägsta förpackningskostnad, och förklara avvägningarna i ISTA-acceptanskriterierna och materialen.”</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 en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna produktbeskrivningen för vag — i stället för ”ömtålig hudvårdsflaska”, skriv ”120 ml glasflaska med pump; total packad vikt 0,65 kg; pumpkragen spricker vid kompression från topplast.” Ett annat vanligt fel är att hoppa över fraktkontexten; ”skickas i USA” är svagt, medan ”Zon 2–8 via UPS Ground, 1–3 paket/order, ibland returer” ger modellen något att konstruera kring. Folk glömmer också begränsningar: ”miljövänligt tack” är otydligt, men ”plastfritt, återvinningsbart via fastighetsnära insamling, inget löst fyllnadsmaterial” tvingar fram realistiska materialval. Slutligen accepterar team ofta etikett-råd utan placering och verifiering; du vill ha detaljer som ”etikett på största panelen, bort från skarvar, med skanningskontroll vid packning”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tull/juridiska compliance-beslut, eftersom den uttryckligen undviker att ge regulatoriska bedömningar. Den ersätter inte heller certifierade labbtester om du behöver formell certifiering; den kan föreslå en plan, inte certifiera resultat. Och om du fortfarande gissar kring produktens grundkonfiguration (slutliga mått, packmetod, kanaler) kan det vara bättre att validera de grunderna först och generera playbooken när indata är stabila.</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 en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Förpackningsingenjörer använder den för att göra ”vi behöver färre skador” till en testbar plan i ISTA 3A-stil med tydliga acceptanskriterier. Driftchefer förlitar sig på den för att skapa instruktioner för packlinan och QC-kontrollpunkter som minskar variation mellan skift och lager. Ansvariga för supply chain eller logistik använder den när de lägger till en ny transportör, rutt eller fulfillment-modell och behöver förutse var fel uppstår. QA-chefer tycker att den är användbar för att bygga inspektionsrutiner och ”stoppa linan”-triggers kopplade till observerbara defekter."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handelsföretag inom konsumentvaror använder den för ömtåliga till måttligt ömtåliga produkter (glas, keramik, personal care) där returer är frekventa och recensioner nämner skador. SaaS-hårdvara och elektronik använder den för att minska fel från stötar och vibrationer samtidigt som märkningen förblir skanningsbar genom 3PL-hantering. Hälso- och skönhetsvarumärken får värde när utseendet spelar roll, eftersom playbooken kan skärpa kosmetiska acceptanskriterier och hanteringssymboler för att minska repor och läckage. Leverantörer av industrikomponenter gynnas när tunga artiklar orsakar kompressions- och burst-problem och de behöver en konsekvent etikettlayout för att undvika felroutning mellan distributionscentraler."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att bygga en packaging compliance playbook svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en förpackningsplan för att skicka min produkt” misslyckas eftersom den: saknar sekvenslogiken i ISTA 3A och mätbara acceptanskriterier som krävs för att validera prestanda, inte ger någon strukturerad metod för att koppla felmoder till paketresan, ignorerar val och placeringsdetaljer för ISO 780-symboler som lagerteam kan följa, producerar generella materialförslag i stället för mått/toleranser/kontrollpunkter och missar praxis för GS1-etikettlayout som förhindrar felroutning och skanningsfel. Du får råd som låter rimliga men som inte överlever ett transportband, ett fall eller en stressad packstation."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en packaging compliance playbook till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Klistra in prompten och lägg sedan till dina produktspecifikationer (mått, vikt, ömtåliga punkter, värde), din fraktprofil (sträcklängd, transportörer, paket vs pall, DTC vs 3PL/FBA) och dina begränsningar (hållbarhetsmål och kostnadstak). Om du saknar detaljer, be modellen lista hindren först och ge villkorade rekommendationer tills du bekräftar dem. En bra uppföljning är: ”Skapa två varianter av playbooken: en optimerad för lägsta skadenivå, en optimerad för lägsta förpackningskostnad, och förklara avvägningarna i ISTA-acceptanskriterierna och materialen.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna produktbeskrivningen för vag — i stället för ”ömtålig hudvårdsflaska”, skriv ”120 ml glasflaska med pump; total packad vikt 0,65 kg; pumpkragen spricker vid kompression från topplast.” Ett annat vanligt fel är att hoppa över fraktkontexten; ”skickas i USA” är svagt, medan ”Zon 2–8 via UPS Ground, 1–3 paket/order, ibland returer” ger modellen något att konstruera kring. Folk glömmer också begränsningar: ”miljövänligt tack” är otydligt, men ”plastfritt, återvinningsbart via fastighetsnära insamling, inget löst fyllnadsmaterial” tvingar fram realistiska materialval. Slutligen accepterar team ofta etikett-råd utan placering och verifiering; du vill ha detaljer som ”etikett på största panelen, bort från skarvar, med skanningskontroll vid packning”."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tull/juridiska compliance-beslut, eftersom den uttryckligen undviker att ge regulatoriska bedömningar. Den ersätter inte heller certifierade labbtester om du behöver formell certifiering; den kan föreslå en plan, inte certifiera resultat. Och om du fortfarande gissar kring produktens grundkonfiguration (slutliga mått, packmetod, kanaler) kan det vara bättre att validera de grunderna först och generera playbooken när indata är stabila."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Förpackningsfel är förutsägbara när du kartlägger resan och driver igenom en standard. Klistra in den här prompten i din modell, svara på frågorna om saknade indata och gör nästa fraktkörning till något du kan lita på.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/">Bygg en playbook för förpackningsefterlevnad</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 lärplanstabell för SEO-teamet</title>
		<link>https://nodenordic.se/prompts/skapa-en-larplanstabell-for-seo-teamet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-larplanstabell-for-seo-teamet</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:11 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002246</guid>

					<description><![CDATA[<p>SEO-utbildning blir lätt spretig. En beprövad AI-prompt som bygger en tabell för grunderna med ansvariga och mätbara mål.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-larplanstabell-for-seo-teamet/">Skapa en lärplanstabell för SEO-teamet</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: SEO team learning plan -->
<div class="hook-introduction">

<p>SEO-utbildning tenderar att bli en rörig mix av bokmärken, halvtittade videor och ”vi tar det senare”. Folk vill lära sig, men ingen äger modulerna och det går inte att mäta framsteg. Resultatet är förutsägbart: ojämn leverans och ständigt omarbete.</p>



<p>Den här <strong>lärplanen för SEO-team</strong> är byggd för <strong>marknadschefer</strong> som behöver en strukturerad kompetenshöjningsplan utan att göra det till ett projekt som tar ett helt kvartal, <strong>SEO-ansvariga</strong> som måste standardisera grunderna för både skribenter och webbteam, och <strong>L&amp;D-partners</strong> som får uppdraget att ”utbilda teamet i SEO” men behöver en företagsanpassad struktur. Resultatet är en enda tabell som går att följa, som bryter ned SEO-grunder i 6–9 moduler, tilldelar en tydlig ansvarig per modul och listar mätbara lärandemål (3–5 per modul).</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 väljer 6–9 praktiska delområden inom SEO-grunder som täcker hela basnivån (research, on-page, tekniskt, innehåll, auktoritet, mätning).</li>
          <li>Den tilldelar en tydlig ansvarig för varje delområde baserat på din teamlista, eller rimliga platshållare om du inte anger namn.</li>
          <li>Den skriver 3–5 mätbara, färdighetsbaserade lärandemål per delområde med handlingsverb (till exempel: ”granska”, ”tolka”, ”prioritera” och ”konfigurera”).</li>
          <li>Den gör en kort föranalys som återger din beställning och flaggar eventuella antaganden så att planen fungerar i en företagsmiljö.</li>
          <li>Den levererar hela planen som en strukturerad tabell med fasta kolumner: delområde, tilldelad teammedlem och lärandemål.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Teamets SEO-förmåga är ojämn och leveranskvaliteten beror på vem som senast rörde arbetet.</li>
          <li>Du onboardar nya marknadsförare eller skribenter och behöver en gemensam basnivå i ”SEO-grunder” snabbt, utan att bygga en hel kurs.</li>
          <li>Ledningen vill se bevis på kompetenshöjning (ansvariga och resultat), inte bara ”vi hade utbildning förra månaden”.</li>
          <li>Ni är tvärfunktionella med webb/utveckling och innehåll, och bristande samsyn om grunderna bromsar publicering och åtgärder.</li>
          <li>Du vill ha en modulär plan som kan köras i korta pass och följas upp, och sedan upprepas för nyanställda.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En lärplantabell med 6–9 rader och en modulansvarig per rad.</li>
           <li>Tre till fem lärandemål per modul, formulerade som konkreta färdigheter som teamet kan demonstrera.</li>
           <li>Ett ramverk som är klart att klistra in i ett dokument, en wiki eller en LMS-intake-notering (eftersom det är en enda tabell).</li>
           <li>Tydligt flaggade antaganden när indata saknas, till exempel platshållaransvariga som {Team Member 1}.</li>
           <li>En strukturerad checklistevy som gör det enklare att följa upp genomförande och upptäcka luckor mellan moduler.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: tabell för lärplan i SEO-grunder</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>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Detta visar formateringsstilen för användarinmatning, där variabler skrivs med versaler och där ord separeras med understreck.                                    <div class="var-example">Till exempel: "[TEAMMEDLEMMAR]"</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>[FORETAGSNAMN]</code></td>
                                <td class="var-desc">
                                    Ange namnet på företaget som läranderamverket ska tas fram för.                                    <div class="var-example">Till exempel: "Acme AB"</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>[AMNE]</code></td>
                                <td class="var-desc">
                                    Specificera huvudämnet eller temat för utbildningsprogrammet som ska skapas.                                    <div class="var-example">Till exempel: "Grunderna i SEO"</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 den primära målgruppen för utbildningen, inklusive roller, erfarenhetsnivåer eller andra relevanta kännetecken.                                    <div class="var-example">Till exempel: "Marknadschefer och innehållsskapare med begränsad erfarenhet av SEO."</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>[TEAMMEDLEMMAR]</code></td>
                                <td class="var-desc">
                                    Ange en kommaseparerad lista med namn eller roller på teammedlemmar som ska tilldelas specifika delområden i utbildningsramverket.                                    <div class="var-example">Till exempel: "John Doe, Jane Smith, SEO-specialist, content manager"</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TEAMMEDLEMMAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange längd eller deadline för att genomföra utbildningsprogrammet, om relevant.                                    <div class="var-example">Till exempel: "4 veckor"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange relevant bakgrundsinformation eller eventuella begränsningar som bör beaktas när utbildningsramverket utformas.                                    <div class="var-example">Till exempel: "Utbildningen måste genomföras på distans och bör fokusera på praktiska färdigheter snarare än teori."</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 class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är (avgrä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></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></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">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></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 företagsanpassad lärplan som lär ut **grunderna i SEO** genom att dela upp ämnet i praktiska moduler, tilldela en ansvarig för varje modul och ange mätbara lärandemål—levererat som en ren tabell som teamet kan följa.

## PERSONA
Du är en senior **L&amp;D-arkitekt i företagsmiljö** med djup SEO-kunskap. Din stil är strukturerad, pragmatisk och anpassad för upptagna yrkespersoner (tydliga resultat, minimalt fluff, handlingsinriktade formuleringar).

## BEGRÄNSNINGAR
- Leverera resultatet som **en tabell** med exakt dessa kolumner:
  - Delområde
  - Tilldelad teammedlem
  - Lärandemål
- Varje delområde måste ha **en tydligt angiven ansvarig** (en persons namn eller roll från den angivna listan).
- Lärandemål måste vara **specifika och färdighetsbaserade**, inte vaga (använd handlingsverb som ”konfigurera”, ”granska”, ”tolka”, ”prioritera”).
- Om information saknas (t.ex. ingen teamlista), använd rimliga **tillfälliga platshållare** och markera vad du antog.
- Följ reglerna för variabelformatering:
  - Användarinmatning använder **[VERSALER_MED_UNDERSCORE]**
  - AI-ifyllda platshållare använder **{Title Case}**

### Vad detta INTE är (avgränsningar)
- Inte en SEO-strategi, granskning eller keyword-lista för företaget.
- Inte ett fullständigt lektionsmanus, bildspel eller certifieringsprov.
- Inte juridisk-/compliance-vägledning för marknadsföringspåståenden eller dataskydd.

## PROCESS
1. **Föranalys (krävs):** Återge kort din förståelse av vad användaren vill ha och nämn eventuella antaganden som behövs.
2. Välj **6–9 delområden inom SEO-grunderna** som tillsammans täcker det väsentliga (t.ex. research, on-page, tekniskt, content, auktoritet, mätning).
3. Mappa **en ansvarig** till varje delområde med hjälp av de angivna teammedlemmarna; om inga anges, tilldela platshållare som {Team Member 1}, {Team Member 2}.
4. Skriv **3–5 lärandemål per delområde** som beskriver vad den ansvarige (och deltagarna) ska kunna göra efter utbildningen.
5. Presentera den slutliga strukturen enligt leveransformatet nedan.
6. Avsluta med avsnittet **Kvalitetskontroller**.

## INPUTS
- **Företagsnamn:** [FORETAGSNAMN]
- **Ämne:** [AMNE]
- **Primär målgrupp (vem utbildningen är för):** [MALGRUPP]
- **Lista över teammedlemmar (namn eller roller, kommaseparerat):** [TEAMMEDLEMMAR]
- **Tidsram (valfritt):** [TIDSRAM]
- **Kontext eller begränsningar (valfritt):** [KONTEXT]

## OUTPUTSPECIFIKATION
- Titel: **{Framework Title}** formaterad som: “{Topic} Learning Framework for [FORETAGSNAMN]”
- Tillhandahåll sedan en enda markdown-tabell:

| Delområde | Tilldelad teammedlem | Lärandemål |
|---|---|---|
| {Subtopic} | {Owner} | - {Objective 1}&lt;br&gt;- {Objective 2}&lt;br&gt;- {Objective 3} |

**Exempel på radmönster (skriv om vid behov; kopiera inte ordagrant):**
- Delområde: “Search Intent &amp; Keyword Discovery” → mål som “Skilj på navigations- vs transaktionsintention”, “Använd ett keyword-verktyg för att bygga en prioriterad lista”, “Mappa termer till sidor.”
- Delområde: “Technical Foundations” → mål som “Förklara crawling/indexing”, “Kör en grundläggande site health check”, “Identifiera vanliga problem (redirects, canonicals, robots).”

## KVALITETSKONTROLLER
I slutet, inkludera en kort checklista som bekräftar:
- Alla delområden har en tilldelad ansvarig från [TEAMMEDLEMMAR] (eller tydligt markerade platshållare).
- Varje delområde innehåller 3–5 handlingsbaserade lärandemål.
- Delområdena spänner sammantaget över research, on-page, tekniskt, auktoritet och mätning.
- Output är en enda läsbar tabell med konsekvent formatering.
- Eventuella saknade/otydliga indata hanterades med angivna antaganden.            </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 f\u00f6retagsanpassad l\u00e4rplan som l\u00e4r ut **grunderna i SEO** genom att dela upp \u00e4mnet i praktiska moduler, tilldela en ansvarig f\u00f6r varje modul och ange m\u00e4tbara l\u00e4randem\u00e5l\u2014levererat som en ren tabell som teamet kan f\u00f6lja.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior **L&D-arkitekt i f\u00f6retagsmilj\u00f6** med djup SEO-kunskap. Din stil \u00e4r strukturerad, pragmatisk och anpassad f\u00f6r upptagna yrkespersoner (tydliga resultat, minimalt fluff, handlingsinriktade formuleringar).\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Leverera resultatet som **en tabell** med exakt dessa kolumner:\r\n  - Delomr\u00e5de\r\n  - Tilldelad teammedlem\r\n  - L\u00e4randem\u00e5l\r\n- Varje delomr\u00e5de m\u00e5ste ha **en tydligt angiven ansvarig** (en persons namn eller roll fr\u00e5n den angivna listan).\r\n- L\u00e4randem\u00e5l m\u00e5ste vara **specifika och f\u00e4rdighetsbaserade**, inte vaga (anv\u00e4nd handlingsverb som \u201dkonfigurera\u201d, \u201dgranska\u201d, \u201dtolka\u201d, \u201dprioritera\u201d).\r\n- Om information saknas (t.ex. ingen teamlista), anv\u00e4nd rimliga **tillf\u00e4lliga platsh\u00e5llare** och markera vad du antog.\r\n- F\u00f6lj reglerna f\u00f6r variabelformatering:\r\n  - Anv\u00e4ndarinmatning anv\u00e4nder **[VERSALER_MED_UNDERSCORE]**\r\n  - AI-ifyllda platsh\u00e5llare anv\u00e4nder **{Title Case}**\r\n\r\n### Vad detta INTE \u00e4r (avgr\u00e4nsningar)\r\n- Inte en SEO-strategi, granskning eller keyword-lista f\u00f6r f\u00f6retaget.\r\n- Inte ett fullst\u00e4ndigt lektionsmanus, bildspel eller certifieringsprov.\r\n- Inte juridisk-\/compliance-v\u00e4gledning f\u00f6r marknadsf\u00f6ringsp\u00e5st\u00e5enden eller dataskydd.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (kr\u00e4vs):** \u00c5terge kort din f\u00f6rst\u00e5else av vad anv\u00e4ndaren vill ha och n\u00e4mn eventuella antaganden som beh\u00f6vs.\r\n2. V\u00e4lj **6\u20139 delomr\u00e5den inom SEO-grunderna** som tillsammans t\u00e4cker det v\u00e4sentliga (t.ex. research, on-page, tekniskt, content, auktoritet, m\u00e4tning).\r\n3. Mappa **en ansvarig** till varje delomr\u00e5de med hj\u00e4lp av de angivna teammedlemmarna; om inga anges, tilldela platsh\u00e5llare som {Team Member 1}, {Team Member 2}.\r\n4. Skriv **3\u20135 l\u00e4randem\u00e5l per delomr\u00e5de** som beskriver vad den ansvarige (och deltagarna) ska kunna g\u00f6ra efter utbildningen.\r\n5. Presentera den slutliga strukturen enligt leveransformatet nedan.\r\n6. Avsluta med avsnittet **Kvalitetskontroller**.\r\n\r\n## INPUTS\r\n- **F\u00f6retagsnamn:** [FORETAGSNAMN]\r\n- **\u00c4mne:** [AMNE]\r\n- **Prim\u00e4r m\u00e5lgrupp (vem utbildningen \u00e4r f\u00f6r):** [MALGRUPP]\r\n- **Lista \u00f6ver teammedlemmar (namn eller roller, kommaseparerat):** [TEAMMEDLEMMAR]\r\n- **Tidsram (valfritt):** [TIDSRAM]\r\n- **Kontext eller begr\u00e4nsningar (valfritt):** [KONTEXT]\r\n\r\n## OUTPUTSPECIFIKATION\r\n- Titel: **{Framework Title}** formaterad som: \u201c{Topic} Learning Framework for [FORETAGSNAMN]\u201d\r\n- Tillhandah\u00e5ll sedan en enda markdown-tabell:\r\n\r\n| Delomr\u00e5de | Tilldelad teammedlem | L\u00e4randem\u00e5l |\r\n|---|---|---|\r\n| {Subtopic} | {Owner} | - {Objective 1}<br>- {Objective 2}<br>- {Objective 3} |\r\n\r\n**Exempel p\u00e5 radm\u00f6nster (skriv om vid behov; kopiera inte ordagrant):**\r\n- Delomr\u00e5de: \u201cSearch Intent & Keyword Discovery\u201d \u2192 m\u00e5l som \u201cSkilj p\u00e5 navigations- vs transaktionsintention\u201d, \u201cAnv\u00e4nd ett keyword-verktyg f\u00f6r att bygga en prioriterad lista\u201d, \u201cMappa termer till sidor.\u201d\r\n- Delomr\u00e5de: \u201cTechnical Foundations\u201d \u2192 m\u00e5l som \u201cF\u00f6rklara crawling\/indexing\u201d, \u201cK\u00f6r en grundl\u00e4ggande site health check\u201d, \u201cIdentifiera vanliga problem (redirects, canonicals, robots).\u201d\r\n\r\n## KVALITETSKONTROLLER\r\nI slutet, inkludera en kort checklista som bekr\u00e4ftar:\r\n- Alla delomr\u00e5den har en tilldelad ansvarig fr\u00e5n [TEAMMEDLEMMAR] (eller tydligt markerade platsh\u00e5llare).\r\n- Varje delomr\u00e5de inneh\u00e5ller 3\u20135 handlingsbaserade l\u00e4randem\u00e5l.\r\n- Delomr\u00e5dena sp\u00e4nner sammantaget \u00f6ver research, on-page, tekniskt, auktoritet och m\u00e4tning.\r\n- Output \u00e4r en enda l\u00e4sbar tabell med konsekvent formatering.\r\n- Eventuella saknade\/otydliga indata hanterades med angivna antaganden.";
    const variables = ["[VERSALER_MED_UNDERSCORE]","[FORETAGSNAMN]","[AMNE]","[MALGRUPP]","[TEAMMEDLEMMAR]","[TIDSRAM]","[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 med AI-prompten</h2>



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

<li><strong>Ange en riktig teamlista (med roller), inte bara namn.</strong> Om du klistrar in ”Ava, Ben, Chris” kan prompten tilldela ansvariga, men den får gissa vem som passar. Ge lite kontext som ”Ava (innehållsansvarig), Ben (webbprojektledare), Chris (analytiker)” så att tekniska och mätmoduler hamnar hos rätt personer.</li>


<li><strong>Be om objektiva ”bevis”-artefakter i lärandemålen.</strong> Efter första resultatet, följ upp med: ”Skriv om lärandemålen så att varje mål innehåller en observerbar leverans (exempel: ’genomför en on-page-granskning av 3 sidor och dokumentera åtgärder i ett kalkylark’).” Det gör utbildningen till arbete du faktiskt kan granska.</li>


<li><strong>Håll modulerna avgränsade till grunderna.</strong> Ärligt talat spårar team ur så fort ”SEO-utbildning” blir ”bygg om vår innehållsstrategi”. Om tabellen börjar glida, svara: ”Håll varje delområde inom SEO-grunder; ta bort strategi och håll det färdighetsfokuserat (verktyg, granskningar, tolkning, prioritering).”</li>


<li><strong>Tvinga fram en svårighetsnivå som passar målgruppen.</strong> Kör en andra iteration: ”Gör målen nybörjarvänliga för ett team med generalistmarknadsförare; undvik jargong, men behåll mätbara resultat.” Gör sedan vid behov en tredje version för specialister: ”Skapa nu en avancerad version endast för den tekniska SEO-ansvariga.”</li>


<li><strong>Gör tabellen till en leveranskadens.</strong> Prompten levererar en tabell, så lägg till en uppföljning som gör den körbar: ”Lägg till en rekommenderad ordning och tidsbox per modul (60–90 minuter per modul) och ange beroenden mellan moduler.” Då får du en praktisk utrullningsplan utan att be om en hel kurs.</li>

</ul>

</div>

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

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



<p>När teamet kan genomföra grunderna hjälper de här promptarna dig att operationalisera närliggande marknadsarbetsflöden som fortfarande behöver tydlig struktur och mätbara leveranser.</p>



<p>Om du också behöver repeterbart stöd för influencer-innehåll är <a href="https://nodenordic.se/prompts/skapa-hashtag-set-for-influencers-med-ai-prompt">Skapa hashtag-set för influencers med AI-prompt</a> användbar när lärplanen är igång och du vill att juniora marknadsförare ska kunna leverera konsekvent arbete för social discovery. Den passar bra eftersom den skapar en tydlig leverans som du kan kvalitetssäkra, på samma sätt som lärplantabellen skapar ansvarstagande moduler.</p>



<p>För team som jobbar med partner- och influencer-idégenerering hjälper <a href="https://nodenordic.se/prompts/skapa-influencer-samarbeten-med-denna-ai-prompt">Skapa influencer-samarbeten med denna AI-prompt</a> när folk förstår grundläggande marknadsmätning och kan utvärdera idéer med färre beslut baserade på ”känsla”. Använd den när du vill ha kampanjkoncept som är tillräckligt strukturerade för att briefa och fördela.</p>



<p>När du behöver samla in strukturerad input från kreatörer (eller till och med interna intressenter) innan du bygger en plan är <a href="https://nodenordic.se/prompts/skapa-en-influencer-enkatplan-med-ai-prompt">Skapa en influencer-enkätplan med AI-prompt</a> ett praktiskt nästa steg. Enkäter och lärplaner har samma utmaning: otydliga frågor ger svar som inte går att använda, så en blueprint minskar fram och tillbaka.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-hashtag-set-for-influencers-med-ai-prompt">Skapa hashtag-set för influencers med AI-prompt</a>: Bygg konsekventa hashtag-uppsättningar för inlägg.</li>


<li><a href="https://nodenordic.se/prompts/skapa-influencer-samarbeten-med-denna-ai-prompt">Skapa influencer-samarbeten med denna AI-prompt</a>: Generera strukturerade koncept för samarbeteskampanjer.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-influencer-enkatplan-med-ai-prompt">Skapa en influencer-enkätplan med AI-prompt</a>: Skissa enkäter som samlar in handlingsbara underlag.</li>


<li><a href="https://nodenordic.se/prompts/skapa-roi-rapporter-for-influencers-med-denna-ai-prompt">Skapa ROI-rapporter för influencers med denna AI-prompt</a>: Sammanfatta resultat till beslutsunderlag.</li>


<li><a href="https://nodenordic.se/prompts/skapa-listor-med-lokala-influencers-med-ai-prompt">Skapa listor med lokala influencers med AI-prompt</a>: Skapa kortlistor med kriterier som fokuserar på matchning.</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 lärplan i SEO-team?</span>

<p class="answer"><strong>Marknadschefer</strong> använder den för att göra ”vi borde lära oss SEO” till en ägd plan med tydliga resultat som går att rapportera. <strong>SEO-specialister eller SEO-ansvariga</strong> använder den för att standardisera grunderna inom innehåll, webb och analys, så att genomförandet inte längre hänger på tyst kunskap. <strong>L&amp;D-chefer</strong> uppskattar den eftersom resultatet är företagsanpassat: moduler, ansvariga och mätbara mål i en tabell. <strong>Innehållsansvariga</strong> använder den för att minska onödiga omskrivningar genom att säkerställa att skribenter kan on-page-grunder och mätförväntningar.</p>

</div>

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

<p class="answer"><strong>SaaS-bolag</strong> får värde eftersom flera team påverkar webbplatsen (produktmarknadsföring, demand gen, webb), och samsyn kring SEO-grunder förhindrar att det tekniska och innehållet driver isär. <strong>E-handelsvarumärken</strong> använder den för att utbilda team i grunderna för kategori- och produktsidor, hygien för internlänkning och mätning så att sortiment/merchandising och innehåll drar åt samma håll. <strong>Konsult- och tjänsteföretag</strong> får nytta när partners och marknadsförare behöver en gemensam basnivå för lokala/tjänstesidor och spårning av leadkvalitet, utan att göra det till en strategiomläggning. <strong>Media- och publiceringsteam</strong> använder den för att onboarda skribenter snabbt och hålla redaktionella SEO-arbetssätt konsekventa mellan sektioner och redaktörer.</p>

</div>

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

<p class="answer">En typisk prompt som ”Skriv en SEO-utbildningsplan för mitt företag” misslyckas eftersom den: saknar en tydlig ansvarig per modul, så inget drivs till avslut; saknar fast struktur (den här prompten tvingar fram en tabell med definierade kolumner); ignorerar behovet av mätbara, färdighetsbaserade mål och faller tillbaka på vaga mål som ”förstå SEO”; skapar generiska ämneslistor i stället för 3–5 resultat med handlingsverb per delområde; och hoppar över föranalys, vilket gör att antaganden förblir dolda och planen blir svår att lita på i en företagsmiljö.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här lärplansprompten för SEO-team till min specifika situation?</span>

<p class="answer">Ja. Prompten är byggd för att ta emot dina indata via fält i hakparenteser som [TEAM_MEMBERS] och den kontext du lägger till om målgrupp, verktyg och begränsningar (om du inte delar något använder den platshållare och flaggar antaganden). För att anpassa den: klistra in din riktiga teamlista, specificera målgruppsprofilen (till exempel ”endast skribenter” vs ”tvärfunktionellt marknad + webb”) och ange er stack (GA4, GSC, Screaming Frog, Shopify, Webflow). En bra uppföljning är: ”Revidera tabellen för vår kontext: [TEAM_MEMBERS], primär sajttyp [SITE_TYPE] och verktyg [TOOLS]; behåll 6–9 delområden och gör målen observerbara.”</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 lärplan i SEO-team?</span>

<p class="answer">Det största misstaget är att lämna [TEAM_MEMBERS] för otydligt — i stället för ”marknadsteamet”, skriv ”Ava (innehållsansvarig), Ben (webbprojektledare), Chris (marknadsanalytiker), Dana (SEO-specialist).” Ett annat vanligt fel är att inte ange målgruppsnivå, vilket ger mål som inte matchar; ”blandade nivåer” är svagare än ”nybörjarmarknadsförare som publicerar 4 bloggar/vecka”. Många glömmer också att dela verktygsbegränsningar, så målen hänvisar till fel arbetssätt; ”använd analytics” är vagt jämfört med ”tolka GA4-rapporter för landningssidor och validera i Search Console”. Till sist ber team den göra strategi; håll omfånget till grunder och be om mätbara färdigheter, inte en full SEO-roadmap.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för lärplan i SEO-team?</span>

<p class="answer">Den här prompten är inte optimal för team som söker en komplett SEO-strategi, en sökordsplan eller en granskning av webbplatsen, eftersom den medvetet håller sig till utbildning i grunderna. Den passar heller inte bäst för engångsworkshops där ni inte tänker tilldela ansvar eller följa upp resultat, eftersom ägarskap och mätbara mål är själva poängen. Om du i stället behöver taktiska leveranser: börja med en mall för SEO-audit eller en rollspecifik SOP och kom tillbaka till den här när du är redo att operationalisera utbildningen.</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 lärplan i SEO-team?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Marknadschefer använder den för att göra ”vi borde lära oss SEO” till en ägd plan med tydliga resultat som går att rapportera. SEO-specialister eller SEO-ansvariga använder den för att standardisera grunderna inom innehåll, webb och analys, så att genomförandet inte längre hänger på tyst kunskap. L&D-chefer uppskattar den eftersom resultatet är företagsanpassat: moduler, ansvariga och mätbara mål i en tabell. Innehållsansvariga använder den för att minska onödiga omskrivningar genom att säkerställa att skribenter kan on-page-grunder och mätförväntningar."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för lärplan i SEO-team?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag får värde eftersom flera team påverkar webbplatsen (produktmarknadsföring, demand gen, webb), och samsyn kring SEO-grunder förhindrar att det tekniska och innehållet driver isär. E-handelsvarumärken använder den för att utbilda team i grunderna för kategori- och produktsidor, hygien för internlänkning och mätning så att sortiment/merchandising och innehåll drar åt samma håll. Konsult- och tjänsteföretag får nytta när partners och marknadsförare behöver en gemensam basnivå för lokala/tjänstesidor och spårning av leadkvalitet, utan att göra det till en strategiomläggning. Media- och publiceringsteam använder den för att onboarda skribenter snabbt och hålla redaktionella SEO-arbetssätt konsekventa mellan sektioner och redaktörer."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att skapa SEO-utbildningsplaner svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en SEO-utbildningsplan för mitt företag” misslyckas eftersom den: saknar en tydlig ansvarig per modul, så inget drivs till avslut; saknar fast struktur (den här prompten tvingar fram en tabell med definierade kolumner); ignorerar behovet av mätbara, färdighetsbaserade mål och faller tillbaka på vaga mål som ”förstå SEO”; skapar generiska ämneslistor i stället för 3–5 resultat med handlingsverb per delområde; och hoppar över föranalys, vilket gör att antaganden förblir dolda och planen blir svår att lita på i en företagsmiljö."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här lärplansprompten för SEO-team till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Prompten är byggd för att ta emot dina indata via fält i hakparenteser som [TEAM_MEMBERS] och den kontext du lägger till om målgrupp, verktyg och begränsningar (om du inte delar något använder den platshållare och flaggar antaganden). För att anpassa den: klistra in din riktiga teamlista, specificera målgruppsprofilen (till exempel ”endast skribenter” vs ”tvärfunktionellt marknad + webb”) och ange er stack (GA4, GSC, Screaming Frog, Shopify, Webflow). En bra uppföljning är: ”Revidera tabellen för vår kontext: [TEAM_MEMBERS], primär sajttyp [SITE_TYPE] och verktyg [TOOLS]; behåll 6–9 delområden och gör målen observerbara.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för lärplan i SEO-team?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TEAM_MEMBERS] för otydligt — i stället för ”marknadsteamet”, skriv ”Ava (innehållsansvarig), Ben (webbprojektledare), Chris (marknadsanalytiker), Dana (SEO-specialist).” Ett annat vanligt fel är att inte ange målgruppsnivå, vilket ger mål som inte matchar; ”blandade nivåer” är svagare än ”nybörjarmarknadsförare som publicerar 4 bloggar/vecka”. Många glömmer också att dela verktygsbegränsningar, så målen hänvisar till fel arbetssätt; ”använd analytics” är vagt jämfört med ”tolka GA4-rapporter för landningssidor och validera i Search Console”. Till sist ber team den göra strategi; håll omfånget till grunder och be om mätbara färdigheter, inte en full SEO-roadmap."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för lärplan i SEO-team?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för team som söker en komplett SEO-strategi, en sökordsplan eller en granskning av webbplatsen, eftersom den medvetet håller sig till utbildning i grunderna. Den passar heller inte bäst för engångsworkshops där ni inte tänker tilldela ansvar eller följa upp resultat, eftersom ägarskap och mätbara mål är själva poängen. Om du i stället behöver taktiska leveranser: börja med en mall för SEO-audit eller en rollspecifik SOP och kom tillbaka till den här när du är redo att operationalisera utbildningen."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Utbildning fungerar bara när den är ägd, mätbar och enkel att följa. Klistra in den här prompten i ditt AI-verktyg, generera tabellen och du har en plan för grunderna som teamet faktiskt kan genomföra.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-larplanstabell-for-seo-teamet/">Skapa en lärplanstabell för SEO-teamet</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 kommenterad bibliografi med 20 böcker</title>
		<link>https://nodenordic.se/prompts/bygg-en-kommenterad-bibliografi-med-20-bocker/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-kommenterad-bibliografi-med-20-bocker</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:11 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002728</guid>

					<description><![CDATA[<p>Svårt att granska nya böcker? Den här AI-prompten skapar en kommenterad bibliografi med 20 titlar, MLA-citat, effektnoter och källor.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-kommenterad-bibliografi-med-20-bocker/">Bygg en kommenterad bibliografi med 20 böcker</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: annotated bibliography prompt -->
<div class="hook-introduction">

<p>Att hitta ”nyliga och inflytelserika” böcker låter enkelt tills du faktiskt försöker. Listor är partiska, publiceringsdatum blir otydliga och du står till slut med en hög titlar som du inte kan motivera med säkerhet i en uppsats, ett förslag eller en litteraturöversikt. Värst av allt: du slösar timmar på att dubbelkolla referenser.</p>



<p>Den här <strong>prompten för annoterad bibliografi</strong> är byggd för <strong>master- och doktorandstudenter</strong> som behöver en försvarbar, uppdaterad läslista inom en specifik disciplin, <strong>forskningsansvariga</strong> som måste briefa ett team om de senaste fem årens fältformande arbeten, samt <strong>konsulter</strong> som tar fram evidensbaserade rekommendationer till kunder. Resultatet är en skannbar tabell med 20 böcker med MLA-referenser, kompakta annoteringar (tes, omfång, bidrag, signaler om mottagande), plus en konsoliderad MLA-lista över ”Källor”.</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 filtrerar bokkandidater till enbart dem som publicerats inom de senaste fem åren (relativt innevarande år).</li>
          <li>Den använder inflytandesignaler (priser, större recensioner, akademiskt genomslag, erkända förlag och påverkan på den offentliga diskursen) för att undvika slumpmässiga eller obskyra val.</li>
          <li>Den formaterar varje post med en korrekt MLA-referens för bok och håller tonen neutral och publikationsredo.</li>
          <li>Den skriver kompakta annoteringar som skiljer tes/omfång från fältspecifika bidrag och noteringar om mottagande.</li>
          <li>Den sammanställer en konsoliderad MLA-lista över källor så att du kan se var påståenden om inflytande eller mottagande kommer ifrån.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du startar en litteraturöversikt och behöver en snabb karta över de mest citerade och mest omtalade nyare böckerna inom en disciplin.</li>
          <li>Ditt team hänvisar hela tiden till äldre klassiker, och du behöver en ”senaste fem åren”-bild för att uppdatera strategi eller forskningsinriktning.</li>
          <li>Du måste motivera din läslista för en handledare, kommitté eller kund och behöver igenkännbara inflytandesignaler, inte bara sammanfattningar.</li>
          <li>Du konkurrerar om uppmärksamhet (ett anslag, en talartid, en pitch) och behöver aktuella, trovärdiga referenser för att stärka din inramning.</li>
          <li>Du introducerar nyanställda eller analytiker och behöver en strukturerad lista som täcker större delområden och aktuella debatter.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En annoterad bibliografi med 20 titlar som täcker de senaste fem åren inom din angivna disciplin.</li>
           <li>En skannbar referenstabell med kolumner för MLA-referens, sammanfattning, bidrag samt noteringar om mottagande/påverkan.</li>
           <li>Korta, beslutsnyttiga annoteringar (inga svamlande stycken) utformade för snabb jämförelse mellan titlar.</li>
           <li>Ett föranalysavsnitt (2–4 meningar) som anger urvalskriterierna som användes för ”inflytelserik”.</li>
           <li>En konsoliderad MLA-källdel som listar alla refererade publikationer, prissidor och recensionskällor.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: byggare för annoterad bibliografi med 20 böcker (senaste 5 åren, MLA)</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>[FOKUSOMRADE]</code></td>
                                <td class="var-desc">
                                    Ange den akademiska eller professionella disciplin som den kommenterade bibliografin ska sammanställas för. Var så specifik som möjligt för att säkerställa att bokurvalet blir relevant.                                    <div class="var-example">Till exempel: "Samtida miljövetenskap med fokus på begränsning av klimatförändringar och hållbarhetsarbete."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FOKUSOMRADE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange eventuell kompletterande kontext eller specifika avgränsningar för bibliografin, till exempel geografiskt fokus, delområden eller målgrupp. Detta hjälper till att förtydliga kriterierna för bokurvalet.                                    <div class="var-example">Till exempel: "Prioritera böcker som är relevanta för nordamerikanska policydiskussioner och praktiska tillämpningar för miljöingenjörer."</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>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Ange bibliografins huvudsakliga syfte eller avsedda användning, till exempel att stödja forskning, vägleda yrkesverksamma eller bidra till kurs- och programutveckling.                                    <div class="var-example">Till exempel: "Skapa en resurs för master- och doktorandstudenter för att identifiera inflytelserika verk som formar moderna metoder inom datavetenskap."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            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 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">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></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 subheader">Vad detta INTE är (avgrä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></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="prompt-header-visible subheader">Leverans 1 — Tabell (20 rader)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Leverans 2 — Sources</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
Sammanställ en annoterad bibliografi med de **20 mest fältformande böckerna** som publicerats under de **senaste fem åren** inom en angiven disciplin, presenterad som en mycket lättöverskådlig referenstabell med korrekta MLA-citat och en konsoliderad källförteckning.

## PERSONA
Agera som en **senior bibliograf och litteraturkritiker** med tvärvetenskaplig bredd och ett rykte om att bedöma samtida betydelse (påverkan på forskning, branschpraxis, offentlig debatt, priser och citeringsavtryck). Skriv i en neutral stil som är redo för publicering.

## BEGRÄNSNINGAR
- Inkludera **endast böcker publicerade inom de senaste fem åren** (relativt innevarande år).
- Välj titlar som är **allmänt erkända som inflytelserika** inom det angivna fältet (undvik obskyra verk om det inte tydligt kan motiveras med mätbar påverkan).
- Håll en **objektiv, opersonlig ton**; inga subjektiva omdömen som ”jag älskade den här” eller ”måste-läsning”.
- Håll posterna **kompakta**: sammanfattningar och mottagningsnoteringar ska vara korta och användbara för beslut.
- Använd **MLA** för:
  - Varje boks fullständiga referens
  - Varje post i den slutliga listan **Sources**
- **Inga XML-taggar** någonstans i leveransen.

## PROCESS
1. **Föranalys (obligatorisk):** Återge din förståelse av uppgiften i 2–4 meningar, inklusive vad som räknas som ”inflytelserik” för den här uppgiften.
2. Identifiera tidsfönstret (innevarande år minus fem år, inklusive) och tillämpa det som ett hårt filter.
3. Bygg en kandidatlista med hjälp av trovärdiga signaler (t.ex. stora recensioner, priser/shortlists, bästsäljarlistor där det är relevant, starkt akademiskt genomslag, erkända experter/förlag).
4. Välj de 20 bästa och säkerställ att täckningen speglar fältets viktigaste delområden och aktuella debatter.
5. Skriv annotationer:
   - Sammanfattningar fokuserar på tes + omfång.
   - Bidrag är kärnfulla, fältspecifika punkter.
   - Mottagningsnoteringar hänvisar till igenkännbara medier eller priser när det är tillämpligt.
6. Sätt ihop tabellen och producera därefter en sektion **Sources** som innehåller alla externa referenser som använts.
7. Om information saknas eller är omtvistad, flagga det kort och föredra verifierbara påståenden.

### Hantering av edge cases
- Om **[FOKUSOMRADE]** är brett eller otydligt, ställ **upp till 3 förtydligande frågor** (t.ex. geografi, praktiker- vs. akademiskt fokus, prioriterat delfält). Om användaren inte svarar, fortsätt med den mest mainstream-tolkningen och ange antagandet.
- Om du inte kan verifiera ett påstående om mottagande (pris, recension, rekommendation), utelämna det eller märk det som **”obekräftat”** och inkludera det som går att verifiera.
- Om färre än 20 kvalificerade böcker rimligen uppfyller kriterierna, ange den största trovärdiga uppsättningen och förklara bristen.

### Vad detta INTE är (avgränsningar)
- Inte en fullständig litteraturöversikt, kursplan eller uttömmande läslista.
- Inte en plattform för personliga rankningar baserade på smak.
- Inte en ersättning för verifiering mot primärkällor när publiceringsdetaljer är osäkra.

## INDATA
- **Fokusfält:** [FOKUSOMRADE]
- **Valfri kontext eller avgränsningar (region, delfält, akademiskt vs. populärt fokus):** [KONTEXT]
- **Föredragen betoning (t.ex. teori, praktik, policy, populär diskurs):** [PRIMART_MAL]

## OUTPUTSPECIFIKATION
### Leverans 1 — Tabell (20 rader)
Skapa en enda tabell med dessa kolumner (exakt ordning), där varje rad är en bok:

- *Titel* (kursiverad)
- Författare
- År
- Sammanfattning (2–3 meningar)
- Viktiga bidrag (punkter)
- Kritiskt mottagande (1–2 meningar; inkludera notable priser/shortlists eller framträdande recensioner när tillgängligt)
- Referens (MLA)

Använd dessa platshållare endast som en mallguide:
- *{Book Title}* | {Author} | {Year} | {Summary} | {Key Contributions} | {Critical Reception} | {MLA Book Citation}

### Leverans 2 — Sources
Efter tabellen, lägg till en sektion med rubriken **Sources** och lista **{MLA Source Citation}**-poster för varje källa som använts för att bedöma inflytande, mottagande, priser eller bibliografiska detaljer.

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Alla 20 böcker faller inom det definierade **femårsintervallet**.
- Tabellformateringen är ren och läsbar; punkter förekommer endast i **Viktiga bidrag**.
- MLA-referenser är fullständiga och konsekventa (böcker + källor).
- Mottagningspåståenden är **specifika och attribuerbara** (pris/recension/kanal) eller tydligt markerade om osäkra.
- Urvalet speglar trovärdigt **inflytande** inom **[FOKUSOMRADE]** snarare än perifer relevans.            </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\nSammanst\u00e4ll en annoterad bibliografi med de **20 mest f\u00e4ltformande b\u00f6ckerna** som publicerats under de **senaste fem \u00e5ren** inom en angiven disciplin, presenterad som en mycket l\u00e4tt\u00f6versk\u00e5dlig referenstabell med korrekta MLA-citat och en konsoliderad k\u00e4llf\u00f6rteckning.\r\n\r\n## PERSONA\r\nAgera som en **senior bibliograf och litteraturkritiker** med tv\u00e4rvetenskaplig bredd och ett rykte om att bed\u00f6ma samtida betydelse (p\u00e5verkan p\u00e5 forskning, branschpraxis, offentlig debatt, priser och citeringsavtryck). Skriv i en neutral stil som \u00e4r redo f\u00f6r publicering.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Inkludera **endast b\u00f6cker publicerade inom de senaste fem \u00e5ren** (relativt innevarande \u00e5r).\r\n- V\u00e4lj titlar som \u00e4r **allm\u00e4nt erk\u00e4nda som inflytelserika** inom det angivna f\u00e4ltet (undvik obskyra verk om det inte tydligt kan motiveras med m\u00e4tbar p\u00e5verkan).\r\n- H\u00e5ll en **objektiv, opersonlig ton**; inga subjektiva omd\u00f6men som \u201djag \u00e4lskade den h\u00e4r\u201d eller \u201dm\u00e5ste-l\u00e4sning\u201d.\r\n- H\u00e5ll posterna **kompakta**: sammanfattningar och mottagningsnoteringar ska vara korta och anv\u00e4ndbara f\u00f6r beslut.\r\n- Anv\u00e4nd **MLA** f\u00f6r:\r\n  - Varje boks fullst\u00e4ndiga referens\r\n  - Varje post i den slutliga listan **Sources**\r\n- **Inga XML-taggar** n\u00e5gonstans i leveransen.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge din f\u00f6rst\u00e5else av uppgiften i 2\u20134 meningar, inklusive vad som r\u00e4knas som \u201dinflytelserik\u201d f\u00f6r den h\u00e4r uppgiften.\r\n2. Identifiera tidsf\u00f6nstret (innevarande \u00e5r minus fem \u00e5r, inklusive) och till\u00e4mpa det som ett h\u00e5rt filter.\r\n3. Bygg en kandidatlista med hj\u00e4lp av trov\u00e4rdiga signaler (t.ex. stora recensioner, priser\/shortlists, b\u00e4sts\u00e4ljarlistor d\u00e4r det \u00e4r relevant, starkt akademiskt genomslag, erk\u00e4nda experter\/f\u00f6rlag).\r\n4. V\u00e4lj de 20 b\u00e4sta och s\u00e4kerst\u00e4ll att t\u00e4ckningen speglar f\u00e4ltets viktigaste delomr\u00e5den och aktuella debatter.\r\n5. Skriv annotationer:\r\n   - Sammanfattningar fokuserar p\u00e5 tes + omf\u00e5ng.\r\n   - Bidrag \u00e4r k\u00e4rnfulla, f\u00e4ltspecifika punkter.\r\n   - Mottagningsnoteringar h\u00e4nvisar till igenk\u00e4nnbara medier eller priser n\u00e4r det \u00e4r till\u00e4mpligt.\r\n6. S\u00e4tt ihop tabellen och producera d\u00e4refter en sektion **Sources** som inneh\u00e5ller alla externa referenser som anv\u00e4nts.\r\n7. Om information saknas eller \u00e4r omtvistad, flagga det kort och f\u00f6redra verifierbara p\u00e5st\u00e5enden.\r\n\r\n### Hantering av edge cases\r\n- Om **[FOKUSOMRADE]** \u00e4r brett eller otydligt, st\u00e4ll **upp till 3 f\u00f6rtydligande fr\u00e5gor** (t.ex. geografi, praktiker- vs. akademiskt fokus, prioriterat delf\u00e4lt). Om anv\u00e4ndaren inte svarar, forts\u00e4tt med den mest mainstream-tolkningen och ange antagandet.\r\n- Om du inte kan verifiera ett p\u00e5st\u00e5ende om mottagande (pris, recension, rekommendation), utel\u00e4mna det eller m\u00e4rk det som **\u201dobekr\u00e4ftat\u201d** och inkludera det som g\u00e5r att verifiera.\r\n- Om f\u00e4rre \u00e4n 20 kvalificerade b\u00f6cker rimligen uppfyller kriterierna, ange den st\u00f6rsta trov\u00e4rdiga upps\u00e4ttningen och f\u00f6rklara bristen.\r\n\r\n### Vad detta INTE \u00e4r (avgr\u00e4nsningar)\r\n- Inte en fullst\u00e4ndig litteratur\u00f6versikt, kursplan eller utt\u00f6mmande l\u00e4slista.\r\n- Inte en plattform f\u00f6r personliga rankningar baserade p\u00e5 smak.\r\n- Inte en ers\u00e4ttning f\u00f6r verifiering mot prim\u00e4rk\u00e4llor n\u00e4r publiceringsdetaljer \u00e4r os\u00e4kra.\r\n\r\n## INDATA\r\n- **Fokusf\u00e4lt:** [FOKUSOMRADE]\r\n- **Valfri kontext eller avgr\u00e4nsningar (region, delf\u00e4lt, akademiskt vs. popul\u00e4rt fokus):** [KONTEXT]\r\n- **F\u00f6redragen betoning (t.ex. teori, praktik, policy, popul\u00e4r diskurs):** [PRIMART_MAL]\r\n\r\n## OUTPUTSPECIFIKATION\r\n### Leverans 1 \u2014 Tabell (20 rader)\r\nSkapa en enda tabell med dessa kolumner (exakt ordning), d\u00e4r varje rad \u00e4r en bok:\r\n\r\n- *Titel* (kursiverad)\r\n- F\u00f6rfattare\r\n- \u00c5r\r\n- Sammanfattning (2\u20133 meningar)\r\n- Viktiga bidrag (punkter)\r\n- Kritiskt mottagande (1\u20132 meningar; inkludera notable priser\/shortlists eller framtr\u00e4dande recensioner n\u00e4r tillg\u00e4ngligt)\r\n- Referens (MLA)\r\n\r\nAnv\u00e4nd dessa platsh\u00e5llare endast som en mallguide:\r\n- *{Book Title}* | {Author} | {Year} | {Summary} | {Key Contributions} | {Critical Reception} | {MLA Book Citation}\r\n\r\n### Leverans 2 \u2014 Sources\r\nEfter tabellen, l\u00e4gg till en sektion med rubriken **Sources** och lista **{MLA Source Citation}**-poster f\u00f6r varje k\u00e4lla som anv\u00e4nts f\u00f6r att bed\u00f6ma inflytande, mottagande, priser eller bibliografiska detaljer.\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Alla 20 b\u00f6cker faller inom det definierade **fem\u00e5rsintervallet**.\r\n- Tabellformateringen \u00e4r ren och l\u00e4sbar; punkter f\u00f6rekommer endast i **Viktiga bidrag**.\r\n- MLA-referenser \u00e4r fullst\u00e4ndiga och konsekventa (b\u00f6cker + k\u00e4llor).\r\n- Mottagningsp\u00e5st\u00e5enden \u00e4r **specifika och attribuerbara** (pris\/recension\/kanal) eller tydligt markerade om os\u00e4kra.\r\n- Urvalet speglar trov\u00e4rdigt **inflytande** inom **[FOKUSOMRADE]** snarare \u00e4n perifer relevans.";
    const variables = ["[FOKUSOMRADE]","[KONTEXT]","[PRIMART_MAL]"];
    // 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>Ange disciplinen som en bibliotekarie, inte som en student.</strong> ”Psykologi” är för brett och modellen kan blanda populärpress med akademiska standardverk. Testa en snävare avgränsning, till exempel: ”arbets- och organisationspsykologi med fokus på urval, bedömning och välbefinnande på arbetsplatsen”. Du får mer strukturerad täckning och färre titlar som missar målet.</li>


<li><strong>Be den balansera delområden medvetet.</strong> Efter första körningen, följ upp med: ”Bygg om listan så att den täcker dessa delområden jämnt: [Delområde A], [Delområde B], [Delområde C], [Delområde D]. Behåll femårsfilter och behåll totalt 20.” Det här är särskilt användbart i snabbt rörliga fält med konkurrerande skolbildningar.</li>


<li><strong>Tvinga fram en striktare definition av ”fältformande” när du behöver akademisk stringens.</strong> Om du skriver för en tidskrift eller avhandling, lägg till en uppföljning som: ”Prioritera titlar med starkt akademiskt genomslag, större vetenskapliga recensioner eller priser från erkända organisationer; nedprioritera affärsbästsäljare för en bred publik om de inte förändrade den akademiska debatten.” Ärligt talat: den här justeringen tar bort mycket brus.</li>


<li><strong>Iterera på noteringarna om mottagande för att göra dem verifierbara.</strong> När du ser tabellen, be: ”För varje notering om mottagande/påverkan, ange en specifik publikation, ett pris eller en lista som stödjer den, och lägg till MLA-källposten för evidensen.” Om en post inte går att styrka, be modellen ersätta den med näst bästa kandidat.</li>


<li><strong>Gör tabellen till en skrivklar disposition för en litteraturöversikt.</strong> När du fått bibliografin, prompta: ”Gruppera dessa 20 böcker i 4–6 teman och skriv en disposition för en litteraturöversikt med ämnesmeningar och referenser till relevanta böcker under varje tema.” Då blir den annoterade bibliografin direkt användbar, inte bara informativ.</li>

</ul>

</div>

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

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



<p>När du har en trovärdig forskningsgrund hjälper de här promptarna dig att omsätta tänkandet i tydlig organisatorisk riktning och kommunikation.</p>



<p>Om du också behöver översätta din forskning till positionering som fungerar för ledningen passar <a href="https://nodenordic.se/prompts/ai-prompt-for-att-skriva-ett-tydligt-mission-statement">AI-prompt för att skriva ett tydligt mission statement</a> bra, eftersom den tvingar fram en skarp ”varför vi finns”-formulering efter att du förankrat kontexten med uppdaterade källor.</p>



<p>För team som gör strategirevideringar hjälper <a href="https://nodenordic.se/prompts/skriv-mission-och-vision-med-ai-prompt">Skriv mission och vision med AI-prompt</a> dig att formalisera både det närliggande syftet och den långsiktiga riktningen, vilket är ett naturligt nästa steg efter att ha kartlagt de senaste fem årens fältformande idéer.</p>



<p>När du behöver en version som är enklare att använda i faciliterade workshops är <a href="https://nodenordic.se/prompts/skapa-en-vardegrund-och-mission-statement-med-ai-prompt">Skapa en värdegrund och mission statement med AI-prompt</a> användbar, eftersom den omvandlar abstrakt avsikt till tydliga värderingar och beteendeankare som teamet faktiskt kan använda.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/skriv-mission-och-vision-med-ai-prompt">Skriv mission och vision med AI-prompt</a>: Utforma både syfte och framtida riktning.</li>


<li><a href="https://nodenordic.se/prompts/formulera-mission-och-vision-med-ai-prompt">Formulera mission och vision med AI-prompt</a>: Strukturerade mission/vision-utdata för intressenter.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-vardegrund-och-mission-statement-med-ai-prompt">Skapa en värdegrund och mission statement med AI-prompt</a>: Definiera värderingar tillsammans med en användbar mission.</li>


<li><a href="https://nodenordic.se/prompts/skriv-en-projektvision-med-den-har-ai-prompten">Skriv en projektvision med den här AI-prompten</a>: Samla ett projekt kring ett tydligt resultat.</li>

<li><a href="https://nodenordic.se/prompts/ai-prompt-for-att-skriva-ett-tydligt-mission-statement">AI-prompt för att skriva ett tydligt mission statement</a>: Skärp positioneringen till en enda mission.</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 annoterad bibliografi?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Master- och doktorandforskare</strong> använder den för att snabbt sätta ihop en försvarbar, nylig läslista som fortfarande ser kurerad ut, inte slumpmässig. <strong>Akademiska bibliotekarier</strong> kan använda den som utgångspunkt för samtal om samlingsutveckling eller forskningsguider, och sedan verifiera och förfina urvalet. <strong>Forskningsledare</strong> (t.ex. innovation, insights eller FoU) använder den för att briefa team om vad som format fältet de senaste fem åren, med inflytandesignaler tydligt angivna. <strong>Konsulter och analytiker</strong> använder den när en kund förväntar sig trovärdiga referenser, korrekt citerade, utan att lägga dagar på att jaga listor över ”toppböcker”.</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 annoterad bibliografi?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Högre utbildning</strong> får omedelbart värde eftersom lärare och studenter kan skapa en aktuell, referensklar grund för seminarier, läslistor inför comprehensive exams eller litteraturöversikter, och sedan validera titlar via biblioteksdatabaser. <strong>Managementkonsultteam</strong> använder den när de behöver förankra en marknads- eller verksamhetsmodellrekommendation i nyligt, välrenommerat tänkande, särskilt inom snabbt föränderliga områden som AI-styrning eller organisationsdesign. <strong>Hälso- och livsvetenskapsgrupper</strong> har nytta av den när de behöver en snabb överblick över inflytelserika böcker som formar den offentliga diskursen och professionell praxis, och sedan triangulera med peer review-granskad forskning. <strong>Icke-vinstdrivande och offentligpolitiska organisationer</strong> använder den för att bygga läslistor för fellows, utbildningskohorter eller policypromemorior där trovärdighet och aktualitet är avgörande.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att bygga en annoterad bibliografi svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”<em>Skriv en annoterad bibliografi om beteendeekonomi</em>” misslyckas eftersom den: saknar ett hårt femårsfilter för publicering, så äldre klassiker smyger sig in. Den ger ingen definition av ”inflytelserik”, så modellen kan välja det som låter rimligt i stället för det som faktiskt är erkänt. Den ignorerar behovet av skannbar struktur (tes, bidrag, mottagande), så annoteringarna blir långa och svåra att jämföra. Den tenderar också att ge osäkra referenser eller inkonsekvent MLA-formatering, vilket skapar extra efterarbete. Slutligen utelämnar den ofta en konsoliderad källista, vilket gör påståenden om påverkan eller mottagande svåra att verifiera.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för annoterad bibliografi efter min situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, men du anpassar den genom att ändra disciplinen och de urvalssignaler du bryr dig om, eftersom prompten i sig redan säkerställer aktualitet, MLA-formatering och tabellbaserad output. Börja med att specificera ditt fält snävt (till exempel ”B2B SaaS-prissättningsstrategi” i stället för ”marknadsföring”), och be sedan modellen att vikta vissa inflytandemarkörer tyngre (priser, större recensioner, akademiskt genomslag eller branschadoption). Om du behöver en specifik målgrupp, lägg till en uppföljning som: ”Revidera de 20 för att prioritera böcker som används i kursplaner på avancerad nivå eller citeras av topptidskrifter, och håll annoteringarna under 90 ord vardera.” Du kan också be om en ”ersättningsrunda” för titlar som känns gränsfall och kräva en tydligare motivering i noteringen om mottagande.</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 annoterad bibliografi?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att ge en alltför bred disciplinbeskrivning — i stället för ”teknik”, prova ”riskhantering inom cybersäkerhet för medelstora företag” så att de 20 böckerna inte spretar. Ett annat vanligt fel är att glömma promptens strikta tidsfönster och sedan bli förvånad när en äldre ”klassiker” utesluts; om du verkligen behöver grundläggande verk, kör en andra bibliografi för ”inflytelserika genom tiderna” separat. Många hoppar också över att verifiera MLA-detaljer (förlag, upplaga och publiceringsår), så listan ser polerad ut men kan innehålla små fel som spelar roll i formella inlämningar. Slutligen accepterar vissa användare vaga noteringar om mottagande; tryck på för specificitet genom att be om namngivna publikationer, priser eller listor för varje påverkanspåstående, och ersätt varje post som inte går att styrka.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för annoterad bibliografi?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för mycket tekniska systematiska översikter där du måste dokumentera databassökningar, inklusions-/exklusionskriterier och reproducerbara söksträngar. Den passar heller inte om du behöver forskning på artikelnivå snarare än böcker, eller om din institution kräver en annan referensstil än MLA. Och om du inte är beredd att verifiera referenser och påståenden om ”inflytande” kan du råka behandla ett utkast som en slutlig källista, vilket är riskabelt. I de fallen: använd biblioteksdatabaser och ett formellt granskningsprotokoll, och använd AI enbart för sammanfattning och formateringsstöd.</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 annoterad bibliografi?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Master- och doktorandforskare använder den för att snabbt sätta ihop en försvarbar, nylig läslista som fortfarande ser kurerad ut, inte slumpmässig. Akademiska bibliotekarier kan använda den som utgångspunkt för samtal om samlingsutveckling eller forskningsguider, och sedan verifiera och förfina urvalet. Forskningsledare (t.ex. innovation, insights eller FoU) använder den för att briefa team om vad som format fältet de senaste fem åren, med inflytandesignaler tydligt angivna. Konsulter och analytiker använder den när en kund förväntar sig trovärdiga referenser, korrekt citerade, utan att lägga dagar på att jaga listor över ”toppböcker”."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för annoterad bibliografi?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Högre utbildning får omedelbart värde eftersom lärare och studenter kan skapa en aktuell, referensklar grund för seminarier, läslistor inför comprehensive exams eller litteraturöversikter, och sedan validera titlar via biblioteksdatabaser. Managementkonsultteam använder den när de behöver förankra en marknads- eller verksamhetsmodellrekommendation i nyligt, välrenommerat tänkande, särskilt inom snabbt föränderliga områden som AI-styrning eller organisationsdesign. Hälso- och livsvetenskapsgrupper har nytta av den när de behöver en snabb överblick över inflytelserika böcker som formar den offentliga diskursen och professionell praxis, och sedan triangulera med peer review-granskad forskning. Icke-vinstdrivande och offentligpolitiska organisationer använder den för att bygga läslistor för fellows, utbildningskohorter eller policypromemorior där trovärdighet och aktualitet är avgörande."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att bygga en annoterad bibliografi svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en annoterad bibliografi om beteendeekonomi” misslyckas eftersom den: saknar ett hårt femårsfilter för publicering, så äldre klassiker smyger sig in. Den ger ingen definition av ”inflytelserik”, så modellen kan välja det som låter rimligt i stället för det som faktiskt är erkänt. Den ignorerar behovet av skannbar struktur (tes, bidrag, mottagande), så annoteringarna blir långa och svåra att jämföra. Den tenderar också att ge osäkra referenser eller inkonsekvent MLA-formatering, vilket skapar extra efterarbete. Slutligen utelämnar den ofta en konsoliderad källista, vilket gör påståenden om påverkan eller mottagande svåra att verifiera."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för annoterad bibliografi efter min situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men du anpassar den genom att ändra disciplinen och de urvalssignaler du bryr dig om, eftersom prompten i sig redan säkerställer aktualitet, MLA-formatering och tabellbaserad output. Börja med att specificera ditt fält snävt (till exempel ”B2B SaaS-prissättningsstrategi” i stället för ”marknadsföring”), och be sedan modellen att vikta vissa inflytandemarkörer tyngre (priser, större recensioner, akademiskt genomslag eller branschadoption). Om du behöver en specifik målgrupp, lägg till en uppföljning som: ”Revidera de 20 för att prioritera böcker som används i kursplaner på avancerad nivå eller citeras av topptidskrifter, och håll annoteringarna under 90 ord vardera.” Du kan också be om en ”ersättningsrunda” för titlar som känns gränsfall och kräva en tydligare motivering i noteringen om mottagande."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för annoterad bibliografi?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att ge en alltför bred disciplinbeskrivning — i stället för ”teknik”, prova ”riskhantering inom cybersäkerhet för medelstora företag” så att de 20 böckerna inte spretar. Ett annat vanligt fel är att glömma promptens strikta tidsfönster och sedan bli förvånad när en äldre ”klassiker” utesluts; om du verkligen behöver grundläggande verk, kör en andra bibliografi för ”inflytelserika genom tiderna” separat. Många hoppar också över att verifiera MLA-detaljer (förlag, upplaga och publiceringsår), så listan ser polerad ut men kan innehålla små fel som spelar roll i formella inlämningar. Slutligen accepterar vissa användare vaga noteringar om mottagande; tryck på för specificitet genom att be om namngivna publikationer, priser eller listor för varje påverkanspåstående, och ersätt varje post som inte går att styrka."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för annoterad bibliografi?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för mycket tekniska systematiska översikter där du måste dokumentera databassökningar, inklusions-/exklusionskriterier och reproducerbara söksträngar. Den passar heller inte om du behöver forskning på artikelnivå snarare än böcker, eller om din institution kräver en annan referensstil än MLA. Och om du inte är beredd att verifiera referenser och påståenden om ”inflytande” kan du råka behandla ett utkast som en slutlig källista, vilket är riskabelt. I de fallen: använd biblioteksdatabaser och ett formellt granskningsprotokoll, och använd AI enbart för sammanfattning och formateringsstöd."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Nyliga böcker är lätta att samla in och svåra att försvara. Klistra in prompten i ditt AI-verktyg, ange din disciplin och få en strukturerad, 20-titels annoterad bibliografi som du kan förfina och hänvisa till med trygghet.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-kommenterad-bibliografi-med-20-bocker/">Bygg en kommenterad bibliografi med 20 böcker</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 ett juridiskt promemoriautlåtande med ai-prompt</title>
		<link>https://nodenordic.se/prompts/skriv-ett-juridiskt-promemoriautlatande-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-ett-juridiskt-promemoriautlatande-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:48:25 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000808</guid>

					<description><![CDATA[<p>Oklar juridisk risk – ai-prompten som skriver ett kundklart utlåtande med frågor, rättskällor, risknivåer och nästa steg.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-ett-juridiskt-promemoriautlatande-med-ai-prompt/">Skriv ett juridiskt promemoriautlåtande 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: legal opinion memo -->

<div class="hook-introduction">

<p>Juridiska frågor dyker sällan upp i prydliga rutor. Du får ett rörigt faktaunderlag, en deadline och en nervös intressent som vill ha ett ja-eller-nej-svar som du ärligt talat inte kan ge. Om du någon gång har försökt göra den typen av kaos till något ”kundklart” vet du hur snabbt det antingen blir för vagt för att gå att använda eller för tekniskt för att gå att agera på.</p>



<p>Detta <strong>legal opinion memo</strong> är byggt för <strong>bolagsjurister</strong> som behöver briefa ledningen om risk inför en lansering, <strong>konsulter</strong> som måste översätta juridiska begränsningar till en operativ plan för en kund, och <strong>operativa ansvariga</strong> som behöver ett strukturerat PM att ta med till ett möte med extern juridisk rådgivare. Resultatet är ett korrekt formaterat, rådgivarstils-PM: identifiering av frågor, kartläggning av rättskällor (på hög nivå), tillämpning på faktaunderlaget, sannolikhetsintervall, antaganden och saknad information samt praktiska nästa steg utan att lova för mycket.</p>

</div>

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

<h2 class="wp-block-heading">Vad gör denna AI-prompt 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>Återger ärendet och det affärsbeslut som PM:et ska stödja och listar sedan tydliga antaganden innan analysen börjar.</li>
          <li>Identifierar och prioriterar processuella, materiella och reparativa juridiska frågor som rimligen aktualiseras av de fakta du anger.</li>
          <li>Kopplar varje fråga till relevanta typer av rättskällor (lagar, förordningar/föreskrifter, praxis, myndighetsvägledning, avtalsvillkor) och förklarar typisk tillämpning på en övergripande nivå.</li>
          <li>Tillämpar dessa rättskällor på dina fakta och lyfter oklarheter, alternativa tolkningar och faktakänsligheter som kan ändra utfallet.</li>
          <li>Tar fram en scenariobaserad riskbedömning med sannolikhetsintervall och drivare, utan något språk om ”garanterat resultat”.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du förbereder en ledningsgenomgång där den verkliga frågan är ”Hur riskfyllt är det här, och vad gör vi nu?”</li>
          <li>En avtalskonflikt, en compliance-fråga eller en HR-situation har uppstått och du behöver en strukturerad analys som styr nästa steg.</li>
          <li>Du har delar av faktaunderlaget i dag, mer fakta senare, och du behöver ett PM som tydligt markerar vad som saknas och varför det spelar roll.</li>
          <li>Extern juridisk rådgivare är involverad, men du vill skicka en tydlig frågelista, antaganden och scenarier i stället för en lång mejltråd.</li>
          <li>Ett team rör sig snabbt (ny marknad, ny policy, ny produkt) och du behöver en konsekvent PM-struktur över flera ärenden.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett kundklart legal opinion memo med standardavsnitt (före analys, frågor, rättskällor, tillämpning, scenarier, slutsats).</li>
           <li>En prioriterad frågelista med korta noteringar om ”varför det spelar roll” för varje fråga.</li>
           <li>Scenariobedömning med sannolikhetsintervall och de specifika fakta som höjer eller sänker risken.</li>
           <li>Ett avsnitt om ”saknad information” som listar de viktigaste öppna frågorna och hur var och en kan ändra analysen.</li>
           <li>En plan för nästa steg med praktiska åtgärder, beslutspunkter och vad som ska bekräftas med juridisk rådgivare som kan aktuell jurisdiktion.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: utkast till kundklart legal opinion memo</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>[ARENDEDETALJER]</code></td>
                                <td class="var-desc">
                                    Ange en detaljerad sammanfattning av ärendet, inklusive samtliga relevanta fakta, händelser och annan information som behövs för den juridiska analysen.                                    <div class="var-example">Till exempel: "Klienten har fått ett cease-and-desist-brev från en konkurrent som påstår varumärkesintrång avseende en produkt som lanserades för sex månader sedan. Produktnamnet liknar konkurrentens registrerade varumärke, men klienten anser att uttrycken är generiska och allmänt använda i branschen."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[ARENDEDETALJER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Specificera det juridiska ämnet eller den fråga som ska analyseras, exempelvis en viss tvist, ett regelefterlevnadskrav eller en avtalsfråga.                                    <div class="var-example">Till exempel: "Eventuellt ansvar vid brott mot en konkurrensklausul i ett anställningsavtal."</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>[KLIENTNAMN]</code></td>
                                <td class="var-desc">
                                    Ange fullständigt namn på den klient som begär det juridiska utlåtandet.                                    <div class="var-example">Till exempel: "Acme Corporation"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[KLIENTNAMN]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[JURISDIKTION]</code></td>
                                <td class="var-desc">
                                    Ange relevant jurisdiktion eller tillämplig lag för frågan, till exempel ett visst land, en delstat eller region.                                    <div class="var-example">Till exempel: "Kalifornien, USA"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[JURISDIKTION]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Beskriv klientens huvudmål eller önskat resultat, exempelvis att bestrida ett krav, säkerställa regelefterlevnad eller förhandla fram en förlikning.                                    <div class="var-example">Till exempel: "Förhandla fram en fördelaktig förlikning för att undvika domstolsprocess."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange eventuella deadlines eller tidsbegränsningar som är relevanta för frågan, såsom sista dag för inlämning eller datum för förhandling i domstol.                                    <div class="var-example">Till exempel: "Svar på cease-and-desist-brevet ska lämnas inom 14 dagar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Denna platshållare är ett generiskt exempel och kräver ingen användarinmatning. Ersätt den med faktiska variabler som är relevanta för sammanhanget.                                    <div class="var-example">Till exempel: "Ej tillämpligt"</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 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 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">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">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></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Ärendeö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">Centrala juridiska frågor (prioriterade)</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">Potentiellt styrande rättskällor</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">Juridisk analys (tillämpning på omständigheterna)</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">Scenario- och riskbedömning</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">Slutsats</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">Rekommendationer (handlingsplan)</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">Förtydligande frågor (vid behov)</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 ett klientfärdigt juridiskt utlåtande som granskar ett beskrivet ärende från början till slut: lyft fram de centrala juridiska frågorna, koppla dem till styrande rättskällor, utvärdera risk och plausibla scenarier och översätt analysen till praktiska nästa steg—utan att utlova något garanterat resultat.

## PERSONA
Du är en senior skribent av juridiska utlåtanden och analytiker av juridisk risk. Du kommunicerar som juridiskt ombud som skriver för en företagskund: strukturerat, precist, klarspråk där det är möjligt och försiktig med osäkerhet.

## BEGRÄNSNINGAR
- Följ leveransstandarderna i denna prompt; spegla inte användarens formuleringar.
- Täck alla väsentliga juridiska frågor som rimligen aktualiseras av de angivna omständigheterna.
- Hänvisa till och tolka relevanta rättskällor på en övergripande nivå (lagar, förordningar, rättspraxis, myndighetsvägledning, avtalsvillkor etc.) i den mån de är tillämpliga för angiven jurisdiktion/angivna jurisdiktioner.
- Ange **inte** utfall som säkra; beskriv sannolikhet, faktakänslighet och centrala antaganden.
- Om information saknas, flagga detta uttryckligen och förklara hur det kan förändra analysen.
- **Vad detta inte är:** inte en ersättning för jurisdiktionsspecifik rådgivning från en behörig advokat/jurist; inte ett slutligt ställningstagande om rättigheter/ansvar; inte en domstolshandling; inte juridiskt ombud.

## PROCESS
1. **Föranalys (krävs):** Återge kort din förståelse av ärendet, klientens mål och vilka beslut utlåtandet ska stödja. Lista antaganden du måste göra.
2. **Identifiering av frågor:** Identifiera och prioritera juridiska frågor, inklusive processuella, materiella och påföljds-/remedieöverväganden.
3. **Kartläggning av rättskällor:** För varje fråga, ange de mest relevanta rättskällorna och förklara hur de typiskt tillämpas.
4. **Tillämpning på omständigheterna:** Tillämpa rättskällorna på de angivna omständigheterna; peka ut oklarheter och alternativa faktatolkningar.
5. **Scenariobedömning:** Ange plausibla utfall, sannolikhetsintervall och de viktigaste drivarna som ökar/minskar risken.
6. **Slutsats:** Sammanfatta de starkaste argumenten, de svagaste punkterna och den övergripande riskpositionen.
7. **Rekommendationer:** Ge handlingsbara steg (omedelbara, på kort sikt, på längre sikt), inklusive vilken bevisning som bör samlas in och alternativ för riskreducering.
8. **Hantering av gränsfall:** Om [ARENDEDETALJER] är vaga, föreslå 6–10 riktade frågor för att få fram saknade fakta och ge en preliminär analys som villkoras av svaren.

## INDATA
- **Ämne/ärende att analysera:** [AMNE]
- **Klientens namn:** [KLIENTNAMN]
- **Bakgrund och fakta i ärendet:** [ARENDEDETALJER]
- **Jurisdiktion(er) / tillämplig lag (om känt):** [JURISDIKTION]
- **Klientens primära mål (t.ex. bestrida krav, efterleva, förhandla):** [PRIMART_MAL]
- **Kända deadlines eller tidsbegränsningar:** [TIDSRAM]

## SPECIFIKATION FÖR OUTPUT
Returnera utlåtandet med dessa rubriker och platshållare:

### Ärendeöversikt
- **Ämne:** {Subject}
- **Klient:** {Client}
- **Mål:** {Client Objective}
- **Jurisdiktion/tillämplig lag:** {Jurisdiction}
- **Centrala antaganden:** {Assumptions}

### Centrala juridiska frågor (prioriterade)
1. {Legal Issue 1}
2. {Legal Issue 2}
3. {Legal Issue 3}
*(Lägg till fler vid behov.)*

### Potentiellt styrande rättskällor
För varje fråga, ange:
- **Rättskälla:** {Authority Name/Type}
- **Varför det är viktigt:** {Relevance}
- **Hur den vanligtvis tolkas/tillämpas:** {Interpretation Summary}
- **Öppna frågor / faktaavhängigheter:** {Dependencies}

### Juridisk analys (tillämpning på omständigheterna)
- {Detailed Legal Analysis}
- Inkludera: argument för klienten, argument mot klienten, bevisluckor samt eventuella processuella/strategiska överväganden.

### Scenario- och riskbedömning
Ge 3–6 utfall med sannolikhets**intervall**:
1. **Utfall:** {Outcome 1} — **Sannolikhet:** {Likelihood Range 1} — **Viktigaste drivare:** {Drivers 1}
2. **Utfall:** {Outcome 2} — **Sannolikhet:** {Likelihood Range 2} — **Viktigaste drivare:** {Drivers 2}
3. **Utfall:** {Outcome 3} — **Sannolikhet:** {Likelihood Range 3} — **Viktigaste drivare:** {Drivers 3}

### Slutsats
- {Conclusion Summary}
- Inkludera: övergripande risknivå, starkaste/svagaste punkter och vad som mest skulle förändra bedömningen.

### Rekommendationer (handlingsplan)
- **Omedelbart (nästa 7–12 dagar):** {Immediate Steps}
- **På kort sikt (nästa 3–6 veckor):** {Near Term Steps}
- **På längre sikt:** {Long Term Steps}
- **Information att samla in:** {Evidence/Docs List}
- **Valfria riskreducerande åtgärder:** {Mitigation Options}

### Förtydligande frågor (vid behov)
- {Question 1}
- {Question 2}
- {Question 3}

## KVALITETSKONTROLLER
Innan du färdigställer, verifiera:
- Alla större frågor som antyds av omständigheterna hanteras (inga uppenbara luckor).
- Varje fråga kopplas till minst en relevant rättskälla med en tolkning, inte bara ett namndropp.
- Utfall uttrycks som sannolikhetsintervall med angivna antaganden—inga absoluta förutsägelser.
- Rekommendationer är specifika, genomförbara och spårbara till analysen.
- Alla användarinmatningar följer [VERSALER_MED_UNDERSCORE], och alla genererade fält använder {Title Case}-platshållare.            </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 klientf\u00e4rdigt juridiskt utl\u00e5tande som granskar ett beskrivet \u00e4rende fr\u00e5n b\u00f6rjan till slut: lyft fram de centrala juridiska fr\u00e5gorna, koppla dem till styrande r\u00e4ttsk\u00e4llor, utv\u00e4rdera risk och plausibla scenarier och \u00f6vers\u00e4tt analysen till praktiska n\u00e4sta steg\u2014utan att utlova n\u00e5got garanterat resultat.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior skribent av juridiska utl\u00e5tanden och analytiker av juridisk risk. Du kommunicerar som juridiskt ombud som skriver f\u00f6r en f\u00f6retagskund: strukturerat, precist, klarspr\u00e5k d\u00e4r det \u00e4r m\u00f6jligt och f\u00f6rsiktig med os\u00e4kerhet.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- F\u00f6lj leveransstandarderna i denna prompt; spegla inte anv\u00e4ndarens formuleringar.\r\n- T\u00e4ck alla v\u00e4sentliga juridiska fr\u00e5gor som rimligen aktualiseras av de angivna omst\u00e4ndigheterna.\r\n- H\u00e4nvisa till och tolka relevanta r\u00e4ttsk\u00e4llor p\u00e5 en \u00f6vergripande niv\u00e5 (lagar, f\u00f6rordningar, r\u00e4ttspraxis, myndighetsv\u00e4gledning, avtalsvillkor etc.) i den m\u00e5n de \u00e4r till\u00e4mpliga f\u00f6r angiven jurisdiktion\/angivna jurisdiktioner.\r\n- Ange **inte** utfall som s\u00e4kra; beskriv sannolikhet, faktak\u00e4nslighet och centrala antaganden.\r\n- Om information saknas, flagga detta uttryckligen och f\u00f6rklara hur det kan f\u00f6r\u00e4ndra analysen.\r\n- **Vad detta inte \u00e4r:** inte en ers\u00e4ttning f\u00f6r jurisdiktionsspecifik r\u00e5dgivning fr\u00e5n en beh\u00f6rig advokat\/jurist; inte ett slutligt st\u00e4llningstagande om r\u00e4ttigheter\/ansvar; inte en domstolshandling; inte juridiskt ombud.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (kr\u00e4vs):** \u00c5terge kort din f\u00f6rst\u00e5else av \u00e4rendet, klientens m\u00e5l och vilka beslut utl\u00e5tandet ska st\u00f6dja. Lista antaganden du m\u00e5ste g\u00f6ra.\r\n2. **Identifiering av fr\u00e5gor:** Identifiera och prioritera juridiska fr\u00e5gor, inklusive processuella, materiella och p\u00e5f\u00f6ljds-\/remedie\u00f6verv\u00e4ganden.\r\n3. **Kartl\u00e4ggning av r\u00e4ttsk\u00e4llor:** F\u00f6r varje fr\u00e5ga, ange de mest relevanta r\u00e4ttsk\u00e4llorna och f\u00f6rklara hur de typiskt till\u00e4mpas.\r\n4. **Till\u00e4mpning p\u00e5 omst\u00e4ndigheterna:** Till\u00e4mpa r\u00e4ttsk\u00e4llorna p\u00e5 de angivna omst\u00e4ndigheterna; peka ut oklarheter och alternativa faktatolkningar.\r\n5. **Scenariobed\u00f6mning:** Ange plausibla utfall, sannolikhetsintervall och de viktigaste drivarna som \u00f6kar\/minskar risken.\r\n6. **Slutsats:** Sammanfatta de starkaste argumenten, de svagaste punkterna och den \u00f6vergripande riskpositionen.\r\n7. **Rekommendationer:** Ge handlingsbara steg (omedelbara, p\u00e5 kort sikt, p\u00e5 l\u00e4ngre sikt), inklusive vilken bevisning som b\u00f6r samlas in och alternativ f\u00f6r riskreducering.\r\n8. **Hantering av gr\u00e4nsfall:** Om [ARENDEDETALJER] \u00e4r vaga, f\u00f6resl\u00e5 6\u201310 riktade fr\u00e5gor f\u00f6r att f\u00e5 fram saknade fakta och ge en prelimin\u00e4r analys som villkoras av svaren.\r\n\r\n## INDATA\r\n- **\u00c4mne\/\u00e4rende att analysera:** [AMNE]\r\n- **Klientens namn:** [KLIENTNAMN]\r\n- **Bakgrund och fakta i \u00e4rendet:** [ARENDEDETALJER]\r\n- **Jurisdiktion(er) \/ till\u00e4mplig lag (om k\u00e4nt):** [JURISDIKTION]\r\n- **Klientens prim\u00e4ra m\u00e5l (t.ex. bestrida krav, efterleva, f\u00f6rhandla):** [PRIMART_MAL]\r\n- **K\u00e4nda deadlines eller tidsbegr\u00e4nsningar:** [TIDSRAM]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nReturnera utl\u00e5tandet med dessa rubriker och platsh\u00e5llare:\r\n\r\n### \u00c4rende\u00f6versikt\r\n- **\u00c4mne:** {Subject}\r\n- **Klient:** {Client}\r\n- **M\u00e5l:** {Client Objective}\r\n- **Jurisdiktion\/till\u00e4mplig lag:** {Jurisdiction}\r\n- **Centrala antaganden:** {Assumptions}\r\n\r\n### Centrala juridiska fr\u00e5gor (prioriterade)\r\n1. {Legal Issue 1}\r\n2. {Legal Issue 2}\r\n3. {Legal Issue 3}\r\n*(L\u00e4gg till fler vid behov.)*\r\n\r\n### Potentiellt styrande r\u00e4ttsk\u00e4llor\r\nF\u00f6r varje fr\u00e5ga, ange:\r\n- **R\u00e4ttsk\u00e4lla:** {Authority Name\/Type}\r\n- **Varf\u00f6r det \u00e4r viktigt:** {Relevance}\r\n- **Hur den vanligtvis tolkas\/till\u00e4mpas:** {Interpretation Summary}\r\n- **\u00d6ppna fr\u00e5gor \/ faktaavh\u00e4ngigheter:** {Dependencies}\r\n\r\n### Juridisk analys (till\u00e4mpning p\u00e5 omst\u00e4ndigheterna)\r\n- {Detailed Legal Analysis}\r\n- Inkludera: argument f\u00f6r klienten, argument mot klienten, bevisluckor samt eventuella processuella\/strategiska \u00f6verv\u00e4ganden.\r\n\r\n### Scenario- och riskbed\u00f6mning\r\nGe 3\u20136 utfall med sannolikhets**intervall**:\r\n1. **Utfall:** {Outcome 1} \u2014 **Sannolikhet:** {Likelihood Range 1} \u2014 **Viktigaste drivare:** {Drivers 1}\r\n2. **Utfall:** {Outcome 2} \u2014 **Sannolikhet:** {Likelihood Range 2} \u2014 **Viktigaste drivare:** {Drivers 2}\r\n3. **Utfall:** {Outcome 3} \u2014 **Sannolikhet:** {Likelihood Range 3} \u2014 **Viktigaste drivare:** {Drivers 3}\r\n\r\n### Slutsats\r\n- {Conclusion Summary}\r\n- Inkludera: \u00f6vergripande riskniv\u00e5, starkaste\/svagaste punkter och vad som mest skulle f\u00f6r\u00e4ndra bed\u00f6mningen.\r\n\r\n### Rekommendationer (handlingsplan)\r\n- **Omedelbart (n\u00e4sta 7\u201312 dagar):** {Immediate Steps}\r\n- **P\u00e5 kort sikt (n\u00e4sta 3\u20136 veckor):** {Near Term Steps}\r\n- **P\u00e5 l\u00e4ngre sikt:** {Long Term Steps}\r\n- **Information att samla in:** {Evidence\/Docs List}\r\n- **Valfria riskreducerande \u00e5tg\u00e4rder:** {Mitigation Options}\r\n\r\n### F\u00f6rtydligande fr\u00e5gor (vid behov)\r\n- {Question 1}\r\n- {Question 2}\r\n- {Question 3}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du f\u00e4rdigst\u00e4ller, verifiera:\r\n- Alla st\u00f6rre fr\u00e5gor som antyds av omst\u00e4ndigheterna hanteras (inga uppenbara luckor).\r\n- Varje fr\u00e5ga kopplas till minst en relevant r\u00e4ttsk\u00e4lla med en tolkning, inte bara ett namndropp.\r\n- Utfall uttrycks som sannolikhetsintervall med angivna antaganden\u2014inga absoluta f\u00f6ruts\u00e4gelser.\r\n- Rekommendationer \u00e4r specifika, genomf\u00f6rbara och sp\u00e5rbara till analysen.\r\n- Alla anv\u00e4ndarinmatningar f\u00f6ljer [VERSALER_MED_UNDERSCORE], och alla genererade f\u00e4lt anv\u00e4nder {Title Case}-platsh\u00e5llare.";
    const variables = ["[ARENDEDETALJER]","[AMNE]","[KLIENTNAMN]","[JURISDIKTION]","[PRIMART_MAL]","[TIDSRAM]","[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 den beslutscontext, inte bara fakta.</strong> I avsnittet före analys kommer prompten att återge målet och det beslut som utlåtandet stödjer, så skriv det rakt. Exempel: ”Vi behöver besluta om vi ska pausa utrullningen, revidera villkoren eller fortsätta som det är i California och New York.” Den enda raden gör PM:et från akademiskt till användbart.</li>


<li><strong>Ange jurisdiktioner och styrande dokument.</strong> Om ett avtal, en policy eller en reglering är inblandad, klistra in relevanta klausuler (även om de är ofullständiga) och ange vilken lag som gäller. Följ sedan upp med: ”Gör om kartläggningen av rättskällor utifrån att Delaware-lag gäller för avtalet, men att agerandet skedde i Texas.” Då får du tydligare uppdelning mellan frågorna.</li>


<li><strong>Inkludera din riskaptit och tidslinje.</strong> ”Vi kan acceptera en låg till måttlig risk i 60 dagar” leder till andra nästa steg än ”Vi måste vara konservativa eftersom tillsynsmyndigheter redan ställer frågor.” Om du vill att PM:et ska uttrycka sig i affärstermer, lägg till: ”Kvantifiera risk i sannolikhetsband och beskriv operativ påverkan i en mening per scenario.”</li>


<li><strong>Tvinga fram en andra genomgång av antaganden.</strong> Efter första utkastet, fråga: ”Lista de fem mest sköra antagandena i det här PM:et och skriv om scenariobedömningen om antagande #2 är fel.” Det synliggör vad som faktiskt behöver faktainsamling och förbättrar ofta slutsatsens trovärdighet.</li>


<li><strong>Koppla PM:et till en intervjuguide för att samla in saknade fakta.</strong> När resultatet flaggar okända saker, gissa inte. Använd ett strukturerat frågeflöde för att fylla luckorna och kör sedan PM:et igen. En bra uppföljning är: ”Gör om avsnittet ‘Saknad information’ till 15 intervjufrågor grupperade per tema (tidslinje, parter, kommunikation, skador, dokument) och notera varför varje fråga är viktig.” Om du vill ha en färdig struktur för det steget passar upplägget i <a href="https://nodenordic.se/prompts/skapa-en-djupgaende-intervjuguide-med-denna-ai-prompt">Skapa en djupgående intervjuguide med denna AI-prompt</a> bra.</li>

</ul>

</div>

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

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



<p>När du har ett utkast till opinion memo hjälper de här prompterna dig att samla bättre input, få intressenter i linje och omsätta nästa steg i praktiken.</p>



<p>Om du också behöver ett repeterbart sätt att extrahera fakta från interna intressenter innan du skriver PM:et, använd <a href="https://nodenordic.se/prompts/skapa-en-djupgaende-intervjuguide-med-denna-ai-prompt">Skapa en djupgående intervjuguide med denna AI-prompt</a>. Den är särskilt användbar när ärendet berör flera team (sälj, produkt, HR) och varje person sitter på olika delar av tidslinjen.</p>



<p>För team som jobbar med kundtjänster eller intern konsultverksamhet hjälper <a href="https://nodenordic.se/prompts/bygg-ett-ramverk-for-discovery-call-med-ai-prompt">Bygg ett ramverk för discovery call med ai-prompt</a> dig att fånga scope, begränsningar och beslutskriterier tidigt. Det minskar fram-och-tillbaka som annars kan grumla ditt avsnitt om ”antaganden” och försvaga riskintervallen i ditt legal opinion memo.</p>



<p>När den juridiska analysen leder till operativa förändringar kan <a href="https://nodenordic.se/prompts/skapa-en-kundsupporthandbok-med-denna-ai-prompt">Skapa en kundsupporthandbok med denna ai-prompt</a> omvandla PM:ets rekommenderade åtgärder till manus för frontlinjen, eskaleringsvägar och konsekventa svar. Det är värdefullt när risken drivs av kundkommunikation, återbetalningar, skadehantering eller policyefterlevnad.</p>


<br>


<p>Snabb översikt:</p>



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

<li><a href="https://nodenordic.se/prompts/skapa-en-djupgaende-intervjuguide-med-denna-ai-prompt">Skapa en djupgående intervjuguide med denna AI-prompt</a>: Samla in saknade fakta med strukturerade frågor.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-ramverk-for-discovery-call-med-ai-prompt">Bygg ett ramverk för discovery call med ai-prompt</a>: Synka mål, scope och beslutskriterier.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-kundsupporthandbok-med-denna-ai-prompt">Skapa en kundsupporthandbok med denna ai-prompt</a>: Gör policybeslut till supportflöden.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-uppfoljningsplan-for-jobbsok-med-ai-prompt">Skapa en uppföljningsplan för jobbsök med AI-prompt</a>: Bygg strukturerade uppföljningar när insatserna är höga.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-briefing-for-intervjuforberedelser">Skapa en briefing för intervjuförberedelser</a>: Förbered dig inför intervjuer där precision spelar roll.</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 legal opinion memo?</span>

<p class="answer"><strong>Bolagsjurister</strong> använder den för att skapa en konsekvent, ledningsklar berättelse som kopplar juridiska frågor till affärsbeslut och realistiska riskintervall. <strong>Complianceansvariga</strong> förlitar sig på den för att dokumentera motiv, antaganden och öppna frågor inför policyändringar eller revisioner. <strong>Konsulter och fraktionella operatörer</strong> använder den när de behöver briefa en kund om begränsningar och rekommenderade åtgärder utan att det låter som att de bedriver juridisk rådgivning. <strong>Grundare och affärsområdeschefer</strong> använder den för att gå in i ett samtal med extern juridisk rådgivare med ett tydligt faktamönster, en frågelista och riktade frågor.</p>

</div>

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

<p class="answer"><strong>SaaS-bolag</strong> använder den för att bedöma villkorsändringar, frågor om datahantering och scenarier med kundtvister, särskilt vid expansion till nya jurisdiktioner. <strong>E-handelsvarumärken</strong> använder den för returpolicyer, reklam- och marknadsföringspåståenden, prenumerationsupplägg och chargeback-relaterad risk där små ordval kan spela stor roll. <strong>Professionella tjänsteföretag</strong> använder den för att analysera tvister om scope, ansvarsbegränsningsklausuler och scenarier med kunduppsägning innan de svarar skriftligen. <strong>Byråer</strong> har nytta av den när de hanterar IP-användning, influenceravtal och leveranstvister som kräver försiktigt, icke-kategoriskt språk.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att skriva ett legal opinion memo svaga resultat?</span>

<p class="answer">En typisk prompt som &#8221;<em>Skriv ett juridiskt PM om den här situationen</em>&#8221; fallerar eftersom den: saknar en nödvändig föranalys som förankrar PM:et i ett konkret beslut, inte ger någon struktur fråga-för-fråga för kartläggning av rättskällor och tillämpning, ignorerar jurisdiktion och typer av rättskällor som styr analysen, ger överdrivet självsäkra slutsatser i stället för sannolikhetsintervall och faktakänsliga scenarier samt missar markeringar om ”saknad information” som gör ett utlåtande användbart i praktiken. Den här prompten tvingar fram disciplinerade antaganden, osäkerhet och praktiska nästa steg – vilket är vad verksamheten faktiskt behöver.</p>

</div>

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

<p class="answer">Ja. Även om prompten inte har formella variabler anpassar du den genom det du klistrar in i ”ärendebeskrivningen”. Ta med (1) jurisdiktion(er), (2) affärsbeslutet du behöver fatta, (3) nyckeldokument eller klausuler och (4) de fakta du är minst säker på. Be sedan om en riktad förfining, till exempel: ”Skriv om scenariobedömningen med tre alternativa faktamönster och förklara vilka saknade dokument som skulle kunna särskilja dem.” Om ditt mål är att stresstesta en enskild fråga kan du lägga till: ”Prioritera exponering mot konsumentskydd framför avtalsrättsliga påföljder vid identifiering av frågor.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här legal opinion memo-prompten?</span>

<p class="answer">Det största misstaget är att inte ange jurisdiktion – ”Det här hände i USA” är svagt, medan ”Kunden är i California; avtalet anger Delaware-lag; agerandet skedde online nationellt” ger PM:et något att förankra sig i. Ett annat vanligt fel är att ge slutsatser i stället för fakta; byt ut ”De bröt mot avtalet” mot ”De missade Milestone 2 med 21 dagar; vi skickade två rättelseanmodanden; SOW definierar milestones på sida 4.” Många utelämnar också vilket beslut PM:et ska stödja, vilket gör nästa steg generiska; lägg till ”Vi måste besluta om vi ska säga upp, omförhandla eller fortsätta och samtidigt reservera krav.” Slutligen hoppar användare ofta över den faktiska klausul-/policytexten; även en delvis inklistring av ansvarsbegränsning eller uppsägningsavsnitt förbättrar kartläggningen av rättskällor avsevärt.</p>

</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här legal opinion memo-prompten?</span>

<p class="answer">Den här prompten är inte idealisk för domstolsfärdiga utkast, inlagor eller något som måste följa lokala regler och citeringsformat. Den passar också dåligt om du ännu inte har tillförlitliga fakta och letar efter ett snabbt ”är det här lagligt”-besked, eftersom resultatet (med rätta) kommer att luta på antaganden och saknad information. Om du behöver jurisdiktionsspecifik juridisk rådgivning eller representation, använd detta som ett briefingunderlag och ta det till en behörig jurist för granskning i stället.</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 legal opinion memo?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Bolagsjurister använder den för att skapa en konsekvent, ledningsklar berättelse som kopplar juridiska frågor till affärsbeslut och realistiska riskintervall. Complianceansvariga förlitar sig på den för att dokumentera motiv, antaganden och öppna frågor inför policyändringar eller revisioner. Konsulter och fraktionella operatörer använder den när de behöver briefa en kund om begränsningar och rekommenderade åtgärder utan att det låter som att de bedriver juridisk rådgivning. Grundare och affärsområdeschefer använder den för att gå in i ett samtal med extern juridisk rådgivare med ett tydligt faktamönster, en frågelista och riktade frågor."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för legal opinion memo?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag använder den för att bedöma villkorsändringar, frågor om datahantering och scenarier med kundtvister, särskilt vid expansion till nya jurisdiktioner. E-handelsvarumärken använder den för returpolicyer, reklam- och marknadsföringspåståenden, prenumerationsupplägg och chargeback-relaterad risk där små ordval kan spela stor roll. Professionella tjänsteföretag använder den för att analysera tvister om scope, ansvarsbegränsningsklausuler och scenarier med kunduppsägning innan de svarar skriftligen. Byråer har nytta av den när de hanterar IP-användning, influenceravtal och leveranstvister som kräver försiktigt, icke-kategoriskt språk."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att skriva ett legal opinion memo svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv ett juridiskt PM om den här situationen\" fallerar eftersom den: saknar en nödvändig föranalys som förankrar PM:et i ett konkret beslut, inte ger någon struktur fråga-för-fråga för kartläggning av rättskällor och tillämpning, ignorerar jurisdiktion och typer av rättskällor som styr analysen, ger överdrivet självsäkra slutsatser i stället för sannolikhetsintervall och faktakänsliga scenarier samt missar markeringar om ”saknad information” som gör ett utlåtande användbart i praktiken. Den här prompten tvingar fram disciplinerade antaganden, osäkerhet och praktiska nästa steg – vilket är vad verksamheten faktiskt behöver."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här legal opinion memo-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Även om prompten inte har formella variabler anpassar du den genom det du klistrar in i ”ärendebeskrivningen”. Ta med (1) jurisdiktion(er), (2) affärsbeslutet du behöver fatta, (3) nyckeldokument eller klausuler och (4) de fakta du är minst säker på. Be sedan om en riktad förfining, till exempel: ”Skriv om scenariobedömningen med tre alternativa faktamönster och förklara vilka saknade dokument som skulle kunna särskilja dem.” Om ditt mål är att stresstesta en enskild fråga kan du lägga till: ”Prioritera exponering mot konsumentskydd framför avtalsrättsliga påföljder vid identifiering av frågor.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här legal opinion memo-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att inte ange jurisdiktion – ”Det här hände i USA” är svagt, medan ”Kunden är i California; avtalet anger Delaware-lag; agerandet skedde online nationellt” ger PM:et något att förankra sig i. Ett annat vanligt fel är att ge slutsatser i stället för fakta; byt ut ”De bröt mot avtalet” mot ”De missade Milestone 2 med 21 dagar; vi skickade två rättelseanmodanden; SOW definierar milestones på sida 4.” Många utelämnar också vilket beslut PM:et ska stödja, vilket gör nästa steg generiska; lägg till ”Vi måste besluta om vi ska säga upp, omförhandla eller fortsätta och samtidigt reservera krav.” Slutligen hoppar användare ofta över den faktiska klausul-/policytexten; även en delvis inklistring av ansvarsbegränsning eller uppsägningsavsnitt förbättrar kartläggningen av rättskällor avsevärt."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här legal opinion memo-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för domstolsfärdiga utkast, inlagor eller något som måste följa lokala regler och citeringsformat. Den passar också dåligt om du ännu inte har tillförlitliga fakta och letar efter ett snabbt ”är det här lagligt”-besked, eftersom resultatet (med rätta) kommer att luta på antaganden och saknad information. Om du behöver jurisdiktionsspecifik juridisk rådgivning eller representation, använd detta som ett briefingunderlag och ta det till en behörig jurist för granskning i stället."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Ett bra legal opinion memo gör inte bara en analys. Det hjälper någon att fatta ett beslut med öppna ögon. Klistra in prompten i ChatGPT, lägg till dina fakta och jurisdiktion och skapa ett PM som du faktiskt kan använda i nästa möte.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-ett-juridiskt-promemoriautlatande-med-ai-prompt/">Skriv ett juridiskt promemoriautlåtande 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>Designa JWT-inloggning med cookieflöde med AI-prompt</title>
		<link>https://nodenordic.se/prompts/designa-jwt-inloggning-med-cookieflode-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=designa-jwt-inloggning-med-cookieflode-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:48:24 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001439</guid>

					<description><![CDATA[<p>Cookiesessioner kapas. En beprövad AI-prompt som designar JWT-autentisering med HTTP-only-cookies, CSRF-skydd, rotation, middleware och loggning.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/designa-jwt-inloggning-med-cookieflode-med-ai-prompt/">Designa JWT-inloggning med cookieflöde 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: cookie-based JWT auth -->
<div class="hook-introduction">

<p>JWT-autentisering går sönder i de tråkiga detaljerna. Tokens hamnar i localStorage, XSS blir ett kontoövertagande och refresh-flöden blir en hög av edge cases som ingen övervakar. Sedan skeppar du ”tillräckligt bra” autentisering och spenderar nästa kvartal med att jaga märkliga utloggningsbuggar och misstänkta replays.</p>



<p>Den här <strong>cookie-baserade JWT-autentiseringen</strong> är byggd för <strong>produktingenjörer</strong> som behöver ett säkert inloggning/refresh/utloggningsflöde som inte läcker tokens till webbläsarens JavaScript, <strong>tech leads</strong> som måste standardisera middleware och cookie-policyer över flera tjänster, och <strong>säkerhetsmedvetna grundare</strong> som vill ha en praktisk plan inför ett penetrationstest. Resultatet är ett design-dokument i produktionsklass med implementationsmönster (cookies, headers, rotationsregler, middleware-struktur) plus loggning och övervakningssignaler som du faktiskt kan koppla in.</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 kartlägger ett end-to-end-flöde för inloggning → autentiserad request → tyst refresh → utloggning där webbläsaren aldrig läser tokens via JavaScript.</li>
          <li>Den definierar en access/refresh-tokenmodell, inklusive livslängder, rotationsstrategi och hur sessioner ogiltigförklaras på serversidan efter stöld eller utloggning.</li>
          <li>Den specificerar cookie-flaggor och header-mönster (SameSite, Secure, HttpOnly, Path-scoping, CSRF-headers) med konkreta standardinställningar.</li>
          <li>Den ger middleware-mönster för att autentisera requests, fästa användarkontext, hantera klockdrift och stoppa manipulerade eller återspelade tokens.</li>
          <li>Den lägger till operativ vägledning: vad som ska loggas, vilka signaler som indikerar missbruk och vilka larm som hjälper dig att snabbt upptäcka återanvändning av refresh-token.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du migrerar bort från tokens i localStorage/sessionStorage och behöver en säkrare approach utan att skriva om hela frontenden.</li>
          <li>Ditt refresh-flöde är opålitligt (slumpmässiga 401:or, utloggningsloopar, ”funkar på min dator”), och du behöver tydligt felbeteende och hantering av race conditions.</li>
          <li>Du ska precis skeppa en SPA + API och behöver CSRF-skydd som matchar cookie-baserad autentisering i stället för bearer-tokens.</li>
          <li>En säkerhetsgranskning eller kundenkät frågar hur du förhindrar token-stöld via XSS, replay efter stöld och session hijacking.</li>
          <li>Du skalar till flera tjänster och behöver konsekventa middleware- och loggningskonventioner så incidenter kan utredas snabbt.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett blueprint för autentiseringsflödet med steg-för-steg-sekvenser för request/response för inloggning, refresh och utloggning.</li>
           <li>En tabell för tokenpolicy som inkluderar TTL för access/refresh, rotationsregler, återanvändningsdetektering och säker hantering av klockdrift.</li>
           <li>Exempel på cookie- och header-konfiguration (HttpOnly/Secure/SameSite, CSRF-header, CORS-noteringar) redo att klistra in i dokumentation.</li>
           <li>Pseudokod för middleware för autentiseringsverifiering, koppling av användarkontext och konsekventa felsvar över endpoints.</li>
           <li>En checklista för övervakning med konkreta loggfält och larmidéer för replay-försök, refresh-avvikelser och misstänkta utloggningsraces.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

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

<h2 class="wp-block-heading">Hela AI-prompten: cookie-baserat JWT-autentiseringsflöde i produktionsklass</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>[APPLIKATIONSTYP]</code></td>
                                <td class="var-desc">
                                    Ange vilken typ av applikation du arbetar med, till exempel webb, mobil eller desktop, och inkludera relevanta detaljer om funktionalitet och hur användare interagerar med den.                                    <div class="var-example">Till exempel: "En single-page webbapplikation för e-handel, byggd med React och som integrerar mot REST-API:er."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[APPLIKATIONSTYP]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NUVARANDE_TEKNIKSTACK]</code></td>
                                <td class="var-desc">
                                    Beskriv vilka ramverk, runtime-miljö, hostingupplägg och reverse proxy-konfiguration som applikationen använder i dag.                                    <div class="var-example">Till exempel: "Node.js-backend med Express, driftad på AWS Lambda med en NGINX reverse proxy framför."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NUVARANDE_TEKNIKSTACK]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SAKERHETS_ELLER_EFTERLEVNADSKRAV]</code></td>
                                <td class="var-desc">
                                    Beskriv vilka specifika säkerhets- eller efterlevnadsstandarder applikationen måste uppfylla, till exempel SOC2, HIPAA, PCI eller GDPR.                                    <div class="var-example">Till exempel: "Applikationen måste följa GDPR för hantering av användardata och SOC2 för operativa säkerhetskrav."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SAKERHETS_ELLER_EFTERLEVNADSKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ONSKAD_SESSIONSLANGD]</code></td>
                                <td class="var-desc">
                                    Ange önskad sessionslängd, inklusive både inaktivitets-timeout och absolut utgångstid, för att kunna definiera token-livslängder.                                    <div class="var-example">Till exempel: "Inaktivitets-timeout på 15 minuter och absolut sessionstid som löper ut efter 24 timmar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ONSKAD_SESSIONSLANGD]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BEFINTLIGA_AUTENTISERINGSPROBLEM]</code></td>
                                <td class="var-desc">
                                    Beskriv eventuella observerade sårbarheter eller problem i nuvarande autentiseringslösning, till exempel tokenstöld, sessionskapning eller bristfällig utloggningshantering.                                    <div class="var-example">Till exempel: "Tokens som lagras i localStorage är sårbara för XSS-attacker, och sessionskapning har observerats på grund av saknat CSRF-skydd."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BEFINTLIGA_AUTENTISERINGSPROBLEM]"
                                            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 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">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">Vad detta INTE är (scope-gränser)</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">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></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) {Security Architecture}</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) {Cookie Implementation}</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">3) {Token Refresh System}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) {Validation Middleware}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) {Logout Security}</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) {Frontend Integration}</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">7) {Security Monitoring}</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">8) {Implementation Checklist}</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">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 produktionsredo JWT-autentiseringsdesign som tar bort all tokenlagring som är åtkomlig i webbläsaren och stänger de vanliga angreppsvägarna (XSS-tokeninsamling, token-replay efter stöld, sessionskapning). Leveransen ska förklara exakt hur du implementerar HTTP-only cookie-auth, tyst refresh, validering på serversidan och säker utloggning — komplett med kodmönster och vägledning för operativ övervakning.

## PERSONA
Agera som en före detta säkerhetsrådgivare med fokus på verkliga autentiseringshaverier. Du tänker först i angriparens arbetsflöden, föredrar försvar som är transparenta för legitima användare och översätter säkerhetsintention till implementerbara ingenjörssteg för moderna webbstackar.

## BEGRÄNSNINGAR
- Prioritera arkitekturer där tokens aldrig läses eller lagras av klientens JavaScript.
- Använd HTTP-only cookies som primär transport för sessionsuppgifter.
- Inkludera CSRF-försvar som är lämpliga för cookie-baserad auth.
- Ge specifika konfigurationsvärden/mönster (cookie-flaggor, headers, rotationsregler, middleware-struktur), inte vaga “best practices”.
- Håll frontenden fri från tokenlogik; servern äger utfärdande, refresh och invalidering.
- Inkludera explicit hantering för utgång, manipulering, återanvändning, klockdrift och utloggningsrace.
- Lägg till praktiska loggnings-/övervakningssignaler för att upptäcka auth-missbruk.
- Om indata saknas eller är oklara, ställ riktade frågor och ange säkra standardantaganden som sådana.

## PROCESS
1. **Föranalyssteg (obligatoriskt):** Återge kort scenariot med egna ord och lista eventuella antaganden du kommer att använda.
2. Föreslå det end-to-end-auth-flödet (inloggning → autentiserade förfrågningar → refresh → utloggning).
3. Definiera tokenmodell: access vs refresh token-ansvar, livslängder, rotation och strategi för invalidering på serversidan.
4. Specificera cookie-inställningar och security headers för den givna stacken/miljön.
5. Ge middleware-mönster för request-autentisering och koppling av user context.
6. Beskriv felbeteende (vad klienten ser vs vad som loggas) för varje feltyp.
7. Lägg till övervakningsvägledning (händelser, mätvärden, larm) anpassad för tokenmissbruk.
8. Avsluta med en implementationschecklista som ingenjörer kan följa och verifiera.

### Vad detta INTE är (scope-gränser)
- Inte en generell “JWT-översikt” eller en kryptografi-primer.
- Inte en rekommendation att lagra tokens i localStorage/sessionStorage.
- Inte en ersättning för ett fullständigt penetrationstest eller juridisk efterlevnadsgranskning.
- Inte en one-size-fits-all SSO/OAuth-omdesign om det inte uttryckligen efterfrågas.

## INDATA
- **Applikationstyp:** [APPLIKATIONSTYP]
- **Nuvarande teknikstack (ramverk, runtime, hosting, reverse proxy):** [NUVARANDE_TEKNIKSTACK]
- **Säkerhets-/efterlevnadskrav (t.ex. SOC2, HIPAA, PCI, GDPR):** [SAKERHETS_ELLER_EFTERLEVNADSKRAV]
- **Önskad sessionslängd (idle + absolut):** [ONSKAD_SESSIONSLANGD]
- **Befintliga autentiseringsproblem/sårbarheter som observerats:** [BEFINTLIGA_AUTENTISERINGSPROBLEM]

## OUTPUTSPECIFIKATION
Använd följande avsnitt och inkludera implementeringsredo detaljnivå i varje:

### 1) {Security Architecture}
- Sammanfattning av hotmodell: {Primary Threats} och {Excluded Threats}
- Rekommenderad JWT-layout: {Token Types}, {Claims}, {Signing Algorithm}, {Key Management}
- Sessionsstrategi: {Access Lifetime}, {Refresh Lifetime}, {Rotation Policy}, {Revocation Approach}
- Flödesdiagram för requests (text): {Flow Steps}

### 2) {Cookie Implementation}
- Cookie(s) som krävs: {Cookie Names} och syften
- Exakta cookie-attribut med motivering:
  - {HttpOnly}, {Secure}, {SameSite}, {Domain}, {Path}, {MaxAge}
- Nödvändiga headers &amp; plattformskontroller:
  - {CSP Guidance}, {HSTS}, {X-Content-Type-Options}, {Referrer-Policy}
- CSRF-skydd för cookie-auth:
  - {CSRF Pattern} (t.ex. double-submit eller synchronizer token) och när det ska upprätthållas

### 3) {Token Refresh System}
- Design för refresh-endpoint: {Route}, {Expected Cookies}, {Response Behavior}
- Rotation &amp; detektering av återanvändning: {How You Detect Replay}, {What You Invalidate}
- Hantering av samtidighet: {Multiple Tabs Strategy} och {Race Resolution}
- Exempel på server-pseudo/kod: {Refresh Handler Example}

### 4) {Validation Middleware}
- Middleware-ansvar: {Verification Steps} (signatur, exp/nbf, issuer/audience, jti, användarstatus)
- Koppling av user context: {User Context Shape}
- Auktoriseringshooks: {RBAC/ABAC Extension Points}
- Exempel på middleware pseudo/kod: {Middleware Example}

### 5) {Logout Security}
- Utloggningstyper: {Client-Initiated Logout} och {Server-Forced Logout}
- Invalideringsdesign: {Blacklist/Allowlist/Session Store} och retention-fönster
- Strategi för cookie-rensning: {Clear Cookie Rules} (path/domain-justering)
- Exempel på endpoint pseudo/kod: {Logout Handler Example}

### 6) {Frontend Integration}
- Regler för frontend-requests: {Fetch/XHR Settings} (credentials-läge, CORS-interaktion)
- Angreppssätt för UI-auth state: {Session Check Endpoint} och cache-vägledning
- No-token-garanti: ange uttryckligen vad frontenden aldrig får göra

### 7) {Security Monitoring}
- Feltaxonomi: {Client-Facing Errors} vs {Server Logs}
- Logghändelser att fånga: {Auth Event List} (misslyckad verifiering, refresh-återanvändning, onormala IP/UA-skiften)
- Mätvärden &amp; larm: {Alert Conditions} och {Suggested Thresholds}
- Incident response-noteringar: {Triage Steps} vid misstänkt tokenstöld

### 8) {Implementation Checklist}
Tillhandahåll en steg-för-steg-lista där varje steg innehåller:
- {Step}
- {How To Implement}
- {How To Verify}
- {Failure Modes To Test}

## KVALITETSKONTROLLER
På slutet, inkludera en verifieringslista som bekräftar:
- Tokens är aldrig åtkomliga för klientens JavaScript (ingen localStorage/sessionStorage, inga JS-läsbara cookies).
- Cookies använder lämpliga flaggor och CSRF-skydd upprätthålls där det behövs.
- Refresh-rotation + detektering av återanvändning är definierad och implementerbar på serversidan.
- Middleware validerar alla kritiska claims och hanterar klockdrift/manipulering säkert.
- Utloggning invaliderar sessioner pålitligt och rensar cookies utan path/domain-mismatchar.            </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 produktionsredo JWT-autentiseringsdesign som tar bort all tokenlagring som \u00e4r \u00e5tkomlig i webbl\u00e4saren och st\u00e4nger de vanliga angreppsv\u00e4garna (XSS-tokeninsamling, token-replay efter st\u00f6ld, sessionskapning). Leveransen ska f\u00f6rklara exakt hur du implementerar HTTP-only cookie-auth, tyst refresh, validering p\u00e5 serversidan och s\u00e4ker utloggning \u2014 komplett med kodm\u00f6nster och v\u00e4gledning f\u00f6r operativ \u00f6vervakning.\r\n\r\n## PERSONA\r\nAgera som en f\u00f6re detta s\u00e4kerhetsr\u00e5dgivare med fokus p\u00e5 verkliga autentiseringshaverier. Du t\u00e4nker f\u00f6rst i angriparens arbetsfl\u00f6den, f\u00f6redrar f\u00f6rsvar som \u00e4r transparenta f\u00f6r legitima anv\u00e4ndare och \u00f6vers\u00e4tter s\u00e4kerhetsintention till implementerbara ingenj\u00f6rssteg f\u00f6r moderna webbstackar.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Prioritera arkitekturer d\u00e4r tokens aldrig l\u00e4ses eller lagras av klientens JavaScript.\r\n- Anv\u00e4nd HTTP-only cookies som prim\u00e4r transport f\u00f6r sessionsuppgifter.\r\n- Inkludera CSRF-f\u00f6rsvar som \u00e4r l\u00e4mpliga f\u00f6r cookie-baserad auth.\r\n- Ge specifika konfigurationsv\u00e4rden\/m\u00f6nster (cookie-flaggor, headers, rotationsregler, middleware-struktur), inte vaga \u201cbest practices\u201d.\r\n- H\u00e5ll frontenden fri fr\u00e5n tokenlogik; servern \u00e4ger utf\u00e4rdande, refresh och invalidering.\r\n- Inkludera explicit hantering f\u00f6r utg\u00e5ng, manipulering, \u00e5teranv\u00e4ndning, klockdrift och utloggningsrace.\r\n- L\u00e4gg till praktiska loggnings-\/\u00f6vervakningssignaler f\u00f6r att uppt\u00e4cka auth-missbruk.\r\n- Om indata saknas eller \u00e4r oklara, st\u00e4ll riktade fr\u00e5gor och ange s\u00e4kra standardantaganden som s\u00e5dana.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalyssteg (obligatoriskt):** \u00c5terge kort scenariot med egna ord och lista eventuella antaganden du kommer att anv\u00e4nda.\r\n2. F\u00f6resl\u00e5 det end-to-end-auth-fl\u00f6det (inloggning \u2192 autentiserade f\u00f6rfr\u00e5gningar \u2192 refresh \u2192 utloggning).\r\n3. Definiera tokenmodell: access vs refresh token-ansvar, livsl\u00e4ngder, rotation och strategi f\u00f6r invalidering p\u00e5 serversidan.\r\n4. Specificera cookie-inst\u00e4llningar och security headers f\u00f6r den givna stacken\/milj\u00f6n.\r\n5. Ge middleware-m\u00f6nster f\u00f6r request-autentisering och koppling av user context.\r\n6. Beskriv felbeteende (vad klienten ser vs vad som loggas) f\u00f6r varje feltyp.\r\n7. L\u00e4gg till \u00f6vervakningsv\u00e4gledning (h\u00e4ndelser, m\u00e4tv\u00e4rden, larm) anpassad f\u00f6r tokenmissbruk.\r\n8. Avsluta med en implementationschecklista som ingenj\u00f6rer kan f\u00f6lja och verifiera.\r\n\r\n### Vad detta INTE \u00e4r (scope-gr\u00e4nser)\r\n- Inte en generell \u201cJWT-\u00f6versikt\u201d eller en kryptografi-primer.\r\n- Inte en rekommendation att lagra tokens i localStorage\/sessionStorage.\r\n- Inte en ers\u00e4ttning f\u00f6r ett fullst\u00e4ndigt penetrationstest eller juridisk efterlevnadsgranskning.\r\n- Inte en one-size-fits-all SSO\/OAuth-omdesign om det inte uttryckligen efterfr\u00e5gas.\r\n\r\n## INDATA\r\n- **Applikationstyp:** [APPLIKATIONSTYP]\r\n- **Nuvarande teknikstack (ramverk, runtime, hosting, reverse proxy):** [NUVARANDE_TEKNIKSTACK]\r\n- **S\u00e4kerhets-\/efterlevnadskrav (t.ex. SOC2, HIPAA, PCI, GDPR):** [SAKERHETS_ELLER_EFTERLEVNADSKRAV]\r\n- **\u00d6nskad sessionsl\u00e4ngd (idle + absolut):** [ONSKAD_SESSIONSLANGD]\r\n- **Befintliga autentiseringsproblem\/s\u00e5rbarheter som observerats:** [BEFINTLIGA_AUTENTISERINGSPROBLEM]\r\n\r\n## OUTPUTSPECIFIKATION\r\nAnv\u00e4nd f\u00f6ljande avsnitt och inkludera implementeringsredo detaljniv\u00e5 i varje:\r\n\r\n### 1) {Security Architecture}\r\n- Sammanfattning av hotmodell: {Primary Threats} och {Excluded Threats}\r\n- Rekommenderad JWT-layout: {Token Types}, {Claims}, {Signing Algorithm}, {Key Management}\r\n- Sessionsstrategi: {Access Lifetime}, {Refresh Lifetime}, {Rotation Policy}, {Revocation Approach}\r\n- Fl\u00f6desdiagram f\u00f6r requests (text): {Flow Steps}\r\n\r\n### 2) {Cookie Implementation}\r\n- Cookie(s) som kr\u00e4vs: {Cookie Names} och syften\r\n- Exakta cookie-attribut med motivering:\r\n  - {HttpOnly}, {Secure}, {SameSite}, {Domain}, {Path}, {MaxAge}\r\n- N\u00f6dv\u00e4ndiga headers & plattformskontroller:\r\n  - {CSP Guidance}, {HSTS}, {X-Content-Type-Options}, {Referrer-Policy}\r\n- CSRF-skydd f\u00f6r cookie-auth:\r\n  - {CSRF Pattern} (t.ex. double-submit eller synchronizer token) och n\u00e4r det ska uppr\u00e4tth\u00e5llas\r\n\r\n### 3) {Token Refresh System}\r\n- Design f\u00f6r refresh-endpoint: {Route}, {Expected Cookies}, {Response Behavior}\r\n- Rotation & detektering av \u00e5teranv\u00e4ndning: {How You Detect Replay}, {What You Invalidate}\r\n- Hantering av samtidighet: {Multiple Tabs Strategy} och {Race Resolution}\r\n- Exempel p\u00e5 server-pseudo\/kod: {Refresh Handler Example}\r\n\r\n### 4) {Validation Middleware}\r\n- Middleware-ansvar: {Verification Steps} (signatur, exp\/nbf, issuer\/audience, jti, anv\u00e4ndarstatus)\r\n- Koppling av user context: {User Context Shape}\r\n- Auktoriseringshooks: {RBAC\/ABAC Extension Points}\r\n- Exempel p\u00e5 middleware pseudo\/kod: {Middleware Example}\r\n\r\n### 5) {Logout Security}\r\n- Utloggningstyper: {Client-Initiated Logout} och {Server-Forced Logout}\r\n- Invalideringsdesign: {Blacklist\/Allowlist\/Session Store} och retention-f\u00f6nster\r\n- Strategi f\u00f6r cookie-rensning: {Clear Cookie Rules} (path\/domain-justering)\r\n- Exempel p\u00e5 endpoint pseudo\/kod: {Logout Handler Example}\r\n\r\n### 6) {Frontend Integration}\r\n- Regler f\u00f6r frontend-requests: {Fetch\/XHR Settings} (credentials-l\u00e4ge, CORS-interaktion)\r\n- Angreppss\u00e4tt f\u00f6r UI-auth state: {Session Check Endpoint} och cache-v\u00e4gledning\r\n- No-token-garanti: ange uttryckligen vad frontenden aldrig f\u00e5r g\u00f6ra\r\n\r\n### 7) {Security Monitoring}\r\n- Feltaxonomi: {Client-Facing Errors} vs {Server Logs}\r\n- Loggh\u00e4ndelser att f\u00e5nga: {Auth Event List} (misslyckad verifiering, refresh-\u00e5teranv\u00e4ndning, onormala IP\/UA-skiften)\r\n- M\u00e4tv\u00e4rden & larm: {Alert Conditions} och {Suggested Thresholds}\r\n- Incident response-noteringar: {Triage Steps} vid misst\u00e4nkt tokenst\u00f6ld\r\n\r\n### 8) {Implementation Checklist}\r\nTillhandah\u00e5ll en steg-f\u00f6r-steg-lista d\u00e4r varje steg inneh\u00e5ller:\r\n- {Step}\r\n- {How To Implement}\r\n- {How To Verify}\r\n- {Failure Modes To Test}\r\n\r\n## KVALITETSKONTROLLER\r\nP\u00e5 slutet, inkludera en verifieringslista som bekr\u00e4ftar:\r\n- Tokens \u00e4r aldrig \u00e5tkomliga f\u00f6r klientens JavaScript (ingen localStorage\/sessionStorage, inga JS-l\u00e4sbara cookies).\r\n- Cookies anv\u00e4nder l\u00e4mpliga flaggor och CSRF-skydd uppr\u00e4tth\u00e5lls d\u00e4r det beh\u00f6vs.\r\n- Refresh-rotation + detektering av \u00e5teranv\u00e4ndning \u00e4r definierad och implementerbar p\u00e5 serversidan.\r\n- Middleware validerar alla kritiska claims och hanterar klockdrift\/manipulering s\u00e4kert.\r\n- Utloggning invaliderar sessioner p\u00e5litligt och rensar cookies utan path\/domain-mismatchar.";
    const variables = ["[APPLIKATIONSTYP]","[NUVARANDE_TEKNIKSTACK]","[SAKERHETS_ELLER_EFTERLEVNADSKRAV]","[ONSKAD_SESSIONSLANGD]","[BEFINTLIGA_AUTENTISERINGSPROBLEM]"];
    // 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>Ange klienttyp och API-topologi.</strong> Berätta för prompten om du har en SPA som anropar en separat API-domän, en monolit eller en BFF (backend-for-frontend). Lägg till en rad som: ”Frontend: Next.js på app.example.com, API: api.example.com bakom ALB” så att cookie-domän/path och CORS/CSRF-detaljer blir korrekta.</li>


<li><strong>Be om en konkret cookie-matris.</strong> Efter första svaret, följ upp med: ”Ge mig de exakta cookie-namnen, flaggor, domän/path-scope och max-age för access-, refresh- och CSRF-cookies.” Det tvingar fram specifika värden i stället för allmänheter och gör implementationsgranskningar enklare.</li>


<li><strong>Tvinga återanvändningsdetektering och hantering av utloggningsraces.</strong> Många designer hoppar över detta, och ärligt talat är det här verkliga incidenter bor. Prompt: ”Inkludera refresh token-rotation med återanvändningsdetektering, och förklara vad som händer när en stulen refresh används efter att den legitima klienten redan har roterat.”</li>


<li><strong>Iterera på felbeteende, inte bara säkerhet.</strong> När du fått det säkra flödet, be: ”Skriv nu om de klient-synliga felen och retry-reglerna för att undvika oändliga refresh-loopar; inkludera exempel för svaren 401 vs 403 vs 419 (CSRF).” Målet är en säker och lugn UX.</li>


<li><strong>Gör det operativt genom att be om loggscheman.</strong> Lägg till: ”Ge ett JSON-loggexempel för inloggning, refresh, refresh-nekad (replay) och utloggning, inklusive fält som user_id, session_id, token_family_id, ip_hash, user_agent_hash och reason codes.” Det gör en design till något ditt SIEM kan använda.</li>

</ul>

</div>

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

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



<p>När ditt auth-flöde är designat behöver du vanligtvis check-in-system och onboarding-workflows för att rulla ut det säkert över team och kunder.</p>



<p>Om du också behöver ett strukturerat sätt att hålla användare engagerade efter lansering (och fånga problem tidigt), hjälper <a href="https://nodenordic.se/prompts/bygg-ett-system-for-kundcheck-ins-med-ai-prompt">Bygg ett kund-check-in-system med den här AI-prompten</a> dig att designa en repeterbar kadens, frågor och uppföljningar. Den passar bra ihop med säkerhetsförändringar eftersom cookie/auth-migreringar ofta skapar subtil friktion, och proaktiva check-ins fångar det innan churn gör det.</p>



<p>För team som gör interna utrullningar kan <a href="https://nodenordic.se/prompts/skapa-en-checklista-for-forsta-onboardingveckan">Bygg en onboarding-checklista för första veckan med den här AI-prompten</a> omvandla dina nya auth-krav till en tydlig första-veckan-plan för ingenjörer och support. Använd den när du standardiserar cookie-flaggor, CSRF-förväntningar eller loggfält över repos och vill ha färre ”men jag visste inte”-överraskningar.</p>



<p>Säkerhetsarbete kan vara intensivt, och utbrändhet gör misstag mer sannolika. När du vill upptäcka process-stress medan du driver viktiga förändringar ger <a href="https://nodenordic.se/prompts/diagnos-och-atgardsplan-for-arbetsplatsvalmaende">AI-prompten för diagnos av välmående på arbetsplatsen och handlingsplan</a> dig ett praktiskt sätt att identifiera teamflaskhalsar, on-call-smärta och workflow-glapp som ofta blir synliga under auth- eller infrastrukturmigreringar.</p>


<br>


<p>Snabbreferens:</p>



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

<li><a href="https://nodenordic.se/prompts/bygg-ett-system-for-kundcheck-ins-med-ai-prompt">Bygg ett kund-check-in-system med den här AI-prompten</a>: Skapa kadens, frågor och uppföljningsworkflow.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-checklista-for-forsta-onboardingveckan">Bygg en onboarding-checklista för första veckan med den här AI-prompten</a>: Gör förändringar till tydliga uppgifter för första veckan.</li>

<li><a href="https://nodenordic.se/prompts/diagnos-och-atgardsplan-for-arbetsplatsvalmaende">AI-prompten för diagnos av välmående på arbetsplatsen och handlingsplan</a>: Identifiera flaskhalsar och minska utrullningsstress.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-aterkommande-check-in-mall-for-livet">AI-prompten för att bygga ett återkommande livs-check-in-worksheet</a>: Bygg en repeterbar struktur för självutvärdering.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-skuldfri-utgiftsavstamning-med-en-ai-prompt">Bygg en skamfri utgifts-check-in med den här AI-prompten</a>: Skapa en tydlig rutin för utgiftsgranskning.</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 cookie-baserad JWT-autentisering?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Backendingenjörer</strong> använder den här för att göra ”använd HttpOnly-cookies” till ett faktiskt flöde med middleware, rotation och ogiltigförklaring på serversidan. <strong>Frontendansvariga</strong> vinner på att designen håller UI:t fritt från tokenlagring och refresh-logik, vilket minskar skör klientkod och märkliga edge cases. <strong>Säkerhetsingenjörer</strong> använder den för att hotmodellera vanliga exploit-vägar (XSS-stöld, replay, session fixation) och verifiera kontroller som CSRF-skydd och återanvändningsdetektering. <strong>Ingenjörschefer</strong> använder leveransen som referens för utrullning så att flera tjänster implementerar samma cookie-flaggor, felbeteende och loggfält.</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 cookie-baserad JWT-autentisering?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS-bolag</strong> får värde eftersom multi-tenant-appar ofta möter strikta säkerhetsenkäter, och en dokumenterad cookie-baserad JWT-approach med rotation och övervakning besvarar dem tydligt. <strong>E-handelsvarumärken</strong> gynnas när checkout- och kontoområden ofta är XSS-mål; att hålla tokens borta från JavaScript minskar skadeomfånget vid en frontend-bugg. <strong>Fintech och reglerade produkter</strong> använder den för att linjera sessionshantering med compliance-förväntningar som tydligt utloggningsbeteende, session ogiltigförklaring och revisionsvänliga loggar. <strong>Byråer som bygger webbplattformar åt kunder</strong> kan standardisera en auth-baslinje över projekt, vilket gör leverans snabbare och minskar risken med ”specialbyggd auth”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att designa cookie-baserade JWT-auth-flöden svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som &#8221;<em>Skriv ett säkert JWT-auth-system med cookies</em>&#8221; misslyckas eftersom den: saknar konkreta regler för rotation och återanvändningsdetektering, ger ingen middleware-struktur för verifiering och koppling av användarkontext, ignorerar CSRF-mekanik som är obligatorisk när cookies används för autentisering, producerar vaga råd som ”sätt HttpOnly och Secure” i stället för exakta cookie/header-mönster, och missar operativ vägledning som loggfält och larmbara signaler. Du får något som låter säkert men faller isär vid replay, utloggningsraces och verkliga angriparflöden.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för cookie-baserad JWT-autentisering för min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Det snabbaste sättet är att lägga till dina miljödetaljer först (SPA vs server-renderad, en domän vs subdomäner, mobilklienter och om du har en gateway/proxy som terminerar TLS). Be sedan om stack-specifik output, till exempel: ”Anta Node/Express + Next.js bakom Cloudflare; ge cookie Domain/Path, SameSite-val, CSRF-header-mönster och middleware-pseudokod.” Om du har ovanliga begränsningar (cross-site embeds, tredjeparts-IdP, flera API:er), säg det direkt och be om ”säkra standardval” plus alternativa val med avvägningar.</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 cookie-baserad JWT-autentisering?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna deployment-topologin vag—i stället för ”en webbapp”, säg ”SPA på app.example.com som anropar api.example.com med credentials inkluderade.” Ett annat vanligt fel är att inte be om explicit CSRF-hantering; ”vi använder cookies” räcker inte, så be om ett specifikt double-submit- eller origin/CSRF-header-mönster och när det ska enforced. Team glömmer också att kräva detaljer för refresh-rotation, vilket leder till refresh-tokens som går att återspela; be om ”rotation plus återanvändningsdetektering på serversidan” och vad som händer vid återanvändning. Slutligen hoppar många över övervakningsoutput; kräv en lista med loggfält och exempel på events så att du kan upptäcka refresh-stormar, toppar i ogiltiga signaturer och misstänkta geo-/IP-förändringar.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för cookie-baserad JWT-autentisering?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten passar inte optimalt för team som behöver en minimal demo med en enda endpoint och inte tänker implementera rotation, ogiltigförklaring och övervakning. Den är också ett dåligt val om din produkt strikt är icke-webbläsarbaserad (till exempel machine-to-machine-API:er) där cookies och CSRF helt enkelt inte är rätt verktyg. Och om du inte har validerat grundkrav som sessionens varaktighet, regler för enhetstillit eller utloggningsförväntningar kan designen kännas för ”tung” för tidigt. I de fallen: börja med att dokumentera krav och hotmodellens omfattning, och kom sedan tillbaka till den här prompten för versionen i produktionsklass.</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 cookie-baserad JWT-autentisering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Backendingenjörer använder den här för att göra ”använd HttpOnly-cookies” till ett faktiskt flöde med middleware, rotation och ogiltigförklaring på serversidan. Frontendansvariga vinner på att designen håller UI:t fritt från tokenlagring och refresh-logik, vilket minskar skör klientkod och märkliga edge cases. Säkerhetsingenjörer använder den för att hotmodellera vanliga exploit-vägar (XSS-stöld, replay, session fixation) och verifiera kontroller som CSRF-skydd och återanvändningsdetektering. Ingenjörschefer använder leveransen som referens för utrullning så att flera tjänster implementerar samma cookie-flaggor, felbeteende och loggfält."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för cookie-baserad JWT-autentisering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag får värde eftersom multi-tenant-appar ofta möter strikta säkerhetsenkäter, och en dokumenterad cookie-baserad JWT-approach med rotation och övervakning besvarar dem tydligt. E-handelsvarumärken gynnas när checkout- och kontoområden ofta är XSS-mål; att hålla tokens borta från JavaScript minskar skadeomfånget vid en frontend-bugg. Fintech och reglerade produkter använder den för att linjera sessionshantering med compliance-förväntningar som tydligt utloggningsbeteende, session ogiltigförklaring och revisionsvänliga loggar. Byråer som bygger webbplattformar åt kunder kan standardisera en auth-baslinje över projekt, vilket gör leverans snabbare och minskar risken med ”specialbyggd auth”."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att designa cookie-baserade JWT-auth-flöden svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv ett säkert JWT-auth-system med cookies\" misslyckas eftersom den: saknar konkreta regler för rotation och återanvändningsdetektering, ger ingen middleware-struktur för verifiering och koppling av användarkontext, ignorerar CSRF-mekanik som är obligatorisk när cookies används för autentisering, producerar vaga råd som ”sätt HttpOnly och Secure” i stället för exakta cookie/header-mönster, och missar operativ vägledning som loggfält och larmbara signaler. Du får något som låter säkert men faller isär vid replay, utloggningsraces och verkliga angriparflöden."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för cookie-baserad JWT-autentisering för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Det snabbaste sättet är att lägga till dina miljödetaljer först (SPA vs server-renderad, en domän vs subdomäner, mobilklienter och om du har en gateway/proxy som terminerar TLS). Be sedan om stack-specifik output, till exempel: ”Anta Node/Express + Next.js bakom Cloudflare; ge cookie Domain/Path, SameSite-val, CSRF-header-mönster och middleware-pseudokod.” Om du har ovanliga begränsningar (cross-site embeds, tredjeparts-IdP, flera API:er), säg det direkt och be om ”säkra standardval” plus alternativa val med avvägningar."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för cookie-baserad JWT-autentisering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna deployment-topologin vag—instead of “a web app,” say “SPA on app.example.com calling api.example.com with credentials included.” Another common error is not asking for explicit CSRF handling; “we use cookies” is not enough, so request a specific double-submit or origin/CSRF-header pattern and when to enforce it. Teams also forget to demand refresh rotation details, which leads to replayable refresh tokens; ask for “rotation plus server-side reuse detection” and what happens on reuse. Finally, people skip monitoring outputs; insist on a list of log fields and sample events so you can detect refresh storms, invalid signature spikes, and suspicious geo/IP changes."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för cookie-baserad JWT-autentisering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten passar inte optimalt för team som behöver en minimal demo med en enda endpoint och inte tänker implementera rotation, ogiltigförklaring och övervakning. Den är också ett dåligt val om din produkt strikt är icke-webbläsarbaserad (till exempel machine-to-machine-API:er) där cookies och CSRF helt enkelt inte är rätt verktyg. Och om du inte har validerat grundkrav som sessionens varaktighet, regler för enhetstillit eller utloggningsförväntningar kan designen kännas för ”tung” för tidigt. I de fallen: börja med att dokumentera krav och hotmodellens omfattning, och kom sedan tillbaka till den här prompten för versionen i produktionsklass."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Autentisering är antingen lugn eller kaotisk. Den här prompten hjälper dig att designa den lugna versionen, med cookies, CSRF-skydd, rotation och övervakning tydligt beskrivna så att du kan implementera med trygghet.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/designa-jwt-inloggning-med-cookieflode-med-ai-prompt/">Designa JWT-inloggning med cookieflöde 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>
