// data.jsx — Spec-aligned content. Pure data, loads before sections.jsx.

// 6 angels, exactly per spec. Rilicia replaces what was Demonia.
const CAST = [
  {
    id: "arquel",
    img: "images/char-arquel.png",
    jp: "アークエル",
    en: "ARQUEL",
    role: "案内の天使",
    tone: "#7ce0a6",
    line: "まずはBUY額を選んでね！金額が大きいほど賞金も大きくなるよ♪",
  },
  {
    id: "celefim",
    img: "images/char-celefim.png",
    jp: "セレフィム",
    en: "CELEPHIM",
    role: "勝利条件の番人",
    tone: "#7ec0ff",
    line: "勝利条件を高くすると賞金倍率がアップ！でも達成難易度も上がるから、バランスを考えてね✨",
  },
  {
    id: "harpina",
    img: "images/char-harpina.png",
    jp: "ハルピナ",
    en: "HARPINA",
    role: "受け取り方法の天使",
    tone: "#ffce63",
    line: "4分割受け取りが一番お得！150%で受け取れるわよ💕 急いでいるなら一括もアリね♪",
  },
  {
    id: "rafiel",
    img: "images/char-rafiel.png",
    jp: "ラフィエル",
    en: "RAFIEL",
    role: "光の剣士",
    tone: "#f0c970",
    line: "君の選んだ条件で、最高の結果が引き出せるよう祈ってる。",
  },
  {
    id: "gateriel",
    img: "images/char-gateriel.png",
    jp: "ゲートリアン",
    en: "GATERIAN",
    role: "機種の案内人",
    tone: "#c9d4ff",
    line: "好きなスロットを選んでね✨",
  },
  {
    id: "lucifire",
    img: "images/char-lucifire.png",
    jp: "ルシフィーレ",
    en: "LUCIFIRE",
    role: "焔の堕天使",
    tone: "#ff6b6b",
    line: "熱く行こうぜ。賭けるなら、迷いは捨てな。",
  },
  {
    id: "rilicia",
    img: "images/char-rilicia.png",
    jp: "リリシア",
    en: "RILICIA",
    role: "薔薇の魔導",
    tone: "#ff7eb9",
    line: "最低額で、最大の運命。それが私の流儀。",
  },
];

// 10 target machines (2026-07 サマーショット改定)
const MACHINES = [
  "Sweet Bonanza 2500",
  "Sweet Bonanza 1000",
  "Sugar Rush 1000",
  "Fruit Party",
  "Starlight Princess 1000",
  "Gates of Olympus 1000",
  "Fruit Party 2",
  "Sweet Rush Bonanza",
  "Gates of Olympus",
  "Hot Fiesta",
].map((name, i) => ({
  id: `M-${String(i + 1).padStart(3, "0")}`,
  name,
}));

// Win-condition ladder per spec:
// 3倍 → 20倍 / 5倍 → 30倍 / 7倍 → 40倍 / 10倍 → 60倍
// Slider goes 3..10; we map each integer step to the nearest tier above.
// Display tiers (the 4 named conditions):
const WIN_TIERS = [
  { cond: 3,  prizeMult: 20, label: "3倍",  hint: "達成しやすい" },
  { cond: 5,  prizeMult: 30, label: "5倍",  hint: "標準" },
  { cond: 7,  prizeMult: 40, label: "7倍",  hint: "やや難しい" },
  { cond: 10, prizeMult: 60, label: "10倍", hint: "最高難度" },
];
// Map any cond value (3..10) to its prize multiplier (use the tier whose cond <= value).
const condToMult = (cond) => {
  let m = WIN_TIERS[0].prizeMult;
  for (const t of WIN_TIERS) if (cond >= t.cond) m = t.prizeMult;
  return m;
};

// Payout options per spec:
// 一括 100% (即時) / 2分割 125% (1週間ごと, 2週間で完了) / 4分割 150% (1週間ごと, 4回)
const PAYOUT_OPTIONS = [
  {
    id: "lump",   rate: 1.00, splits: 1,
    title: "一括受け取り", sub: "即時",
    detail: "すぐに全額受け取り",
  },
  {
    id: "two",    rate: 1.25, splits: 2,
    title: "2分割受け取り", sub: "1週間ごと",
    detail: "2週間で完了",
  },
  {
    id: "four",   rate: 1.50, splits: 4,
    title: "4分割受け取り", sub: "1週間ごと",
    detail: "最もお得",
    badge: "推奨",
  },
];

// BUY presets: ¥10,000 ... ¥100,000 (spec lists all 10 tiers).
const PRESETS = [10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000];

// Flow steps per spec.
const FLOW = [
  {
    step: "01",
    img: "images/char-arquel.png",
    title: "チャットアイコンをクリック",
    body: "sloten.ioのチャットアイコンをクリック→「ボーナスコード申請」を選択。",
    tone: "#7ce0a6",
  },
  {
    step: "02",
    img: "images/char-celefim.png",
    title: "カスタムヘブンズショットを選択",
    body: "「カスタムヘブンズショット」を選択。",
    tone: "#7ec0ff",
  },
  {
    step: "03",
    img: "images/char-gateriel.png",
    title: "機種を選んで条件を設定",
    body: "シミュレーターで機種と条件を選択→「条件をコピー」ボタンでコピー。",
    tone: "#c9d4ff",
  },
  {
    step: "04",
    img: "images/char-rafiel.png",
    title: "参加受付完了！自動で対象に",
    body: "対象の金額で対象のベットを行うだけ→自動的にキャンペーン対象に。",
    note: "※賞金付与は翌日18時より順次配布。分割受け取りの場合は各回の受け取り日に順次配布。",
    tone: "#f0c970",
  },
];

const NAV = [
  { jp: "申請の流れ",   href: "#flow" },
  { jp: "天使たち",     href: "#cast" },
  { jp: "シミュレーター", href: "#sim"  },
  { jp: "注意事項",     href: "#note" },
];

Object.assign(window, {
  CAST, MACHINES, WIN_TIERS, condToMult, PAYOUT_OPTIONS, PRESETS, FLOW, NAV,
});
