(function () {
  document.addEventListener("DOMContentLoaded", function () {
    let wrap = document.getElementById("cair126-toast-wrap");
    if (!wrap) {
      wrap = document.createElement("div");
      wrap.className = "cair126-toast-wrap";
      wrap.id = "cair126-toast-wrap";
      wrap.setAttribute("aria-live", "polite");
      document.body.insertAdjacentElement("afterbegin", wrap);
    }

    const OPTIONS = {
      minDelayMs: 9000,
      maxDelayMs: 14000,
      visibleMs: 4200,

      minAmount: 1_000_000,
      maxAmount: 20_000_000,

      maxToastsOnScreen: 1
    };

    const ICON_URL = "https://imgstudio.cc/images/2026/06/03/favicon-cair126.png";

    const rawUsers = [
      "galang","dimas","vinsen","agus","bima","putra","taufiq","rama","adi",
      "nando","fajar","rudi","seno","yudha","kevin","dion","wahyu","bagas",
      "faisal","indra","reno","jordi","rizal","surya","arman","aldi",
      "naufal","habib","ilham","farhan","bayu","fikri","robi","angga",

      "akbar","arif","rizky","hafiz","fahmi","rian","reza","iqbal","ferry",
      "eko","heri","tono","ucup","joko","teguh","yogi","dedi","agung",
      "rio","raka","gilang","dika","sultan","ahmad","asep","ujang",
      "yanto","fauzan","irfan","zidan","alvin","rafi","zaky","ferdi",
      "ardi","imam","hanif","yusuf","ridho","haikal","fikran","bintang",
      "arya","satria","wira","pratama","bagus","rendy","hendri","oscar",

      "shadow","darkman","king88","cuan77","hoki999","spinwin","luckyboy",
      "winrate","bigboss","bosbesar","cuanbesar","petir88","tigerwin",
      "dragon88","phoenix","zeus777","thor88","odin99","viking88",
      "hunter77","ghost88","legend88","warrior99","sultan88","juragan88",
      "bossku","bosmudah","sultanbet","maxwin88","goldwin","topcuan",

      "ovaltine","bananamilk","araarakimochi","iuno","agusta","phrolova",
      "cartet","miyuki","akira","haruto","sakura","yuki","rinrin",
      "kazuma","takumi","hikari","aoi","ryota","kaito","kenji",
      "junwoo","minho","jisoo","hyunjin","taeyang","yuna","jiwon",

      "alex","jason","brian","michael","daniel","steven","anthony",
      "edward","jordan","ethan","logan","ryan","oliver","charlie",
      "lucas","leo","henry","jack","thomas","darren","vincent","andrew"
    ];

    function rand(min, max) {
      return Math.floor(Math.random() * (max - min + 1)) + min;
    }

    function maskUsername(name) {
      if (name.length <= 3) return name[0] + "*" + name.slice(1);
      return name.slice(0, 2) + "*".repeat(Math.max(3, name.length - 4)) + name.slice(-2);
    }

    function randomAmount() {
      const step = 50_000;
      const min = Math.floor(OPTIONS.minAmount / step);
      const max = Math.floor(OPTIONS.maxAmount / step);
      return rand(min, max) * step;
    }

    function formatIDR(amount) {
      return new Intl.NumberFormat("id-ID", {
        style: "currency",
        currency: "IDR",
        minimumFractionDigits: 0,
        maximumFractionDigits: 0
      }).format(amount).replace("Rp", "Rp ");
    }

    function pickUser() {
      const base = rawUsers[rand(0, rawUsers.length - 1)];
      return base + (Math.random() < 0.75 ? rand(10, 9999) : "");
    }

    function createToast() {
      const user = maskUsername(pickUser());
      const amount = formatIDR(randomAmount());

      const el = document.createElement("div");
      el.className = "cair126-toast cair126-show";
      el.style.setProperty("--stay", OPTIONS.visibleMs + "ms");
      el.setAttribute("role", "status");

      el.innerHTML = `
        <div class="cair126-row">
          <span class="cair126-chip" aria-hidden="true">
            <img src="${ICON_URL}" alt="CAIR126" loading="lazy">
          </span>
          <span><b>${user}</b> Telah Berhasil Melakukan Withdraw</span>
        </div>
        <span class="cair126-amount">${amount}</span>
      `;

      const totalLife = 380 + OPTIONS.visibleMs + 420 + 80;
      setTimeout(() => el.remove(), totalLife);
      return el;
    }

    function showToast() {
      while (wrap.children.length >= OPTIONS.maxToastsOnScreen) {
        wrap.removeChild(wrap.firstChild);
      }
      wrap.appendChild(createToast());
    }

    function scheduleNext() {
      const delay = rand(OPTIONS.minDelayMs, OPTIONS.maxDelayMs);
      setTimeout(() => {
        showToast();
        scheduleNext();
      }, delay);
    }

    showToast();
    scheduleNext();
  });
})();