/* ===========================================================================
   AdultAffiliateHub — WordPress に貼る追加CSS
   ---------------------------------------------------------------------------
   何のためのものか:
     auto-blogger が出す記事と一覧ページは、自前の class 名だけで組んである。
     WordPress のテーマはこれらを知らないので、貼らないと表も枠線も何も付かず、
     数字の表がただの文字の羅列に見える。

   どこに貼るか:
     管理画面 → 外観 → カスタマイズ → 追加CSS  に全文を貼って「公開」。
     （テーマを変えても、子テーマにしても、ここは残る）

   設計上の約束:
     - body・見出し・本文の書体や地色には一切触れない。テーマの持ち物なので奪わない。
     - 素の table / th / td には当てない。必ず .aah-table か .nav-index の中だけに当てる。
       （当ててしまうとテーマや他プラグインの表まで巻き込む）
     - 色はテーマの配色に合わせて上書きできるよう、先頭の変数だけ書き換えればよいようにした。
     - ダークの色に差し替えるのは、テーマが :root[data-theme="dark"] を付けたときだけ。
       OSのダークだけで差し替えると、明るいテーマの白地に明るい文字が乗って #PR が読めなくなる
       （2026-09-24 検証: 比1.24。ステマ告示の「不明瞭な表示」に当たるおそれ）。
     - 地色を自前で持つ箱は、文字色も自前で持つ（末尾の「地色と文字色の組」）。テーマの文字色を受け継がない。
   =========================================================================== */

:root {
  --aah-fg: #1c1b19;          /* 文字 */
  --aah-muted: #6d6a65;       /* 補足の文字 */
  --aah-line: #e5e1db;        /* 罫線 */
  --aah-card: #ffffff;        /* 表や箱の地色 */
  --aah-accent: #0066cc;      /* 差し色。FANZA本家のリンク色 #0066cc（2026-09-23 実測。以前は pan-pan の #225cbb） */
  --aah-accent-soft: #e8f1fb; /* 差し色の薄いほう */
  --aah-cta-text: #ffffff;    /* 順位バッジなど、差し色の上に乗る文字 */
  --aah-cta-bg: #ffcc00;      /* 帯ボタン。FANZA本家の黄色 #ffcc00（pan-pan の #f0c250 から寄せた） */
  --aah-cta-fg: #151513;      /* 帯ボタンの文字 */
  --aah-star: #f0a72b;        /* ★ */
  --aah-price: #cc0000;       /* 値段。FANZA本家の赤 #cc0000（248要素） */
  --aah-orange: #ff4400;      /* 割引。FANZA本家の橙 #ff4400（211要素） */
}

:root[data-theme="dark"] {
  --aah-fg: #e9e6e1;
  --aah-muted: #9c9891;
  --aah-line: #302e2b;
  --aah-card: #1c1b19;
  --aah-accent: #6eaaf0;
  --aah-accent-soft: #14253a;
  --aah-cta-text: #101010;
  --aah-cta-bg: #e6b800;
  --aah-cta-fg: #151513;
  --aah-star: #f0b64a;
  --aah-price: #ff6b6b;
  --aah-orange: #ff7a45;
}

/* --- PR表記（景表法5条3項）------------------------------------------------
   小さくしすぎない。読む人が広告だと分かるためのものなので、
   薄い灰色の極小文字にすると表記の趣旨から外れる                            */
.pr-label {
  display: inline-block;
  /* 周囲の文字より小さく・薄くしない。ステマ規制の運用基準 第3・1(2)カ・キ は
     「周囲の文字と比較して小さく」「他の文字より薄い色」を不明瞭な表示の例に挙げている（2026-09-23 原文確認） */
  font-size: 0.95em;
  color: var(--aah-fg);
  background: var(--aah-card); /* 文字色と地色を同じ組から取る（テーマの地色に頼らない） */
  border: 1px solid var(--aah-accent);
  border-radius: 999px;
  padding: 0.2em 0.9em;
  margin: 0 0 1.2em;
  line-height: 1.6;
}

/* --- 書き手 --------------------------------------------------------------- */
.article-author {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2em 0.7em;
  align-items: baseline;
  font-size: 0.85em;
  border-left: 3px solid var(--aah-accent);
  padding: 0.4em 0 0.4em 0.8em;
  margin: 0 0 1.6em;
}
.article-author__label { color: var(--aah-muted); }
.article-author__name { font-weight: 700; }

/* --- 作品パッケージ画像（1記事1枚）---------------------------------------- */
.aah-figure { margin-inline: 0; text-align: center; }
.aah-figure img {
  max-width: 340px;
  height: auto;
  border-radius: 8px;
}

/* --- 表 -------------------------------------------------------------------
   比較表は4作品ぶん横に並ぶ。成人向け同人は題名が長いので、
   箱に入れて横スクロールさせないとスマホで画面から溢れる                    */
.aah-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 1.4em;
  /* 端が切れていることが分かるように、スクロールできる側へ影を出す */
  background:
    linear-gradient(to right, var(--aah-card) 30%, transparent),
    linear-gradient(to left, var(--aah-card) 30%, transparent) 100% 0,
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.12), transparent),
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.12), transparent) 100% 0;
  background-repeat: no-repeat;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-attachment: local, local, scroll, scroll;
}
.aah-table table {
  border-collapse: collapse;
  width: 100%;
  min-width: 100%;
  font-size: 0.88em;
  background: var(--aah-card);
  margin: 0;
}
.aah-table th,
.aah-table td {
  border: 1px solid var(--aah-line);
  padding: 0.55em 0.7em;
  text-align: left;
  vertical-align: top;
  color: var(--aah-fg);
}
.aah-table thead th {
  background: var(--aah-accent-soft);
  font-weight: 700;
  font-size: 0.92em;
  white-space: nowrap;
}
/* 短い値の列で折り返させない。
   「市場で上位 / 50%」「65ペー / ジ」のように数字が2行に割れると読みにくく、
   表の意味（横に並べて比べる）が伝わらなくなる。
   はみ出したぶんは .aah-table の横スクロールで見る。
   最後の列（根拠・測り方）だけは長い文章なので折り返す。 */
.aah-table td { white-space: nowrap; }
.aah-table td:last-child { white-space: normal; min-width: 14em; }
/* 比較表の1列目（項目名）と、この記事の作品の列を目立たせる */
.aah-table tbody td:first-child { font-weight: 600; white-space: nowrap; }
.aah-table thead th strong { color: var(--aah-accent); }
/* 文章の入った表（案内ページ。2026-10-03）。数字の表と違って中身が長いので、全部の列を折り返して
   スマホでも横に動かさずに読めるようにする（前は3列目が画面の外に出ていた） */
.aah-table--bun td,
.aah-table--bun tbody td:first-child,
.aah-table--bun thead th { white-space: normal; }
.aah-table--bun td { min-width: 5.5em; }
.aah-table--bun td:last-child { min-width: 7em; }

/* 1列目は横スクロールしても残す。
   残さないと、右へスクロールした先で「どの行の数字なのか」が分からなくなり、
   横に並べて比べるという表の目的が成立しない。 */
.aah-table thead th:first-child,
.aah-table tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--aah-card);
}
.aah-table thead th:first-child { background: var(--aah-accent-soft); z-index: 2; }
/* 固定した列の右端に境目を出す。地色が同じだと文字が重なって見える */
.aah-table thead th:first-child::after,
.aah-table tbody td:first-child::after {
  content: '';
  position: absolute;
  top: 0; right: -1px; bottom: 0;
  width: 1px;
  background: var(--aah-line);
}

/* --- 点数の但し書き。測り方を必ず添えるための箱 ---------------------------- */
.score-note {
  font-size: 0.85em;
  color: var(--aah-muted);
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 8px;
  padding: 0.8em 1em;
  line-height: 1.8;
}

/* --- 比較して初めて分かる事実 ---------------------------------------------- */
.compare-highlights {
  font-size: 0.92em;
  background: var(--aah-accent-soft);
  color: var(--aah-fg);
  border-radius: 8px;
  padding: 0.9em 1em 0.9em 2.2em;
  margin: 0 0 1.4em;
}
.compare-highlights li { margin: 0.2em 0; }

/* --- パンくず --------------------------------------------------------------
   記事へ直接来る人がほとんどなので、これが無いと他のページへ出る道が無い     */
.aah-crumb {
  font-size: 0.8em;
  color: var(--aah-muted);
  margin: 0 0 1em;
  line-height: 1.7;
}
.aah-crumb__sep { margin: 0 0.5em; opacity: 0.6; }

/* --- よくある質問 ---------------------------------------------------------- */
.aah-faq { margin: 0 0 1.6em; }
.aah-faq dt {
  font-weight: 700;
  font-size: 0.96em;
  margin: 0 0 0.35em;
  padding-left: 1.6em;
  position: relative;
}
.aah-faq dt::before {
  content: 'Q';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.2em;
  height: 1.2em;
  border-radius: 4px;
  background: var(--aah-accent);
  color: var(--aah-cta-text);
  font-size: 0.85em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.aah-faq dd {
  margin: 0 0 1.1em;
  padding-left: 1.6em;
  font-size: 0.94em;
  color: var(--aah-fg);
  position: relative;
}
.aah-faq dd::before {
  content: 'A';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.2em;
  height: 1.2em;
  border-radius: 4px;
  border: 1px solid var(--aah-line);
  color: var(--aah-muted);
  font-size: 0.85em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* --- 関連記事 -------------------------------------------------------------- */
.aah-related { list-style: none; margin: 0 0 1.6em; padding: 0; }
.aah-related li {
  border-bottom: 1px solid var(--aah-line);
  padding: 0.7em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.2em 0.8em;
  align-items: baseline;
}
.aah-related li:first-child { border-top: 1px solid var(--aah-line); }
.aah-related a { font-weight: 600; font-size: 0.96em; }
.aah-related__why { font-size: 0.82em; color: var(--aah-muted); }

/* --- 目次 ------------------------------------------------------------------
   まとめ記事は縦に長い。目次が無いと読む人が迷子になる                        */
.aah-toc {
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 10px;
  padding: 1em 1.2em;
  margin: 0 0 1.8em;
  font-size: 0.92em;
}
.aah-toc__ttl {
  margin: 0 0 0.5em;
  font-weight: 700;
  font-size: 0.9em;
  color: var(--aah-muted);
  letter-spacing: .04em;
}
.aah-toc ol { margin: 0; padding-left: 1.4em; }
.aah-toc li { margin: 0.3em 0; }

/* --- 断り書きの箱 ----------------------------------------------------------
   「どう並べたか」「何を外したか」を本文と分けて置く。
   pan-pan.co の★評価は108件中74%が★4以上で測定条件が無かった。同じにしない  */
.aah-note {
  background: var(--aah-accent-soft);
  border-left: 4px solid var(--aah-accent);
  border-radius: 8px;
  padding: 1em 1.2em;
  margin: 0 0 1.6em;
  font-size: 0.92em;
}
.aah-note p { margin: 0 0 0.4em; }
.aah-note p:last-child { margin: 0; }
.aah-note strong { display: inline-block; min-width: 6.5em; color: var(--aah-accent); }
.aah-note__small { font-size: 0.88em; color: var(--aah-muted); margin-top: 0.7em !important; }
.aah-note__small strong { color: inherit; }
/* 先に結論（案内ページの冒頭。2026-10-03 検索で勝っている同じ用途のページは最初の見出しの前に結論を置く）。
   断り書きより目立たせ、本文と同じ大きさで読ませる */
.aah-ketsuron { font-size: 1em; border-left-width: 6px; }
.aah-ketsuron p:first-child strong { min-width: 0; font-size: 1.05em; }

/* --- 順位カード ------------------------------------------------------------ */
.aah-rank {
  border: 1px solid var(--aah-line);
  border-radius: 10px;
  padding: 1.1em 1.2em;
  margin: 0 0 1em;
  background: var(--aah-card);
}
.aah-rank__head { display: flex; align-items: flex-start; gap: 0.7em; margin: 0 0 0.6em; }
.aah-rank__no {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background: var(--aah-accent);
  color: var(--aah-cta-text);
  font-weight: 700;
  font-size: 0.95em;
  line-height: 1;
}
.aah-rank__ttl { margin: 0; font-size: 1.02em; line-height: 1.5; }
.aah-rank__fact { margin: 0 0 0.7em; font-size: 0.94em; }

/* --- 一覧ページへ戻す導線 --------------------------------------------------
   作品ページへのCTAより弱く見せる。ここを強くすると、買う人の動きを止めてしまう */
.nav-link {
  margin: 0 0 1.6em;
  font-size: 0.92em;
}
.nav-link a {
  display: inline-block;
  border: 1px solid var(--aah-accent);
  border-radius: 8px;
  padding: 0.6em 1em;
  text-decoration: none;
  color: var(--aah-accent);
}
.nav-link a:hover { background: var(--aah-accent-soft); }

/* --- 記事末のバナー枠 ------------------------------------------------------ */
.aah-banner {
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-left: 4px solid var(--aah-accent);
  border-radius: 8px;
  padding: 0.8em 1em;
  margin: 0 0 0.7em;
  font-size: 0.92em;
}
.aah-banner p { margin: 0 0 0.25em; }
.aah-banner p:last-child { margin: 0; }
.aah-banner a { font-weight: 700; }

/* --- DMMウェブサービス利用規約 第11条 のクレジット表示 ---------------------
   規約で求められているものなので、消したり見えなくしたりしない               */
.api-credit {
  font-size: 0.78em;
  color: var(--aah-muted);
  margin-top: 2.4em;
  padding-top: 1em;
  border-top: 1px solid var(--aah-line);
}
.api-credit img { vertical-align: middle; }

/* ===========================================================================
   一覧ページ（固定ページ /sagasu）
   =========================================================================== */
.nav-index__lead { color: var(--aah-muted); font-size: 0.92em; }

.nav-index__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em 1em;
  margin: 1.2em 0;
  padding: 1em;
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 10px;
}
.nav-index__controls label {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  font-size: 0.78em;
  color: var(--aah-muted);
}
.nav-index__controls select,
.nav-index__controls button {
  font-size: 0.95em;
  padding: 0.45em 0.6em;
  border: 1px solid var(--aah-line);
  border-radius: 6px;
  background: var(--aah-card);
  color: var(--aah-fg);
  max-width: 100%;
}
.nav-index__controls button { align-self: flex-end; cursor: pointer; }
.nav-index__count { font-weight: 700; color: var(--aah-accent); }

/* 作品名の列だけは折り返す。ここを nowrap にすると横幅が破綻する。
   一覧の表も .aah-table の中にあるので、比較表向けの
   「.aah-table tbody td:first-child { white-space: nowrap }」に負けないよう
   詳細度を上げてある（これを外すと題名が1行に伸びて表が画面外へ出る）。 */
.aah-table .nav-index__table tbody td:first-child,
.nav-index__table tbody td:first-child {
  white-space: normal;
  font-weight: 400;
  min-width: 14em;
  max-width: 26em;
}
.nav-index__note { color: var(--aah-muted); font-size: 0.85em; margin-top: 1em; }

/* --- スマホ --------------------------------------------------------------- */
@media (max-width: 640px) {
  .aah-table table { font-size: 0.82em; }
  .aah-table th, .aah-table td { padding: 0.45em 0.5em; }
  .nav-index__controls { padding: 0.8em; }
  .nav-index__controls label { width: 100%; }
  .nav-index__controls select { width: 100%; }
  .nav-index__table td:first-child { min-width: 12em; }
}

/* ===========================================================================
   pan-pan.co の部品をこちらの型で（2026-09-23 に159記事を数えて決めた）
   =========================================================================== */

/* --- 縦型の表（項目｜内容）。評価表に使う ----------------------------------- */
.aah-spec table { font-size: 0.92em; }
.aah-spec th[scope="row"] {
  width: 9.5em;
  background: var(--aah-accent-soft);
  font-weight: 600;
  white-space: nowrap;
  color: var(--aah-fg);
  border: 1px solid var(--aah-line);
  padding: 0.55em 0.7em;
  text-align: left;
  vertical-align: top;
}
.aah-spec td { white-space: normal; }
.aah-spec td small { display: block; color: var(--aah-muted); font-size: 0.82em; line-height: 1.6; margin-top: 0.2em; }
.aah-hyoka { margin: 0 0 1.2em; }
.aah-axis { color: var(--aah-accent); font-weight: 700; margin-right: 0.2em; }
.aah-off { margin-left: 0.5em; font-size: 0.85em; font-weight: 700; color: var(--aah-accent); }
.aah-pos { font-size: 1.5em; color: var(--aah-accent); }
@media (max-width: 640px) {
  .aah-spec th[scope="row"] { width: 7em; white-space: normal; }
}

/* --- ★。色は1色、数は必ず根拠つきで出す ----------------------------------- */
.aah-stars { color: var(--aah-star); letter-spacing: 0.08em; font-size: 1.05em; white-space: nowrap; }
.aah-stars--none { color: var(--aah-muted); font-size: 0.9em; letter-spacing: 0; }

/* --- 帯ボタン（pan-pan の .afilink）。画面幅いっぱい・黄色・太字 ----------- */
.aah-cta { margin: 0.9em 0; }
.aah-cta a {
  display: block;
  text-align: center;
  background: var(--aah-cta-bg);
  color: var(--aah-cta-fg);
  border: 1px solid var(--aah-cta-bg);
  border-radius: 10px;
  padding: 0.8em 1.2em;
  font-weight: 700;
  font-size: 1.02em;
  line-height: 1.5;
  text-decoration: none;
  box-shadow: 0 1px 5px rgba(0,0,0,.25);
  word-break: break-word;
}
.aah-cta a:hover, .aah-cta a:focus { filter: brightness(1.04); color: var(--aah-cta-fg); }
.aah-cta--fanza a { background: var(--aah-cta-bg); }
/* .aah-cta--dlsite（DLsiteで同名作品をさがす）は 2026-09-24 に外した。DMMウェブサービス規約 第9条第1項(5)（parts.js shopButtons） */

/* --- 引用元の1行（pan-pan の .inyo）。画像の下に小さく ----------------------- */
.aah-inyo { font-size: 0.78em; color: var(--aah-muted); text-align: right; margin: -0.6em 0 1em; }

/* --- アバターは <svg>。<img> にしないのは関門の枚数上限に混ぜないため -------- */
.aah-avatar { flex: none; border-radius: 50%; display: block; }

/* --- 吹き出し。人が書いた文章にだけ使う ------------------------------------ */
.aah-balloon { display: flex; gap: 0.8em; align-items: flex-start; margin: 1.4em 0; }
.aah-balloon--left { flex-direction: row; }
.aah-balloon--right { flex-direction: row-reverse; }
.aah-balloon__who { flex: none; width: 4.2em; text-align: center; font-size: 0.72em; color: var(--aah-muted); line-height: 1.4; }
.aah-balloon__who .aah-avatar { margin: 0 auto 0.3em; }
.aah-balloon__name { display: block; }
.aah-balloon__text {
  position: relative;
  flex: 1;
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 12px;
  padding: 0.9em 1.1em;
  font-size: 0.95em;
}
.aah-balloon__text::before {
  content: '';
  position: absolute;
  top: 1.2em; left: -8px;
  border: 8px solid transparent;
  border-left: 0;
  border-right-color: var(--aah-line);
}
.aah-balloon--right .aah-balloon__text::before { left: auto; right: -8px; border-right: 0; border-left: 8px solid var(--aah-line); }
.aah-balloon__text p { margin: 0 0 0.6em; }
.aah-balloon__text p:last-child { margin: 0; }

/* --- 書き手の箱（pan-pan の author-profile） ------------------------------- */
.aah-writer {
  display: flex;
  gap: 0.9em;
  align-items: flex-start;
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 10px;
  padding: 1em 1.1em;
  margin: 0 0 1.4em;
}
.aah-writer--compact { padding: 0.7em 0.9em; align-items: center; }
.aah-writer__body { min-width: 0; }
.aah-writer__title { margin: 0; font-size: 0.78em; color: var(--aah-muted); }
.aah-writer__name { margin: 0.1em 0 0.3em; font-weight: 700; font-size: 1.02em; }
.aah-writer__bio { margin: 0; font-size: 0.88em; color: var(--aah-fg); line-height: 1.7; }

/* --- ピックアップ（pan-pan の「編集部PickUp！」）。自分のページへの導線だけ --- */
.aah-pickup {
  background: var(--aah-accent-soft);
  border-radius: 10px;
  padding: 0.9em 1.1em;
  margin: 0 0 1.4em;
}
.aah-pickup__ttl { margin: 0 0 0.4em; font-weight: 700; font-size: 0.86em; color: var(--aah-accent); letter-spacing: .04em; }
.aah-pickup ul { margin: 0; padding-left: 1.2em; }
.aah-pickup li { margin: 0.25em 0; font-size: 0.94em; }
.aah-pickup__note { display: inline-block; margin-left: 0.5em; font-size: 0.8em; color: var(--aah-muted); }

/* --- カテゴリの帯（pan-pan のヘッダー下の「新着 特集 恋愛 …」） --------------- */
.aah-chips { display: flex; flex-wrap: wrap; gap: 0.4em; margin: 0 0 1.4em; }
.aah-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  font-size: 0.82em;
  padding: 0.3em 0.75em;
  border: 1px solid var(--aah-line);
  border-radius: 999px;
  text-decoration: none;
  color: var(--aah-fg);
  background: var(--aah-card);
}
.aah-chip:hover { border-color: var(--aah-accent); color: var(--aah-accent); }
.aah-chip.is-current { background: var(--aah-accent); color: var(--aah-cta-text); border-color: var(--aah-accent); }
.aah-chip__n { font-size: 0.8em; color: var(--aah-muted); }
.aah-chip.is-current .aah-chip__n { color: inherit; opacity: .8; }

/* --- 記事カード（pan-pan の main_articles_box_item）。画像は置かない ---------- */
.aah-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1em; margin: 2em 0 0.8em; }
.aah-section__ttl { margin: 0; font-size: 1.15em; border-left: 5px solid var(--aah-accent); padding-left: 0.5em; line-height: 1.4; }
.aah-section__ttl a { color: inherit; text-decoration: none; }
.aah-section__more { flex: none; font-size: 0.84em; color: var(--aah-muted); text-decoration: none; }
.aah-section__more:hover { color: var(--aah-accent); }
.aah-cards { display: grid; gap: 0.8em; margin: 0 0 1.2em; }
.aah-cards--3 { grid-template-columns: repeat(auto-fill, minmax(13em, 1fr)); }
.aah-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35em;
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-radius: 10px;
  padding: 0.9em 1em 0.9em 1em;
  text-decoration: none;
  color: var(--aah-fg);
  min-height: 7em;
}
.aah-card:hover { border-color: var(--aah-accent); box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.aah-card__badge {
  position: absolute; top: -0.5em; left: 0.8em;
  background: var(--aah-accent); color: var(--aah-cta-text);
  font-weight: 700; font-size: 0.8em; line-height: 1;
  padding: 0.35em 0.6em; border-radius: 6px;
}
.aah-card__kicker { font-size: 0.74em; color: var(--aah-accent); font-weight: 700; margin-top: 0.3em; }
.aah-card__ttl { font-weight: 700; font-size: 0.95em; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.aah-card__stars { font-size: 0.85em; display: flex; gap: 0.4em; align-items: baseline; }
.aah-card__stars small { color: var(--aah-muted); }
.aah-card__meta { display: flex; flex-wrap: wrap; gap: 0.3em 0.7em; font-size: 0.78em; color: var(--aah-muted); margin-top: auto; }

/* --- 参加の枠（プラグイン aah-sanka が記事末に足す） -------------------------- */
.aah-sanka {
  background: var(--aah-card);
  border: 1px solid var(--aah-line);
  border-top: 4px solid var(--aah-accent);
  border-radius: 10px;
  padding: 1em 1.1em 1.1em;
  margin: 2em 0 1.4em;
}
.aah-sanka__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4em 1em; }
.aah-sanka__ttl { margin: 0; font-weight: 700; }
.aah-sanka__sum { margin: 0; font-size: 0.95em; }
.aah-sanka__sum small { color: var(--aah-muted); }
.aah-sanka__helpful {
  margin: 0.8em 0 0;
  font: inherit; font-size: 0.9em; font-weight: 700;
  color: var(--aah-accent); background: var(--aah-accent-soft);
  border: 1px solid transparent; border-radius: 999px; padding: 0.4em 1em; cursor: pointer;
}
.aah-sanka__helpful:hover { border-color: var(--aah-accent); }
.aah-sanka__helpful[disabled] { opacity: .7; cursor: default; }
.aah-sanka__list { list-style: none; margin: 1em 0 0; padding: 0; }
.aah-sanka__item { border-top: 1px solid var(--aah-line); padding: 0.7em 0; font-size: 0.92em; }
.aah-sanka__item p { margin: 0.2em 0 0; }
.aah-sanka__who { margin-left: 0.6em; font-size: 0.85em; color: var(--aah-muted); }
.aah-sanka__form { margin-top: 1.1em; padding-top: 1em; border-top: 1px dashed var(--aah-line); display: grid; gap: 0.6em; }
.aah-sanka__label { margin: 0; font-weight: 700; font-size: 0.92em; }
.aah-sanka__rating { display: flex; gap: 0.3em; flex-wrap: wrap; }
.aah-sanka__rating label { cursor: pointer; }
.aah-sanka__rating input { position: absolute; opacity: 0; width: 0; height: 0; }
.aah-sanka__rating span { display: inline-block; padding: 0.3em 0.7em; border: 1px solid var(--aah-line); border-radius: 999px; font-size: 0.88em; color: var(--aah-star); }
.aah-sanka__rating input:checked + span { background: var(--aah-accent); color: var(--aah-cta-text); border-color: var(--aah-accent); }
.aah-sanka__form input[type="text"], .aah-sanka__form textarea {
  font: inherit; font-size: 0.92em; padding: 0.5em 0.7em;
  border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); width: 100%; box-sizing: border-box;
}
.aah-sanka__hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; }
.aah-sanka__agree { font-size: 0.86em; }
.aah-sanka__submit {
  font: inherit; font-weight: 700; font-size: 0.95em;
  background: var(--aah-accent); color: var(--aah-cta-text); border: 0; border-radius: 8px; padding: 0.7em 1em; cursor: pointer;
}
.aah-sanka__submit[disabled] { opacity: .6; cursor: default; }
.aah-sanka__msg { margin: 0; font-size: 0.86em; color: var(--aah-muted); min-height: 1.4em; }

/* --- トップ（固定ページ /home）。pan-pan の「タグライン → カテゴリ帯 → 枠ごとのカード」 */
.aah-hero { padding: 1.4em 0 0.6em; }
.aah-hero__site { margin: 0; font-size: 0.86em; color: var(--aah-accent); font-weight: 700; letter-spacing: .06em; }
.aah-hero__ttl { margin: 0.2em 0 0.4em; font-size: 1.7em; line-height: 1.35; }
.aah-hero__lead { margin: 0 0 1em; color: var(--aah-muted); font-size: 0.95em; }
.aah-home__stat { display: flex; flex-wrap: wrap; gap: 0.4em 1.4em; font-size: 0.82em; color: var(--aah-muted); margin: 0 0 1.2em; }
.aah-home__stat b { color: var(--aah-fg); }
.aah-writers { display: grid; grid-template-columns: repeat(auto-fill, minmax(15em, 1fr)); gap: 0.7em; margin: 0 0 1.2em; }
.aah-writers .aah-writer { margin: 0; }
.aah-foot { border-top: 1px solid var(--aah-line); margin-top: 2.4em; padding-top: 1em; font-size: 0.82em; color: var(--aah-muted); }
.aah-foot ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.3em 1.2em; }
.aah-foot p { margin: 0.6em 0 0; }
.aah-foot__sogo a { color: var(--aah-muted); }

/* --- カテゴリページ ---------------------------------------------------------- */
.aah-cat__desc { color: var(--aah-muted); font-size: 0.95em; margin: 0 0 1.2em; }
.aah-cat__stat { display: flex; flex-wrap: wrap; gap: 0.5em 1.4em; font-size: 0.86em; margin: 0 0 1.4em; padding: 0.8em 1em; background: var(--aah-accent-soft); border-radius: 8px; }
.aah-cat__stat b { color: var(--aah-accent); font-size: 1.15em; }

/* --- 診断（読者が4問答えると候補が出る） ------------------------------------ */
.aah-diag { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 12px; padding: 1.1em 1.2em; margin: 0 0 1.4em; }
.aah-diag__q { margin: 0 0 1em; }
.aah-diag__q p { margin: 0 0 0.4em; font-weight: 700; font-size: 0.95em; }
.aah-diag__opts { display: flex; flex-wrap: wrap; gap: 0.4em; }
.aah-diag__opts label { cursor: pointer; }
.aah-diag__opts input { position: absolute; opacity: 0; width: 0; height: 0; }
.aah-diag__opts span { display: inline-block; padding: 0.4em 0.9em; border: 1px solid var(--aah-line); border-radius: 999px; font-size: 0.9em; background: var(--aah-card); }
.aah-diag__opts input:checked + span { background: var(--aah-accent); color: var(--aah-cta-text); border-color: var(--aah-accent); }
.aah-diag__go { font: inherit; font-weight: 700; background: var(--aah-cta-bg); color: var(--aah-cta-fg); border: 0; border-radius: 10px; padding: 0.8em 1.4em; cursor: pointer; box-shadow: 0 1px 5px rgba(0,0,0,.2); }
.aah-diag__result { margin-top: 1.2em; }
.aah-diag__result h3 { margin: 0 0 0.6em; }
.aah-diag__why { font-size: 0.86em; color: var(--aah-muted); margin: 0 0 0.8em; }
.aah-diag__minna { font-size: 0.86em; color: var(--aah-muted); margin: 0.8em 0 0; }
.aah-diag__none { color: var(--aah-muted); }

/* --- みんなのランキング（[aah_minna]）。集計方法と時点を必ず添える ------------------ */
.aah-minna { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 10px; padding: 1em 1.2em; margin: 0 0 1.4em; }
.aah-minna__ttl { margin: 0 0 0.5em; font-weight: 700; }
.aah-minna ol { margin: 0; padding-left: 1.4em; }
.aah-minna li { margin: 0.3em 0; }
.aah-minna__n { margin-left: 0.5em; font-size: 0.82em; color: var(--aah-muted); }
.aah-minna__n::after { content: '回'; }
.aah-minna__note { margin: 0.8em 0 0; font-size: 0.82em; color: var(--aah-muted); }

/* --- 年齢確認の幕（サーバー規約で必須。プラグイン aah-sanka が出す） -------------- */
.aah-age { position: fixed; inset: 0; z-index: 9999; background: rgba(20,20,20,.86); display: flex; align-items: center; justify-content: center; padding: 16px; }
.aah-age[hidden] { display: none; }
.aah-age__box { background: var(--aah-card); color: var(--aah-fg); border-radius: 14px; padding: 1.6em 1.4em; max-width: 26em; width: 100%; text-align: center; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.aah-age__ttl { margin: 0 0 0.5em; font-size: 1.3em; font-weight: 700; }
.aah-age__txt { margin: 0 0 1.2em; font-size: 0.92em; color: var(--aah-muted); }
.aah-age__btns { display: grid; gap: 0.6em; }
.aah-age__yes { font: inherit; font-weight: 700; background: var(--aah-accent); color: var(--aah-cta-text); border: 0; border-radius: 10px; padding: 0.9em 1em; cursor: pointer; }
.aah-age__no { font-size: 0.9em; color: var(--aah-muted); }
html.aah-age-lock { overflow: hidden; }

/* --- 印刷。表が切れないようにだけ面倒を見る -------------------------------- */
@media print {
  .aah-table { overflow: visible; background: none; }
  .aah-cta a { background: none; color: inherit; border: 1px solid #000; box-shadow: none; }
}

/* --- 口コミ板（/ita と各スレッド。プラグイン aah-sanka も同じ class で出す） ---------------
   爆サイ.com のスレッド（レス番号・匿名さん・日時・本文）の並びを、月ごとの束と新しい順で組む。
   他サイトの投稿は1件も無い。ここにあるのは自分のサイトへの投稿だけ                         */
.aah-ita { margin: 0 0 1.6em; }
.aah-ita__head { background: var(--aah-accent-soft); border-radius: 10px; padding: 0.9em 1.1em; margin: 0 0 1.2em; }
.aah-ita__kind { margin: 0; font-size: 0.82em; color: var(--aah-accent); font-weight: 700; }
.aah-ita__sum { margin: 0.3em 0 0; font-size: 0.92em; }
.aah-ita__sum b { color: var(--aah-accent); font-size: 1.15em; }
.aah-ita__official { margin: 0.4em 0 0; font-size: 0.84em; color: var(--aah-muted); word-break: break-all; }
.aah-ita__rule { margin: 0.5em 0 0; font-size: 0.82em; color: var(--aah-muted); line-height: 1.6; }
.aah-ita__month { margin: 0 0 0.6em; }
.aah-ita__mttl { margin: 1.2em 0 0.4em; font-size: 1em; padding-bottom: 0.3em; border-bottom: 2px solid var(--aah-accent); }
.aah-ita__mn { margin-left: 0.6em; font-size: 0.82em; font-weight: 400; color: var(--aah-muted); }
.aah-ita__list { list-style: none; margin: 0; padding: 0; }
.aah-ita__res { border-bottom: 1px solid var(--aah-line); padding: 0.7em 0 0.8em; font-size: 0.94em; }
.aah-ita__res:target { background: var(--aah-accent-soft); }
.aah-ita__no { display: inline-block; min-width: 2em; font-weight: 700; color: var(--aah-accent); }
.aah-ita__who { font-size: 0.85em; color: var(--aah-muted); }
.aah-ita__facts { display: block; margin: 0.2em 0 0; font-size: 0.84em; color: var(--aah-muted); }
.aah-ita__star { color: var(--aah-star); font-weight: 700; }
.aah-ita__text { margin: 0.3em 0 0; line-height: 1.75; }
.aah-ita__empty { color: var(--aah-muted); }
.aah-ita__more { background: var(--aah-card); border: 1px dashed var(--aah-accent); border-radius: 10px; padding: 0.9em 1.1em; margin: 1.2em 0; font-size: 0.92em; }
.aah-ita__more p { margin: 0; }
.aah-ita__more-n { color: var(--aah-accent); font-size: 1.15em; }
.aah-ita__more-go { display: inline-block; margin-top: 0.5em; font-weight: 700; }
.aah-ita__form { margin-top: 1.6em; }
.aah-ita__fields { display: flex; flex-wrap: wrap; gap: 0.6em 1.2em; font-size: 0.9em; }
.aah-ita__fields input { font: inherit; padding: 0.35em 0.5em; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); }
.aah-ita__axis { display: flex; align-items: center; gap: 0.6em; flex-wrap: wrap; }
.aah-ita__axis-l { min-width: 3.5em; font-size: 0.9em; font-weight: 700; }

/* 気分の枠（5レスごとに挟む作品カード。FANZAへ。sponsored） */
.aah-kibun { background: var(--aah-card); border: 1px solid var(--aah-line); border-left: 4px solid var(--aah-cta-bg); border-radius: 10px; padding: 0.8em 1em; margin: 0.9em 0; }
.aah-kibun__ttl { margin: 0 0 0.4em; font-size: 0.86em; font-weight: 700; }
.aah-kibun__why { margin-left: 0.6em; font-weight: 400; color: var(--aah-muted); }
.aah-kibun__card { display: grid; grid-template-columns: auto 1fr; gap: 0.2em 0.9em; align-items: center; text-decoration: none; color: inherit; }
.aah-kibun__img { grid-row: 1 / span 3; width: 100px; height: auto; border-radius: 6px; }
.aah-kibun__name { font-weight: 700; line-height: 1.4; }
.aah-kibun__meta { font-size: 0.84em; color: var(--aah-muted); }
.aah-kibun__go { display: inline-block; justify-self: start; margin-top: 0.2em; font-size: 0.88em; font-weight: 700; background: var(--aah-cta-bg); color: var(--aah-cta-fg); border-radius: 8px; padding: 0.35em 0.9em; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.aah-kibun__own { display: inline-block; margin-top: 0.5em; font-size: 0.84em; }

/* 板の入口（/ita）。帯 → 人気 → 新着 → 関東・関西 → 都道府県 → スレ一覧（行） */
.aah-board__rule { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 10px; padding: 0.8em 1.1em; margin: 0 0 1.4em; font-size: 0.86em; }
.aah-board__rule p { margin: 0.3em 0; }
.aah-board__h { margin: 1.6em 0 0.6em; }
.aah-board__region { margin: 1.2em 0 0.4em; font-size: 1.05em; color: var(--aah-accent); }
.aah-board__rn { margin-left: 0.6em; font-size: 0.8em; font-weight: 400; color: var(--aah-muted); }
.aah-board__pref { margin: 0.6em 0 0.4em; font-weight: 700; font-size: 0.92em; }
.aah-board__new { list-style: none; margin: 0 0 1.2em; padding: 0; }
.aah-board__newitem { border-bottom: 1px solid var(--aah-line); padding: 0.5em 0; font-size: 0.9em; }
.aah-board__newitem a { font-weight: 700; }
.aah-board__newdate { margin-left: 0.6em; font-size: 0.82em; color: var(--aah-muted); }
.aah-board__newtext { display: block; color: var(--aah-muted); font-size: 0.9em; }

/* 画像で選ぶ（/gazou）。公式画像1作品1枚。タップで販売ページへ */
.aah-gz { margin: 0 0 1.2em; }
.aah-gz__chips button.aah-chip, button.aah-chip { font: inherit; cursor: pointer; }
.aah-gz__none { color: var(--aah-muted); }
.aah-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5em, 1fr)); gap: 0.7em; }
.aah-tile { display: block; text-decoration: none; color: var(--aah-fg); background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 8px; overflow: hidden; }
.aah-tile:hover { border-color: var(--aah-accent); }
.aah-tile[hidden] { display: none; }
.aah-tile__img { display: block; width: 100%; height: auto; aspect-ratio: var(--aah-thumb-ratio, 3 / 4); object-fit: contain; } /* 切り抜かない（DMMの画像ルールは加工を拡大縮小だけに限る）。下の .aah-dense 側と同じ値 */
.aah-tile__ttl { display: block; padding: 0.4em 0.5em 0; font-size: 0.8em; line-height: 1.4; font-weight: 700; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aah-tile__meta { display: block; padding: 0.2em 0.5em 0.5em; font-size: 0.76em; color: var(--aah-muted); }

/* 会員（/kaiin） */
.aah-member { margin: 0 0 1.2em; }
.aah-member__list, .aah-member__steps { margin: 0 0 1em; padding-left: 1.4em; }
.aah-member__form { display: grid; gap: 0.6em; max-width: 26em; margin: 0 0 1em; }
.aah-member__label { font-size: 0.92em; font-weight: 700; }
.aah-member__label input { display: block; width: 100%; box-sizing: border-box; margin-top: 0.3em; font: inherit; font-weight: 400; padding: 0.5em 0.7em; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); }
.aah-member__na { color: var(--aah-muted); }
.aah-member__note { font-size: 0.84em; color: var(--aah-muted); }
.aah-cta--member a { background: var(--aah-accent); color: var(--aah-cta-text); }

/* --- 口コミ板の追加分（2026-09-23 に爆サイの項目を全部移した）---------------------------------
   スレ一覧（行）・人気の板・>>アンカー・返信/参考になった/通報・ページ送り・お気に入り・板の申請 */
.aah-ita__kind .aah-ita__fav { float: right; }
.aah-ita__fav, .aah-ita__reply, .aah-ita__good { font: inherit; font-size: 0.8em; line-height: 1.2; cursor: pointer; border: 1px solid var(--aah-line); border-radius: 999px; background: var(--aah-card); color: var(--aah-fg); padding: 0.25em 0.7em; }
.aah-ita__fav[aria-pressed="true"] { border-color: var(--aah-star); color: var(--aah-star); }
.aah-ita__good[disabled] { opacity: .6; cursor: default; }
.aah-ita__good-n { font-weight: 700; color: var(--aah-accent); }
.aah-ita__act { display: flex; flex-wrap: wrap; gap: 0.4em; margin-top: 0.4em; align-items: center; }
.aah-ita__report { font-size: 0.78em; color: var(--aah-muted); margin-left: auto; }
.aah-ita__anc { color: var(--aah-accent); text-decoration: none; font-weight: 700; }
.aah-ita__anc:hover { text-decoration: underline; }
details.aah-ita__rule summary { cursor: pointer; color: var(--aah-accent); font-weight: 700; }
.aah-ita__pager { display: flex; flex-wrap: wrap; gap: 0.3em; margin: 0.8em 0; font-size: 0.86em; }
.aah-ita__pg { display: inline-block; min-width: 2em; text-align: center; padding: 0.25em 0.6em; border: 1px solid var(--aah-line); border-radius: 6px; text-decoration: none; color: var(--aah-fg); background: var(--aah-card); }
.aah-ita__pg--cur { background: var(--aah-accent); color: var(--aah-cta-text); border-color: var(--aah-accent); font-weight: 700; }

/* 板の入口の帯（地域・カテゴリ群・検索） */
.aah-board__tabs { display: flex; flex-wrap: wrap; gap: 0.35em; align-items: center; margin: 0 0 1em; }
.aah-board__tab { display: inline-flex; align-items: center; gap: 0.3em; font-size: 0.84em; font-weight: 700; padding: 0.35em 0.8em; border-radius: 6px; text-decoration: none; background: var(--aah-accent); color: var(--aah-cta-text); }
.aah-board__tab .aah-chip__n { color: inherit; opacity: .85; }
.aah-board__q { flex: 1 1 12em; min-width: 10em; }
.aah-board__two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2em; }
.aah-board__two > section { min-width: 0; }
details.aah-board__rule summary { cursor: pointer; font-weight: 700; }
@media (max-width: 720px) { .aah-board__two { grid-template-columns: 1fr; } }

/* スレ一覧（爆サイのスレ一覧: 題名・レス数・最終更新・NEW）。行で詰める */
.aah-tl { margin: 0 0 1em; }
.aah-tl__bar { display: flex; flex-wrap: wrap; gap: 0.4em 0.8em; align-items: center; margin: 0 0 0.5em; }
.aah-tl__sort { display: inline-flex; gap: 0.3em; flex-wrap: wrap; }
.aah-tl__q { font: inherit; font-size: 0.9em; padding: 0.35em 0.6em; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); }
.aah-tl__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--aah-line); }
.aah-tl__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2em 0.6em; padding: 0.42em 0.2em; border-bottom: 1px solid var(--aah-line); font-size: 0.92em; }
.aah-tl__row[hidden] { display: none; }
.aah-tl__row:hover { background: var(--aah-accent-soft); }
.aah-tl__ttl { font-weight: 700; text-decoration: none; flex: 1 1 14em; min-width: 0; }
.aah-tl__place { font-size: 0.82em; color: var(--aah-accent); }
.aah-tl__kind { font-size: 0.76em; color: var(--aah-muted); border: 1px solid var(--aah-line); border-radius: 999px; padding: 0 0.5em; }
.aah-tl__stars { font-size: 0.82em; color: var(--aah-star); font-weight: 700; }
.aah-tl__n { font-weight: 700; color: var(--aah-accent); min-width: 2.2em; text-align: right; }
.aah-tl__n::after { content: '件'; font-weight: 400; font-size: 0.8em; color: var(--aah-muted); }
.aah-tl__last { font-size: 0.82em; color: var(--aah-muted); min-width: 3em; text-align: right; }
.aah-tl__new { font-size: 0.7em; font-weight: 700; color: #fff; background: #d9313c; border-radius: 3px; padding: 0.05em 0.4em; }
.aah-tl__none { color: var(--aah-muted); }

/* 人気の板 */
.aah-hot { list-style: none; margin: 0 0 1em; padding: 0; counter-reset: none; }
.aah-hot__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2em 0.6em; padding: 0.4em 0; border-bottom: 1px solid var(--aah-line); font-size: 0.92em; }
.aah-hot__row a { font-weight: 700; text-decoration: none; }
.aah-hot__rank { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.7em; height: 1.7em; border-radius: 4px; background: var(--aah-accent); color: var(--aah-cta-text); font-weight: 700; font-size: 0.85em; }
.aah-hot__row:nth-child(1) .aah-hot__rank { background: #d9313c; }
.aah-hot__row:nth-child(2) .aah-hot__rank { background: #e0742c; }
.aah-hot__row:nth-child(3) .aah-hot__rank { background: #c9a227; }
.aah-hot__n { font-size: 0.82em; color: var(--aah-muted); margin-left: auto; }

/* お気に入り・板の申請 */
.aah-fav { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 8px; padding: 0.7em 0.9em; margin: 1.2em 0; font-size: 0.92em; }
.aah-fav__ttl { margin: 0 0 0.3em; font-weight: 700; }
.aah-fav__note { margin-left: 0.6em; font-weight: 400; font-size: 0.82em; color: var(--aah-muted); }
.aah-fav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.3em 1em; }
.aah-fav__none { margin: 0; color: var(--aah-muted); }
.aah-req { margin-top: 0.6em; }
.aah-req__kind { font-size: 0.92em; font-weight: 700; }
.aah-req select, .aah-ita__fields select { font: inherit; padding: 0.35em 0.5em; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); }
.aah-ita__fields[hidden] { display: none; }

/* ===========================================================================
   密度（2026-09-23）。よくある成人向けサイトとポータル4サイトの実測に寄せる
   （docs/サイトデザイン調査_2026-09-23.md）: 本文13px・行の高さ1.4・リンク13px、
   サムネの格子はPC6列・スマホ3列、薄い灰色の帯と1px罫線でブロックを分ける。
   テーマの body には触らず、生成物の包み .aah-dense の中だけを詰める。
   =========================================================================== */
:root {
  --aah-band: #f4f4f4;        /* 帯の地色（Yahoo!ショッピング #f4f4f4・楽天 #f7f7f7） */
  --aah-bar-bg: #1b1b1f;      /* サイト共通の帯（黒ベース） */
  --aah-bar-fg: #ffffff;
  --aah-hot: #cc0000;         /* NEW・順位1位・注目。FANZA本家の赤 */
}
:root[data-theme="dark"] { --aah-band: #232220; --aah-bar-bg: #0e0e10; }

.aah-dense { font-size: 13px; line-height: 1.35; }
.aah-dense .aah-ita__text, .aah-dense .aah-faq dd, .aah-dense .aah-cat__desc { line-height: 1.6; }
.aah-dense h2, .aah-dense .aah-section__ttl { font-size: 1.15em; }
.aah-dense h3 { font-size: 1.02em; }
.aah-dense p { margin: 0 0 0.8em; }
.aah-dense .aah-section__head { margin: 1.3em 0 0.5em; padding: 0.35em 0.6em; background: var(--aah-band); border-left: 4px solid var(--aah-accent); }
.aah-dense .aah-section__ttl { border-left: 0; padding-left: 0; }
.aah-dense .aah-cards { gap: 0.5em; }
.aah-dense .aah-card { padding: 0.6em 0.7em; min-height: 5em; border-radius: 6px; }
.aah-dense .aah-chips { gap: 0.25em; margin: 0 0 0.9em; }
.aah-dense .aah-chip { font-size: 0.86em; padding: 0.2em 0.6em; }
.aah-dense .aah-foot { font-size: 0.86em; }
.aah-dense .aah-table table { font-size: 0.92em; }
.aah-dense .aah-crumb { margin: 0.4em 0 0.6em; }

/* サイト共通の帯（爆サイ・Yahoo!ショッピングのヘッダーに当たる）。黒地・白文字・検索 */
.aah-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2em 0.9em; background: var(--aah-bar-bg); color: var(--aah-bar-fg); padding: 0.45em 0.8em; border-radius: 6px; margin: 0 0 0.8em; font-size: 0.92em; }
.aah-bar a { color: var(--aah-bar-fg); text-decoration: none; }
.aah-bar__home { font-weight: 800; letter-spacing: .04em; margin-right: 0.4em; }
.aah-bar__link { padding: 0.15em 0.2em; border-bottom: 2px solid transparent; white-space: nowrap; }
.aah-bar__link:hover, .aah-bar__link.is-current { border-bottom-color: var(--aah-hot); }
.aah-bar__search { display: flex; margin-left: auto; gap: 0.3em; }
.aah-bar__search input { font: inherit; font-size: 0.95em; width: 11em; max-width: 40vw; padding: 0.25em 0.5em; border: 0; border-radius: 4px; background: #fff; color: #111; }
.aah-bar__search button { font: inherit; font-size: 0.9em; font-weight: 700; padding: 0.25em 0.7em; border: 0; border-radius: 4px; background: var(--aah-hot); color: #fff; cursor: pointer; }

/* 看板は小さく（見出しは1.25em） */
.aah-hero--dense { padding: 0.4em 0 0.2em; }
.aah-hero--dense .aah-hero__ttl { font-size: 1.25em; margin: 0.1em 0 0.2em; }
.aah-hero--dense .aah-hero__lead { font-size: 0.92em; margin: 0 0 0.5em; }
.aah-dense .aah-home__stat { margin: 0 0 0.8em; }

/* サムネの格子。PC6列・タブレット4列・スマホ3列（よくある成人向けサイトの並び） */
.aah-tiles { display: grid; gap: 0.45em; margin: 0 0 1em; }
.aah-tiles--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 900px) { .aah-tiles--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .aah-tiles--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .aah-tiles { gap: 0.3em; } }
.aah-tile__wrap { position: relative; min-width: 0; }
.aah-tile__wrap[hidden] { display: none; }
.aah-tile { display: block; text-decoration: none; color: var(--aah-fg); background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; overflow: hidden; height: 100%; }
.aah-tile:hover { border-color: var(--aah-accent); }
.aah-tile__img { display: block; width: 100%; height: auto; aspect-ratio: var(--aah-thumb-ratio, 3 / 4); object-fit: contain; background: var(--aah-band); }
.aah-tile__noimg { display: flex; align-items: center; justify-content: center; aspect-ratio: var(--aah-thumb-ratio, 3 / 4); padding: 0.4em; background: var(--aah-band); font-size: 0.78em; font-weight: 700; text-align: center; line-height: 1.35; }
.aah-tile__badge { position: absolute; top: 0.3em; left: 0.3em; z-index: 1; background: var(--aah-hot); color: #fff; font-weight: 700; font-size: 0.72em; line-height: 1; padding: 0.3em 0.45em; border-radius: 3px; }
.aah-tile__ttl { display: block; padding: 0.3em 0.4em 0; font-size: 0.8em; line-height: 1.3; font-weight: 700; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aah-tile__meta { display: block; padding: 0.15em 0.4em 0.4em; font-size: 0.76em; color: var(--aah-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aah-tile__price { color: var(--aah-price); font-weight: 700; }
.aah-tile__own { position: absolute; right: 0.3em; top: 0.3em; z-index: 1; font-size: 0.7em; font-weight: 700; text-decoration: none; background: rgba(255,255,255,.92); color: var(--aah-accent); border-radius: 3px; padding: 0.2em 0.4em; }

/* 総合の目次（Yahoo!ショッピングのカテゴリ一覧・楽天のジャンル一覧・5chの板一覧を1枚に） */
.aah-dir { display: grid; grid-template-columns: repeat(auto-fill, minmax(11em, 1fr)); gap: 0.6em; margin: 0 0 1em; }
.aah-dir__col { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.5em 0.6em; min-width: 0; }
.aah-dir__ttl { margin: 0 0 0.3em; font-size: 0.9em; padding-bottom: 0.25em; border-bottom: 2px solid var(--aah-accent); }
.aah-dir__n { margin-left: 0.4em; font-weight: 400; font-size: 0.8em; color: var(--aah-muted); }
.aah-dir__list { list-style: none; margin: 0; padding: 0; font-size: 0.88em; line-height: 1.3; columns: 1; }
.aah-dir__list li { display: flex; justify-content: space-between; gap: 0.4em; padding: 0.18em 0; border-bottom: 1px dotted var(--aah-line); }
.aah-dir__list a { text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aah-dir__list a:hover { text-decoration: underline; }
.aah-dir__cnt { color: var(--aah-muted); font-size: 0.9em; flex: none; }
.aah-dir__more { color: var(--aah-muted); font-size: 0.9em; }

/* ポータルの2カラム（Yahoo!・楽天の型: 本文＋右サイドバー280px。スマホは縦に） */
.aah-portal { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 0 1.2em; align-items: start; }
.aah-portal__main, .aah-portal__side { min-width: 0; }
@media (max-width: 960px) { .aah-portal { grid-template-columns: minmax(0, 1fr); } }
.aah-side__box { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.5em 0.6em 0.6em; margin: 1.3em 0 0; font-size: 0.92em; }
.aah-side__ttl { margin: 0 0 0.4em; font-weight: 700; padding: 0.25em 0.5em; background: var(--aah-band); border-left: 4px solid var(--aah-hot); }
.aah-side__p { margin: 0 0 0.5em; font-size: 0.95em; color: var(--aah-muted); }
.aah-side__rank { list-style: none; margin: 0; padding: 0; }
.aah-side__rank li { display: flex; align-items: flex-start; gap: 0.4em; padding: 0.35em 0; border-bottom: 1px solid var(--aah-line); }
.aah-side__no { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.6em; height: 1.6em; border-radius: 3px; background: var(--aah-accent); color: var(--aah-cta-text); font-weight: 700; font-size: 0.85em; }
.aah-side__rank li:nth-child(1) .aah-side__no { background: var(--aah-hot); }
.aah-side__rank li:nth-child(2) .aah-side__no { background: #e0742c; }
.aah-side__rank li:nth-child(3) .aah-side__no { background: #c9a227; }
.aah-side__item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0.1em 0.5em; text-decoration: none; color: inherit; min-width: 0; flex: 1; }
.aah-side__item:hover .aah-side__ttl2 { color: var(--aah-accent); }
.aah-side__img { grid-row: 1 / span 2; width: 48px; height: 64px; object-fit: contain; border-radius: 3px; background: var(--aah-band); }
.aah-side__ttl2 { font-size: 0.9em; font-weight: 700; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aah-side__meta { font-size: 0.8em; color: var(--aah-muted); }
.aah-side__list { list-style: none; margin: 0; padding: 0; font-size: 0.92em; }
.aah-side__list li { display: flex; justify-content: space-between; gap: 0.4em; padding: 0.2em 0; border-bottom: 1px dotted var(--aah-line); }
.aah-side__box--ita .aah-hot, .aah-side__box .aah-hot { margin: 0; }
.aah-side__box .aah-hot__row { font-size: 0.9em; }
.aah-side__box .aah-cta { margin: 0.3em 0 0; }
.aah-side__box .aah-cta a { padding: 0.5em 0.8em; font-size: 0.95em; }

/* タグクラウド（件数で5段階） */
.aah-cloud { margin: 0; line-height: 1.9; }
.aah-cloud a { display: inline-block; text-decoration: none; padding: 0 0.3em; border-radius: 3px; white-space: nowrap; }
.aah-cloud a:hover { background: var(--aah-accent-soft); }
.aah-cloud__n { font-size: 0.7em; color: var(--aah-muted); margin-left: 0.15em; vertical-align: super; }
.aah-cloud__t1 { font-size: 0.82em; color: var(--aah-muted); }
.aah-cloud__t2 { font-size: 0.9em; }
.aah-cloud__t3 { font-size: 1em; font-weight: 700; }
.aah-cloud__t4 { font-size: 1.12em; font-weight: 700; color: var(--aah-accent); }
.aah-cloud__t5 { font-size: 1.28em; font-weight: 800; color: var(--aah-hot); }

/* タイルの NEW・割引 */
.aah-tile__new, .aah-tile__off { display: inline-block; font-size: 0.95em; font-weight: 700; line-height: 1.2; padding: 0.05em 0.35em; border-radius: 2px; margin-right: 0.3em; vertical-align: 0.05em; }
.aah-tile__new { background: var(--aah-hot); color: #fff; }
.aah-tile__off { background: var(--aah-orange); color: #151513; } /* 白字だと橙の地で比3.45（ライト）・2.59（ダーク）。黒字で5.3・7.1 */

/* 爆サイから移した残り: 閲覧数・街の帯・関連の板・URLコピー/Xポスト/報告・FAQ・残り文字数・番号ボタン */
.aah-tl__v { font-size: 0.8em; color: var(--aah-muted); }
.aah-tl__towns { margin: 0.3em 0 0.4em; }
.aah-tl__pref { margin: 0 0 0.8em; }
.aah-hot--views { margin-top: 0.4em; }
details.aah-board__faq { margin: 1.2em 0; font-size: 0.92em; }
details.aah-board__faq summary { cursor: pointer; font-weight: 700; }
details.aah-board__faq .aah-faq { margin-top: 0.6em; }
.aah-ita__share { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4em 0.8em; margin: 1.2em 0 0.4em; padding: 0.6em 0.8em; background: var(--aah-band); border-radius: 6px; font-size: 0.88em; }
.aah-ita__copy { font: inherit; font-size: 0.95em; cursor: pointer; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); color: var(--aah-fg); padding: 0.3em 0.8em; }
.aah-ita__x { display: inline-block; text-decoration: none; font-weight: 700; color: #fff; background: #000; border-radius: 6px; padding: 0.3em 0.8em; }
.aah-ita__reports { color: var(--aah-muted); margin-left: auto; }
.aah-ita__count { display: block; text-align: right; font-size: 0.82em; color: var(--aah-muted); margin-top: -0.3em; }
button.aah-ita__no { font: inherit; font-weight: 700; color: var(--aah-accent); background: none; border: 0; padding: 0; cursor: pointer; min-width: 2em; text-align: left; }
button.aah-ita__no:hover { text-decoration: underline; }


/* 横スクロール帯（FANZA本家の「帯」: 画面内にPC6枚・スマホ3枚、横に流して続きを見る。ジャンル枠と画像で選ぶの入口に使う） */
.aah-tiles--strip { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; gap: 0.45em; padding-bottom: 0.4em; scrollbar-width: thin; }
.aah-tiles--strip > .aah-tile__wrap { flex: 0 0 150px; scroll-snap-align: start; }
@media (max-width: 640px) { .aah-tiles--strip > .aah-tile__wrap { flex-basis: 116px; } }
.aah-section__n { margin-left: 0.5em; font-size: 0.8em; font-weight: 400; color: var(--aah-muted); }


/* ============================================================
   ポータルの「文字の欄」（2026-09-23 本人の指示「YAHOOや爆サイのトップみたいに、いろんな記事が載るように。何せ文字が多い」）
   Yahoo! JAPAN のトップは トピックス（見出しの箇条書き）・天気・検索の下のワード の3つが上半分を占める。
   ここも同じ並びで、中身は全部このサイト自身のデータ（他社の見出しの転載はしない）。
   ============================================================ */

/* 入口の格子（Yahoo!の「サービス一覧」に当たる）。1行にPC8個・スマホ4個 */
.aah-svc { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.3em; margin: 0.6em 0 0.9em; }
@media (max-width: 640px) { .aah-svc { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.aah-svc__a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.15em; text-align: center; text-decoration: none; color: var(--aah-fg); background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.45em 0.2em; font-size: 0.92em; line-height: 1.2; }
.aah-svc__a:hover { border-color: var(--aah-accent); color: var(--aah-accent); }
.aah-svc__n { font-size: 0.78em; color: var(--aah-muted); }

/* 3つの欄（うごき・語・天気）。PCは 1.7fr / 1fr / 1fr、960px以下で縦 */
.aah-topix3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr) minmax(0, 1.05fr); gap: 0.8em; align-items: start; margin: 0 0 1.2em; }
@media (max-width: 960px) { .aah-topix3 { grid-template-columns: minmax(0, 1fr); } }

.aah-topix, .aah-words, .aah-tenki { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.45em 0.6em 0.6em; min-width: 0; }
.aah-topix__h, .aah-words__h, .aah-tenki__h { margin: 0 0 0.35em; font-size: 1em; font-weight: 700; padding: 0.2em 0.45em; background: var(--aah-band); border-left: 4px solid var(--aah-hot); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5em; }
.aah-topix__note, .aah-words__note, .aah-tenki__note { font-size: 0.78em; font-weight: 400; color: var(--aah-muted); }

.aah-topix__list { list-style: none; margin: 0; padding: 0; }
.aah-topix__li { display: flex; align-items: baseline; gap: 0.4em; padding: 0.28em 0; border-bottom: 1px dotted var(--aah-line); line-height: 1.3; }
.aah-topix__tag { flex: none; font-size: 0.76em; font-weight: 700; color: #fff; background: var(--aah-muted); border-radius: 2px; padding: 0.1em 0.4em; }
.aah-topix__tag--new { background: var(--aah-hot); }
.aah-topix__tag--off { background: var(--aah-orange); color: #151513; }
.aah-topix__tag--star { background: #c9902b; }
.aah-topix__tag--ita { background: #2b7a4b; }
.aah-topix__tag--doc { background: var(--aah-accent); }
.aah-topix__tag--rank { background: #7a3fb0; }
.aah-topix__a { flex: 1 1 auto; min-width: 0; text-decoration: none; color: var(--aah-fg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aah-topix__a:hover { color: var(--aah-accent); text-decoration: underline; }
.aah-topix__date { flex: none; font-size: 0.78em; color: var(--aah-muted); }
.aah-topix__more { margin: 0.45em 0 0; font-size: 0.88em; }

.aah-words__list { list-style: none; margin: 0; padding: 0; }
.aah-words__li { display: flex; align-items: baseline; gap: 0.35em; padding: 0.2em 0; border-bottom: 1px dotted var(--aah-line); }
.aah-words__no { flex: none; width: 1.5em; text-align: right; font-size: 0.8em; color: var(--aah-muted); }
.aah-words__li:nth-child(-n+3) .aah-words__no { color: var(--aah-hot); font-weight: 700; }
.aah-words__a { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; color: var(--aah-accent); }
.aah-words__a:hover { text-decoration: underline; }
.aah-words__up { flex: none; font-size: 0.7em; color: var(--aah-orange); }
.aah-words__n { flex: none; font-size: 0.78em; color: var(--aah-muted); }

/* 天気（気象庁のオープンデータ。出典はこの欄の下に必ず出す） */
.aah-tenki__list { list-style: none; margin: 0; padding: 0; }
.aah-tenki__li { display: flex; align-items: baseline; gap: 0.4em; padding: 0.24em 0; border-bottom: 1px dotted var(--aah-line); }
.aah-tenki__pref { flex: none; width: 4.5em; font-weight: 700; }
.aah-tenki__w { flex: 1 1 auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; } /* 気象庁の文を字数で切らない（折り返す） */
.aah-tenki__t { flex: none; font-size: 0.88em; }
.aah-tenki__hi { color: var(--aah-price); font-weight: 700; }
.aah-tenki__lo { color: var(--aah-accent); font-weight: 700; }
.aah-tenki__pop { flex: none; font-size: 0.8em; color: var(--aah-muted); }
.aah-tenki__src { margin: 0.4em 0 0; font-size: 0.76em; color: var(--aah-muted); }

/* 文字だけの一覧（記事・板・作品を日付つきで並べる。ポータルの「文字が多い」の中身） */
.aah-txt { list-style: none; margin: 0.2em 0 1em; padding: 0; column-gap: 1.2em; }
.aah-txt--2 { columns: 2; }
@media (max-width: 760px) { .aah-txt--2 { columns: 1; } }
.aah-txt li { break-inside: avoid; display: flex; align-items: baseline; gap: 0.4em; padding: 0.22em 0; border-bottom: 1px dotted var(--aah-line); line-height: 1.3; }
.aah-txt__d { flex: none; font-size: 0.78em; color: var(--aah-muted); width: 3em; }
.aah-txt__a { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; color: var(--aah-fg); }
.aah-txt__a:hover { color: var(--aah-accent); text-decoration: underline; }
.aah-txt__m { flex: none; font-size: 0.8em; color: var(--aah-muted); }
.aah-txt__m b { color: var(--aah-price); font-weight: 700; }

/* ジャンル枠の下の「よく一緒に付く語」（ポータルの関連ワードに当たる。文字のリンクを増やす欄） */
.aah-cotag { margin: 0.3em 0 1em; font-size: 0.9em; line-height: 1.9; }
.aah-cotag__l { display: inline-block; margin-right: 0.5em; color: var(--aah-muted); font-size: 0.9em; }
.aah-cotag__a { display: inline-block; text-decoration: none; color: var(--aah-accent); background: var(--aah-band); border: 1px solid var(--aah-line); border-radius: 3px; padding: 0.05em 0.45em; margin: 0 0.25em 0.25em 0; }
.aah-cotag__a:hover { background: var(--aah-accent-soft); }
.aah-cotag__n { margin-left: 0.3em; font-size: 0.82em; color: var(--aah-muted); }
.aah-tenki__ov { margin: 0 0 0.4em; }
.aah-tenki__ovp { margin: 0 0 0.3em; font-size: 0.88em; line-height: 1.5; color: var(--aah-muted); }
.aah-tenki__ovp b { color: var(--aah-fg); margin-right: 0.4em; }
.aah-tenki__ovp summary { cursor: pointer; }
.aah-tenki__ovh { color: var(--aah-price); font-weight: 700; margin-right: 0.4em; }
/* 語の帯は横いっぱいに流す（爆サイの「検索ワード生中継」は62語を1本の欄に入れている） */
.aah-words--flow { margin: 0 0 1.2em; }
.aah-words--flow .aah-words__list { columns: 6; column-gap: 1em; }
@media (max-width: 1100px) { .aah-words--flow .aah-words__list { columns: 4; } }
@media (max-width: 760px) { .aah-words--flow .aah-words__list { columns: 3; } }
@media (max-width: 480px) { .aah-words--flow .aah-words__list { columns: 2; } }
.aah-words--flow .aah-words__li { break-inside: avoid; }

/* 見出しの欄の上のタブ（爆サイのピックアップニュースはカテゴリタブ9本） */
.aah-topix__tabs { display: flex; flex-wrap: wrap; gap: 0.2em; margin: 0 0 0.4em; border-bottom: 2px solid var(--aah-line); }
.aah-topix__tab { font: inherit; font-size: 0.9em; cursor: pointer; border: 1px solid var(--aah-line); border-bottom: 0; border-radius: 4px 4px 0 0; background: var(--aah-band); color: var(--aah-fg); padding: 0.2em 0.6em; margin-bottom: -2px; }
.aah-topix__tab:hover { color: var(--aah-accent); }
.aah-topix__tab.is-current { background: var(--aah-card); border-color: var(--aah-line); border-bottom: 2px solid var(--aah-card); font-weight: 700; color: var(--aah-hot); }

/* 右の枠（作品のアフィリエイトリンク）。爆サイのトップの右側の広告の位置 */
.aah-ad { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.45em 0.6em 0.6em; min-width: 0; }
.aah-ad__h { margin: 0 0 0.35em; font-size: 1em; font-weight: 700; padding: 0.2em 0.45em; background: var(--aah-band); border-left: 4px solid var(--aah-orange); display: flex; align-items: baseline; gap: 0.5em; }
.aah-ad__pr { margin-left: auto; font-size: 0.72em; font-weight: 700; color: #fff; background: var(--aah-muted); border-radius: 2px; padding: 0.05em 0.35em; }
.aah-ad__list { list-style: none; margin: 0; padding: 0; }
.aah-ad__li { display: flex; align-items: flex-start; gap: 0.35em; padding: 0.3em 0; border-bottom: 1px dotted var(--aah-line); }
.aah-ad__no { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.5em; height: 1.5em; border-radius: 3px; background: var(--aah-accent); color: var(--aah-cta-text); font-weight: 700; font-size: 0.8em; }
.aah-ad__a { display: flex; gap: 0.45em; flex: 1 1 auto; min-width: 0; text-decoration: none; color: inherit; }
.aah-ad__img { flex: none; width: 56px; height: 75px; object-fit: contain; border-radius: 3px; background: var(--aah-band); }
.aah-ad__body { min-width: 0; display: flex; flex-direction: column; gap: 0.15em; }
.aah-ad__ttl { font-size: 0.92em; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.aah-ad__a:hover .aah-ad__ttl { color: var(--aah-accent); text-decoration: underline; }
.aah-ad__meta { font-size: 0.82em; color: var(--aah-muted); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3em; }
.aah-ad__price { color: var(--aah-price); font-weight: 700; }
.aah-ad__off { color: #151513; background: var(--aah-orange); border-radius: 2px; padding: 0 0.25em; font-size: 0.92em; }
.aah-ad__note { margin: 0.4em 0 0; font-size: 0.76em; color: var(--aah-muted); }
/* 見出しから板へ（爆サイのニュースは見出しそのものが掲示板のスレで、そこに書き込める） */
.aah-topix__cmt { flex: none; font-size: 0.78em; text-decoration: none; color: var(--aah-accent); border: 1px solid var(--aah-line); border-radius: 3px; padding: 0 0.35em; background: var(--aah-card); }
.aah-topix__cmt:hover { background: var(--aah-accent-soft); }
.aah-topix__tag--jma { background: #1d6fa5; }
.aah-topix__tag--daily { background: #6a4bb3; } /* 毎朝の集計記事 */

/* Xの投稿の埋め込み（公式の embed。許可を取った投稿だけ。既定は切ってある） */
.aah-x { background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; padding: 0.45em 0.6em 0.6em; margin-top: 0.8em; min-width: 0; }
.aah-x__h { margin: 0 0 0.35em; font-size: 1em; font-weight: 700; padding: 0.2em 0.45em; background: var(--aah-band); border-left: 4px solid #1b1b1f; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5em; }
.aah-x__src { font-size: 0.76em; font-weight: 400; color: var(--aah-muted); }
.aah-x__list { list-style: none; margin: 0; padding: 0; }
.aah-x__li { margin: 0 0 0.5em; }
.aah-x__li .twitter-tweet { margin: 0 !important; }
.aah-x__note { margin: 0.2em 0 0; font-size: 0.82em; color: var(--aah-muted); }

/* ==== 2026-09-24 寂しく見える原因の手直し（docs/拡大調査_2026-09-24.md §4） ==============================
   実測（ヘッドレス Chrome・作品画像を灰色の四角に置き換えて計測）:
     最初の画面に60px以上の作品画像 PC 0枠・スマホ0枠（比べた6サイトは3〜13枠）／アイコン0個（FANZA同人52・Yahoo! 45・爆サイ38）／
     見出しが #f4f4f4 の地に #333 の文字で、最初の画面の色の面は彩色1・濃い色1だけ／スマホの最初の画面の43.6%が画像の無い上部。
   文字をさらに小さくはしない（12px以下がすでに PC 70.1%・スマホ 94.4% で、比べた6サイトのどこより多い）。 */
:root {
  --aah-head-bg: #3c3c3c;     /* 見出しの帯。FANZA同人の「新作ランキング」の見出しの地色（PC・スマホとも。2026-09-24 実測） */
  --aah-head-fg: #ffffff;
  --aah-head-sub: #d6d6d6;    /* 見出しの帯の中の補足の文字 */
  --aah-head-link: #bcd8ff;   /* 見出しの帯の中の「もっと見る」 */
  --aah-green: #2e9d44;       /* 初めて買う人（若葉） */
  /* サムネの枠の縦横比。作品画像の実寸はまだ確かめていない（画像を取得しない方針のため）。
     本番で実物を1枚見て、横長なら 4 / 3 に変える。切り抜かず（contain）に収めるので、どちらでも画像は加工されない
     （DMMの画像ルールは加工を拡大縮小だけに限っている） */
  --aah-thumb-ratio: 3 / 4;
}
:root[data-theme="dark"] { --aah-head-bg: #2b2b30; --aah-head-link: #9cc4ff; }

/* 見出しの帯を濃い地に白い文字へ（左の色の線は残す） */
.aah-dense .aah-section__head { background: var(--aah-head-bg); border-left: 4px solid var(--aah-hot); padding: 0.4em 0.65em; }
.aah-dense .aah-section__ttl, .aah-dense .aah-section__ttl a { color: var(--aah-head-fg); background: transparent; }
.aah-dense .aah-section__n { color: var(--aah-head-sub); }
.aah-dense .aah-section__more { color: var(--aah-head-link); }
.aah-topix__h, .aah-words__h, .aah-tenki__h, .aah-ad__h, .aah-side__ttl { background: var(--aah-head-bg); color: var(--aah-head-fg); }
.aah-topix__note, .aah-words__note, .aah-tenki__note { color: var(--aah-head-sub); }
/* 右の枠の #PR は、周りより小さく薄い札にしない（ステマ告示の運用基準が挙げる「不明瞭な表示」の例に近づけない）。本文と同じ大きさ */
.aah-ad__pr { font-size: 1em; font-weight: 700; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 2px; padding: 0 0.35em; }
.aah-cta-pr { margin: 0.8em 0 0.2em; padding: 0.1em 0.4em; font-size: 0.92em; font-weight: 700; color: var(--aah-fg); background: var(--aah-card); }

/* 今日の暦（1行） */
.aah-koyomi { margin: 0.35em 0 0.1em; font-size: 0.86em; color: var(--aah-muted); letter-spacing: 0.02em; }

/* 最初の画面の作品の帯 */
.aah-tiles--first { margin-bottom: 0.4em; }

/* 入口の格子（アイコンつき）。PC 6列（板を閉じているときの12個で2段ちょうど）・スマホ4列 */
.aah-svc { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.aah-svc__a { padding: 0.5em 0.2em 0.4em; gap: 0.2em; }
.aah-svc__ic { display: block; flex: none; }
.aah-svc__ic--accent { color: var(--aah-accent); }
.aah-svc__ic--hot { color: var(--aah-hot); }
.aah-svc__ic--sale { color: var(--aah-orange); }
.aah-svc__ic--green { color: var(--aah-green); }
.aah-svc__l { display: block; font-weight: 700; }
@media (max-width: 640px) { .aah-svc { grid-template-columns: repeat(4, minmax(0, 1fr)); } .aah-svc__a { font-size: 0.86em; } }

/* 天気はスマホで4行に畳む（出典の行は畳まない）。PCでは全部出す */
.aah-tenki__open { display: none; }
@media (max-width: 960px) {
  .aah-topix3 > .aah-ad { order: -1; }   /* スマホでは作品の枠（#PR）を天気より先に（天気が542pxを占め、作品は2.4画面目だった） */
  .aah-tenki--fold:not(.is-open) .aah-tenki__li--more, .aah-tenki--fold:not(.is-open) .aah-tenki__ov { display: none; }
  .aah-tenki--fold:not(.is-open) .aah-tenki__open { display: block; width: 100%; margin: 0.3em 0; padding: 0.35em; font: inherit; font-size: 0.9em; font-weight: 700; color: var(--aah-accent); background: var(--aah-card); border: 1px solid var(--aah-line); border-radius: 4px; cursor: pointer; }
}

/* スマホの最初の画面を詰める。看板の説明文・繰り返しのサイト名・数字の帯は出さない。ジャンルの帯は1行で横に流す */
@media (max-width: 640px) {
  .aah-hero--dense .aah-hero__lead, .aah-hero--dense .aah-hero__site, .aah-dense .aah-home__stat { display: none; }
  .aah-dense .aah-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 0.3em; }
  .aah-dense .aah-chips > * { flex: none; }
}

/* 地震の出典（公共データ利用規約1.0: 加工したら出典とは別に加工者を書く） */
.aah-src { margin: -0.6em 0 1em; font-size: 0.78em; color: var(--aah-muted); }
/* 記事の買うボタンの下の「初めて買う方へ」（自分のページ。帯ボタンより控えめに） */
.aah-cta--hajimete { margin: 0.2em 0 1.2em; text-align: center; }
.aah-cta--hajimete a { display: inline-block; background: transparent; color: var(--aah-accent); border: 1px solid var(--aah-accent); box-shadow: none; font-size: 0.9em; padding: 0.45em 1em; border-radius: 999px; text-decoration: none; }
.aah-cta--hajimete a:hover { background: var(--aah-accent-soft); }

/* 初めてFANZAで買うときの手順（固定ページ /hajimete） */
.aah-hajimete h2 { scroll-margin-top: 4em; }
.aah-hajimete__steps { padding-left: 1.4em; }
.aah-hajimete__steps li { margin: 0.4em 0; }
.aah-hajimete__src, .aah-hajimete__checked { font-size: 0.85em; color: var(--aah-muted); }
.aah-hajimete__checked { margin-top: 2em; }
.aah-hajimete__back { margin: 1.4em 0; font-weight: 700; }
.aah-ref { color: var(--aah-accent); }

/* 毎朝の集計記事（src/generator/daily.js）。要点は機械が数えた数字なので、人の文と見分けがつく箱に入れる */
.aah-kikai { margin: 0.8em 0 1.2em; padding: 0.8em 1em; background: var(--aah-accent-soft); border-left: 4px solid var(--aah-accent); border-radius: 4px; }
.aah-kikai__note { margin: 0 0 0.4em; font-size: 0.82em; font-weight: 700; color: var(--aah-muted); }
.aah-kakaku-note { margin: 0.3em 0 1.2em; font-size: 0.82em; color: var(--aah-muted); }
.aah-hitokoto { margin: 1em 0; padding: 0.8em 1em; border: 1px solid var(--aah-line); border-radius: 6px; background: var(--aah-card); }
.aah-daily-links { display: flex; flex-wrap: wrap; gap: 0.4em 1em; margin: 1.2em 0; padding: 0; list-style: none; }
/* 単品記事の「値段の動き」（このサイトが毎朝記録した値段。30日分たまってから出る） */
.aah-kakaku__ttl { margin: 0 0 0.3em !important; font-weight: 700; }
/* 販売が終わった作品の記事の先頭の断り（毎週の linkcheck が足す） */
.aah-shuryou { border-left-color: var(--aah-muted); background: var(--aah-band); }

/* --- 地色と文字色の組（2026-09-24）-----------------------------------------
   地色を var(--aah-card) で持つ箱が、文字色だけテーマから受け継いでいた。テーマがダークで
   data-theme を付けない作りだと、白い箱に明るい文字が乗って読めない。箱は文字色も自前で持つ */
.aah-table table, .aah-table thead th:first-child, .aah-table tbody td:first-child, .aah-toc, .aah-rank, .aah-banner,
.nav-index__controls, .aah-balloon__text, .aah-writer, .aah-sanka, .aah-diag, .aah-diag__opts span, .aah-minna,
.aah-ita__more, .aah-kibun, .aah-board__rule, .aah-fav, .aah-dir__col, .aah-side__box, .aah-topix, .aah-words,
.aah-tenki, .aah-ad, .aah-x, .aah-hitokoto { color: var(--aah-fg); }

/* === 派手（2026-09-25 本人「もっと派手なサイトにして」）==================================
   比較12サイトの共通点に寄せる: 同じ画面にアクセント4色以上（12中11）・タグの帯・NEW/OFF の札・順位の王冠・流れる帯。
   #PR と本文の読みやすさは落とさない（白い文字は比4.5以上の地にだけ載せる）。
   動きを減らす設定の端末（prefers-reduced-motion）では、流れる帯・点滅・浮き上がりを止める */
:root {
  --aah-pink: #e0005a;        /* 白い文字と比 4.9 */
  --aah-purple: #6a1fd0;      /* 白い文字と比 7.4 */
  --aah-gold: #f5b700;
  --aah-grad: linear-gradient(90deg, #e0005a 0%, #a3118c 52%, #6a1fd0 100%);
  --aah-grad-warm: linear-gradient(90deg, #d93400 0%, #e0005a 100%);
  --aah-grad-cool: linear-gradient(90deg, #0a5bb5 0%, #6a1fd0 100%);
  --aah-grad-gold: linear-gradient(135deg, #ffe27a 0%, #f5b700 48%, #d18a00 100%);
  --aah-grad-silver: linear-gradient(135deg, #f4f6f8 0%, #b9c2cc 55%, #8d98a5 100%);
  --aah-grad-bronze: linear-gradient(135deg, #f1b58a 0%, #c7773a 55%, #9a5320 100%);
  --aah-good: #0f7a52;
}
:root[data-theme="dark"] { --aah-good: #4ade80; }

/* サイト共通の帯: 黒からピンク〜紫のグラデーションへ */
.aah-bar { background: var(--aah-t-bar); box-shadow: 0 2px 10px var(--aah-t-glow); border-bottom: 3px solid var(--aah-t-line); }
.aah-bar__home { font-size: 1.12em; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
.aah-bar__link:hover, .aah-bar__link.is-current { border-bottom-color: #ffffff; }
.aah-bar__search button { background: var(--aah-t-cta); color: #151513; }

/* 流れる速報帯（トップ） */
.aah-ticker { display: flex; align-items: stretch; margin: 0.4em 0 0.7em; border-radius: 6px; overflow: hidden; background: var(--aah-t-dark); color: #ffffff; font-size: 0.9em; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22); }
.aah-ticker__label { flex: none; display: flex; align-items: center; padding: 0 0.9em; background: var(--aah-t-hot); color: var(--aah-t-on-hot); font-weight: 800; letter-spacing: 0.12em; }
.aah-ticker__view { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; }
.aah-ticker__track { display: inline-flex; white-space: nowrap; animation: aah-marquee 70s linear infinite; }
.aah-ticker__view:hover .aah-ticker__track, .aah-ticker__view:focus-within .aah-ticker__track { animation-play-state: paused; }
.aah-ticker__dup { display: inline-flex; }
.aah-ticker__a { display: inline-flex; align-items: center; gap: 0.45em; padding: 0.5em 1.4em 0.5em 0.8em; color: #ffffff; text-decoration: none; }
.aah-ticker__a:hover { color: #ffe27a; text-decoration: underline; }
.aah-ticker__tag { font-size: 0.8em; font-weight: 800; line-height: 1.3; padding: 0.05em 0.45em; border-radius: 3px; }
.aah-ticker__tag--sale { background: var(--aah-orange); color: #151513; }
.aah-ticker__tag--new { background: var(--aah-t-hot); color: var(--aah-t-on-hot); }
.aah-ticker__tag--hot { background: var(--aah-gold); color: #151513; }
@keyframes aah-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 見出しの帯: 濃い地にピンクの線と下線 */
.aah-dense .aah-section__head { background: var(--aah-t-head); border-left: 6px solid var(--aah-t-line); border-radius: 4px; box-shadow: inset 0 -3px 0 var(--aah-t-hot); }
.aah-section__ttl { border-left-color: var(--aah-t-hot); }

/* 順位の王冠: 1位 金・2位 銀・3位 銅 */
.aah-tile__badge--r1, .aah-card__badge--r1 { background: var(--aah-grad-gold); color: #151513; box-shadow: 0 0 0 2px #ffffff, 0 2px 8px rgba(209, 138, 0, 0.6); font-size: 0.9em; }
.aah-tile__badge--r2, .aah-card__badge--r2 { background: var(--aah-grad-silver); color: #151513; box-shadow: 0 0 0 2px #ffffff, 0 2px 6px rgba(80, 90, 100, 0.45); font-size: 0.85em; }
.aah-tile__badge--r3, .aah-card__badge--r3 { background: var(--aah-grad-bronze); color: #151513; box-shadow: 0 0 0 2px #ffffff, 0 2px 6px rgba(154, 83, 32, 0.5); font-size: 0.85em; }
.aah-tile__badge--r1::before, .aah-card__badge--r1::before,
.aah-tile__badge--r2::before, .aah-card__badge--r2::before,
.aah-tile__badge--r3::before, .aah-card__badge--r3::before { content: "\265B\00a0"; }

/* 作品の枠: 角を丸め、影、触ると浮く。NEW はピンクで点滅、OFF は橙 */
.aah-tile { border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.aah-tile:hover { transform: translateY(-3px); box-shadow: 0 8px 18px var(--aah-t-glow); border-color: var(--aah-t-hot); }
.aah-tile__new { background: var(--aah-t-hot); color: var(--aah-t-on-hot); animation: aah-blink 1.6s ease-in-out infinite; }
@keyframes aah-blink { 50% { opacity: 0.55; } }

/* タグの帯: 6色の塗りに白い文字（どの色も白と比4.5以上） */
.aah-chip { border-color: transparent; color: #ffffff; font-weight: 700; background: var(--aah-t-c1); }
.aah-chips > .aah-chip:nth-child(6n+1) { background: var(--aah-t-c1); }
.aah-chips > .aah-chip:nth-child(6n+2) { background: var(--aah-t-c2); }
.aah-chips > .aah-chip:nth-child(6n+3) { background: var(--aah-t-c3); }
.aah-chips > .aah-chip:nth-child(6n+4) { background: var(--aah-t-c4); }
.aah-chips > .aah-chip:nth-child(6n+5) { background: var(--aah-t-c5); }
.aah-chips > .aah-chip:nth-child(6n) { background: var(--aah-t-c6); }
.aah-chip__n { color: rgba(255, 255, 255, 0.85); }
.aah-chip:hover { color: #ffffff; border-color: transparent; filter: brightness(1.15); }
.aah-chip.is-current, .aah-chips > .aah-chip.is-current { background: var(--aah-t-cta); color: #151513; box-shadow: 0 0 0 2px #151513 inset; }
.aah-chip.is-current .aah-chip__n { color: #151513; }

/* 入口の格子: アイコンを色の丸に白い線で */
.aah-svc__a { border-radius: 10px; border-color: transparent; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.aah-svc__a:hover { transform: translateY(-2px); box-shadow: 0 6px 14px var(--aah-t-glow); }
.aah-svc__ic { width: 36px; height: 36px; padding: 7px; box-sizing: border-box; border-radius: 50%; color: #ffffff; background: var(--aah-t-sub); }
.aah-svc__ic--accent { color: #ffffff; background: var(--aah-t-sub); }
.aah-svc__ic--hot { color: var(--aah-t-on-hot); background: var(--aah-t-hot); }
.aah-svc__ic--sale { color: #151513; background: var(--aah-orange); }
.aah-svc__ic--green { color: #ffffff; background: var(--aah-green); }

/* 数字の帯: 数字をピンクで大きく */
.aah-cat__stat { background: var(--aah-t-soft); border: 1px solid var(--aah-t-soft-line); }
.aah-cat__stat b, .aah-home__stat b { color: var(--aah-t-num); font-size: 1.2em; }
:root[data-theme="dark"] .aah-cat__stat { background: linear-gradient(90deg, #2a0f1c 0%, #1f1433 100%); border-color: #4a2238; }
:root[data-theme="dark"] .aah-cat__stat b, :root[data-theme="dark"] .aah-home__stat b { color: #ff6fa5; }

/* 看板（サークル・相場・セールのページの頭） */
.aah-hero--circle, .aah-hero--souba, .aah-hero--sale, .aah-hero--deai { margin: 0.4em 0 0.9em; padding: 1em 1.3em; border-radius: 10px; color: #ffffff; background: var(--aah-t-bar); box-shadow: 0 6px 16px var(--aah-t-glow); border-bottom: 4px solid var(--aah-t-line); }
.aah-hero--souba { background: var(--aah-grad-cool); }
.aah-hero--sale { background: var(--aah-grad-warm); }
.aah-hero__kicker { margin: 0; font-size: 0.85em; font-weight: 800; letter-spacing: 0.14em; }
.aah-hero--circle .aah-hero__ttl, .aah-hero--souba .aah-hero__ttl, .aah-hero--sale .aah-hero__ttl, .aah-hero--deai .aah-hero__ttl { margin: 0.1em 0; font-size: 2.1em; font-weight: 900; line-height: 1.2; color: #ffffff; }
.aah-hero__sub { margin: 0; font-size: 1em; font-weight: 700; }
/* トップの看板の題はグラデーションの文字 */
.aah-hero--dense .aah-hero__ttl { background: var(--aah-t-text); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 900; }

/* 相場表の色（棚全体より買い手に有利=緑・不利=赤）とセールの札 */
.aah-good { color: var(--aah-good); font-weight: 700; }
.aah-bad { color: var(--aah-price); font-weight: 700; }
.aah-off { display: inline-block; padding: 0.05em 0.4em; border-radius: 3px; background: var(--aah-orange); color: #151513; font-weight: 800; }

/* 帯ボタン: 金のグラデーションと光沢 */
.aah-cta--fanza a { background: var(--aah-grad-gold); box-shadow: 0 3px 0 #b87700, 0 6px 14px rgba(209, 138, 0, 0.35); }
.aah-cta--fanza a:hover, .aah-cta--fanza a:focus { filter: brightness(1.06); transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) {
  .aah-ticker__track { animation: none; }
  .aah-ticker__view { overflow-x: auto; }
  .aah-ticker__dup { display: none; }
  .aah-tile__new { animation: none; }
  .aah-tile, .aah-svc__a { transition: none; }
  .aah-tile:hover, .aah-svc__a:hover, .aah-cta--fanza a:hover { transform: none; }
}


/* --- 配色（2026-09-26 本人「色も心理学を使って派手かつクリックしてしまう作りに」「サイト自体も」）----------------
   包み .aah-dense に付く aah-t-〈theme〉で切り替える（.env の AAH_THEME／プラグインの設定「配色」）。
   役割ごとの変数: bar=上の帯 head=見出しの帯 line=帯の縁 hot=目を止める色 on-hot=その上の文字 sub=2番目の色
   cta=買うボタン（どの配色でも黄〜金。ほかの部品には使わず、ボタンだけが浮くようにする）c1〜c6=タグ（白い文字と比4.5以上） */
:root, .aah-t-pink {
  --aah-t-bar: linear-gradient(90deg, #e0005a 0%, #a3118c 52%, #6a1fd0 100%); --aah-t-head: linear-gradient(90deg, #2b0f35 0%, #3a2440 45%, #3c3c3c 100%);
  --aah-t-line: #e0005a; --aah-t-hot: #e0005a; --aah-t-on-hot: #ffffff; --aah-t-sub: #6a1fd0; --aah-t-cta: #f5b700; --aah-t-dark: #17131c;
  --aah-t-glow: rgba(224, 0, 90, 0.3); --aah-t-num: #e0005a; --aah-t-soft: linear-gradient(90deg, #fff0f6 0%, #f3ecff 100%); --aah-t-soft-line: #f3c6da;
  --aah-t-text: linear-gradient(90deg, #e0005a 0%, #a3118c 52%, #6a1fd0 100%);
  --aah-t-c1: #e0005a; --aah-t-c2: #6a1fd0; --aah-t-c3: #0059b3; --aah-t-c4: #b8360a; --aah-t-c5: #0f7a52; --aah-t-c6: #a3118c;
}
.aah-t-keikoku {
  --aah-t-bar: linear-gradient(90deg, #0a0a0a 0%, #3a0006 55%, #c8001e 100%); --aah-t-head: linear-gradient(90deg, #0a0a0a 0%, #1f0003 100%);
  --aah-t-line: #ffd400; --aah-t-hot: #e60023; --aah-t-on-hot: #ffffff; --aah-t-sub: #1a1a1a; --aah-t-cta: #ffd400; --aah-t-dark: #0a0a0a;
  --aah-t-glow: rgba(230, 0, 35, 0.35); --aah-t-num: #d10020; --aah-t-soft: linear-gradient(90deg, #fff4f4 0%, #fffbe6 100%); --aah-t-soft-line: #ffd6d6;
  --aah-t-text: linear-gradient(90deg, #c8001e 0%, #ff2b2b 100%);
  --aah-t-c1: #d10020; --aah-t-c2: #1a1a1a; --aah-t-c3: #b8360a; --aah-t-c4: #8a0012; --aah-t-c5: #333333; --aah-t-c6: #b91c1c;
}
.aah-t-neon {
  --aah-t-bar: linear-gradient(90deg, #0b0014 0%, #3d0060 60%, #b026ff 100%); --aah-t-head: linear-gradient(90deg, #0b0014 0%, #2a0040 100%);
  --aah-t-line: #ff2bd6; --aah-t-hot: #d10fb0; --aah-t-on-hot: #ffffff; --aah-t-sub: #7a1fd6; --aah-t-cta: #ffe14d; --aah-t-dark: #0b0014;
  --aah-t-glow: rgba(255, 43, 214, 0.45); --aah-t-num: #c20fa4; --aah-t-soft: linear-gradient(90deg, #fdf0fb 0%, #f3ebff 100%); --aah-t-soft-line: #f0c8ea;
  --aah-t-text: linear-gradient(90deg, #d10fb0 0%, #7a1fd6 100%);
  --aah-t-c1: #c20fa4; --aah-t-c2: #7a1fd6; --aah-t-c3: #9d17c9; --aah-t-c4: #e0005a; --aah-t-c5: #5b21b6; --aah-t-c6: #a3118c;
}
.aah-t-sale {
  --aah-t-bar: #e60023; --aah-t-head: #e60023;
  --aah-t-line: #ffe600; --aah-t-hot: #e60023; --aah-t-on-hot: #ffffff; --aah-t-sub: #b8001f; --aah-t-cta: #ffe600; --aah-t-dark: #8a0012;
  --aah-t-glow: rgba(230, 0, 35, 0.4); --aah-t-num: #e60023; --aah-t-soft: #fff1f1; --aah-t-soft-line: #ffc9c9;
  --aah-t-text: linear-gradient(90deg, #e60023 0%, #ff5a1f 100%);
  --aah-t-c1: #e60023; --aah-t-c2: #b8001f; --aah-t-c3: #c2410c; --aah-t-c4: #9f1239; --aah-t-c5: #dc2626; --aah-t-c6: #b8360a;
}
.aah-t-gold {
  --aah-t-bar: linear-gradient(90deg, #050505 0%, #1c1400 70%, #3a2a00 100%); --aah-t-head: linear-gradient(90deg, #050505 0%, #1c1400 100%);
  --aah-t-line: #f5b700; --aah-t-hot: #d10020; --aah-t-on-hot: #ffffff; --aah-t-sub: #1a1a1a; --aah-t-cta: #f5b700; --aah-t-dark: #050505;
  --aah-t-glow: rgba(245, 183, 0, 0.35); --aah-t-num: #a86b00; --aah-t-soft: linear-gradient(90deg, #fffaf0 0%, #fff4d6 100%); --aah-t-soft-line: #f0dca0;
  --aah-t-text: linear-gradient(90deg, #a86b00 0%, #d10020 100%);
  --aah-t-c1: #1a1a1a; --aah-t-c2: #8a0012; --aah-t-c3: #5c3d00; --aah-t-c4: #333333; --aah-t-c5: #7a0012; --aah-t-c6: #6b4a00;
}

/* --- エロ購買の設計（2026-09-26 本人「エロ購買に特化した行動経済学で」）-------------------------------
   流れ: 目に止める（配色）→ 性癖で絞る（タグ・診断）→ 迷わせない（迷ったらコレ）→ 損と不安を消す（値下げ額・安心の一言）→ 親指で押せる（下に貼りつくボタン）。
   数字は全部実データ。残り時間は API に終了日があるときだけ（無い作品に出すと有利誤認） */
.aah-tile__deal { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.4em; padding: 0 0.4em 0.45em; font-size: 0.72em; line-height: 1.35; }
.aah-tile__list { color: var(--aah-muted); }
.aah-tile__save { color: var(--aah-t-hot); font-weight: 800; }
.aah-tile__pp { color: var(--aah-muted); }
.aah-tile__end { position: absolute; left: 0.3em; bottom: 3.6em; z-index: 2; background: #151513; color: #ffd400; font-size: 0.72em; font-weight: 800; padding: 0.15em 0.45em; border-radius: 3px; }
.aah-tile__pick { position: absolute; top: 0.35em; left: 50%; transform: translateX(-50%); z-index: 3; white-space: nowrap; background: var(--aah-t-cta); color: #151513; font-size: 0.74em; font-weight: 900; padding: 0.2em 0.7em; border-radius: 999px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); }
.aah-tile__wrap--pick > .aah-tile { border: 2px solid var(--aah-t-cta); box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06), 0 6px 16px var(--aah-t-glow); }
.aah-deal { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0.2em 0.8em; margin: -0.3em 0 1.2em; font-size: 0.9em; text-align: center; }
.aah-deal__anchor s { color: var(--aah-muted); margin: 0 0.2em; }
.aah-deal__anchor b { color: var(--aah-price); font-size: 1.15em; }
.aah-deal__save { background: var(--aah-t-hot); color: var(--aah-t-on-hot); padding: 0.05em 0.5em; border-radius: 3px; }
.aah-deal__end { color: var(--aah-t-hot); font-weight: 800; }
.aah-deal__safe { flex-basis: 100%; font-size: 0.85em; color: var(--aah-muted); }
.aah-sticky { display: none; }
@media (max-width: 640px) {
  .aah-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; align-items: center; gap: 0.6em; padding: 0.5em 0.8em calc(0.5em + env(safe-area-inset-bottom, 0px)); background: var(--aah-t-dark); color: #ffffff; box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.3); }
  .aah-sticky__price { flex: 1; min-width: 0; font-size: 0.9em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .aah-sticky__price s { opacity: 0.7; }
  .aah-sticky__price b { font-size: 1.2em; color: var(--aah-t-cta); }
  .aah-sticky__price em { margin-left: 0.4em; font-style: normal; font-weight: 800; background: var(--aah-t-hot); color: var(--aah-t-on-hot); padding: 0 0.35em; border-radius: 3px; }
  .aah-sticky__a { flex: none; background: var(--aah-t-cta); color: #151513; font-weight: 900; text-decoration: none; padding: 0.6em 1.1em; border-radius: 999px; }
  .aah-dense:has(.aah-sticky) { padding-bottom: 4.2em; }
}

/* --- ロゴ（2026-09-26 本人が A 警告色＋ハートのレーダーに決めた。src/generator/logo.js）-------------
   文字は輪郭の線なのでフォントに左右されない。ハートは鼓動のように脈打ち、中の針が回る。
   黒地で最も強く見える色なので、帯が明るい配色でもロゴの後ろにだけ黒い座布団を敷く */
.aah-logo { display: inline-flex; align-items: center; line-height: 0; background: #0a0a0a; border-radius: 6px; padding: 2px 8px 2px 4px; }
.aah-logo__svg, .aah-logo__mark { display: block; height: 34px; width: auto; max-width: 62vw; }
.aah-bar__home:has(.aah-logo) { margin: -0.2em 0.4em -0.2em -0.3em; text-shadow: none; }
.aah-logo__beat { transform-box: view-box; transform-origin: 60px 80px; animation: aah-logo-beat 1.4s ease-in-out infinite; }
.aah-logo__sweep { transform-box: view-box; transform-origin: 60px 80px; animation: aah-logo-sweep 2.6s linear infinite; }
@keyframes aah-logo-beat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.08); } 30% { transform: scale(1); } 45% { transform: scale(1.05); } }
@keyframes aah-logo-sweep { to { transform: rotate(360deg); } }
.aah-age__logo { margin: 0 0 0.8em; }
.aah-age__logo .aah-logo { padding: 6px 12px 6px 8px; }
.aah-age__logo .aah-logo__svg { height: 40px; }
@media (prefers-reduced-motion: reduce) { .aah-logo__beat, .aah-logo__sweep { animation: none; } }

/* --- 出会い系（2026-09-26。src/navigator/buildDeai.js）------------------------------------------------
   18禁の帯は警告色で最初に目に入れる（広告より上）。押すボタンは作品の買うボタンと同じ CTA の色だけ */
.aah-deai__age { display: flex; align-items: center; gap: 0.6em; margin: 0 0 0.8em; padding: 0.5em 0.8em; background: #151513; color: #ffffff; border-left: 6px solid #ffd400; border-radius: 4px; font-size: 0.9em; }
.aah-deai__age b { flex: none; background: #e60023; color: #ffffff; font-weight: 900; padding: 0.05em 0.5em; border-radius: 3px; }
.aah-hero--deai { background: linear-gradient(120deg, #151513 0%, #8a0012 60%, #e60023 100%); }
.aah-deai__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15em, 1fr)); gap: 0.8em; margin: 0 0 1.2em; }
.aah-deai__grid--one { grid-template-columns: minmax(0, 28em); }
.aah-deai__card { position: relative; display: flex; flex-direction: column; background: var(--aah-card); border: 1px solid var(--aah-line, rgba(0, 0, 0, 0.12)); border-radius: 10px; padding: 0.9em 0.9em 0.8em; }
.aah-deai__card--pick { border: 2px solid var(--aah-t-cta); box-shadow: 0 6px 16px var(--aah-t-glow); padding-top: 1.4em; }
.aah-deai__pick { position: absolute; top: -0.8em; left: 0.9em; background: var(--aah-t-cta); color: #151513; font-size: 0.8em; font-weight: 900; padding: 0.15em 0.8em; border-radius: 999px; }
.aah-deai__name { margin: 0 0 0.5em; font-size: 1.15em; font-weight: 900; }
.aah-deai__tg { margin-left: 0.5em; vertical-align: 0.15em; font-size: 0.62em; font-weight: 800; background: var(--aah-t-hot); color: var(--aah-t-on-hot); padding: 0.1em 0.5em; border-radius: 3px; }
.aah-deai__dl { display: grid; grid-template-columns: auto 1fr; gap: 0.2em 0.7em; margin: 0 0 0.8em; font-size: 0.86em; }
.aah-deai__dl dt { color: var(--aah-muted); white-space: nowrap; }
.aah-deai__dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.aah-deai__cta { margin: auto 0 0.3em; }
.aah-deai__go { display: block; text-align: center; background: var(--aah-t-cta); color: #151513 !important; font-weight: 900; text-decoration: none; padding: 0.65em 1em; border-radius: 999px; box-shadow: 0 3px 0 rgba(0, 0, 0, 0.25); }
.aah-deai__go:hover { filter: brightness(1.05); }
.aah-table .aah-deai__go { display: inline-block; padding: 0.2em 0.8em; box-shadow: none; }

/* --- 高単価の出口の帯（2026-09-26。parts.js outletStrip。足元の上）------------------------------- */
.aah-out { display: grid; grid-template-columns: repeat(auto-fit, minmax(9em, 1fr)); gap: 0.5em; margin: 1.4em 0 0.8em; }
.aah-out__a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.1em; min-height: 3.4em; padding: 0.5em; border-radius: 10px; text-decoration: none; text-align: center; background: var(--aah-t-dark); color: #ffffff !important; border-bottom: 3px solid var(--aah-t-cta); box-shadow: 0 4px 12px var(--aah-t-glow); }
.aah-out__a b { font-size: 1em; font-weight: 900; }
.aah-out__a span { font-size: 0.74em; color: var(--aah-t-cta); font-weight: 800; }
.aah-out__a--fanzatv { background: linear-gradient(135deg, #151513 0%, #8a0012 100%); }
.aah-out__a--deai { background: linear-gradient(135deg, #8a0012 0%, #e60023 100%); }
.aah-out__a--goods { background: linear-gradient(135deg, #5b2a86 0%, #d63384 100%); }
/* アダルトグッズの店のカード（出会い系のカードの形を使う。2026-09-26） */
.aah-goods__f { margin: 0.2em 0 0.5em !important; font-size: 0.9em; line-height: 1.6; }
/* 知られずに受け取る表: 文が長いので折り返す（送料の列まで1画面に収める）。スマホは横スクロールのまま */
.aah-goods-tbl td { white-space: normal; line-height: 1.6; }
.aah-goods-tbl td:nth-child(1) { min-width: 8em; font-weight: 700; }
.aah-goods-tbl td:nth-child(2), .aah-goods-tbl td:nth-child(3) { min-width: 15em; }
.aah-goods-tbl td:nth-child(4) { min-width: 8em; }

/* --- ブロックテーマの枠を広げる（2026-09-26。本番のテーマは Twenty Twenty-Five）-----------------------
   ブロックテーマは本文を「中央の645px」に押し込み（is-layout-constrained）、固定ページの題を43pxで出す。
   一覧・表・横の欄はPC幅を前提に組んであるので、このサイトの包み（.aah-dense）と題だけ広げて小さくする */
.wp-block-post-content > .aah-dense, .entry-content > .aah-dense { max-width: min(1240px, 100%) !important; margin-left: auto !important; margin-right: auto !important; }
.wp-block-post-title { max-width: min(1240px, 100%) !important; margin-left: auto !important; margin-right: auto !important; font-size: clamp(1.1rem, 2vw, 1.45rem) !important; line-height: 1.4 !important; }
.wp-site-blocks > main { margin-top: 0 !important; }
.wp-site-blocks > main > .wp-block-group.alignfull { padding-top: 0.8rem !important; }
/* スマホでは余白の変数ごと小さくする。全幅（alignfull）は同じ変数で負の余白を取るので、padding だけ変えると外へはみ出す */
@media (max-width: 640px) {
  body { --wp--style--root--padding-left: 8px !important; --wp--style--root--padding-right: 8px !important; }
}

/* 画面には出さず、検索と読み上げにだけ渡す見出し（トップの h1 など） */
.aah-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* トップ（フロントページ）ではテーマの題を出さない。題はサイト名と同じで、ロゴと重なる */
.home .wp-block-post-title { display: none !important; }
/* WordPress の自動段落（wpautop）が短縮コードの後ろに残す空の段落。格子の中だと1列を占めて空白の列になる（2026-09-26 トップで実測） */
.aah-dense p:empty, .aah-topix3 > p:empty { display: none !important; }
/* 出口の帯の色（2026-09-26 動画・見放題ch・ライブチャット・ブックスを公式ページへのリンクで出した） */
.aah-out__a--douga { background: linear-gradient(135deg, #151513 0%, #b3001b 100%); }
.aah-out__a--mihoudai { background: linear-gradient(135deg, #2a0008 0%, #8a0012 100%); }
.aah-out__a--livechat { background: linear-gradient(135deg, #8a0045 0%, #e6007a 100%); }
.aah-out__a--books { background: linear-gradient(135deg, #151513 0%, #5b3a00 100%); }
/* 出会い方の読みもの（2026-09-26） */
.aah-yomi { max-width: 780px; }
.aah-yomi p { line-height: 1.95; margin: 0.9em 0; }
.aah-yomi h2 { margin: 2em 0 0.6em; padding: 0.4em 0.7em; border-left: 6px solid var(--aah-t-cta); background: var(--aah-t-dark); color: #ffffff; font-size: 1.15em; scroll-margin-top: 4em; }
.aah-yomi ul, .aah-yomi ol { line-height: 1.85; padding-left: 1.4em; }
.aah-yomi li { margin: 0.35em 0; }
.aah-yomi__list { line-height: 1.9; padding-left: 1.2em; }
.aah-yomi__list a { font-weight: 800; }
/* 体験談の投稿（プラグインの story.php。2026-09-27） */
.aah-story__cta { margin: 0.6em 0 1em; padding: 0.8em 1em; border: 2px solid var(--aah-t-hot, #c8102e); border-radius: 10px; background: var(--aah-card, #fff); }
.aah-story__cta p { margin: 0.2em 0 !important; }
.aah-story__go { display: inline-block; margin-top: 0.3em; padding: 0.55em 1.4em; border-radius: 999px; background: var(--aah-t-hot, #c8102e); color: #fff !important; font-weight: 800; text-decoration: none !important; }
.aah-story__list { margin: 0.3em 0 1em !important; padding-left: 1.6em !important; }
.aah-story__row { padding: 0.45em 0; border-bottom: 1px solid var(--aah-line, rgba(0, 0, 0, 0.08)); line-height: 1.55; }
.aah-story__row > a { font-weight: 700; }
.aah-story__early { display: inline-block; margin-right: 0.4em; padding: 0 0.5em; border-radius: 4px; background: var(--aah-t-hot, #c8102e); color: #fff; font-size: 0.75em; font-weight: 700; }
.aah-story__meta { display: flex; flex-wrap: wrap; gap: 0.2em 0.7em; font-size: 0.8em; color: var(--aah-muted); }
.aah-story__meta--top { margin: 0 0 1em !important; font-size: 0.86em; }
.aah-story__trip { margin-left: 0.15em; font-size: 0.9em; }
.aah-story__pt { font-weight: 700; color: var(--aah-t-hot, #c8102e); }
.aah-story__tag { display: inline-block; margin-right: 0.3em; padding: 0 0.5em; border: 1px solid var(--aah-line, rgba(0, 0, 0, 0.15)); border-radius: 999px; }
.aah-story__body { line-height: 2; }
.aah-story__votes { margin: 1.4em 0; padding: 0.8em; border-radius: 10px; background: var(--aah-card, #f7f7f7); text-align: center; }
.aah-story__vq { margin: 0 0 0.5em !important; font-size: 0.85em; }
.aah-story__votes button { margin: 0.2em; padding: 0.5em 0.9em; border-radius: 999px; border: 1px solid var(--aah-t-hot, #c8102e); background: #fff; color: var(--aah-t-hot, #c8102e); font-weight: 700; cursor: pointer; }
.aah-story__votes button.is-on { background: var(--aah-t-hot, #c8102e); color: #fff; }
.aah-story__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5em; margin: 1em 0; font-weight: 700; }
.aah-story__h { font-size: 1.05em !important; margin: 1.2em 0 0.4em !important; }
.aah-story__back { font-size: 0.85em; }
.aah-story__empty { color: var(--aah-muted); font-size: 0.9em; }
.aah-story__form input[type=text], .aah-story__form input[type=url], .aah-story__form input[type=password], .aah-story__form textarea { width: 100%; box-sizing: border-box; }
.aah-story__opts { display: flex; flex-wrap: wrap; gap: 0.3em 0.9em; }
.aah-story__count { font-size: 0.8em; color: var(--aah-muted); }
.aah-story__myurl { word-break: break-all; font-weight: 700; }
.aah-story__gift { user-select: all; }
.aah-hp { position: absolute; left: -9999px; }
/* 逆アクセスランキング（プラグインの [aah_gyaku]。2026-09-27） */
.aah-gyaku { margin: 0.6em 0 1em; border: 1px solid var(--aah-line, rgba(0, 0, 0, 0.12)); border-radius: 8px; overflow: hidden; background: var(--aah-card, #fff); }
.aah-gyaku__ttl { margin: 0 !important; padding: 0.45em 0.8em; background: var(--aah-t-bar, #111); color: var(--aah-bar-fg, #fff); font-weight: 800; font-size: 0.95em; }
.aah-gyaku__ttl span { margin-left: 0.5em; font-weight: 400; font-size: 0.8em; opacity: 0.8; }
.aah-gyaku__list { list-style: none; margin: 0 !important; padding: 0 !important; }
.aah-gyaku__list li { display: flex; align-items: center; gap: 0.5em; padding: 0.4em 0.8em; border-top: 1px solid var(--aah-line, rgba(0, 0, 0, 0.08)); font-size: 0.9em; }
.aah-gyaku__list a { flex: 1; font-weight: 700; }
.aah-gyaku__no { min-width: 1.6em; text-align: center; font-weight: 800; color: var(--aah-t-hot, #c8102e); }
.aah-gyaku__in { font-size: 0.82em; color: var(--aah-muted); white-space: nowrap; }
.aah-gyaku__join { margin: 0 !important; padding: 0.4em 0.8em; border-top: 1px solid var(--aah-line, rgba(0, 0, 0, 0.08)); font-size: 0.85em; text-align: right; }
.aah-link__code code { display: block; padding: 0.7em; background: var(--aah-card, #f6f6f6); border: 1px solid var(--aah-line, rgba(0, 0, 0, 0.12)); border-radius: 6px; font-size: 0.85em; word-break: break-all; user-select: all; }
/* ほかのサイトの体験談（題名とリンクだけ。2026-09-26） */
.aah-taiken { list-style: none; margin: 0.4em 0 0.8em !important; padding: 0 !important; }
.aah-taiken li { padding: 0.55em 0.2em; border-bottom: 1px solid var(--aah-line, rgba(0, 0, 0, 0.1)); line-height: 1.6; }
.aah-taiken a { font-weight: 700; }
.aah-taiken__src { display: block; font-size: 0.82em; color: var(--aah-muted); }
.aah-yomi__more { margin: 1em 0 2em; font-weight: 800; text-align: right; }
.aah-yomi__next { margin: 0.6em 0 1.2em; font-weight: 800; }
.aah-yomi__src { font-size: 0.8em; line-height: 1.8; color: var(--aah-muted); margin-top: 2.4em; }

/* スワイプで選ぶ（/swipe）と、よく見ているタグ（2026-09-26）。
   表紙は縮小して出すだけ。回転・ぼかし・色の重ね塗りはしない（DMM は拡大縮小以外の加工を認めていない）。
   払っている向きは、カードの枠の色と下のボタンで見せる */
.aah-mine { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4em 0.6em; margin: 0.6em 0; padding: 0.55em 0.8em; border: 2px solid var(--aah-t-hot, var(--aah-accent)); border-radius: 8px; background: var(--aah-card); }
.aah-mine[hidden] { display: none; }
.aah-mine__l { font-weight: 800; }
.aah-mine__t { display: inline-flex; flex-wrap: wrap; gap: 0.35em; font-weight: 700; }
.aah-mine__t [hidden] { display: none; }
.aah-mine__go { font-weight: 700; }
.aah-mine__x { margin-left: auto; padding: 0.25em 0.7em; border: 1px solid var(--aah-line); border-radius: 999px; background: transparent; color: var(--aah-muted); font: inherit; font-size: 0.85em; cursor: pointer; }
.aah-sw__chips { margin: 0.5em 0; }
.aah-sw__mine { margin-top: 0.4em; }
.aah-sw__saved { margin-bottom: 0.4em; }
.aah-sw__saved .aah-tile__wrap { display: flex; flex-direction: column; }
.aah-sw__saved .aah-tile { flex: 1; height: auto; }
.aah-sw__stage { position: relative; max-width: 440px; min-height: 380px; margin: 0.8em auto 0; }
.aah-sw__card { position: relative; background: var(--aah-card); border: 3px solid var(--aah-line); border-radius: 12px; overflow: hidden; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); transition: transform 0.2s ease, border-color 0.15s ease; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.aah-sw__card[hidden] { display: none; }
.aah-sw__card.is-top { z-index: 2; }
.aah-sw__card.is-next { position: absolute; inset: 0; z-index: 1; transform: translateY(8px) scale(0.97); pointer-events: none; }
.aah-sw__card.is-next .aah-sw__tags, .aah-sw__card.is-next .aah-sw__meta { visibility: hidden; }
.aah-sw__card.is-drag { transition: none; }
.aah-sw__stage.is-r .aah-sw__card.is-top { border-color: #e0005a; }
.aah-sw__stage.is-l .aah-sw__card.is-top { border-color: #8d98a5; }
.aah-sw__a { display: block; color: var(--aah-fg); text-decoration: none; }
.aah-sw__img { display: block; width: 100%; height: auto; max-height: 62vh; object-fit: contain; background: #151513; -webkit-user-drag: none; }
.aah-sw__ttl { display: block; padding: 0.55em 0.8em 0.2em; font-weight: 700; line-height: 1.45; }
.aah-sw__meta { display: flex; flex-wrap: wrap; gap: 0.3em 0.7em; padding: 0 0.8em 0.4em; font-size: 0.92em; }
.aah-sw__price { color: #e0005a; font-size: 1.1em; }
.aah-sw__off { color: #ffffff; background: #d93400; border-radius: 3px; padding: 0 0.35em; font-weight: 700; }
.aah-sw__star { color: var(--aah-muted); }
.aah-sw__tags { margin: 0; padding: 0 0.8em 0.7em; color: var(--aah-muted); font-size: 0.85em; }
.aah-sw__end { padding: 3em 1em; text-align: center; border: 2px dashed var(--aah-line); border-radius: 12px; }
.aah-sw__end[hidden] { display: none; }
.aah-sw__again { padding: 0.5em 1.4em; border: 0; border-radius: 999px; background: var(--aah-t-cta, #f5b700); color: #151513; font: inherit; font-weight: 800; cursor: pointer; }
.aah-sw__btns { display: flex; justify-content: center; align-items: center; gap: 0.8em; margin: 0.9em 0 0.3em; }
.aah-sw__b { min-width: 3.2em; min-height: 3.2em; padding: 0.5em 1.3em; border: 0; border-radius: 999px; font: inherit; font-weight: 800; font-size: 1.05em; cursor: pointer; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18); transition: transform 0.15s ease; }
.aah-sw__b--back { padding: 0.5em; background: var(--aah-card); color: var(--aah-muted); border: 1px solid var(--aah-line); }
.aah-sw__b--skip { background: #5b6470; color: #ffffff; }
.aah-sw__b--save { background: #e0005a; color: #ffffff; }
.aah-sw__stage.is-r ~ .aah-sw__btns .aah-sw__b--save, .aah-sw__stage.is-l ~ .aah-sw__btns .aah-sw__b--skip { transform: scale(1.15); }
.aah-sw__n { margin: 0; text-align: center; color: var(--aah-muted); font-size: 0.9em; }
.aah-sw__h { margin: 1.6em 0 0.5em; font-size: 1.15em; }
.aah-sw__sn { margin-left: 0.5em; color: var(--aah-muted); font-size: 0.8em; font-weight: 400; }
.aah-sw__none { color: var(--aah-muted); }
.aah-sw__none[hidden] { display: none; }
.aah-sw__rm { display: block; width: 100%; margin-top: 0.25em; padding: 0.2em; border: 1px solid var(--aah-line); border-radius: 4px; background: transparent; color: var(--aah-muted); font: inherit; font-size: 0.8em; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  .aah-sw__card, .aah-sw__b { transition: none; }
}

/* 読んだ感想（/kansou と /kansou-<作品ID>。2026-09-26）。表紙は縮小だけ */
.aah-kansou__head { display: flex; flex-wrap: wrap; gap: 1em; align-items: flex-start; margin: 0.8em 0 1.2em; }
.aah-kansou__img { width: 180px; max-width: 42%; height: auto; border: 1px solid var(--aah-line); border-radius: 6px; background: #151513; }
.aah-kansou__tbl { flex: 1 1 260px; border-collapse: collapse; font-size: 0.92em; }
.aah-kansou__tbl th { width: 6.5em; padding: 0.4em 0.6em; text-align: left; vertical-align: top; color: var(--aah-muted); font-weight: 700; border-bottom: 1px solid var(--aah-line); white-space: nowrap; }
.aah-kansou__tbl td { padding: 0.4em 0.6em; border-bottom: 1px solid var(--aah-line); overflow-wrap: anywhere; }
.aah-kansou__cta { margin: 1.6em 0 0.6em; text-align: center; }
.aah-kansou__go { display: inline-block; padding: 0.7em 1.6em; border-radius: 999px; background: var(--aah-t-cta, #f5b700); color: #151513; font-weight: 800; text-decoration: none; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18); }
/* 初めての人の案内（/hajimete/）の、FANZA同人の入口へのボタン。見た目は感想ページのボタンと同じで、指で押しやすい幅にする */
.aah-hajimete__go { min-width: 15em; }
/* 作品ページの「FANZAで買うのが初めてなら」（2026-09-27）。押す場所の下に小さく */
.aah-work__first { margin: 0 0 1.2em; text-align: center; font-size: 0.86em; color: var(--aah-muted, #666); }
.aah-work__first a { font-weight: 700; }
/* 管理人のサークルの作品（PR の枠。2026-09-27 本人「目立つ方」）。色の付いた箱・PR の札・作品ページの注記・タイルの札 */
.aah-jisaku { margin: 1em 0 1.4em; padding: 0.8em 0.9em 1em; border: 2px solid var(--aah-t-cta, #f5b700); border-radius: 12px; background: linear-gradient(180deg, rgba(245, 183, 0, 0.14), rgba(245, 183, 0, 0.03)); }
.aah-jisaku__label { display: inline-block; margin: 0 0 0.4em; padding: 0.1em 0.6em; border-radius: 4px; background: #151513; color: #fff; font-size: 0.74em; font-weight: 800; letter-spacing: 0.04em; }
.aah-jisaku__h { margin: 0 0 0.5em; font-size: 1.15em; font-weight: 900; }
.aah-jisaku__cta { margin: 0.8em 0 0; text-align: center; }
.aah-jisaku__more { margin-left: 0.6em; font-weight: 700; font-size: 0.9em; }
.aah-jisaku__note { margin: 0.4em 0 0.8em; padding: 0.5em 0.8em; border-left: 4px solid var(--aah-t-cta, #f5b700); background: rgba(245, 183, 0, 0.1); font-size: 0.88em; font-weight: 700; }
.aah-tile__jisaku { position: absolute; top: 0.35em; right: 0.35em; z-index: 3; white-space: nowrap; background: #151513; color: #fff; font-size: 0.68em; font-weight: 800; padding: 0.15em 0.55em; border-radius: 4px; }
/* サークルからの掲載の申し込み（2026-09-27）。枠・入口の1行・フォーム */
.aah-keisai { margin: 1.2em 0; padding: 0.8em 0.9em 0.9em; border: 1px solid var(--aah-line, #ddd); border-radius: 12px; background: var(--aah-accent-soft, #e8f1fb); }
.aah-keisai__more, .aah-keisai__invite { margin: 0.6em 0; font-size: 0.88em; text-align: right; }
.aah-keisai__invite { text-align: left; padding: 0.5em 0.8em; border: 1px dashed var(--aah-line, #ccc); border-radius: 8px; }
.aah-keisai__invite a, .aah-keisai__more a { font-weight: 700; }
.aah-keisai__form { display: grid; gap: 0.7em; max-width: 640px; }
.aah-keisai__form label { display: grid; gap: 0.25em; font-weight: 700; font-size: 0.92em; }
.aah-keisai__form input[type="url"], .aah-keisai__form input[type="text"], .aah-keisai__form textarea { width: 100%; box-sizing: border-box; padding: 0.55em 0.7em; border: 1px solid var(--aah-line, #ccc); border-radius: 8px; font: inherit; font-weight: 400; }
.aah-keisai__form button { justify-self: start; padding: 0.6em 1.4em; border: 0; border-radius: 999px; background: var(--aah-t-cta, #f5b700); color: #151513; font-weight: 800; cursor: pointer; }
.aah-keisai__msg { margin: 0; font-size: 0.9em; font-weight: 700; }
/* FANZA 公式のキャンペーン（2026-09-27） */
.aah-camp { margin: 0.8em 0 1.2em; }
.aah-camp__page { max-width: none; }
.aah-camp__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2em 0.8em; margin: 0 0 0.2em; font-size: 1.05em; }
.aah-camp__end { font-size: 0.8em; font-weight: 700; color: #c8102e; }
.aah-camp__n { margin: 0 0 0.4em; font-size: 0.85em; color: var(--aah-muted, #666); }
.aah-camp__links { padding-left: 1.2em; }
.aah-camp__links li { margin: 0.3em 0; }
.aah-kansou__by { color: var(--aah-muted); font-size: 0.88em; text-align: center; }
.aah-kansou-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.8em; margin: 0.8em 0 1.2em; }
.aah-kansou-list__a { display: flex; gap: 0.8em; padding: 0.7em; border: 1px solid var(--aah-line); border-radius: 8px; background: var(--aah-card); color: var(--aah-fg); text-decoration: none; }
.aah-kansou-list__a:hover { border-color: var(--aah-t-hot, var(--aah-accent)); }
.aah-kansou-list__img { flex: none; width: 96px; height: auto; border-radius: 4px; background: #151513; }
.aah-kansou-list__t { display: flex; flex-direction: column; gap: 0.3em; line-height: 1.55; }
.aah-kansou-list__t span { font-size: 0.9em; }
.aah-kansou-list__m { color: var(--aah-muted); font-size: 0.82em !important; }

/* 作品ごとのページ（/w-<作品ID>。2026-09-26）。作りは感想ページと同じ */
.aah-work h2 + .aah-tiles { margin-top: 0.4em; }

/* YouTube の解説動画（身なりのページ・出会い方の読みもの。2026-09-26。src/migaki.js）。16:9 の枠に収める */
/* 動画は1本ずつ「見出し → 説明 → 動画へのリンク」（2026-09-26 本人「何がなんだか不明」）。埋め込みはしない（YouTube のブランドガイドライン） */
.aah-ytlist { display: grid; gap: 26px; margin: 0.6em 0 1.8em; }
.aah-ytitem { max-width: 640px; }
.aah-ytitem__h { font-size: 1.02em !important; margin: 0 0 0.35em !important; padding: 0 0 0 0.55em !important; border-left: 4px solid var(--aah-t-hot, #c8102e); line-height: 1.45; background: none !important; }
.aah-ytitem__p { margin: 0 0 0.5em !important; line-height: 1.8; }
.aah-ytitem__go { margin: 0 !important; padding: 0.55em 0.8em; border: 1px solid var(--aah-line, rgba(0, 0, 0, 0.12)); border-radius: 8px; font-size: 0.92em; line-height: 1.5; }
.aah-ytitem__go a { font-weight: 700; }
.aah-ytitem__go a::after { content: " ▶"; }
.aah-yt__ch { display: block; color: var(--aah-muted); font-size: 0.92em; }

/* 男性向け／女性向けの入口（トップと /josei。2026-09-26）。今いる側を塗る */
.aah-door { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0.6em 0 1.2em; }
.aah-door__a { display: block; padding: 0.8em 0.4em; border-radius: 10px; text-align: center; font-weight: 800; font-size: 1.05em; text-decoration: none !important; border: 2px solid currentColor; }
.aah-door__a--otoko { color: #c8102e; }
.aah-door__a--josei { color: #d6337a; }
.aah-door__a.is-current { color: #fff; }
.aah-door__a--otoko.is-current { background: #c8102e; border-color: #c8102e; }
.aah-door__a--josei.is-current { background: #d6337a; border-color: #d6337a; }

/* --- 女性向け側（/josei・/migaki-josei。2026-09-26 本人「案B女性側のロゴをこれにしようか。サイト色もこれに合わせた配色で」）---
   ロゴ（emr）のピンク #f58bb0・ラベンダー #b79cf0・ミント #7fd6bd を淡く敷き、文字はモカ系の #5b4658。
   白い文字を載せる色（札・タグ・ボタン）は同じ系統の濃いほうにする（白と比4.5前後）。警告色（赤・黄・黒）は使わない。
   買うボタン（--aah-t-cta）だけは金のまま（ほかの部品に使わず、ボタンだけが浮くように） */
.aah-t-josei {
  --aah-t-bar: linear-gradient(90deg, #fff4f8 0%, #f6f0ff 55%, #eefaf6 100%); --aah-t-head: linear-gradient(90deg, #fde7ef 0%, #efe7fc 55%, #e3f6ef 100%);
  --aah-t-line: #f58bb0; --aah-t-hot: #c94583; --aah-t-on-hot: #ffffff; --aah-t-sub: #7a5fc9; --aah-t-cta: #f5b700; --aah-t-dark: #5b4658;
  --aah-t-glow: rgba(245, 139, 176, 0.35); --aah-t-num: #c94583; --aah-t-soft: linear-gradient(90deg, #fff0f6 0%, #f3ecff 100%); --aah-t-soft-line: #f3c6da;
  --aah-t-text: linear-gradient(90deg, #f58bb0 0%, #b79cf0 55%, #7fd6bd 100%);
  --aah-t-c1: #c94583; --aah-t-c2: #7a5fc9; --aah-t-c3: #2f8a76; --aah-t-c4: #b0577f; --aah-t-c5: #6a58c0; --aah-t-c6: #a8467a;
  --aah-bar-fg: #5b4658; --aah-hot: #c94583; --aah-price: #c2185b;
  --aah-head-bg: #fbe6ef; --aah-head-fg: #5b4658; --aah-head-sub: #8a7688; --aah-head-link: #7a5fc9;
}
.aah-t-josei .aah-bar { box-shadow: 0 2px 10px var(--aah-t-glow); border-bottom: 3px solid #f58bb0; }
.aah-t-josei .aah-bar__home { text-shadow: none; }
.aah-t-josei .aah-bar__link:hover, .aah-t-josei .aah-bar__link.is-current { border-bottom-color: #c94583; }
.aah-t-josei .aah-bar__search input { border: 1px solid #f3c6da; }
.aah-t-josei .aah-bar__search button { background: #c94583; color: #ffffff; }
.aah-t-josei .aah-section__head { box-shadow: inset 0 -3px 0 #b79cf0; }
.aah-t-josei .aah-ticker__a:hover { color: #ffd6e6; }
.aah-t-josei .aah-svc__ic--hot { background: linear-gradient(135deg, #f58bb0 0%, #c94583 100%); }
.aah-t-josei .aah-svc__ic, .aah-t-josei .aah-svc__ic--accent { background: linear-gradient(135deg, #b79cf0 0%, #7a5fc9 100%); }
.aah-t-josei .aah-svc__ic--green { background: linear-gradient(135deg, #7fd6bd 0%, #2f8a76 100%); }
.aah-logo__svg--josei { display: block; }
.aah-t-josei .aah-logo { background: transparent; padding: 0 4px; }
.aah-t-josei .aah-yomi h2 { background: var(--aah-t-head); color: #5b4658; border-left-color: #f58bb0; box-shadow: inset 0 -3px 0 #b79cf0; }
.aah-t-josei .aah-chip.is-current, .aah-t-josei .aah-chips > .aah-chip.is-current { background: #ffffff; color: #c94583; box-shadow: 0 0 0 2px #c94583 inset; }
.aah-t-josei .aah-chip.is-current .aah-chip__n { color: #c94583; }
/* 売り場で今多い語（毎週の測定。src/trend.js） */
.aah-trend__note { display: block; width: 100%; margin-top: 0.2em; font-size: 0.8em; color: var(--aah-muted); }
.aah-trend .aah-words__up { color: var(--aah-t-hot); font-size: 0.8em; margin-left: 0.1em; }

/* ---- FC2 の調査から取り入れたもの（2026-09-27。docs/FC2の仕組み調査_2026-09-27.md） ---- */
/* セールの割引率の帯（件数つきの入口） */
.aah-offband { display: flex; flex-wrap: wrap; gap: 0.4em; margin: 0.6em 0 1em; }
.aah-offband a { display: inline-flex; align-items: center; gap: 0.35em; padding: 0.35em 0.8em; border-radius: 999px; border: 1px solid var(--aah-orange, #ff4400); color: var(--aah-orange, #ff4400); font-weight: 700; font-size: 0.92em; text-decoration: none; background: var(--aah-card, #fff); }
.aah-offband a b { padding: 0 0.45em; border-radius: 999px; background: var(--aah-orange, #ff4400); color: #fff; font-size: 0.85em; }
.aah-offband__home { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5em; margin: 0.8em 0; }
.aah-offband__home > span { font-weight: 800; font-size: 0.92em; }
.aah-offband__home .aah-offband { margin: 0; }
.aah-offband__sec { scroll-margin-top: 70px; }
/* ランキングの一覧（急上昇・拍手） */
.aah-rank__list { margin: 0.5em 0 1.2em; padding-left: 1.6em; }
.aah-rank__list li { margin: 0.35em 0; line-height: 1.5; }
.aah-rank__move { margin-left: 0.6em; color: var(--aah-muted, #6d6a65); font-size: 0.86em; white-space: nowrap; }
.aah-rank__circles { display: flex; flex-wrap: wrap; gap: 0.4em 1em; margin: 0.5em 0 1.2em; padding: 0; list-style: none; }
.aah-rank__circles span { margin-left: 0.4em; color: var(--aah-muted, #6d6a65); font-size: 0.85em; }
/* 拍手とお気に入り（作品ページ・感想の下） */
.aah-act { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0.6em; margin: 1em 0 1.4em; }
.aah-clapbox { flex: 1 1 260px; }
.aah-clap { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6em; }
.aah-clap__btn, .aah-fav, .aah-follow { padding: 0.55em 1.1em; border-radius: 999px; border: 1px solid var(--aah-t-hot, #c8102e); background: var(--aah-card, #fff); color: var(--aah-t-hot, #c8102e); font-weight: 800; cursor: pointer; font-size: 0.95em; }
.aah-clap__btn:active, .aah-fav[aria-pressed="true"], .aah-follow[aria-pressed="true"] { background: var(--aah-t-hot, #c8102e); color: #fff; }
.aah-clap__n { color: var(--aah-muted, #6d6a65); font-size: 0.9em; }
.aah-clap__thanks { flex-basis: 100%; margin-top: 0.3em; padding: 0.6em 0.8em; border-radius: 8px; background: var(--aah-accent-soft, #e8f1fb); font-size: 0.92em; line-height: 1.6; }
.aah-clap__thanks a { margin-left: 0.2em; font-weight: 700; }
/* お気に入りのページ */
.aah-fav__list { margin: 0.6em 0; padding: 0; list-style: none; }
.aah-fav__list li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3em 0.8em; padding: 0.55em 0; border-bottom: 1px solid var(--aah-line, #e5e1db); }
.aah-fav__meta { color: var(--aah-price, #cc0000); font-size: 0.88em; font-weight: 700; }
.aah-fav__x { margin-left: auto; padding: 0.2em 0.7em; border-radius: 6px; border: 1px solid var(--aah-line, #e5e1db); background: transparent; color: var(--aah-muted, #6d6a65); cursor: pointer; }
.aah-fav__empty { color: var(--aah-muted, #6d6a65); }
.aah-favsale { margin: 0.8em 0; padding: 0.6em 0.9em; border-radius: 8px; background: #fff4e5; border: 1px solid var(--aah-orange, #ff4400); font-weight: 700; }
.aah-favsale a { color: var(--aah-orange, #ff4400); text-decoration: none; }
/* サークルのフォロー */
.aah-follow__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8em; margin: 0.6em 0 1em; }
.aah-rss { font-size: 0.88em; color: var(--aah-muted, #6d6a65); }
.aah-follownew { margin: 1em 0; padding: 0.6em 0.9em; border: 1px solid var(--aah-line, #e5e1db); border-radius: 8px; background: var(--aah-card, #fff); }
.aah-follownew__h { margin: 0 0 0.4em !important; font-size: 1em !important; }
.aah-follownew ul { margin: 0; padding-left: 1.2em; }
.aah-follownew li { margin: 0.3em 0; }
.aah-follownew li span { margin-left: 0.5em; color: var(--aah-muted, #6d6a65); font-size: 0.85em; }
/* 苦手なジャンルを隠す（足元） */
.aah-hide { margin: 0.8em 0; font-size: 0.9em; }
.aah-hide summary { cursor: pointer; color: var(--aah-muted, #6d6a65); }
.aah-hide__list { display: flex; flex-wrap: wrap; gap: 0.35em; margin-top: 0.4em; }
.aah-hide__list button { padding: 0.25em 0.7em; border-radius: 999px; border: 1px solid var(--aah-line, #e5e1db); background: transparent; color: inherit; cursor: pointer; font-size: 0.92em; }
.aah-hide__list button[aria-pressed="true"] { background: var(--aah-muted, #6d6a65); border-color: var(--aah-muted, #6d6a65); color: #fff; text-decoration: line-through; }
.aah-hide__note { margin: 0.6em 0; padding: 0.4em 0.7em; border-radius: 6px; background: var(--aah-band, #f4f4f4); font-size: 0.88em; }
.aah-hidden-g { display: none !important; }
/* 訪問人数・いま見ている人（数字が大きくなってから出る） */
.aah-counter, .aah-here { margin: 0.3em 0; color: var(--aah-muted, #6d6a65); font-size: 0.85em; }
/* サークルの50音 */
.aah-kana { display: flex; flex-wrap: wrap; gap: 0.35em; margin: 0.4em 0 0.8em; }
.aah-kana a { padding: 0.25em 0.7em; border-radius: 6px; background: var(--aah-accent-soft, #e8f1fb); text-decoration: none; font-weight: 700; font-size: 0.9em; }
.aah-kana__h { scroll-margin-top: 70px; margin: 1em 0 0.3em !important; font-size: 1em !important; }
@media (max-width: 600px) {
  .aah-act { flex-direction: column; }
  .aah-clapbox { flex-basis: auto; width: 100%; }
}
.aah-clap__next { display: none; }
/* 週のお題アンケート */
.aah-poll { margin: 0.8em 0; padding: 0.8em 0.9em; border: 1px solid var(--aah-line, #e5e1db); border-radius: 10px; background: var(--aah-card, #fff); }
.aah-poll__h { margin: 0 0 0.3em !important; font-weight: 800; font-size: 0.9em; color: var(--aah-t-hot, #c8102e); }
.aah-poll__q { margin: 0 0 0.6em !important; font-weight: 800; line-height: 1.5; }
.aah-poll__q span { margin-left: 0.6em; font-weight: 400; font-size: 0.8em; color: var(--aah-muted, #6d6a65); }
.aah-poll__btns { display: flex; flex-direction: column; gap: 0.4em; }
.aah-poll__btns button { padding: 0.55em 0.8em; border-radius: 8px; border: 1px solid var(--aah-accent, #0066cc); background: var(--aah-card, #fff); color: var(--aah-accent, #0066cc); font-weight: 700; text-align: left; cursor: pointer; }
.aah-poll__bars { margin: 0; padding: 0; list-style: none; }
.aah-poll__bars li { display: grid; grid-template-columns: minmax(6em, 1fr) 2fr 3em; align-items: center; gap: 0.5em; margin: 0.35em 0; font-size: 0.9em; }
.aah-poll__bar { height: 0.8em; border-radius: 999px; background: var(--aah-band, #f4f4f4); overflow: hidden; }
.aah-poll__bar i { display: block; height: 100%; background: var(--aah-accent, #0066cc); }
.aah-poll__pct { text-align: right; font-weight: 700; }
.aah-poll__total, .aah-poll__note { margin: 0.4em 0 0 !important; color: var(--aah-muted, #6d6a65); font-size: 0.82em; }
.aah-poll--past { margin-top: 1em; }
.aah-side__poll .aah-poll { margin-top: 0; }
/* 女性向けの3つの軸の★ */
.aah-rate3__sort { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4em; margin: 0.6em 0; font-size: 0.9em; }
.aah-rate3__sort button, .aah-rate3__open, .aah-rate3__go, .aah-rate3__row button { padding: 0.3em 0.7em; border-radius: 999px; border: 1px solid var(--aah-t-hot, #c8102e); background: var(--aah-card, #fff); color: var(--aah-t-hot, #c8102e); font-size: 0.85em; cursor: pointer; }
.aah-rate3 { margin-top: 0.3em; font-size: 0.8em; }
.aah-rate3__avg { margin: 0 0 0.2em !important; color: var(--aah-muted, #6d6a65); }
.aah-rate3__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2em; margin: 0.25em 0; }
.aah-rate3__row span { min-width: 2.5em; font-weight: 700; }
.aah-rate3__row button { padding: 0.15em 0.4em; }
.aah-rate3__row button[aria-pressed="true"] { background: var(--aah-t-hot, #c8102e); color: #fff; }
.aah-rate3__msg { margin: 0.2em 0 0 !important; }
/* 紹介しているページ・続けて見られた作品 */
.aah-shoukai ul, .aah-coview ul { padding-left: 1.2em; }
.aah-shoukai li span { margin-left: 0.5em; color: var(--aah-muted, #6d6a65); font-size: 0.85em; }
/* 体験談: 管理人の返事・今週のお題 */
.aah-story__reply { margin: 1em 0; padding: 0.7em 0.9em; border-left: 4px solid var(--aah-accent, #0066cc); background: var(--aah-accent-soft, #e8f1fb); border-radius: 6px; }
.aah-story__reply-h { margin: 0 0 0.3em !important; font-weight: 800; font-size: 0.9em; }
.aah-story__odai { padding: 0.5em 0.7em; border-radius: 8px; background: var(--aah-band, #f4f4f4); }
.aah-story__myreply { color: var(--aah-accent, #0066cc); }
/* 評価の箱を足したタイル（sanka.js が付ける）。本体の高さいっぱいを外して、箱をタイルの下に収める */
.aah-tile__wrap--r3 { display: flex; flex-direction: column; }
.aah-tile__wrap--r3 > .aah-tile { flex: 1 1 auto; height: auto; }
.aah-tile__wrap--r3 .aah-rate3__form { position: relative; z-index: 2; background: var(--aah-card, #fff); padding: 0.3em; border: 1px solid var(--aah-line, #e5e1db); border-radius: 6px; }

/* 同じ自作品を FANZA と DLsite の両方で売っているときの一言（src/jisaku.js jisakuBox。2026-10-01） */
.aah-jisaku__which { margin: 10px 0 4px; font-size: 13px; font-weight: 700; text-align: center; }
.aah-jisaku__cta .aah-kansou__go + .aah-kansou__go { margin-top: 8px; }