/* =========================================================
   スマホゲーム紹介ページ（tools/game-pages.mjs が生成）の共通スタイル
   teaser.css のあとに読み込む。配色は各ページの :root の --t-* で変わる
   ========================================================= */
body {
  background:
    radial-gradient(1200px 600px at 50% -10%, var(--t-bg2) 0%, transparent 60%),
    var(--t-bg);
  background-attachment: fixed;
}

/* ---------- ヒーロー ---------- */
.hero { position: relative; overflow: hidden; padding: 18px 0 40px; text-align: center; }
.crumbs { font-size: .75rem; color: var(--t-muted); text-align: left; margin: 0 0 18px; }
.crumbs a { color: var(--t-muted); }
.hero-en { font-family: var(--t-en); font-weight: 700; letter-spacing: .3em; font-size: .78rem; color: var(--t-gold); margin: 0 0 14px; }
.hero-kv {
  max-width: 740px;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--t-line);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
}
.hero-kv img { width: 100%; aspect-ratio: 1024 / 500; object-fit: cover; }
.hero-icon { width: 148px; margin: 4px auto 0; }
.hero-icon img { width: 100%; border-radius: 32px; border: 1px solid var(--t-line); box-shadow: 0 18px 44px rgba(0, 0, 0, .5); }
.hero h1 { font-size: .95rem; font-weight: 700; color: var(--t-muted); margin: 22px 0 4px; }
.hero-copy { font-size: clamp(1.7rem, 6.5vw, 3rem); font-weight: 800; line-height: 1.35; margin: 0 0 10px; }
.hero-copy em { font-style: normal; color: var(--t-gold); }
.hero-sub { color: var(--t-muted); margin: 0 auto 22px; max-width: 600px; }
.hero-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.hero-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.chip { font-size: .78rem; font-weight: 700; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--t-line); background: var(--t-panel); }
.t-note { font-size: .8rem; color: var(--t-muted); margin: 0; }

/* ---------- ストーリー ---------- */
.story { max-width: 760px; }
.story p { margin: 0 0 12px; }

/* ---------- よくある質問 ---------- */
.t-faq { max-width: 760px; margin: 0 auto; display: grid; gap: 10px; }
.t-faq details { border: 1px solid var(--t-line); border-radius: 12px; background: var(--t-panel); }
.t-faq summary { cursor: pointer; padding: 14px 44px 14px 16px; font-weight: 700; position: relative; list-style: none; }
.t-faq summary::-webkit-details-marker { display: none; }
.t-faq summary::after { content: '＋'; position: absolute; right: 16px; top: 14px; color: var(--t-gold); }
.t-faq details[open] summary::after { content: '－'; }
.t-faq p { margin: 0; padding: 0 16px 16px; color: var(--t-muted); font-size: .92rem; }

/* ---------- ほかの無料ゲーム ---------- */
.t-more { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 640px) { .t-more { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .t-more { grid-template-columns: repeat(3, 1fr); } }
.t-more a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--t-line);
  background: var(--t-panel);
  color: var(--t-ink);
  text-decoration: none;
  height: 100%;
}
.t-more a:hover { border-color: var(--t-gold); }
.t-more img { width: 56px; height: 56px; flex: none; border-radius: 14px; object-fit: cover; }
.t-more b { display: block; font-size: .9rem; line-height: 1.4; }
.t-more small { display: block; font-size: .76rem; color: var(--t-muted); line-height: 1.5; }
