{"id":843,"date":"2025-05-20T10:04:36","date_gmt":"2025-05-20T10:04:36","guid":{"rendered":"https:\/\/crehistor.com\/?page_id=843"},"modified":"2025-07-09T16:05:52","modified_gmt":"2025-07-09T16:05:52","slug":"science-fiction","status":"publish","type":"page","link":"https:\/\/crehistor.com\/de\/science-fiction\/","title":{"rendered":"Science-fiction"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"843\" class=\"elementor elementor-843\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4624a03 e-flex e-con-boxed e-con e-parent\" data-id=\"4624a03\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-19f14e1 e-con-full e-flex e-con e-child\" data-id=\"19f14e1\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-22c9716 e-con-full e-flex e-con e-child\" data-id=\"22c9716\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-82d24e6 e-con-full e-flex e-con e-child\" data-id=\"82d24e6\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fe92ec elementor-widget elementor-widget-shortcode\" data-id=\"1fe92ec\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n  <div id=\"sf-parfait-root\"><\/div>\n\n  <style>\n    \/* Container *\/\n    #sf-parfait-root{max-width:760px;margin:40px auto;background:#0b0f16;border-radius:18px;padding:22px;color:#e6f0ff;box-shadow:0 14px 44px rgba(6,10,18,.5);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}\n    \/* Lang *\/\n    .sf-langbar{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}\n    .sf-langbtn{background:#0e1522;border:2px solid #1f2a44;border-radius:10px;padding:6px 12px;cursor:pointer;color:#e6f0ff;font-weight:700;transition:.16s}\n    .sf-langbtn:hover,.sf-langbtn.selected{background:#14203a;border-color:#4ea1ff;color:#a7d1ff}\n    \/* Title\/Sub *\/\n    .sf-title{font-size:1.6em;font-weight:900;color:#a7d1ff;text-align:center;margin:6px 0 6px}\n    .sf-sub{font-size:1.05em;text-align:center;color:#9fb4d6;margin-bottom:16px}\n    \/* Slider *\/\n    .sf-slider{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 18px}\n    .sf-sbtn{background:#0e1522;color:#a7d1ff;border:1px solid #1f2a44;border-radius:10px;width:38px;height:38px;font-size:1.4em;cursor:pointer;transition:.16s}\n    .sf-sbtn:hover{background:#14203a;border-color:#4ea1ff}\n    .sf-cover{width:300px;height:170px;border-radius:14px;overflow:hidden;box-shadow:0 4px 28px rgba(30,100,200,.35);border:1px solid #1f2a44}\n    .sf-cover img{width:100%;height:100%;object-fit:cover;display:block}\n    \/* Steps\/UI *\/\n    .sf-step{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 18px}\n    .sf-step-item{background:#0e1522;border:1px solid #1f2a44;border-radius:10px;padding:10px;text-align:center;color:#9fb4d6}\n    .sf-step-item.sel{background:#14203a;color:#a7d1ff;border-color:#4ea1ff}\n    \/* QA *\/\n    .sf-qwrap{background:#0e1522;border:1px solid #1f2a44;border-radius:12px;padding:14px;margin:14px 0}\n    .sf-qtitle{font-weight:800;color:#a7d1ff;margin-bottom:10px}\n    .sf-input{width:100%;padding:10px 12px;color:#e6f0ff;background:#0b1220;border:1px solid #223055;border-radius:9px;font-size:1.05em}\n    .sf-sugs{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}\n    .sf-sugbtn{padding:8px 12px;background:#0b1220;border:1px solid #223055;color:#bcd7ff;border-radius:999px;cursor:pointer;transition:.16s;font-weight:600}\n    .sf-sugbtn:hover{background:#13213c;border-color:#4ea1ff;color:#e6f0ff}\n    .sf-ctr{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}\n    .sf-cta{background:#13213c;border:1px solid #2c477a;color:#cde3ff;padding:10px 14px;border-radius:10px;cursor:pointer;transition:.16s;font-weight:800}\n    .sf-cta:hover{background:#173055;border-color:#4ea1ff;color:#fff}\n    \/* Result *\/\n    .sf-res{background:#0e1522;border:1px solid #1f2a44;border-radius:12px;padding:18px;margin-top:18px;line-height:1.75}\n    .sf-actions{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}\n    \/* Responsive *\/\n    @media(max-width:560px){#sf-parfait-root{padding:14px}.sf-title{font-size:1.35em}.sf-cover{width:94vw;height:52vw;max-width:94vw;min-height:120px}.sf-step{grid-template-columns:1fr}}\n  <\/style>\n\n  <script>\n  document.addEventListener('DOMContentLoaded', function(){\n    const ui     = {\"main_title\":{\"fr\":\"Cr\u00e9e ta meilleure histoire de science-fiction !<br>Commence ici\u2026\",\"en\":\"Create your best sci-fi story!<br>Start here\u2026\",\"es\":\"\u00a1Crea tu mejor historia de ciencia ficci\u00f3n!<br>Empieza aqu\u00ed\u2026\",\"it\":\"Crea la tua migliore storia di fantascienza!<br>Inizia qui\u2026\",\"de\":\"Erschaffe deine beste Science-Fiction-Geschichte!<br>Fang hier an\u2026\"},\"intro\":{\"fr\":\"R\u00e9ponds aux questions ou utilise les suggestions pour g\u00e9n\u00e9rer une histoire SF compl\u00e8te.\",\"en\":\"Answer the questions or use suggestions to generate a complete sci-fi story.\",\"es\":\"Responde a las preguntas o usa sugerencias para generar una historia completa de ciencia ficci\u00f3n.\",\"it\":\"Rispondi alle domande o usa i suggerimenti per generare una storia completa di fantascienza.\",\"de\":\"Beantworte die Fragen oder nutze Vorschl\u00e4ge, um eine vollst\u00e4ndige Sci-Fi-Geschichte zu erzeugen.\"},\"random_word\":{\"fr\":\"Mot al\u00e9atoire\",\"en\":\"Random word\",\"es\":\"Palabra aleatoria\",\"it\":\"Parola casuale\",\"de\":\"Zufallswort\"},\"all_random\":{\"fr\":\"Tout remplir au hasard\",\"en\":\"Fill all randomly\",\"es\":\"Todo al azar\",\"it\":\"Tutto casuale\",\"de\":\"Alles zuf\u00e4llig\"},\"next\":{\"fr\":\"Suivant\",\"en\":\"Next\",\"es\":\"Siguiente\",\"it\":\"Avanti\",\"de\":\"Weiter\"},\"generate\":{\"fr\":\"G\u00e9n\u00e9rer\",\"en\":\"Generate\",\"es\":\"Generar\",\"it\":\"Genera\",\"de\":\"Generieren\"},\"imprimer\":{\"fr\":\"Imprimer\",\"en\":\"Print\",\"es\":\"Imprimir\",\"it\":\"Stampa\",\"de\":\"Drucken\"},\"whatsapp\":{\"fr\":\"Partager WhatsApp\",\"en\":\"WhatsApp\",\"es\":\"WhatsApp\",\"it\":\"WhatsApp\",\"de\":\"WhatsApp\"},\"new\":{\"fr\":\"Cr\u00e9er une autre histoire\",\"en\":\"Create new story\",\"es\":\"Crear otra historia\",\"it\":\"Crea un\u2019altra storia\",\"de\":\"Neue Geschichte\"},\"login_register\":{\"fr\":\"Connexion \\\/ Inscription\",\"en\":\"Login \\\/ Register\",\"es\":\"Iniciar sesi\u00f3n \\\/ Registrarse\",\"it\":\"Accedi \\\/ Registrati\",\"de\":\"Anmelden \\\/ Registrieren\"},\"buy_credits\":{\"fr\":\"Acheter des cr\u00e9dits\",\"en\":\"Buy Credits\",\"es\":\"Comprar cr\u00e9ditos\",\"it\":\"Acquista crediti\",\"de\":\"Credits kaufen\"}};\n    const langs  = [{\"key\":\"fr\",\"label\":\"Fran\u00e7ais\"},{\"key\":\"en\",\"label\":\"English\"},{\"key\":\"es\",\"label\":\"Espa\u00f1ol\"},{\"key\":\"it\",\"label\":\"Italiano\"},{\"key\":\"de\",\"label\":\"Deutsch\"}];\n    const covers = [\"https:\\\/\\\/crehistor.com\\\/wp-content\\\/plugins\\\/science-fiction-parfait\\\/templates\\\/covers\\\/scifi1.jpg\",\"https:\\\/\\\/crehistor.com\\\/wp-content\\\/plugins\\\/science-fiction-parfait\\\/templates\\\/covers\\\/scifi2.jpg\",\"https:\\\/\\\/crehistor.com\\\/wp-content\\\/plugins\\\/science-fiction-parfait\\\/templates\\\/covers\\\/scifi3.jpg\",\"https:\\\/\\\/crehistor.com\\\/wp-content\\\/plugins\\\/science-fiction-parfait\\\/templates\\\/covers\\\/scifi4.jpg\"];\n    const types  = {\"science_fiction\":{\"label\":{\"fr\":\"Science-fiction\",\"en\":\"Science Fiction\",\"es\":\"Ciencia ficci\u00f3n\",\"it\":\"Fantascienza\",\"de\":\"Science-Fiction\"},\"questions\":{\"fr\":[\"Univers \\\/ \u00e9poque du futur\",\"Nom du h\u00e9ros \\\/ de l\u2019h\u00e9ro\u00efne\",\"Intelligence artificielle ou alien\",\"Technologie centrale\",\"Dilemme ou enjeu\",\"Lieu cl\u00e9\",\"Objet ou artefact\",\"Retournement\",\"Ennemi ou menace\",\"R\u00e9solution ou morale\"],\"en\":[\"Universe \\\/ future era\",\"Hero \\\/ heroine name\",\"Artificial intelligence or alien\",\"Core technology\",\"Dilemma or main stake\",\"Key location\",\"Object or artifact\",\"Twist\",\"Enemy or threat\",\"Resolution or moral\"],\"es\":[\"Universo \\\/ era futura\",\"Nombre del h\u00e9roe \\\/ hero\u00edna\",\"Inteligencia artificial o extraterrestre\",\"Tecnolog\u00eda central\",\"Dilema o conflicto principal\",\"Lugar clave\",\"Objeto o artefacto\",\"Giro\",\"Enemigo o amenaza\",\"Resoluci\u00f3n o moraleja\"],\"it\":[\"Universo \\\/ epoca futura\",\"Nome dell\u2019eroe \\\/ eroina\",\"Intelligenza artificiale o alieno\",\"Tecnologia centrale\",\"Dilemma o posta in gioco\",\"Luogo chiave\",\"Oggetto o artefatto\",\"Colpo di scena\",\"Nemico o minaccia\",\"Risoluzione o morale\"],\"de\":[\"Universum \\\/ zuk\u00fcnftige Epoche\",\"Name des Helden \\\/ der Heldin\",\"K\u00fcnstliche Intelligenz oder Alien\",\"Zentrale Technologie\",\"Dilemma oder Hauptkonflikt\",\"Schl\u00fcsselort\",\"Gegenstand oder Artefakt\",\"Wendung\",\"Feind oder Bedrohung\",\"Aufl\u00f6sung oder Moral\"]}}};\n    const suggs  = {\"fr\":[[\"Galaxie d\u2019Androm\u00e8de\",\"Colonie sur Titan\",\"Terre du XXIIIe si\u00e8cle\",\"Cit\u00e9 orbitale d\u2019Orion\"],[\"Nova\",\"Arion\",\"Z\u00e9lia\",\"Kai\"],[\"IA AX-42\",\"Zorg le X\u00e9lien\",\"Symbiote Elys\",\"Andro\u00efde T-900\"],[\"Portail quantique\",\"Gravit\u00e9 artificielle\",\"Noyau \u00e0 antimati\u00e8re\",\"R\u00e9seau neural plan\u00e9taire\"],[\"Surpopulation galactique\",\"Faille temporelle\",\"P\u00e9nurie d\u2019\u00e9nergie\",\"Virus cybern\u00e9tique\"],[\"Station C\u00e9r\u00e8s\",\"Base Europa\",\"M\u00e9gapole d\u2019Ar\u00e8s\",\"Cristalosph\u00e8re\"],[\"Orbe de plasma\",\"Cl\u00e9 stellaire\",\"Cristal holographique\",\"Sceptre nano\"],[\"Trahison du commandant\",\"\u00c9veil de l\u2019IA\",\"M\u00e9moire effac\u00e9e\",\"Portail instable\"],[\"Collectif Morpheus\",\"Temp\u00eate spatiale\",\"Colonie rebelle\",\"Nu\u00e9e cyber\"],[\"Union homme-machine\",\"Saut interdimensionnel\",\"Paix fragile\",\"Renaissance cosmique\"]],\"en\":[[\"Andromeda Galaxy\",\"Titan Colony\",\"23rd-century Earth\",\"Orion Orbital City\"],[\"Nova\",\"Arion\",\"Zelia\",\"Kai\"],[\"AI AX-42\",\"Zorg the Xelian\",\"Symbiote Elys\",\"Android T-900\"],[\"Quantum Gate\",\"Artificial Gravity\",\"Antimatter Core\",\"Planetary Neural Net\"],[\"Galactic Overcrowding\",\"Temporal Rift\",\"Energy Shortage\",\"Cyber Virus\"],[\"Ceres Station\",\"Europa Base\",\"Ares Megacity\",\"Crystal Sphere\"],[\"Plasma Orb\",\"Stellar Key\",\"Holo Crystal\",\"Nano Scepter\"],[\"Commander\u2019s Betrayal\",\"AI Awakening\",\"Erased Memory\",\"Unstable Portal\"],[\"Morpheus Collective\",\"Space Storm\",\"Rebel Colony\",\"Cyber Swarm\"],[\"Man\u2013Machine Unity\",\"Interdimensional Leap\",\"Fragile Peace\",\"Cosmic Rebirth\"]],\"es\":[[\"Galaxia de Andr\u00f3meda\",\"Colonia Tit\u00e1n\",\"Tierra siglo XXIII\",\"Ciudad Orbital Ori\u00f3n\"],[\"Nova\",\"Arion\",\"Zelia\",\"Kai\"],[\"IA AX-42\",\"Zorg el Xeliano\",\"Simbionte Elys\",\"Androide T-900\"],[\"Portal cu\u00e1ntico\",\"Gravedad artificial\",\"N\u00facleo de antimateria\",\"Red neuronal planetaria\"],[\"Superpoblaci\u00f3n gal\u00e1ctica\",\"Grieta temporal\",\"Escasez de energ\u00eda\",\"Virus cibern\u00e9tico\"],[\"Estaci\u00f3n Ceres\",\"Base Europa\",\"Megaciudad Ares\",\"Esfera de Cristal\"],[\"Orbe de plasma\",\"Llave estelar\",\"Cristal hologr\u00e1fico\",\"Cetro nano\"],[\"Traici\u00f3n del comandante\",\"Despertar de la IA\",\"Memoria borrada\",\"Portal inestable\"],[\"Colectivo Morpheus\",\"Tormenta espacial\",\"Colonia rebelde\",\"Enjambre cibern\u00e9tico\"],[\"Unidad hombre-m\u00e1quina\",\"Salto interdimensional\",\"Paz fr\u00e1gil\",\"Renacimiento c\u00f3smico\"]],\"it\":[[\"Galassia di Andromeda\",\"Colonia su Titano\",\"Terra del XXIII secolo\",\"Citt\u00e0 Orbitale di Orione\"],[\"Nova\",\"Arion\",\"Zelia\",\"Kai\"],[\"IA AX-42\",\"Zorg lo Xeliano\",\"Simbionte Elys\",\"Android T-900\"],[\"Portale quantistico\",\"Gravit\u00e0 artificiale\",\"Nucleo di antimateria\",\"Rete neurale planetaria\"],[\"Sovrappopolazione galattica\",\"Faglia temporale\",\"Carenza di energia\",\"Virus cibernetico\"],[\"Stazione Cerere\",\"Base Europa\",\"Megalopoli di Ares\",\"Sfera Cristallina\"],[\"Orbe al plasma\",\"Chiave stellare\",\"Cristallo olografico\",\"Scettro nano\"],[\"Tradimento del comandante\",\"Risveglio dell\u2019IA\",\"Memoria cancellata\",\"Portale instabile\"],[\"Collettivo Morpheus\",\"Tempesta spaziale\",\"Colonia ribelle\",\"Sciame cibernetico\"],[\"Unione uomo\u2013macchina\",\"Salto interdimensionale\",\"Pace fragile\",\"Rinascita cosmica\"]],\"de\":[[\"Andromeda-Galaxie\",\"Titan-Kolonie\",\"Erde des 23. Jh.\",\"Orion-Orbitalstadt\"],[\"Nova\",\"Arion\",\"Zelia\",\"Kai\"],[\"KI AX-42\",\"Zorg der Xelianer\",\"Symbiont Elys\",\"Android T-900\"],[\"Quantenportal\",\"K\u00fcnstliche Schwerkraft\",\"Antimaterie-Kern\",\"Planet\u00e4res neuronales Netz\"],[\"Galaktische \u00dcberbev\u00f6lkerung\",\"Zeitspalt\",\"Energieknappheit\",\"Cyber-Virus\"],[\"Ceres-Station\",\"Europa-Basis\",\"Ares-Megastadt\",\"Kristall-Sph\u00e4re\"],[\"Plasma-Orb\",\"Stellarschl\u00fcssel\",\"Holografischer Kristall\",\"Nano-Zepter\"],[\"Verrat des Kommandanten\",\"KI-Erwachen\",\"Gel\u00f6schte Erinnerung\",\"Instabiles Portal\"],[\"Morpheus-Kollektiv\",\"Weltraumsturm\",\"Rebellische Kolonie\",\"Cyber-Schwarm\"],[\"Mensch\u2013Maschine-Einheit\",\"Interdimensionaler Sprung\",\"Fragiler Frieden\",\"Kosmische Wiedergeburt\"]]};\n\n    \/\/ \u00c9tat utilisateur (myCRED + login)\n    window.userState = {\n      loggedIn: false,\n      credits: 0    };\n\n    let state = {\n      lang:'fr',\n      step:0,\n      answers:[],\n      coverIndex:0,\n      generated:null\n    };\n\n    function tr(key){ return (ui[key] && ui[key][state.lang]) ? ui[key][state.lang] : key; }\n\n    function render(){\n      const root = document.getElementById('sf-parfait-root');\n      const stepsArr = [\n        {i:1, t: (types.science_fiction.questions[state.lang][0]||'')},\n        {i:2, t: '\u2026'},\n        {i:3, t: tr('generate')}\n      ];\n\n      root.innerHTML = `\n        <div class=\"sf-langbar\">\n          ${langs.map(l=>`<button class=\"sf-langbtn${state.lang===l.key?' selected':''}\" data-lang=\"${l.key}\">${l.label}<\/button>`).join('')}\n        <\/div>\n        <div class=\"sf-slider\">\n          <button class=\"sf-sbtn prev\">&#8592;<\/button>\n          <div class=\"sf-cover\"><img decoding=\"async\" src=\"${covers[state.coverIndex]}\" alt=\"cover\"><\/div>\n          <button class=\"sf-sbtn next\">&#8594;<\/button>\n        <\/div>\n        <div class=\"sf-title\">${tr('main_title')}<\/div>\n        <div class=\"sf-sub\">${tr('intro')}<\/div>\n\n        <div class=\"sf-step\">\n          ${[0,1,2].map(i=>`<div class=\"sf-step-item ${state.step===i?'sel':''}\">Step ${i+1}<\/div>`).join('')}\n        <\/div>\n\n        <div class=\"sf-step-zone\"><\/div>\n        <div id=\"sf-story\"><\/div>\n      `;\n\n      \/\/ Langues\n      root.querySelectorAll('.sf-langbtn').forEach(btn=>{\n        btn.onclick = ()=>{\n          state.lang = btn.dataset.lang;\n          state.step = 0;\n          state.answers = [];\n          state.generated = null;\n          render();\n        };\n      });\n\n      \/\/ Slider\n      root.querySelector('.prev').onclick = ()=>{\n        state.coverIndex = (state.coverIndex + covers.length - 1) % covers.length;\n        render();\n      };\n      root.querySelector('.next').onclick = ()=>{\n        state.coverIndex = (state.coverIndex + 1) % covers.length;\n        render();\n      };\n\n      renderStep();\n      if(state.generated) renderStory();\n    }\n\n    function renderStep(){\n      const zone = document.querySelector('.sf-step-zone');\n\n      \/\/ \u00c9tape 0 : Login \/ Cr\u00e9dits\n      if(!window.userState.loggedIn){\n        zone.innerHTML = `\n          <div style=\"text-align:center;margin:30px 0;\">\n            <a href=\"javascript:void(0)\" class=\"sf-cta open-login-popup login-button xoo-el-login-tgr\">\n              ${{\"fr\":\"Connexion \\\/ Inscription\",\"en\":\"Login \\\/ Register\",\"es\":\"Iniciar sesi\u00f3n \\\/ Registrarse\",\"it\":\"Accedi \\\/ Registrati\",\"de\":\"Anmelden \\\/ Registrieren\"}[state.lang]}\n            <\/a>\n          <\/div>`;\n        return;\n      }\n      if(window.userState.credits < 1){\n        zone.innerHTML = `\n          <div style=\"text-align:center;margin:30px 0;color:#a7d1ff\">\n            0 ${{\"fr\":\"Acheter des cr\u00e9dits\",\"en\":\"Buy Credits\",\"es\":\"Comprar cr\u00e9ditos\",\"it\":\"Acquista crediti\",\"de\":\"Credits kaufen\"}['fr']} ?<br>\n          <\/div>\n          <a href=\"\/boutique\" class=\"sf-cta\" style=\"display:inline-block;text-align:center\">\n            ${{\"fr\":\"Acheter des cr\u00e9dits\",\"en\":\"Buy Credits\",\"es\":\"Comprar cr\u00e9ditos\",\"it\":\"Acquista crediti\",\"de\":\"Credits kaufen\"}[state.lang]}\n          <\/a>`;\n        return;\n      }\n\n      \/\/ \u00c9tape 1+2 : Questions (10)\n      const qs = types.science_fiction.questions[state.lang];\n      let current = state.step; \/\/ 0..2 not really used; we'll just ask all questions sequentially\n\n      \/\/ On affiche la question courante\n      const qIndex = Math.min((state.answers.findIndex(v=>!v && v!==0)===-1?qs.length-1:state.answers.findIndex(v=>!v && v!==0)), qs.length-1);\n      const idx = isNaN(qIndex) || qIndex<0 ? 0 : qIndex;\n\n      const stepSugs = (suggs[state.lang] && suggs[state.lang][idx]) ? suggs[state.lang][idx] : [];\n      const isLast   = (idx === qs.length-1);\n\n      zone.innerHTML = `\n        <div class=\"sf-qwrap\">\n          <div class=\"sf-qtitle\">Q${idx+1}\/${qs.length} \u2014 ${qs[idx]}<\/div>\n          <input id=\"sf-input\" class=\"sf-input\" value=\"${state.answers[idx]||''}\" placeholder=\"${qs[idx]}\"\/>\n          <div class=\"sf-sugs\">${stepSugs.map(v=>`<button class=\"sf-sugbtn\">${v}<\/button>`).join('')}<\/div>\n          <div class=\"sf-ctr\">\n            <button class=\"sf-cta next\">${isLast? tr('generate') : tr('next')}<\/button>\n            <button class=\"sf-cta rand\">${tr('random_word')}<\/button>\n            <button class=\"sf-cta all\">${tr('all_random')}<\/button>\n          <\/div>\n        <\/div>\n      `;\n\n      const input = document.getElementById('sf-input');\n      input.oninput = e => state.answers[idx] = e.target.value;\n      input.onkeydown = e => { if(e.key==='Enter'){ zone.querySelector('.next').click(); } };\n\n      zone.querySelectorAll('.sf-sugbtn').forEach(b=>{\n        b.onclick = ()=>{ input.value = b.textContent; state.answers[idx] = b.textContent; };\n      });\n\n      zone.querySelector('.rand').onclick = ()=>{\n        const arr = stepSugs; const v = arr.length ? arr[Math.floor(Math.random()*arr.length)] : '';\n        input.value = v; state.answers[idx] = v;\n      };\n\n      zone.querySelector('.all').onclick = ()=>{\n        qs.forEach((_,i)=>{\n          const a = (suggs[state.lang] && suggs[state.lang][i]) ? suggs[state.lang][i] : [];\n          state.answers[i] = a.length ? a[Math.floor(Math.random()*a.length)] : '';\n        });\n        generate();\n      };\n\n      zone.querySelector('.next').onclick = ()=>{\n        if(!isLast){\n          \/\/ Aller \u00e0 la prochaine question non renseign\u00e9e\n          let nextIdx = idx + 1;\n          while(nextIdx < qs.length && (state.answers[nextIdx] && state.answers[nextIdx]!=='')) nextIdx++;\n          if(nextIdx >= qs.length){ generate(); return; }\n          state.answers[idx] = input.value;\n          \/\/ Force re-rendu avec la prochaine question\n          render();\n        } else {\n          generate();\n        }\n      };\n    }\n\n    function renderStory(){\n      const z     = document.getElementById('sf-story');\n      const title = state.generated.title || '';\n      const body  = state.generated.story || '';\n      const full  = (title ? title + \"\\\\n\" : \"\") + body;\n      const html  = full.split(\/\\\\n+\/).map(l=>l.trim()).filter(Boolean).map(l=>`<p>${l}<\/p>`).join('');\n      z.innerHTML = `\n        <div class=\"sf-res\">${html}<\/div>\n        <div class=\"sf-actions\">\n          <button class=\"sf-cta\" onclick=\"window.print()\">${{\"fr\":\"Imprimer\",\"en\":\"Print\",\"es\":\"Imprimir\",\"it\":\"Stampa\",\"de\":\"Drucken\"}[state.lang]}<\/button>\n          <button class=\"sf-cta\" onclick=\"window.open('https:\/\/wa.me\/?text='+encodeURIComponent('${title.replace(\/'\/g,\"\\\\'\")} \u2014 ${body.replace(\/'\/g,\"\\\\'\")}'))\">\n            ${{\"fr\":\"Partager WhatsApp\",\"en\":\"WhatsApp\",\"es\":\"WhatsApp\",\"it\":\"WhatsApp\",\"de\":\"WhatsApp\"}[state.lang]}\n          <\/button>\n          <button class=\"sf-cta\" onclick=\"location.reload()\">\n            ${{\"fr\":\"Cr\u00e9er une autre histoire\",\"en\":\"Create new story\",\"es\":\"Crear otra historia\",\"it\":\"Crea un\u2019altra storia\",\"de\":\"Neue Geschichte\"}[state.lang]}\n          <\/button>\n        <\/div>\n      `;\n    }\n\n    function generate(){\n      \/\/ D\u00e9cr\u00e9menter c\u00f4t\u00e9 client (UX), le vrai d\u00e9bit se fait c\u00f4t\u00e9 serveur apr\u00e8s succ\u00e8s\n      if(window.userState.credits > 0){ window.userState.credits--; }\n\n      \/\/ Loader simple\n      const rez = document.getElementById('sf-story');\n      rez.innerHTML = `<div style=\"text-align:center;margin-top:10px;color:#9fb4d6\">\u2026 ${{\"fr\":\"G\u00e9n\u00e9rer\",\"en\":\"Generate\",\"es\":\"Generar\",\"it\":\"Genera\",\"de\":\"Generieren\"}[state.lang]} \u2026<\/div>`;\n\n      fetch('https:\/\/crehistor.com\/wp-admin\/admin-ajax.php?action=sf_generate_mycred',{\n        method:'POST',\n        headers:{'Content-Type':'application\/json'},\n        body: JSON.stringify({\n          lang: state.lang,\n          answers: state.answers,\n          cover: state.coverIndex\n        })\n      })\n      .then(r=>r.json())\n      .then(d=>{\n        state.generated = d;\n        render();\n      })\n      .catch(()=>{\n        state.generated = {title:'Erreur', story:'Erreur lors de la g\u00e9n\u00e9ration.'};\n        render();\n      });\n    }\n\n    \/\/ Premier rendu\n    render();\n  });\n  <\/script>\n\n  <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fa4dd0e e-con-full e-flex e-con e-child\" data-id=\"fa4dd0e\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-843","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/comments?post=843"}],"version-history":[{"count":35,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/843\/revisions"}],"predecessor-version":[{"id":2828,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/843\/revisions\/2828"}],"wp:attachment":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/media?parent=843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}