:root{--fanza:#e50914;--mgs:#0aa;--ink:#1a1a1a;--sub:#666;--line:#e5e5e5;--link:#1558d6;
  /* 🔴 うちが自分で調べた・書いた情報の色（2026-08-09）。
     既存3色(--fanza/--mgs/--link)は全部「外部へ行け」の色で、
     「ここが情報の出所」を言える色が無かった。名寄せと作品紹介に使う。
     --mgs(#0aa)とは明度・彩度で分離（#0aa=HSL180,100%,40% / #0f766e=HSL175,77%,26%）。 */
  --verified:#0f766e}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:var(--ink);background:#fff;line-height:1.7}
a{color:inherit;text-decoration:none}
/* 年齢警告。2026-09-12 にヘッダー上→フッターへ移動（最初に読ませる情報ではない）。
   🔴 赤い枠と文言は変えない＝移動しただけ。掲示としての強さは保つ。 */
.agebar{background:#fff4f4;border:1px solid #f3c9c9;color:#a33;font-size:12px;
  text-align:center;padding:8px;border-radius:6px;max-width:560px;
  margin:0 auto 16px}
.header{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
.header-in{max-width:900px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:20px;white-space:nowrap}.logo em{color:var(--fanza);font-style:normal}
.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 6px;margin:-8px 0}
/* 🔴 タップ領域を44px確保する（2026-08-13 実測でナビが高さ20pxだった）。
   文字だけだと指で押しにくい。見た目の間隔は gap を詰めて相殺する */
.nav a{font-size:14px;color:var(--sub);white-space:nowrap;
  display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
/* 🔴 狭い幅では折り返させない。折り返すとsticky headerが105pxまで膨らみ、
   ロゴとナビが不揃いに2段化して崩れて見えた（2026-08-13 実測・320px）*/
@media(max-width:480px){
  .header-in{padding:6px 12px;gap:8px}
  /* 🔴 min-width:0 が無いと flex アイテムが縮まず、ナビが viewport を
     3px はみ出して横スクロールが出た（2026-09-12・素人を5項目目に足したとき）。
     見た目では気づけない幅なので visual_check の実測で発見した。 */
  .nav{flex-wrap:nowrap;gap:0 2px;min-width:0}
  .nav a{font-size:12px;padding:0 4px}
  /* 🔴 ロゴは絶対に削らない（サイト名が「AV-F…」になった）。
     縮めてよいのはナビ側だけ＝flex-shrink:0 でロゴを守る。 */
  /* 🔴 ロゴは絶対に削らない（一度 text-overflow で「AV-F…」になった）。
     縮めてよいのはナビ側だけ。間隔はナビの先頭に持たせる（a の padding が
     margin を食うので .logo 側の margin-right では効かない）。 */
  .logo{font-size:17px;flex-shrink:0}
  .nav{margin-left:10px}
}
/* 🔴 320px はナビ4項目が物理的に入らない（2026-08-14 実測: NAV right=363）。
   折り返すとヘッダーが2段になって崩れるので nowrap は維持し、
   代わりに**長いラベルの一部を隠して短くする**。
   HTML側は広い画面向けの文言のまま（CSSだけで切り替える）。
   例: 「発売カレンダー」→「カレンダー」 /「♥ お気に入り」→「♥」 */
@media(max-width:360px){
  .nav .nav-long{display:none}
  .nav a{font-size:11.5px;padding:0 3px}
  .logo{font-size:15px}
}
.wrap{max-width:900px;margin:0 auto;padding:16px}
.crumb{font-size:12px;color:var(--sub);margin-bottom:14px}
.crumb a{text-decoration:underline}
h1{font-size:20px;font-weight:800;line-height:1.5;margin-bottom:6px}
.pid{font-size:13px;color:var(--sub);margin-bottom:16px}
.yomi{font-size:13px;color:var(--sub);margin:-8px 0 12px}
/* 名寄せ（doc/06 §3.3・ADR 0012）。
   🔴 矢印・打ち消し線を使わない。実物56ページ調査で打ち消し線0件・矢印は改名専用。
      区別はラベルの文言でやる（競合2サイトと同じ）。
   🔴 箱で囲わない。このページには #fafafa+枠+radius:10px の箱が既に4つあり
      （CTA・情報表・レビュー・関連）、箱にすると独自情報が借り物と同格に沈む。
      左の縦罫はこの部品だけの語彙にする。 */
.nayose{margin:0 0 24px;padding:14px 0 14px 16px;
  border-left:3px solid var(--verified)}
/* 他のh2（作品紹介など）と同じ17px。見出しの階層をページ内で揃える */
.nayose h2{font-size:17px;font-weight:700;color:var(--verified);
  letter-spacing:.02em;margin:0 0 8px}
.nayose-line{font-size:15px;line-height:1.6;color:var(--sub);margin:0}
/* 答え。H1(20px/800)と同じ軸で戦わず、色と組版で存在感を作る。
   palt は日本語の固有名詞を1つの塊に見せる。font-weight は700に留める
   （800はWindows(Yu Gothic)で合成太字になり汚い）。 */
.nayose-answer{font-size:24px;font-weight:700;color:var(--verified);
  font-feature-settings:"palt" 1;letter-spacing:-.01em}
.nayose-why{font-size:12px;color:var(--sub);line-height:1.65;margin:10px 0 0}
/* 行き先（2026-08-15 ユーザー指摘「リンクとそうでないのが分かりにくい」）。
   🔴 実測: 公開18件のリンク有9・無9が完全に同じ見た目だった。原因は全体既定
      `a{color:inherit;text-decoration:none}` で、.nayose-answer が自前の色を
      持つためリンクがそれを継ぎ、下線も出ず手がかりが消えていた。
   🔴 名前の見え方は変えない（ユーザー決定「答えは同じ強さ、リンクだけ区別」）。
      ページの無い9人の答えを格下げしないため、区別は独立した部品でやる。
   🔴 塗りのピル＝サイト内で唯一の「塗り」。他は全部 outline なので一目で立つ
      （ユーザー指示「もっと鮮やかに分かりやすく」）。--verified を塗ることで
      「うちが特定した情報」と「押せる」がやっと同じ色を指す。 */
.nayose-go{display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  min-height:44px;padding:10px 18px;border-radius:999px;
  background:var(--verified);color:#fff;font-size:14px;font-weight:700;
  text-decoration:none;line-height:1.3}
.nayose-go::after{content:"›";font-size:18px;line-height:1;font-weight:700}
.nayose-go:hover{background:#0b5d57}
.nayose-go:focus-visible{outline:3px solid var(--verified);outline-offset:2px}
@media(max-width:390px){
  .nayose{padding-left:13px}
  .nayose-answer{font-size:21px}
  .nayose-line{font-size:14px}
  /* 狭い幅では名前が長いと折り返して縦長になるので、行き先は横いっぱいに置く */
  .nayose-go{display:flex;justify-content:center;font-size:13.5px;padding:10px 14px}
}
.package{width:100%;border-radius:10px;border:1px solid var(--line);display:block;margin-bottom:20px}
/* 顔写真＋プロフィール表を「誰か」が分かる1つの塊にする。
   🔴 顔写真は原寸125pxで置く（実測。引き伸ばすとぼやける）。
   🔴 顔写真があるのは98人/1323人＝7.4%。無い場合は表だけが残り崩れない。
   モバイル(〜520px)は縦積み＝表の横幅を削らない。 */
.ident{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap}
.ident .info{margin-bottom:0;flex:1 1 260px;min-width:0}
.face{width:125px;height:125px;border-radius:10px;border:1px solid var(--line);
  object-fit:cover;flex:0 0 auto;background:#fafafa}
@media(max-width:520px){
  /* 横に並べると表が潰れるので縦積み。写真は左寄せのまま原寸を保つ */
  .ident{gap:12px}
  .ident .info{flex:1 1 100%}
}
/* 🔴 collapse だと border-radius が効かない（枠線が角を突き抜ける）。
   separate + border-spacing:0 にして、外枠を table 側に持たせる。
   セルは右と下だけ線を引き、外周と二重にならないようにする。 */
.info{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:24px;font-size:14px;
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
/* 🔴 見出しに女優名が入るので110px固定だと折り返して読みにくい。
   内容に合わせて伸ばしつつ、値の欄を潰さない上限を置く。 */
.info th{text-align:left;width:auto;max-width:44%;white-space:nowrap;padding:10px;background:#fafafa;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600;vertical-align:top}
.info td{padding:10px;border-bottom:1px solid var(--line)}
/* 最終行は外枠と重なるので下線を消す */
.info tr:last-child th,.info tr:last-child td{border-bottom:0}
/* プロフィール表内のリンク（SNS等の外部リンク）。
   🔴 --fanza(赤) は「FANZAで視聴する」CTAの色。リンク一般に使うと役割が混ざる。 */
.info a{color:var(--link);text-decoration:underline}
.src{font-size:12px;color:var(--sub);margin:-16px 0 24px}
.stars{color:#f5a623;font-weight:700}
.cta{border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:24px;background:#fafafa}
.cta h3{font-size:14px;margin-bottom:12px;color:var(--sub)}
.btn-fanza{display:block;background:var(--fanza);color:#fff;text-align:center;font-weight:700;font-size:16px;padding:15px;border-radius:10px}
.btn-fanza:hover{opacity:.9}
.price{text-align:center;font-size:13px;color:var(--sub);margin-top:8px}
.desc{font-size:14px;color:#333;margin-bottom:24px}
.footer{border-top:1px solid var(--line);margin-top:32px;padding:24px 16px;text-align:center;font-size:12px;color:var(--sub)}
.footer a{margin:0 8px;text-decoration:underline}

/* --- 生成ページ用に追加 --- */
.video-note{font-size:12px;color:var(--sub);margin-bottom:20px}
.cta.ended{background:#f7f7f7;color:var(--sub)}
.cta.ended h3{color:var(--ink);font-size:16px;font-weight:700}
/* 作品紹介も「うちが書いた情報」なので名寄せと同じ色にする。
   🔴 独自コンテンツが別々の記号を持つと規則にならない（緑=うち／赤・青緑=店へ行く）。 */
.memo{margin-top:28px;padding-top:22px;border-top:2px solid var(--verified)}
.memo h2{font-size:17px;font-weight:800;margin-bottom:14px;color:var(--verified)}
.memo p{font-size:15px;line-height:1.95;margin-bottom:15px}
.memo-note{font-size:12px;color:var(--sub);border-left:3px solid var(--line);padding-left:10px}
h2{font-size:17px}
/* サンプル画像（doc/06 §3.2）。初期8枚+展開。JSなしで畳む=クロール時も全枚数がHTMLにある */
.samples{margin-top:18px;margin-bottom:20px}
.samples h2{margin-bottom:10px}
.samples-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.samples-grid img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;
  border:1px solid var(--line);border-radius:10px;background:#f2f2f2}
.samples-grid img.is-extra{display:none}
.samples-more{grid-column:1/-1;justify-self:center;margin-top:4px;cursor:pointer;
  background:rgba(43,39,51,.72);color:#fff;font-size:12px;font-weight:700;
  border:0;border-radius:8px;padding:8px 16px}
.samples.is-open .samples-grid img.is-extra{display:block}
.samples.is-open .samples-more{display:none}
@media(max-width:520px){.samples-grid{grid-template-columns:repeat(3,1fr)}}
/* 購入者レビューの集計（doc/06 §3.2）。
   🔴 ★ごとの内訳バーは作らない。APIが内訳を返さず、作れば捏造になる（doc/08） */
.reviews{margin-top:22px}
.reviews h2{margin-bottom:10px}
.reviews h2 small{font-size:11.5px;font-weight:400;color:var(--sub);margin-left:8px}
.rv-row{display:flex;align-items:center;gap:12px;padding:11px 14px;margin-bottom:6px;
  border:1px solid var(--line);border-radius:10px;background:#fafafa}
.rv-store{min-width:52px;font-size:12px;font-weight:700;color:var(--sub)}
.rv-avg{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.rv-stars{color:#e8a94e;letter-spacing:1.5px;font-size:14px}
.rv-count{margin-left:auto;font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}
.rv-note{font-size:11.5px;color:var(--sub);margin-top:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.card{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:block;background:#fff}
.card img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;background:#f2f2f2}
.card-b{padding:9px 10px 11px}
.card-t{font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-d{font-size:11px;color:var(--sub);margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.badge{background:var(--ink);color:#fff;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}
/* 素人名義（キュー#3）。名義はうちが名寄せで特定した独自データ＝--verified の系統色 */
.card-kamei{font-size:11.5px;color:var(--verified);font-weight:600;margin-top:4px}
.mgs-note{font-size:12.5px;color:var(--sub);margin:6px 0 10px}

/* 🔴 .top-more / .cal-fold は「畳む見出し」で役割が同じだが、見た目は意図的に違う
   （テキストリンク／日付見出し）。2026-09-03 にCSSをまとめて共通化しようとして
   .top-more の min-height:44px を落とし、タップ領域が24pxに縮んだ。
   さらに 2026-09-12、/shirouto/ のブロックを行番号で差し替えたとき、範囲に入って
   いた .top-more を**巻き添えで丸ごと削除**した（隣接していただけで消す理由は無い）。
   まとめるより、44px以上・▼・フォーカス枠を持つことを守る
   （checks.json: fold-summary-tap-target / tests: test_fold_summary_css_exists.py）。 */
.top-more{margin-top:8px}
.top-more > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:44px;color:var(--link);font-size:14px;font-weight:600}
.top-more > summary::-webkit-details-marker{display:none}
.top-more > summary::after{content:"▼";font-size:11px;font-weight:400}
.top-more[open] > summary::after{content:"▲"}
.top-more > summary:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.top-more[open] > summary{margin-bottom:8px}

/* --- 素人の別名義一覧 /shirouto/（入口型。2026-09-12・ADR 0029） ---
   🔴 このページの仕事は「名前から人へ送る」の1つ。作品カードの置き場をやめた。
      325枚のカードを抱えていた頃は 253KB・モバイル38,181px（45画面）で、
      24日間の実測が読者2人・Googlebot 1回だった。カードは女優ページが受ける。
   🔴 「名義」「MGS」「レーベル」はUIに出さない（読者に通じない内部用語）。 */
.sec-h{font-size:15px;font-weight:700;margin:24px 0 11px;
  display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.sec-n{font-size:12.5px;font-weight:400;color:var(--sub)}

/* 名前が4つ以上ある人のカード。主役は「別の名前がいくつも並ぶこと」。
   🔴 名前を省略しない。「ほか2名義」と畳んでいた頃は発見が伝わらなかった。 */
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px}
.p-card{display:block;border:1px solid var(--line);border-radius:8px;
  padding:9px 11px;background:#fff}
.p-name{font-size:14px;font-weight:700;color:var(--verified);
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
/* 🔴 押せる／押せないを見た目で分ける（2026-08-15・第36回）。色だけに頼らない */
.p-name::after{content:"\203A";margin-left:4px;font-weight:700;text-decoration:none}
.p-name.off{color:var(--ink);text-decoration:none}
.p-name.off::after{content:""}
a.p-card:hover .p-name{text-decoration-thickness:3px}
a.p-card:focus-visible{outline:3px solid var(--verified);outline-offset:2px}
.p-alias{list-style:none;margin:6px 0 0;padding:0;font-size:11.5px;
  line-height:1.55;color:var(--sub)}
.p-alias li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-alias li::before{content:"\201C";color:#c4c4c4}
.p-alias li::after{content:"\201D";color:#c4c4c4}

/* 50音ナビ。🔴 タップ領域44pxを確保する（CLAUDE.md ルール9） */
/* 🔴 44px（タップ領域）を死守する。11個を1段に並べるには 44*11+gap = 524px
   必要で、520px幅でも入らない＝1段化は物理的に不可能（2026-09-12 実測）。
   2段のまま、行見出し側を scroll-margin-top で逃がす。 */
.kana-nav{position:sticky;top:57px;z-index:5;background:#fff;display:grid;
  grid-template-columns:repeat(6,1fr);gap:4px;
  padding:7px 0;border-bottom:1px solid var(--line);margin-bottom:4px}
.kana-nav a{min-height:44px;display:inline-flex;align-items:center;
  justify-content:center;font-size:15px;font-weight:700;color:var(--link);
  border:1px solid var(--line);border-radius:6px}
.kana-nav a:focus-visible{outline:3px solid var(--link);outline-offset:2px}

.kana{padding:14px 0 4px;border-top:1px solid var(--line)}
.kana:first-of-type{border-top:0}
/* 🔴 アンカーで飛んだとき、見出しが固定バー（ヘッダー42px＋ナビ58px）の
   裏に隠れないよう逃がす。実測でtop=-0.5px＝完全に見えなかった（2026-09-12） */
.kana h3{font-size:13.5px;margin:0 0 9px;color:var(--sub);
  display:flex;align-items:baseline;gap:8px;scroll-margin-top:180px}
.kana h3 .kana-n{font-size:11px;font-weight:400}
/* 🔴 顔写真のカード一覧（2026-09-12 ユーザー指摘で作り直し）。
   自社 av-jyoyu /actress/all/ と同じ形＝顔を大きく見せてグリッドで並べる。
   旧実装は34pxの丸枠に作品パッケージを押し込んでおり何も判別できなかった。
   🔴 丸枠(border-radius:999px)は使わない。タグの形であって人物リンクの形ではなく、
      60個並ぶと枠が主役になって名前が読みにくい。 */
.face-grid{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px 10px}
.face-card{display:block;color:var(--ink)}
.face-card img,.face-card .face-none{display:block;width:100%;height:140px;
  object-fit:cover;object-position:top center;border-radius:8px;background:#f0f0f0}
.face-card .face-none{display:flex;align-items:center;justify-content:center;font-size:12px;color:#8a8a8a;border:1px dashed #d4d4d4;background:#f7f7f7}
.face-name{display:block;margin-top:6px;font-size:13px;line-height:1.4;
  color:var(--verified);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px}
.face-card:hover .face-name{text-decoration-thickness:2px}
.face-card:focus-visible{outline:3px solid var(--verified);outline-offset:3px;
  border-radius:8px}

@media (max-width:520px){
  /* 🔴 ヘッダー実測高さ(320px時41px / 390px時42px)に合わせる。49pxだと
     7pxの透明な隙間ができ、顔写真が切れた帯状に流れて見えた（2026-09-12 報告）。
     🔴 端数で1pxずれるので、少し手前に置いて margin-top で押し戻す＝
     隙間を構造的に0にする（top の数値合わせだけだと幅ごとに1px漏れる）。 */
  .kana-nav{top:40px;margin-top:2px}
  .kana h3{scroll-margin-top:160px}
  .p-grid{gap:8px}
  .p-card{padding:8px 10px}
  .face-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px 8px}
  .face-card img,.face-card .face-none{height:124px}
}

/* --- サンプル動画 (mp4 + Plyr。av-jyoyu/av-douga と同構成) --- */
.sample-video{position:relative;width:100%;border-radius:10px;overflow:hidden;background:#000;border:1px solid var(--line);margin-bottom:8px;--plyr-color-main:var(--fanza)}
.sample-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.sample-badge{position:absolute;top:8px;left:8px;z-index:3;padding:2px 9px;background:var(--fanza);color:#fff;font-size:11px;font-weight:700;border-radius:10px;pointer-events:none}
.btn-mgs{display:block;background:var(--mgs);color:#fff;text-align:center;font-weight:700;font-size:16px;padding:15px;border-radius:10px}
.btn-mgs:hover{opacity:.9}
.badge.store-fanza{background:var(--fanza)}
.badge.store-mgs{background:var(--mgs)}

/* --- SNS共有（doc/06 §3.2: CTAの次・作品情報の前） --- */
/* 🔴 flex-wrap:wrap だと 320px(iPhone SE 相当)で Pocket だけ次行に落ちて半端に見えた。
   4つを均等幅にして必ず1行に収める。min-width:0 が無いと flex は文字幅より縮まない。
   ただし均等幅だけだとラベルが2段に折り返してボタンが縦長になるので、
   狭い画面ではラベル側を短くする（.share-long を隠す）。 */
.share{display:flex;gap:8px;margin:0 0 24px}
.share a{flex:1 1 0;min-width:0;white-space:nowrap}
/* padding は 12px 14px。タップ領域を最低36pxにする（30pxは小さすぎる・visual_check.py が検出） */
.share a{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;color:#fff;border-radius:8px;padding:12px 14px;line-height:1;min-height:36px}
.share .line{background:#06c755}
.share .x{background:#1c1c1c}
.share .hatena{background:#00a4de}
.share .pocket{background:#ef3f56}
.share a:hover{filter:brightness(1.08)}
/* 360px 未満（iPhone SE 相当）はラベル後半を隠す。
   4等分で1つ約68pxしかなく、「LINEで送る」が2段になってボタンが縦長になるため。 */
@media (max-width:359px){.share-long{display:none}}

/* --- ワンクリック投票（doc/02「結論」/ doc/06 §5） ---
   🔴 タップ領域は最低44px（ADR 0008: 共有ボタンを30pxで出して指摘された）
   🔴 数字は tabular-nums。+1 したとき幅が動いてガタつくのを防ぐ */
/* 🔴 margin-bottom も必須。次に来る回遊セクションの見出しは margin-top:0 の素の h2 で、
   これが無いと余白0pxでくっつく（ADR 0008 と同じ罠を投票セクションでも踏んだ） */
.votes{margin-top:22px;margin-bottom:26px}
.votes h2{margin-bottom:10px}
.votes h2 small{font-size:11.5px;font-weight:400;color:var(--sub);margin-left:8px}
.vote-inline{display:flex;gap:10px;flex-wrap:wrap}
.vote-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:12px 18px;min-height:44px;
  font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;line-height:1}
.vote-pill:hover{border-color:var(--fanza)}
.vote-pill:focus-visible{outline:2px solid var(--fanza);outline-offset:2px}
.vote-pill .n{color:var(--fanza);font-weight:700;font-variant-numeric:tabular-nums;min-width:1.5em;text-align:right}
.vote-pill[aria-pressed="true"]{background:var(--fanza);border-color:var(--fanza);color:#fff}
.vote-pill[aria-pressed="true"] .n{color:#fff}
.vote-pill[disabled]{opacity:.55;cursor:default}
.vote-caption{font-size:11.5px;color:var(--sub);margin-top:10px;line-height:1.7}
/* honeypot: 利用者には見えない。display:none だと埋めないbotがいるので画面外へ逃がす */
.vote-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* 🔴 回遊セクション（この女優の他の作品 / 同じメーカー / ジャンル）の見出しは
   .wrap 直下の素の h2。margin が無いと前のセクションと余白0pxでくっつく。
   セクション用クラスを持つ h2（.votes h2 等）は各セクション側で余白を管理するので除外 */
.wrap > h2{margin-top:28px;margin-bottom:12px}
.wrap > .grid,.wrap > .tags{margin-bottom:0}
/* ジャンルから探す。🔴 スタイルが無く素のインライン要素だったため、320px で
   「美少女」と「淫乱・ハード系」が重なっていた（2026-08-09 visual_check が検出）。
   ピル型に揃える（お気に入り・新作フォローと同じ語彙）。 */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.tag{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;
  border:1px solid var(--line);border-radius:999px;background:#fff;
  color:var(--sub);font-size:12.5px;text-decoration:none;line-height:1.3}
/* 🔴 押せるのは <a> だけ。hover を .tag 全体に付けると、ハブが無いジャンル
   （<span>）まで押せそうに見える（2026-08-12 UI/UXレビュー指摘）。 */
a.tag:hover{border-color:var(--link);color:var(--link)}
a.tag:focus-visible{outline:2px solid var(--link);outline-offset:2px}
span.tag{background:transparent;border-style:dashed;color:var(--sub);opacity:.65}

/* --- 女優ページの投票バー（doc/02 §3・mock/actress-page-light.html） --- */
.vote-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}
.vr-label{width:76px;color:var(--sub);flex:none}
.vr-bar{flex:1;height:8px;background:#eee;border-radius:99px;overflow:hidden;min-width:60px}
.vr-bar>i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--fanza),#e8a94e);transition:width .25s}
.vote-row .n{width:34px;text-align:right;font-weight:700;color:var(--fanza);
  font-variant-numeric:tabular-nums;flex:none}
/* 🔴 タップ領域44px（ADR 0008）。バーの行でもボタンは指で押せる大きさにする */
.vr-btn{flex:none;background:#fff;border:1px solid var(--line);color:var(--sub);
  border-radius:999px;font-size:12px;font-family:inherit;padding:0 14px;min-height:44px;
  cursor:pointer;line-height:1}
.vr-btn:hover{border-color:var(--fanza);color:var(--fanza)}
.vr-btn:focus-visible{outline:2px solid var(--fanza);outline-offset:2px}
.vr-btn[aria-pressed="true"]{background:var(--fanza);border-color:var(--fanza);color:#fff}
.vr-btn[disabled]{opacity:.55;cursor:default}
@media(max-width:380px){.vr-label{width:60px;font-size:12px}.vr-btn{padding:0 10px}}

/* 共演が多い女優（doc/06 §5-2 D） */
.costars{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px 16px}
.costars li{font-size:13px;color:var(--sub)}
.costars li a{color:var(--link)}

/* 発売カレンダー（doc/06 §5-2 A） */
.cal-day{font-size:14px;margin:18px 0 8px;padding:6px 10px;background:var(--bg-soft,#f5f5f5);border-radius:6px}
.cal-day.today{border-left:3px solid var(--fanza);font-weight:700}
.cal-item{display:flex;gap:10px;padding:8px 0;margin-bottom:6px;border-bottom:1px solid var(--line,#eee)}
.cal-item img{width:96px;height:auto;max-height:64px;object-fit:cover;border-radius:4px;flex-shrink:0}
.cal-t{font-size:13px;line-height:1.5}
.cal-t a{color:var(--link)}
/* 🔴 カレンダーの女優リンクは127個あり全部12pxだった（2026-08-13 実測）。
   行間を詰めたまま押せる高さを出すため、リンクだけに縦paddingを持たせる */
.cal-a{font-size:12px;color:var(--sub);margin-top:2px;
  display:flex;flex-wrap:wrap;gap:0 8px}
.cal-a a{display:inline-flex;align-items:center;min-height:36px;padding:0 2px}
/* 🔴 日単位の折りたたみ（2026-08-13・モバイル実測で658件86画面だった）。
   summary は日付見出しの見た目を保ったままタップ領域を確保する */
.cal-fold > summary{list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:8px;min-height:44px;
  font-size:14px;margin:18px 0 8px;padding:6px 10px;
  background:var(--bg-soft,#f5f5f5);border-radius:6px}
.cal-fold > summary::after{content:"▼";font-size:10px;color:var(--sub);margin-left:auto}
.cal-n{font-size:12px;font-weight:400;color:var(--sub);font-variant-numeric:tabular-nums}
.cal-a a{color:var(--link)}

/* お気に入り（doc/06 §5-2 B） */
.fav-btn{display:inline-flex;align-items:center;gap:4px;margin:2px 0 10px;padding:8px 16px;min-height:44px;font-size:13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);cursor:pointer}
.fav-btn.is-on{border-color:#e0245e;color:#e0245e;background:#fdf0f4}
.fav-btn:focus-visible{outline:2px solid #e0245e;outline-offset:2px}
.fav-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.fav-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px}
.fav-chip a{color:var(--link)}
.fav-del{border:none;background:none;color:var(--sub);font-size:14px;cursor:pointer;padding:4px}
.fav-empty{font-size:13px;color:var(--sub)}
.fav-work{display:flex;gap:10px;padding:8px 0;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:13px}
.fav-work-d{flex-shrink:0;width:110px;color:var(--sub)}
.fav-upcoming{color:#b8860b;font-weight:700}
.fav-work-t a{color:var(--link)}
.fav-note{font-size:13px;color:var(--sub);margin-bottom:10px}
.fav-note-list{font-size:13px;color:var(--sub);padding-left:18px;line-height:1.9}
.fav-transfer{margin-bottom:8px}
.fav-transfer textarea{width:100%;font-size:12px;padding:8px;border:1px solid var(--line);border-radius:6px;box-sizing:border-box}
.fav-transfer-btns{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.fav-transfer-btns button{padding:8px 14px;min-height:44px;font-size:13px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}

/* 新作を追う（doc/06 §5-2 C） */
/* 新作フォロー（RSS）。作品リストの下に置く控えめな導線。
   🔴 見た目は .fav-btn と同じ「白地＋細枠のピル」に揃える。
      お気に入りと同じ“任意の登録”なので、共有ボタン(.share の塗り)ほど
      主張させない。塗りにすると、使う人の少ない機能が一番目立ってしまう。 */
.follow{margin:28px 0 8px;padding-top:18px;border-top:1px solid var(--line)}
.follow-label{display:block;color:var(--sub);font-size:12.5px;line-height:1.6;margin-bottom:10px}
.follow-btns{display:flex;flex-wrap:wrap;gap:8px}
.follow a{display:inline-flex;align-items:center;gap:5px;min-height:44px;
  padding:8px 16px;border:1px solid var(--line);border-radius:999px;
  background:#fff;color:var(--sub);font-size:12.5px;text-decoration:none;line-height:1}
.follow a:hover{border-color:var(--link);color:var(--link)}
.follow a:focus-visible{outline:2px solid var(--link);outline-offset:2px}
/* 生のフィードURLは「追加」ボタンとは別物なので、さらに一段引く */
.follow a.raw{border-style:dashed}

/* ── トップページ（入口ハブ型・2026-08-09） ─────────────────────
   役割は「配る」こと。GSC実測でトップに検索流入は無く（av-jyoyu 上位25ページに
   トップは1件も入らない）、ここは読ませる場でなく次のページへ送る場。
   だから装飾を足さず、既存の card/grid をそのまま並べて、
   区切りだけを見出しで作る。新しい箱は増やさない。 */
.lead{font-size:14px;color:var(--sub);line-height:1.75;margin:0 0 26px;max-width:34em}
.sec{margin:0 0 30px}
.sec h2{margin:0 0 4px}
.sec-d{font-size:13px;color:var(--sub);line-height:1.7;margin:0 0 12px;max-width:36em}
.sec .grid{margin-top:12px}
/* 「すべて見る」。一覧ページへの唯一の導線なので、本文リンク色で目立たせる */
.more{margin:14px 0 0;font-size:14px}
/* 🔴 タップ領域44px（2026-08-16 実測で14pxだったのを修正）。
   文字だけのリンクは行の高さ＝タップ領域になるので、inline-flex で高さを持たせる */
.more a{color:var(--link);text-decoration:underline;font-weight:600;
  display:inline-flex;align-items:center;min-height:44px}

/* 女優・ジャンルのチップ。名前そのものが情報なので、囲みは最小限にして
   文字を主役にする（カードにすると画像の無い女優が空箱に見える） */
.chips{display:flex;flex-wrap:wrap;gap:8px}
/* 🔴 チップは主要な回遊導線（トップに24個）。タップ領域を44px確保する
   （2026-08-13 実測で27pxだった。指で押しにくい） */
.chip{display:inline-flex;align-items:center;min-height:44px;
  border:1px solid var(--line);border-radius:999px;
  padding:0 16px;font-size:13.5px;line-height:1.2;background:#fff;color:var(--ink)}
.chip:hover{border-color:var(--link);color:var(--link)}
.chip:focus-visible{outline:2px solid var(--link);outline-offset:2px}

/* 再訪装置3つ（カレンダー・お気に入り・RSS）。
   これは競合が持っていない機能なので、リンクでなく「説明つきの入口」にする */
.entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.entry{display:block;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fff}
.entry:hover{border-color:var(--verified)}
.entry:focus-visible{outline:2px solid var(--verified);outline-offset:2px}
.entry-t{display:block;font-size:14.5px;font-weight:700;color:var(--verified);margin-bottom:5px}
.entry-d{display:block;font-size:12.5px;color:var(--sub);line-height:1.65}
@media(max-width:390px){
  .lead{font-size:13.5px}
  .chip{padding:6px 12px;font-size:13px}
}
/* ヘッダーのお気に入り件数（SUUMO型・2026-08-09）。
   🔴 0件のときはJS側で hidden にする。「0」と出すと、空であることを
      一等地でわざわざ知らせることになる（SUUMOも件数が無いと出さない）。 */
.fav-count{display:inline-block;min-width:17px;padding:1px 5px;margin-left:5px;
  border-radius:999px;background:var(--fanza);color:#fff;
  font-size:10.5px;font-weight:700;line-height:1.5;text-align:center;vertical-align:1px}
.fav-count[hidden]{display:none}

/* --- 女優一覧 /actress/（2026-08-14 新設） ---
   🔴 .grid（作品カード）を流用しない。役割が違う（ADR 0014）。
   ここは「名前から探す目次」なので、画像でなく名前を主役にした密なリストにする。
   221人規模でも縦に伸びすぎないよう、PCは複数列に流す。 */
.alist{list-style:none;margin:14px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 14px}
.alist-i{border-bottom:1px solid var(--line)}
/* 🔴 タップ領域44px（ナビが20pxだった実績があるので最初から確保する）*/
.alist-i a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:44px;padding:0 2px;color:var(--link);text-decoration:none}
.alist-i a:hover .alist-n{text-decoration:underline}
.alist-n{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
/* 件数は主役でないので弱める。数字は等幅で桁を揃える */
.alist-c{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums;
  flex:0 0 auto}
