/* セクション: Hero / Overview / Steps */

function Hero() {
  return (
    <header className="hero revealed">
      <div className="diag-banner t">コンビニ陣営大戦 ／ コンビニ陣営大戦 ／ コンビニ陣営大戦</div>
      <div className="diag-banner b">勝った軍に賞金山分け ／ 勝った軍に賞金山分け</div>
      <div className="hero-burst" aria-hidden="true"></div>
      <div className="hero-inner">
        <span className="hero-badge">スロ天 コンビニ陣営大戦、開幕。</span>
        <div className="hero-period">開催期間 2026.6.16 → 6.23</div>
        <h1 className="hero-h1">
          君のコンビニ、<br /><span className="pop">勝てるのか？</span>
        </h1>
        <div className="hero-kv">
          <img className="kv kv-a" src="assets/kv-night.png" alt="コンビニ陣営大戦 キービジュアル" />
          <img className="kv kv-b" src="assets/kv-day.png" alt="コンビニ陣営大戦 キービジュアル" />
        </div>
        <p className="hero-lead">
          ローソン / ファミリーマート / ミニストップ、現金入金で陣営対抗戦。<br />
          勝った軍に<span className="marker">賞金山分け</span>、最大￥1,000,000。
        </p>
        <div className="hero-cta-wrap">
          <a className="cta" href="https://sloten.io?referral=2YjM7hs8" target="_blank" rel="noopener">
            今すぐ自分の軍に参戦する <span className="cta-arrow">»</span>
          </a>
          <p className="cta-sub">
            <span>カード不要</span><span>口座不要</span><span>現金3分</span>
          </p>
        </div>
      </div>
    </header>
  );
}

function Overview() {
  const [ref, seen] = useInView();
  return (
    <section className={"band band--alt" + (seen ? " revealed" : "")} ref={ref}>
      <div className="band-inner">
        <div className="reveal" style={{ textAlign: "center", marginBottom: 8 }}>
          <span className="eyebrow">3秒で分かる</span>
          <h2 className="sec-title">ルールはたった<span className="hl">3つ</span>。</h2>
        </div>
        <div className="ov-grid">
          {OVERVIEW.map((o, i) => (
            <div className="ov-card reveal" key={i} style={{ transitionDelay: `${i * 90}ms` }}>
              <span className="ov-num">{i + 1}</span>
              <div className="ov-kw">{o.kw}</div>
              <h3 dangerouslySetInnerHTML={{ __html: o.html }} />
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

function Steps() {
  const [ref, seen] = useInView();
  return (
    <section className={"band" + (seen ? " revealed" : "")} ref={ref}>
      <div className="band-inner">
        <div className="reveal" style={{ textAlign: "center" }}>
          <span className="eyebrow">参加はカンタン</span>
          <h2 className="sec-title">3ステップで<span className="hl-fire">参戦</span>。</h2>
        </div>
        <div className="steps">
          {STEPS.map((s, i) => (
            <div className="step reveal" key={i} style={{ transitionDelay: `${i * 80}ms` }}>
              <div className="step-no">{s.no.split(" ")[0]}<b>{s.no.split(" ")[1]}</b></div>
              <div>
                <h4>{s.title}</h4>
                <p>{s.body}</p>
              </div>
              {i < STEPS.length - 1 && <span className="step-arrow">▼</span>}
            </div>
          ))}
        </div>
        <div style={{ textAlign: "center" }}>
          <div className="note-flag reveal">
            <span className="x2">2×</span> 初回コンビニ入金は陣営スコア<b>2倍</b>！
          </div>
        </div>
      </div>
    </section>
  );
}

Object.assign(window, { Hero, Overview, Steps });
