<!DOCTYPE html>

<html lang="fr">

<head>

  <meta charset="UTF-8" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <title>Voyance.guru – Tirage intuitif</title>

  <style>

    body {

      margin: 0;

      font-family: Georgia, serif;

      background: radial-gradient(circle at top, #2d1b4e, #08040f 70%);

      color: #f5ecff;

      min-height: 100vh;

      display: flex;

      justify-content: center;

      align-items: center;

      padding: 30px;

    }

 

    .container {

      max-width: 760px;

      width: 100%;

      background: rgba(255, 255, 255, 0.08);

      border: 1px solid rgba(255, 255, 255, 0.18);

      border-radius: 24px;

      padding: 35px;

      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);

      backdrop-filter: blur(10px);

    }

 

    h1 {

      margin-top: 0;

      font-size: 42px;

      text-align: center;

      letter-spacing: 1px;

    }

 

    .subtitle {

      text-align: center;

      opacity: 0.85;

      margin-bottom: 30px;

      font-size: 18px;

    }

 

    label {

      display: block;

      margin-top: 18px;

      margin-bottom: 8px;

      font-size: 16px;

    }

 

    input, select {

      width: 100%;

      padding: 14px;

      border-radius: 12px;

      border: none;

      font-size: 16px;

      box-sizing: border-box;

    }

 

    button {

      width: 100%;

      margin-top: 25px;

      padding: 16px;

      border-radius: 14px;

      border: none;

      background: #d8b4ff;

      color: #1a0b2e;

      font-size: 18px;

      cursor: pointer;

      font-weight: bold;

    }

 

    button:hover {

      background: #ead6ff;

    }

 

    .result {

      display: none;

      margin-top: 30px;

      padding: 25px;

      border-radius: 18px;

      background: rgba(0, 0, 0, 0.25);

      line-height: 1.6;

      font-size: 18px;

    }

 

    .card-title {

      font-size: 24px;

      margin-bottom: 12px;

      color: #e9ccff;

    }

 

    .small {

      margin-top: 25px;

      font-size: 13px;

      opacity: 0.65;

      text-align: center;

    }

  </style>

</head>

<body>

 

  <div class="container">

    <h1>Voyance.guru</h1>

    <div class="subtitle">

      Posez une question. Recevez un éclairage symbolique.

    </div>

 

    <label for="question">Votre question</label>

    <input id="question" type="text" placeholder="Exemple : que dois-je comprendre de cette situation ?" />

 

    <label for="theme">Domaine</label>

    <select id="theme">

      <option value="amour">Amour</option>

      <option value="travail">Travail</option>

      <option value="argent">Argent</option>

      <option value="famille">Famille</option>

      <option value="general">Situation générale</option>

    </select>

 

    <button onclick="tirage()">Faire le tirage</button>

 

    <div id="result" class="result"></div>

 

    <div class="small">

      Ce tirage est symbolique et ne remplace pas un conseil médical, juridique, financier ou professionnel.

    </div>

  </div>

 

  <script>

    const cartes = [

      {

        nom: "La Porte entrouverte",

        message: "Une possibilité existe, mais elle demande encore de la clarté. Ne forcez pas la situation. Observez qui fait un pas vers vous et qui reste immobile."

      },

      {

        nom: "Le Fil rouge",

        message: "Quelque chose revient parce que tout n’a pas encore été compris. Ce n’est pas forcément un signe de retour, mais un signe de répétition à éclaircir."

      },

      {

        nom: "La Pierre calme",

        message: "La réponse ne viendra pas dans l’agitation. Une décision posée, même petite, aura plus d’effet qu’un grand mouvement impulsif."

      },

      {

        nom: "Le Miroir voilé",

        message: "Une personne ou une situation ne montre pas tout. Ne remplissez pas les silences avec vos peurs. Attendez un fait concret."

      },

      {

        nom: "Le Passage",

        message: "Vous êtes entre deux étapes. Ce qui semble bloqué aujourd’hui prépare peut-être un déplacement lent, mais réel."

      },

      {

        nom: "La Clé froide",

        message: "La solution existe, mais elle n’est pas émotionnelle. Il faudra regarder les faits, les dates, les engagements et les limites."

      },

      {

        nom: "La Main retirée",

        message: "Une énergie se retire. Cela peut faire mal, mais cela vous rend aussi une liberté que vous n’aviez pas complètement reconnue."

      },

      {

        nom: "Le Signal faible",

        message: "Un détail a plus d’importance qu’il n’en a l’air. Un mot, un retard, une hésitation ou une répétition vous donne déjà une indication."

      }

    ];

 

    const conseilsTheme = {

      amour: [

        "En amour, ne confondez pas intensité et sécurité.",

        "Regardez les actes plus que les déclarations.",

        "Une vraie présence ne vous laisse pas toujours deviner."

      ],

      travail: [

        "Dans le travail, une clarification pourrait éviter une perte d’énergie.",

        "Votre valeur ne dépend pas de l’urgence des autres.",

        "Une limite posée calmement peut changer la dynamique."

      ],

      argent: [

        "Pour l’argent, évitez une décision prise sous pression.",

        "Un détail pratique mérite d’être vérifié avant de vous engager.",

        "La prudence n’est pas un blocage, c’est une protection."

      ],

      famille: [

        "Dans la famille, tout ne se résout pas par l’explication.",

        "Protégez votre calme avant de chercher à convaincre.",

        "Certaines tensions parlent d’anciennes places, pas seulement du présent."

      ],

      general: [

        "La situation demande moins de vitesse et plus de discernement.",

        "Ce qui résiste vous indique peut-être où poser une limite.",

        "Une réponse simple existe, mais elle n’est pas forcément immédiate."

      ]

    };

 

    function tirage() {

      const question = document.getElementById("question").value.trim();

      const theme = document.getElementById("theme").value;

      const result = document.getElementById("result");

 

      if (!question) {

        result.style.display = "block";

        result.innerHTML = "Posez d’abord une question, même courte.";

        return;

      }

 

      const carte = cartes[Math.floor(Math.random() * cartes.length)];

      const conseil = conseilsTheme[theme][Math.floor(Math.random() * conseilsTheme[theme].length)];

 

      result.style.display = "block";

      result.innerHTML = `

        <div class="card-title">${carte.nom}</div>

        <p><strong>Votre question :</strong> ${escapeHtml(question)}</p>

        <p>${carte.message}</p>

        <p><em>${conseil}</em></p>

      `;

    }

 

    function escapeHtml(text) {

      return text

        .replace(/&/g, "&amp;")

        .replace(/</g, "&lt;")

        .replace(/>/g, "&gt;")

        .replace(/"/g, "&quot;")

        .replace(/'/g, "&#039;");

    }

  </script>

 

</body>

</html>