/*
  paid-articles.css — 有料記事エリア(/premium/)専用スタイル。
  hp_pa_enqueue_assets() が該当ページでのみ読み込み、header-premium.php /
  footer-premium.php（サブスク本体から分離した専用チャンク）と対で使う。

  デザイン方針（採用案）:
    1a ダーク基調 / 情報密度型（既定）と 1b 白基調 / 明朝見出しの2テーマ。
    アクセントはティール/エメラルド一点。枠箱を多用せずヘアライン＋余白のフラット。
    価格・数値・日時は等幅(--font-mono)で解析・データ感。モバイル最優先・日本語UI。
  色は下の「デザイントークン」だけで切り替える。各コンポーネントは必ず変数を参照し、
  色をハードコードしない（変数が未定義の環境向けにフォールバック値も併記）。
*/

/* ═════════ デザイントークン（1a ダーク＝既定 / 1b ライト） ═════════
   切替は <html data-theme="dark|light">（header-premium.php 先頭のインラインスクリプトが
   localStorage['site-theme'] を読んで確定する）。ここでは「変数の値」だけを差し替える。

   ★既存変数名（--gold / --line-gold / --line-gold-hi / --text-main / --text-light /
     --bg-card-hi / --header-bg / --bg-body / --font-mono）は大量の既存セレクタが
     参照しているため、削除も改名もせず「値だけ」を新パレットへ差し替える。
     このファイルは style.css より後に読み込まれる（enqueue の依存＝takadora-style）ので、
     同じ詳細度の :root でも後勝ちで上書きできる。読み込むのは /premium 配下と
     /contributor・/contributor-invite だけなので、サイト本体の配色には影響しない。

   ★アクセントは「塗り用(--pa-accent)」と「文字用(--gold)」を分ける。
     白地にティール文字を置くと 3.4:1 まで落ちるため、文字用だけ暗いティールにする。
     ティール地には白ではなく濃色文字(--pa-accent-ink)を乗せる。 */
:root {
  /* 面・線・文字（1a ダーク基調 / 情報密度型） */
  --pa-bg: #0b1113;             /* 背景（ほぼ黒） */
  --pa-surface: #101a1d;        /* 面（トップバー・入力・カード面） */
  --pa-inset: #0a1012;          /* 沈める面（コード・トークン等の読み取り専用欄） */
  --pa-hairline: #1e2a2e;
  --pa-hairline-hi: #2e3e42;
  --pa-text: #e7eef0;
  --pa-muted: #8a9ba0;

  /* アクセント（ティール / エメラルド） */
  --pa-accent: #21c1a6;         /* 塗り・線・ドット */
  --pa-accent-hi: #3ad4b9;      /* 塗りのホバー */
  --pa-accent-text: #21c1a6;    /* 文字（背景に対して 4.5:1 以上） */
  --pa-accent-text-hi: #3ad4b9; /* 文字のホバー */
  --pa-accent-ink: #04120d;     /* ★ティール地に乗せる濃色文字（白文字は使わない） */
  --pa-accent-soft: rgba(33, 193, 166, 0.12);
  --pa-accent-line: rgba(33, 193, 166, 0.45);

  /* 状態色 */
  --pa-warn: #e0b341;                        /* 審査待ち */
  --pa-danger: #f87171;                      /* エラー・却下・削除 */
  --pa-star-off: rgba(255, 255, 255, 0.22);  /* 未選択の★ */

  /* 形（ボタン/入力=10px・ピル=999px・画像=10px） */
  --pa-radius: 10px;
  --pa-radius-pill: 999px;

  /* 書体。見出しはダーク＝ゴシック、ライト＝明朝（本文とUIラベルは常にゴシック） */
  --pa-font-head: var(--font-base, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif);

  /* ── 既存変数名の値の差し替え（名前は温存） ── */
  --bg-body: var(--pa-bg);
  --header-bg: var(--pa-surface);
  --bg-card-hi: var(--pa-surface);
  --text-main: var(--pa-text);
  --text-light: var(--pa-muted);
  --line-gold: var(--pa-hairline);
  --line-gold-hi: var(--pa-hairline-hi);
  --gold: var(--pa-accent-text);
  --gold-soft: var(--pa-accent-hi);
  --font-mono: "JetBrains Mono", monospace;

  /* 本文中の見出し(h2/h3/h4)などテーマ共通CSSが参照する色も、この配下では
     ティール系に寄せて金/マゼンタ/シアンの残り火を出さない。 */
  --primary-color: var(--pa-accent);
  --primary-gradient: linear-gradient(135deg, #10b981, #0f9d76);
  --accent-color: var(--pa-accent);
  --accent-hover: var(--pa-accent-hi);
  --magenta: var(--pa-accent);
  /* ★本文リンク色として site-layout.css の .entry-content a が参照する。
     半透明の罫線色を入れるとリンクとボタン文字が読めなくなるため、必ず「文字用」を割り当てる。 */
  --cyan: var(--pa-accent-text);
}

/* 1b 白基調 / 明朝見出し・読みやすさ優先。値だけを差し替える（構造は共通）。 */
:root[data-theme="light"] {
  --pa-bg: #ffffff;
  --pa-surface: #f0f3f2;
  --pa-inset: #f0f3f2;
  --pa-hairline: #e7ebea;
  --pa-hairline-hi: #c9d0ce;
  --pa-text: #14201f;
  --pa-muted: #6b7a78;

  /* 白地でのコントラスト確保のため、塗りは少し暗いティール、文字はさらに暗く */
  --pa-accent: #0e8c7a;
  --pa-accent-hi: #0b7466;
  --pa-accent-text: #0b7466;      /* 白地 5.3:1 / 面(#f7f8f8) 5.0:1 */
  --pa-accent-text-hi: #095c52;
  --pa-accent-ink: #04120d;       /* #0f9d76 地で 5.6:1 */
  --pa-accent-soft: rgba(14, 140, 122, 0.12);
  --pa-accent-line: rgba(14, 140, 122, 0.45);

  --pa-warn: #8a6a12;
  --pa-danger: #c02626;
  --pa-star-off: rgba(0, 0, 0, 0.22);

  /* ★見出しだけ明朝。本文・UIラベルはゴシックのまま。 */
  --pa-font-head: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;

  /* トップバー等は白（面と分けて、ヘアラインだけで境界を作る） */
  --header-bg: var(--pa-bg);

  /* ★ライトでは style.css の :root[data-theme="light"]（同じ詳細度）が既存名を
     金系で定義しているため、ここで必ず再定義して上書きする（このファイルは後に
     読み込まれるので後勝ちになる）。これが無いと /premium のヘアラインが金のまま残る。 */
  --bg-body: var(--pa-bg);
  --bg-card-hi: var(--pa-surface);
  --text-main: var(--pa-text);
  --text-light: var(--pa-muted);
  --line-gold: var(--pa-hairline);
  --line-gold-hi: var(--pa-hairline-hi);
  --gold: var(--pa-accent-text);
  --gold-soft: var(--pa-accent-hi);
  /* 本文リンク（.entry-content a）が読める色。半透明の罫線色を入れない。 */
  --cyan: var(--pa-accent-text);
  --primary-color: var(--pa-accent);
  --accent-color: var(--pa-accent);
  --accent-hover: var(--pa-accent-hi);
}

/* 見出しの書体（ライトのみ明朝になる。ダークでは --font-base＝ゴシック）。
   マークアップは変えず、既存の見出しクラスに書体だけを足す。 */
.pa-lead h1,
.pa-lead--hero h1,
.pa-article__title,
.pa-item__title,
.pa-gate__title,
.pa-me-title,
.pa-reviews__title,
.pa-review-form__title,
.pa-profile__name,
.pa-receipt__title,
.pa-contrib-subhead,
.pa-payout-hist-head,
.pa-terms__head,
.pa-content h2,
.pa-content h3 {
  font-family: var(--pa-font-head);
}

/* 記事本文の見出しはテーマ共通CSS(headings-typography.css)の金グラデ／マゼンタ罫が
   そのまま乗ってしまうので、この配下だけアクセント（ティール）に寄せる。
   ※ .pa-item__title 等の「見出しを素のテキストに戻す」既存指定より詳細度を上げないよう、
     .pa-content 配下（＝寄稿者が書いた本文）だけに限定する。 */
.pa-content h2 {
  background: linear-gradient(90deg, var(--pa-accent-soft, rgba(16, 185, 129, 0.12)) 0%, transparent 70%);
  border-left-color: var(--pa-accent, #10b981);
}
/* ★ライトでは headings-typography.css の `:root[data-theme="light"] h2`（詳細度 0,2,0・
   金グラデをハードコード）が、`.pa-item__title` 等の「見出しを素のテキストに戻す」指定
   （0,1,0）に勝ってしまい、一覧やマイページの見出しに金の帯が出る。
   まず /premium 配下の見出しを一旦まっさらにし、本文(.pa-content)だけ下で再指定する。 */
:root[data-theme="light"] .pa-wrap h2,
:root[data-theme="light"] .pa-drawer h2,
:root[data-theme="light"] .pa-receipt h2,
:root[data-theme="light"] .pa-wrap h3 {
  background: none;
  border-left: none;
  padding: 0;
}
:root[data-theme="light"] .pa-content h2 {
  background: linear-gradient(90deg, var(--pa-accent-soft, rgba(14, 140, 122, 0.12)) 0%, transparent 70%);
  /* 上のリセットで border/padding を落としているので、本文見出しだけ明示的に戻す */
  border-left: 5px solid var(--pa-accent, #0e8c7a);
  padding: 0.65rem 1.2rem;
}
.pa-content h3::before {
  background: var(--pa-accent, #10b981);
}
.pa-content h3 span {
  background: linear-gradient(transparent 65%, var(--pa-accent-soft, rgba(16, 185, 129, 0.12)) 65%);
}

/* ───────── 専用トップバー（☰ メニュー / サブスク｜有料記事 / 空スペーサー） ───────── */
.pa-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--header-bg, #121614);
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-topbar__inner {
  max-width: 680px;
  margin: 0 auto;
  min-height: 52px;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 0 8px;
}
.pa-topbar__side {
  display: block;
}
/* ※ .pa-topbar__search-btn は検索の常時表示化で廃止（テンプレートから出力しない）。 */
.pa-topbar__mine,
.pa-topbar__menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  color: var(--text-main, #e8ebe9);
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.pa-topbar__mine,
.pa-topbar__menu-btn {
  justify-self: start;
}
.pa-topbar__mine:hover,
.pa-topbar__menu-btn:hover {
  color: var(--gold, #10b981);
  background: var(--bg-card-hi, #121614);
}
.pa-topbar__mine:focus-visible,
.pa-topbar__menu-btn:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
}

/* サイト名（トップバー中央）。行き先は有料記事トップ。 */
.pa-topbar__brand {
  justify-self: center;
  min-width: 0;
  padding: 0 8px;
  font-family: var(--pa-font-head);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pa-topbar__brand:hover {
  color: var(--gold, #10b981);
}

/* ［有料記事｜サブスク］の大きめセグメント（検索バーの下・採用デザイン準拠）。
   従来トップバーにあった小さい .pa-switch の置き換え。リンク先は同一。 */
.pa-segment {
  display: flex;
  /* .pa-search の左右余白（12px）と揃える（外側にラッパを作らず margin で寄せる） */
  width: calc(100% - 24px);
  max-width: 680px;
  margin: 0 auto 10px;
  padding: 3px;
  border-radius: var(--pa-radius, 10px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-segment__item {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 7px;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.14s ease, background-color 0.14s ease;
}
.pa-segment__item:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-segment__item.is-on,
.pa-segment__item.is-on:hover {
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
  font-weight: 800;
}
.pa-segment__item:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
}

/* サブスク／有料記事の切替トグル（本体ヘッダーのトグルと同トーン・現在地=有料記事をアクセントで明示）
   ※トップバーからは撤去したが、他所から使われても壊れないよう定義は残す。 */
.pa-switch {
  justify-self: center;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-switch__seg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  color: var(--text-main, #e8ebe9);
}
.pa-switch__seg:hover {
  color: var(--gold, #10b981);
}
.pa-switch__seg.is-on,
.pa-switch__seg.is-on:hover {
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
}
/* 検索フォーム（★常時表示 / note のモバイルUI準拠の角丸ピル）。
   開閉ボタン(.pa-topbar__search-btn)と .is-search-open は廃止したので、
   クラスが無くてもそのまま見えている状態が既定。虫眼鏡はピルの中に重ねる。 */
.pa-search {
  max-width: 680px;
  margin: 0 auto;
  padding: 2px 12px 10px;
}
.pa-search__field {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 4px 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-search__field:focus-within {
  border-color: var(--pa-accent, #10b981);
}
.pa-search__icon {
  flex: 0 0 auto;
  color: var(--text-light, #9aa4a0);
}
.pa-search__field:focus-within .pa-search__icon {
  color: var(--gold, #10b981);
}
.pa-search__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--text-main, #e8ebe9);
  font-family: inherit;
  font-size: 16px; /* iOS のズーム回避 */
  line-height: 1.4;
  -webkit-appearance: none;
  appearance: none;
}
.pa-search__input::placeholder {
  color: var(--text-light, #9aa4a0);
  opacity: 1;
}
.pa-search__input:focus {
  outline: none;
}
/* Safari の検索クリア／装飾ボタンはピルの見た目を崩すので消す */
.pa-search__input::-webkit-search-cancel-button,
.pa-search__input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
/* 送信は Enter でも効く。タップ領域は44px確保 */
.pa-search__submit {
  flex: 0 0 auto;
  height: 44px;
  padding: 0 14px;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  /* ★塗り＋濃色文字にする。透明背景＋アクセント文字だと白地でコントラストが落ちるため、
     ティール地に濃色文字(--pa-accent-ink)を乗せる。 */
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
  font-family: inherit;
  font-weight: 700;
  font-size: 0.84rem;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.pa-search__submit:hover {
  filter: brightness(1.08);
}
.pa-search__submit:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
}

/* ───────── ハンバーガーメニュー（ドロワー） ─────────
   トップバー左の ☰ から開く導線の集約先（記事を探す／あなたのページ／サブスクへ戻る／法務）。
   ★JS無効時は hidden 属性が残ったまま＝display:none。画面にもタブ順にも出ない。
     開閉は JS が hidden を外したあと .is-open の付け外しだけで行う（出入りともアニメする）。 */
.pa-drawer[hidden],
.pa-drawer__backdrop[hidden] {
  display: none !important;
}

/* 背景（タップで閉じる） */
.pa-drawer__backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}
.pa-drawer__backdrop.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease;
}

/* 本体（左からスライド） */
.pa-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 61;
  /* ★WP管理バーがあるときはその下から始める（無いと「閉じる」ボタンがバーに隠れる）。
     モバイル(<=782px)はバー46px・デスクトップは32px。CSS変数で下の @media から上書きする。 */
  width: 84vw;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  background: var(--header-bg, #121614);
  border-right: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  box-shadow: 8px 0 32px rgba(0, 0, 0, 0.45);
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* WP管理バー分だけ下げる（管理者・編集者でドロワーの閉じるボタンが隠れないように） */
body.admin-bar .pa-drawer,
body.admin-bar .pa-drawer__backdrop {
  top: 46px;
}
@media screen and (min-width: 783px) {
  body.admin-bar .pa-drawer,
  body.admin-bar .pa-drawer__backdrop {
    top: 32px;
  }
}
.pa-drawer {
  /* （上の宣言の続き） */
  -webkit-overflow-scrolling: touch;
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform 0.22s ease, visibility 0s linear 0.22s;
}
.pa-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
  transition: transform 0.22s ease;
}
/* ドロワーを開いている間は背面をスクロールさせない */
body.pa-drawer-open {
  overflow: hidden;
}

.pa-drawer__inner {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  padding: 0 0 24px;
}

/* 見出し行（メニュー／閉じる×）。トップバーと同じ高さで揃える */
.pa-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 0 6px 0 18px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-drawer__brand {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--gold, #10b981);
}
.pa-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text-main, #e8ebe9);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pa-drawer__close:hover {
  color: var(--gold, #10b981);
  background: var(--bg-card-hi, #121614);
}

/* グループ見出し（記事を探す／あなたのページ） */
.pa-drawer__label {
  margin: 22px 0 2px;
  padding: 0 18px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--text-light, #9aa4a0);
}

/* 行（44px以上のタップ領域・ホバー/フォーカスでアクセントの左罫） */
.pa-drawer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pa-drawer__link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 6px 18px;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
}
.pa-drawer__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--pa-accent, #10b981);
  opacity: 0;
  transition: opacity 0.14s ease;
}
.pa-drawer__link:hover,
.pa-drawer__link:focus-visible {
  color: var(--gold, #10b981);
  background: var(--bg-card-hi, #121614);
  outline: none;
}
.pa-drawer__link:hover::before,
.pa-drawer__link:focus-visible::before {
  opacity: 1;
}

/* 末尾（サブスクへ戻る＋法務リンクは控えめに） */
.pa-drawer__foot {
  margin-top: auto;
  padding: 26px 18px 0;
}
.pa-drawer__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
}
.pa-drawer__back:hover {
  color: var(--gold, #10b981);
}
.pa-drawer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em 0.7em;
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  font-size: 0.72rem;
  line-height: 1.7;
}
.pa-drawer__legal a {
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
  white-space: nowrap;
}
.pa-drawer__legal a:hover {
  color: var(--text-main, #e8ebe9);
}

/* ───────── 本文ラッパ ───────── */
.pa-main {
  display: block;
}
.pa-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 18px 56px;
}

/* 絞り込み/検索の見出し（箱なし・中央寄せ） */
.pa-lead {
  text-align: center;
  padding: 26px 0 2px;
}
:root .pa-lead h1,
:root[data-theme="light"] .pa-lead h1 {
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 8px;
  background: none;
  border: none;
  padding: 0;
  color: var(--text-main, #e8ebe9);
}
.pa-lead p {
  font-size: 0.86rem;
  color: var(--text-light, #9aa4a0);
  line-height: 1.8;
  margin: 0 auto;
  max-width: 32em;
}

/* /premium トップ（絞り込み無し）だけに出す簡潔なヒーロー。
   .pa-lead を流用し、見出しの上に小さなラベルとアクセントのヘアラインを足すだけに留める。 */
.pa-lead--hero {
  padding: 30px 0 4px;
}
.pa-lead__eyebrow {
  display: block;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: var(--gold, #10b981);
  margin: 0 0 10px;
}
:root .pa-lead--hero h1,
:root[data-theme="light"] .pa-lead--hero h1 {
  font-size: 1.46rem;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}
/* 見出し下の短いアクセント罫（箱を作らずに“エリアの顔”を出す） */
.pa-lead--hero h1::after {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin: 11px auto 0;
  border-radius: 2px;
  background: var(--pa-accent, #10b981);
}

/* ───────── 並び替えタブ（新着 / 人気 / 機種別） ─────────
   ★採用デザイン準拠で「丸ピル」から「下線タブ」に変更した。
   選択中＝本文色＋2pxのアクセント下線、非選択＝薄い文字。行全体の下にヘアライン。
   マークアップ（<nav class="pa-tabs"><a class="pa-tab">）とリンク先は従来のまま。
   はみ出しは横スクロール（スクロールバーは隠し、指のスナップだけ効かせる）。 */
.pa-tabs {
  display: flex;
  gap: 20px;
  margin: 14px 0 2px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  overflow-x: auto;
  /* overflow-x:auto は overflow-y を auto に昇格させるため、明示的に hidden にして
     横スクロールだけ残す（縦スクロールバーを出さない）。 */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  scroll-padding-left: 2px;
}
.pa-tabs::-webkit-scrollbar {
  display: none;
}
.pa-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px; /* 指で押しやすいタップ領域（44px以上） */
  padding: 0;
  border: none;
  background: transparent;
  scroll-snap-align: start;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
  /* 下線は box-shadow で引く（border だと行全体のヘアラインと二重になる） */
  box-shadow: inset 0 -2px 0 transparent;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.14s ease, box-shadow 0.14s ease;
}
.pa-tab:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-tab:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
}
.pa-tab.is-on,
.pa-tab.is-on:hover {
  color: var(--text-main, #e8ebe9);
  font-weight: 800;
  box-shadow: inset 0 -2px 0 var(--pa-accent, #10b981);
}

/* 機種別タブの機種見出し */
.pa-group-head {
  margin: 24px 0 0;
  padding-bottom: 6px;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--gold, #10b981);
}
.pa-list > .pa-group-head:first-child {
  margin-top: 10px;
}
.pa-group-head + .pa-item {
  border-top: none;
}

/* ───────── 一覧（note風サムネ付きカード・行をヘアラインで区切る） ─────────
   カードといっても「箱」にはしない（背景も枠も付けない）。区切りは従来どおりヘアライン。
   構造: .pa-item > [.pa-card__media(任意)] + .pa-card__body
   ・アイキャッチが無い記事は .pa-card__media ごと出さない（白いプレースホルダを作らない）。
   ・481px以上 = サムネ左／テキスト右の横並び、480px以下 = サムネ上／テキスト下の縦積み。 */
.pa-list {
  margin-top: 4px;
}
/* 行（箱にしない＝区切りはヘアラインのまま）。
   情報の優先順位: タイトル ＞ 機種チップ＋著者＋日付 ＞ ★評価＋価格。
   ホバー/フォーカス時だけ、左右のガターにはみ出す薄い面で「押せる行」を示す。 */
.pa-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0 16px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-item:first-child {
  border-top: none;
}
.pa-item::before {
  content: "";
  position: absolute;
  top: 1px;
  right: -12px;
  bottom: 0;
  left: -12px;
  z-index: 0;
  border-radius: 10px;
  background: var(--bg-card-hi, #121614);
  opacity: 0;
  transition: opacity 0.16s ease;
  pointer-events: none;
}
.pa-item:hover::before,
.pa-item:focus-within::before {
  opacity: 1;
}
.pa-item > * {
  position: relative;
  z-index: 1;
}

/* サムネ（角丸・16:9で切り抜き）。無い記事ではこの要素自体を出力しない。
   タイトルリンクと行き先が同じなので支援技術からは隠す（alt="" / tabindex="-1"）。 */
.pa-card__media {
  flex: 0 0 auto;
  display: block;
  width: 148px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-card__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
/* テキスト列。min-width:0 が無いと長いタイトルで flex がはみ出す */
.pa-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

/* テーマの h2 見出しスタイル（グラデ背景・枠・パディング）を打ち消す */
.pa-item__title {
  font-size: 1.06rem;
  font-weight: 800;
  line-height: 1.55;
  margin: 0 0 9px;
  padding: 0;
  background: none;
  border: none;
  word-break: break-word;
}
/* タイトルは最大3行で省略（note と同じく行数を揃えて一覧のリズムを作る） */
.pa-item__title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
}
.pa-item__title a:hover {
  color: var(--gold, #10b981);
}
.pa-item__title a:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 3px;
  border-radius: 4px;
}
.pa-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-size: 0.79rem;
  color: var(--text-light, #9aa4a0);
}
/* 著者（頭文字の丸アイコン＋名前）。アイコンは装飾なので aria-hidden */
.pa-item__author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
}
.pa-item__author:hover {
  color: var(--gold, #10b981);
}
.pa-item__date {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  color: var(--text-light, #9aa4a0);
}
.pa-item__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 11px;
}
/* 価格・「読む →」は必ず右下に寄せる（★評価が無い行でも位置がぶれない） */
.pa-item__foot .pa-price,
.pa-item__foot .pa-item__read {
  margin-left: auto;
}

/* 機種チップ（アクセント枠のピル） */
.pa-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--pa-radius-pill, 999px);
  border: 1px solid var(--pa-accent-line, rgba(16, 185, 129, 0.42));
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--gold, #10b981);
  text-decoration: none;
  /* ★長い機種名でページ全体が横スクロールしないよう、はみ出す分は省略する
     （nowrap のままだと min-content 未満に縮まず 320px 幅で突き抜ける）。 */
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
}
.pa-chip:hover {
  background: var(--pa-accent-soft, rgba(16, 185, 129, 0.12));
}

/* 評価（★＋件数） */
.pa-rating {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  font-size: 0.82rem;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  color: var(--text-main, #e8ebe9);
}
.pa-rating--empty {
  min-height: 1px;
}
.pa-rating__star {
  color: var(--gold, #10b981);
  font-family: initial;
}
.pa-rating__count {
  color: var(--text-light, #9aa4a0);
}

/* 価格（¥ + 等幅）。一覧では右下の“決め手”なので少し大きく・字間を締める */
.pa-price {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-weight: 800;
  font-size: 1.08rem;
  letter-spacing: 0.01em;
  color: var(--text-main, #e8ebe9);
  white-space: nowrap;
}
.pa-item:hover .pa-price {
  color: var(--gold, #10b981);
}

/* 購入済みビューの「読む →」リンク */
.pa-item__read {
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--gold, #10b981);
  text-decoration: none;
  white-space: nowrap;
}
.pa-item__read:hover {
  color: var(--pa-accent-text-hi, #34d399);
}

.pa-empty {
  text-align: center;
  color: var(--text-light, #9aa4a0);
  padding: 48px 0;
}

/* ───────── ページネーション ───────── */
.pa-pagination {
  margin: 30px auto 0;
  text-align: center;
}
.pa-pagination .page-numbers {
  display: inline-block;
  padding: 6px 11px;
  margin: 0 2px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
}
.pa-pagination .page-numbers.current {
  color: var(--gold, #10b981);
  font-weight: 800;
}
.pa-pagination a.page-numbers:hover {
  color: var(--text-main, #e8ebe9);
}

/* ───────── 記事詳細 ───────── */
.pa-article {
  max-width: 680px;
  margin: 0 auto;
}
/* 一覧のカードとトーンを揃える（見出し周りの余白・チップの間隔・行間）。
   構造は変えない＝ペイウォール(.pa-gate)とレビューUIには一切触れない。 */
.pa-article__head {
  padding: 22px 0 4px;
}
.pa-article__head .pa-chip {
  margin-bottom: 11px;
}
:root .pa-article__title,
:root[data-theme="light"] .pa-article__title {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 14px;
  background: none;
  border: none;
  padding: 0;
  color: var(--text-main, #e8ebe9);
}
.pa-article__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font-size: 0.84rem;
  color: var(--text-light, #9aa4a0);
}
.pa-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--pa-accent-soft, rgba(16, 185, 129, 0.12));
  border: 1px solid var(--pa-accent-line, rgba(16, 185, 129, 0.42));
  color: var(--gold, #10b981);
  font-weight: 800;
  font-size: 0.82rem;
}
/* 一覧のメタ行に置く極小アバター（.pa-avatar の縮小版） */
.pa-avatar--xs {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  font-size: 0.66rem;
}
.pa-byline__name {
  color: var(--text-main, #e8ebe9);
  font-weight: 700;
  text-decoration: none;
}
.pa-byline__name:hover {
  color: var(--gold, #10b981);
}
.pa-byline__date {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
}

/* 本文 */
.pa-content {
  font-size: 0.94rem;
  line-height: 1.9;
  color: var(--text-main, #e8ebe9);
  margin-top: 22px;
}
.pa-content > *:first-child {
  margin-top: 0;
}

/* 通知（左アクセント罫のみ・塗り箱にしない） */
.pa-notice {
  border-left: 3px solid var(--pa-accent, #10b981);
  padding: 2px 0 2px 14px;
  margin: 0 0 18px;
  font-size: 0.85rem;
  line-height: 1.8;
  color: var(--text-main, #e8ebe9);
}
.pa-notice--error {
  border-left-color: var(--pa-danger, #f87171);
}
.pa-notice code {
  background: var(--bg-card-hi, #121614);
  border-radius: 4px;
  padding: 1px 5px;
}

/* ───────── ペイウォール（枠・角ブラケットなし。ヘアライン＋中央CTA） ───────── */
.pa-gate {
  margin-top: 12px;
  padding-top: 34px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  text-align: center;
}
.pa-gate__eyebrow {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--gold, #10b981);
  margin: 0 0 10px;
}
.pa-gate__title {
  font-size: 1.16rem;
  font-weight: 800;
  color: var(--text-main, #e8ebe9);
  line-height: 1.5;
  margin: 0 0 10px;
  padding: 0;
  background: none;
  border: none;
}
.pa-gate__title .accent {
  color: var(--gold, #10b981);
}
.pa-gate__desc {
  font-size: 0.86rem;
  line-height: 1.9;
  color: var(--text-light, #9aa4a0);
  margin: 0 auto 18px;
  max-width: 26em;
}
.pa-gate__price {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-weight: 700;
  color: var(--text-main, #e8ebe9);
}
.pa-gate__note {
  font-size: 0.76rem;
  color: var(--text-light, #9aa4a0);
  margin: 12px 0 0;
}
/* メンバーシップ開放の記事で出す会員導線（購入ボタンの上） */
.pa-gate__member {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--pa-accent-line, rgba(33, 193, 166, 0.45));
  border-radius: var(--pa-radius, 10px);
  background: var(--pa-accent-soft, rgba(33, 193, 166, 0.12));
  font-size: 0.8rem;
  line-height: 1.8;
  color: var(--text-main, #e8ebe9);
}
.pa-gate__memberlink {
  display: inline-block;
  margin-top: 4px;
  color: var(--pa-accent-text, #21c1a6);
  font-weight: 700;
}

/* ボタン */
/* ★ボタンの文字色を本文リンクのルールに奪われないようにする。
   site-layout.css の `.entry-content a`（詳細度 0,1,1）が `.pa-btn`（0,1,0）に勝つため、
   ペイウォールのCTA（.entry-content 内の a.pa-btn）がティール地にティール文字になって
   ラベルが消えていた。同等以上の詳細度で必ず濃色文字にする。 */
.entry-content a.pa-btn,
.pa-content a.pa-btn,
a.pa-btn {
  color: var(--pa-accent-ink);
}
.entry-content a.pa-btn:hover,
.pa-content a.pa-btn:hover,
a.pa-btn:hover {
  color: var(--pa-accent-ink);
}
.pa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 240px;
  padding: 13px 24px;
  border-radius: var(--pa-radius, 10px);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
  border: none;
}
.pa-btn:hover {
  filter: brightness(1.08);
  color: var(--pa-accent-ink, #04120d);
}
.pa-buy-form {
  margin: 0;
}

/* ───────── 専用フッター ───────── */
.pa-foot {
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  margin-top: 20px;
}
.pa-foot__inner {
  max-width: 680px;
  margin: 0 auto;
  padding: 22px 18px 34px;
  text-align: center;
}
.pa-foot__home {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
}
.pa-foot__home:hover {
  color: var(--gold, #10b981);
}
.pa-foot__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.3em 0.55em;
  margin: 16px auto 8px;
  font-size: 0.78rem;
  line-height: 1.6;
}
.pa-foot__legal a {
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
  white-space: nowrap;
}
.pa-foot__legal a:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-foot__legal span {
  opacity: 0.4;
}
.pa-foot__copy {
  font-size: 0.76rem;
  color: var(--text-light, #9aa4a0);
  margin: 6px 0 0;
}

/* ───────── レビュー（★評価＋コメント / T1） ───────── */
.pa-reviews {
  margin-top: 36px;
  padding-top: 26px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-reviews__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
:root .pa-reviews__title,
:root[data-theme="light"] .pa-reviews__title {
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-main, #e8ebe9);
}
.pa-reviews__empty {
  color: var(--text-light, #9aa4a0);
  font-size: 0.86rem;
  line-height: 1.8;
  padding: 14px 0;
}

/* 承認済みレビュー一覧（サムネなし・行をヘアラインで区切る） */
.pa-review-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
.pa-review {
  padding: 16px 0 15px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-review-list > .pa-review:first-child {
  border-top: none;
}
.pa-review__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 7px;
}
.pa-review__stars {
  color: var(--gold, #10b981);
  font-size: 0.94rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.pa-review__date {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.78rem;
  color: var(--text-light, #9aa4a0);
}
.pa-review__body {
  font-size: 0.9rem;
  line-height: 1.85;
  color: var(--text-main, #e8ebe9);
  margin: 0;
}

/* 投稿フォーム */
.pa-review-form {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
:root .pa-review-form__title,
:root[data-theme="light"] .pa-review-form__title {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 12px;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-main, #e8ebe9);
}
.pa-review-form__pending {
  border-left: 3px solid var(--pa-accent, #10b981);
  padding: 2px 0 2px 12px;
  margin: 0 0 14px;
  font-size: 0.8rem;
  line-height: 1.7;
  color: var(--text-light, #9aa4a0);
}

/* CSSのみの★セレクタ（radio を隠して label ★ をアクセントにする）。
   DOM は 5→1 の逆順で置き、row-reverse で 1〜5 を左→右に見せる。
   input:checked ~ label は「後続の同値以下の★」をアクセントにする。 */
.pa-star-select {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 2px;
  margin-bottom: 14px;
}
.pa-star-select input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.pa-star-select label {
  cursor: pointer;
  font-size: 1.7rem;
  line-height: 1;
  padding: 0 2px;
  color: var(--pa-star-off, rgba(255, 255, 255, 0.22));
  transition: color 0.12s ease;
}
.pa-star-select input:checked ~ label {
  color: var(--gold, #10b981);
}
/* ホバー中は checked の着色を一旦戻し、ホバー位置以下をアクセントにしてプレビューする */
.pa-star-select:hover input:checked ~ label {
  color: var(--pa-star-off, rgba(255, 255, 255, 0.22));
}
.pa-star-select label:hover,
.pa-star-select label:hover ~ label {
  color: var(--gold, #10b981);
}
.pa-star-select input:focus-visible + label {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
  border-radius: 3px;
}
.pa-review-form textarea,
.pa-review-form__body {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 96px;
  padding: 12px 14px;
  border-radius: var(--pa-radius, 10px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
  color: var(--text-main, #e8ebe9);
  font-size: 0.9rem;
  line-height: 1.8;
  font-family: inherit;
  resize: vertical;
  margin-bottom: 14px;
}
.pa-review-form textarea:focus,
.pa-review-form__body:focus {
  outline: none;
  border-color: var(--pa-accent, #10b981);
}

/* ───────── 寄稿者プロフィール（/premium/?pa_author=） ───────── */
.pa-profile {
  padding: 26px 0 4px;
  text-align: center;
}
.pa-profile__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
/* プロフィールのアバターは byline より一回り大きく（頭文字を強調） */
.pa-profile .pa-avatar {
  width: 56px;
  height: 56px;
  font-size: 1.4rem;
}
:root .pa-profile__name,
:root[data-theme="light"] .pa-profile__name {
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-main, #e8ebe9);
}
.pa-profile__bio {
  font-size: 0.86rem;
  line-height: 1.85;
  color: var(--text-light, #9aa4a0);
  margin: 12px auto 0;
  max-width: 34em;
  text-align: left;
}
.pa-profile__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 10px 28px;
  margin-top: 18px;
}
.pa-profile__stat {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.pa-profile__num {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-weight: 800;
  font-size: 1.16rem;
  color: var(--text-main, #e8ebe9);
  white-space: nowrap;
}
.pa-profile__star {
  color: var(--gold, #10b981);
  font-family: initial;
}
.pa-profile__label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--text-light, #9aa4a0);
}

/* ───────── 寄稿者ダッシュボード（/contributor/ ・2b） ───────── */
/* セクション見出し（レビュー見出しと同トーン・箱なし） */
:root .pa-contrib-subhead,
:root[data-theme="light"] .pa-contrib-subhead {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 34px 0 4px;
  padding: 0 0 6px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  color: var(--text-main, #e8ebe9);
}

/* 自分の記事一覧（サムネなし・行をヘアラインで区切る） */
.pa-contrib-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.pa-contrib-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 0 14px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-contrib-list > .pa-contrib-item:first-child {
  border-top: none;
}
.pa-contrib-item__main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  min-width: 0;
}
.pa-contrib-item__title {
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
  word-break: break-word;
}
a.pa-contrib-item__title:hover {
  color: var(--gold, #10b981);
}
.pa-contrib-item__meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 状態バッジ（公開中=ティール塗り／審査待ち=枠のみ＋警告色／下書き=くすみ） */
.pa-status {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.5;
  white-space: nowrap;
}
.pa-status--publish {
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
}
.pa-status--pending {
  border: 1px solid var(--line-gold-hi, rgba(255, 255, 255, 0.18));
  color: var(--pa-warn, #e0b341);
}
.pa-status--draft {
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  color: var(--text-light, #9aa4a0);
}

/* 投稿フォーム */
.pa-contrib-form {
  margin-top: 8px;
}
.pa-contrib-field {
  margin-bottom: 18px;
}
.pa-contrib-label {
  display: block;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--text-main, #e8ebe9);
  margin-bottom: 7px;
}
.pa-contrib-req {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--gold, #10b981);
  margin-left: 4px;
}
.pa-contrib-opt {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  margin-left: 4px;
}
.pa-contrib-input,
.pa-contrib-textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: var(--pa-radius, 10px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
  color: var(--text-main, #e8ebe9);
  font-size: 16px; /* iOS のズーム回避 */
  line-height: 1.8;
  font-family: inherit;
}
.pa-contrib-textarea {
  min-height: 120px;
  resize: vertical;
}
.pa-contrib-input:focus,
.pa-contrib-textarea:focus {
  outline: none;
  border-color: var(--pa-accent, #10b981);
}
.pa-contrib-hint {
  font-size: 0.76rem;
  color: var(--text-light, #9aa4a0);
  line-height: 1.7;
  margin: 7px 0 0;
}

/* ───────── API連携（/contributor/ ・2c） ───────── */
.pa-api {
  margin-top: 8px;
}
/* 小さめボタン（トークン発行/再発行）。既定の .pa-btn を上書きして幅を詰める */
.pa-btn--sm {
  min-width: 0;
  padding: 10px 20px;
  font-size: 0.86rem;
}

/* 発行直後の平文トークン表示（一度きり） */
.pa-api-token {
  margin: 14px 0 4px;
  padding: 14px;
  border: 1px solid var(--pa-accent-line, rgba(16, 185, 129, 0.42));
  border-radius: var(--pa-radius, 10px);
  background: var(--bg-card-hi, #121614);
}
.pa-api-token__label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--gold, #10b981);
  margin: 0 0 8px;
}
.pa-api-token__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--pa-inset, #090b0a);
  color: var(--text-main, #e8ebe9);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
}
.pa-api-token__input:focus {
  outline: none;
  border-color: var(--pa-accent, #10b981);
}

/* 状態表示 */
.pa-api-status {
  font-size: 0.86rem;
  color: var(--text-light, #9aa4a0);
  margin: 16px 0 4px;
}
.pa-api-status__on {
  color: var(--gold, #10b981);
}
.pa-api-status__off {
  color: var(--text-light, #9aa4a0);
}

/* エンドポイントURL */
.pa-api-endpoint__label {
  font-size: 0.76rem;
  color: var(--text-light, #9aa4a0);
  margin: 12px 0 6px;
}
.pa-api-endpoint {
  display: block;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
  color: var(--text-main, #e8ebe9);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.82rem;
  word-break: break-all;
}

/* curl の例（折りたたみ） */
.pa-api-example {
  margin-top: 14px;
}
.pa-api-example__summary {
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
}
.pa-api-example__summary:hover {
  color: var(--gold, #10b981);
}
.pa-api-pre {
  margin: 10px 0 0;
  padding: 14px;
  border-radius: var(--pa-radius, 10px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--pa-inset, #090b0a);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pa-api-pre code {
  display: block;
  color: var(--text-main, #e8ebe9);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.78rem;
  line-height: 1.7;
  white-space: pre;
}

/* 発行フォーム */
.pa-api-form {
  margin-top: 16px;
}

/* ───────── 売上・振込（/contributor/ ・Phase 3） ───────── */
.pa-payout {
  margin-top: 8px;
}

/* 残高／累計売上／支払済のサマリ（箱なし・数値は等幅で解析感） */
.pa-payout-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 32px;
  margin: 10px 0 4px;
  padding: 4px 0 2px;
}
.pa-payout-stat {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
}
.pa-payout-stat__num {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-weight: 800;
  font-size: 1.16rem;
  color: var(--text-main, #e8ebe9);
  white-space: nowrap;
}
.pa-payout-stat__label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--text-light, #9aa4a0);
}
/* 未振込残高は主役なのでアクセントで強調 */
.pa-payout-stat--balance .pa-payout-stat__num {
  color: var(--gold, #10b981);
  font-size: 1.34rem;
}

/* 依頼フォーム */
.pa-payout-form {
  margin-top: 16px;
}
.pa-payout-form .pa-btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  filter: none;
}
.pa-payout-reason {
  font-size: 0.8rem;
  line-height: 1.7;
  color: var(--text-light, #9aa4a0);
  margin: 10px 0 0;
}

/* 振込履歴 */
:root .pa-payout-hist-head,
:root[data-theme="light"] .pa-payout-hist-head {
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 26px 0 2px;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-main, #e8ebe9);
}
.pa-payout-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.pa-payout-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 0 12px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-payout-list > .pa-payout-item:first-child {
  border-top: none;
}
.pa-payout-item__amount {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--text-main, #e8ebe9);
  white-space: nowrap;
  margin-left: auto;
}
.pa-payout-item__date {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.78rem;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
}
/* 状態バッジ（申請中=枠のみ＋警告色／振込済み=ティール塗り／却下=くすみ） */
.pa-payout-item__status {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.5;
  white-space: nowrap;
}
.pa-payout-item__status--requested {
  border: 1px solid var(--line-gold-hi, rgba(255, 255, 255, 0.18));
  color: var(--pa-warn, #e0b341);
}
.pa-payout-item__status--paid {
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
}
.pa-payout-item__status--rejected {
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  color: var(--text-light, #9aa4a0);
}

/* ───────── アイキャッチ画像（記事詳細・角丸レスポンシブ） ─────────
   角丸/ヘアラインは一覧カードのサムネ(.pa-card__media)と同じトーンで揃える。 */
.pa-article__thumb {
  margin: 20px 0 0;
  border-radius: var(--pa-radius, 10px);
  overflow: hidden;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-article__thumb img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* 投稿フォームのファイル入力（アイキャッチ・.pa-contrib-* と調和） */
.pa-contrib-file {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 11px 14px;
  border-radius: var(--pa-radius, 10px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
  color: var(--text-main, #e8ebe9);
  font-size: 0.86rem;
  line-height: 1.6;
  font-family: inherit;
  cursor: pointer;
}
.pa-contrib-file:focus {
  outline: none;
  border-color: var(--pa-accent, #10b981);
}
.pa-contrib-file::file-selector-button {
  margin-right: 12px;
  padding: 7px 14px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.82rem;
  font-family: inherit;
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
}
.pa-contrib-file::file-selector-button:hover {
  filter: brightness(1.08);
}

/* ───────── 本文用画像（アップロード＋ギャラリー / インライン画像） ───────── */
.pa-bodyimg {
  margin-top: 8px;
}
.pa-bodyimg-form {
  margin-top: 8px;
}
/* サムネのグリッド（自動折返し・モバイル最優先） */
.pa-bodyimg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 16px;
  margin-top: 12px;
}
.pa-bodyimg-item {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
/* サムネ枠（アイキャッチと同トーンの角丸＋ヘアライン） */
.pa-bodyimg-thumb {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
  aspect-ratio: 4 / 3;
}
.pa-bodyimg-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
/* スニペット/URL のコピー欄（読み取り専用・等幅・タップで全選択） */
.pa-bodyimg-cap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.pa-bodyimg-cap__label {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  letter-spacing: 0.02em;
}
.pa-bodyimg-snippet {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--pa-inset, #090b0a);
  color: var(--text-main, #e8ebe9);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.74rem;
  line-height: 1.5;
}
.pa-bodyimg-snippet:focus {
  outline: none;
  border-color: var(--pa-accent, #10b981);
}
.pa-bodyimg-snippet--url {
  color: var(--text-light, #9aa4a0);
}

/* ───────── 寄稿者規約（受諾ページ／規約表示） ───────── */
.pa-terms {
  margin: 18px 0 8px;
  padding: 20px 18px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  border-radius: var(--pa-radius, 10px);
  background: var(--bg-card-hi, #121614);
  /* 規約は長いので受諾ページ内でスクロールできるようにする（本文全体は縦に伸びない） */
  max-height: 46vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
:root .pa-terms__head,
:root[data-theme="light"] .pa-terms__head {
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.5;
  margin: 18px 0 5px;
  padding: 0;
  background: none;
  border: none;
  color: var(--gold, #10b981);
}
.pa-terms__head:first-child {
  margin-top: 0;
}
.pa-terms__body {
  font-size: 0.86rem;
  line-height: 1.9;
  color: var(--text-main, #e8ebe9);
  margin: 0;
}

/* ───────── 招待受諾フォーム ───────── */
.pa-invite-form {
  margin-top: 20px;
}
/* 同意チェック（規約の直下・タップしやすい行） */
.pa-invite-agree {
  margin: 8px 0 20px;
  padding: 14px;
  border: 1px solid var(--pa-accent-line, rgba(16, 185, 129, 0.42));
  border-radius: var(--pa-radius, 10px);
  background: var(--bg-card-hi, #121614);
}
.pa-invite-agree__label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--text-main, #e8ebe9);
}
.pa-invite-agree__label input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--pa-accent, #10b981);
}
.pa-invite-agree__label strong {
  color: var(--gold, #10b981);
}

/* ダッシュボードから規約へ飛ぶ内部リンク */
.pa-terms-link {
  margin: 34px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  text-align: center;
  font-size: 0.82rem;
}
.pa-terms-link a {
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
}
.pa-terms-link a:hover {
  color: var(--gold, #10b981);
}

/* ───────── ダッシュボード: ビュー切替ナビ（記事管理/記事を書く/売上） ───────── */
.pa-dash-nav {
  display: flex;
  gap: 4px;
  margin: 18px 0 6px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.pa-dash-nav__link {
  flex: 0 0 auto;
  position: relative;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 11px 14px 12px;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
}
.pa-dash-nav__link:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-dash-nav__link.is-on {
  color: var(--gold, #10b981);
}
.pa-dash-nav__link.is-on::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 2px;
  background: var(--pa-accent, #10b981);
  border-radius: 2px;
}

/* ───────── 記事管理: フィルタ＋新規作成 ───────── */
.pa-articles-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 6px;
}
.pa-status-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pa-status-filter__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  border-radius: 999px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
}
.pa-status-filter__pill:hover {
  color: var(--text-main, #e8ebe9);
  border-color: var(--line-gold-hi, rgba(255, 255, 255, 0.18));
}
.pa-status-filter__pill.is-on {
  background: var(--pa-accent, #10b981);
  border-color: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
}
.pa-status-filter__n {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.76rem;
  opacity: 0.85;
}
.pa-dash-new {
  flex: 0 0 auto;
}

/* ───────── 記事管理: 行（状態ドット＋抜粋＋操作） ───────── */
/* 抜粋/シャドー注記で本文列が複数行になるため、行は上揃えにする */
.pa-contrib-list .pa-contrib-item {
  align-items: flex-start;
}
/* 一覧行を「本文列（lead）」と「メタ/操作列（side）」の2カラムにする */
.pa-contrib-item__lead {
  min-width: 0;
  flex: 1 1 auto;
}
.pa-contrib-item__side {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
/* 状態ドット（ティール=公開中／警告色=審査待ち／灰=下書き） */
.pa-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--text-light, #9aa4a0);
}
.pa-dot--publish {
  background: var(--pa-accent, #10b981);
}
.pa-dot--pending {
  background: var(--pa-warn, #e0b341);
}
.pa-dot--draft {
  background: var(--text-light, #9aa4a0);
  opacity: 0.55;
}
/* 状態ラベル（メタ列の小さな文字） */
.pa-dot-label {
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
}
.pa-dot-label--publish {
  color: var(--gold, #10b981);
}
.pa-dot-label--pending {
  color: var(--pa-warn, #e0b341);
}
.pa-dot-label--draft {
  color: var(--text-light, #9aa4a0);
}
/* 下書き/審査待ちの本文抜粋 */
.pa-contrib-item__excerpt {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--text-light, #9aa4a0);
  margin: 7px 0 0;
  padding-left: 17px; /* ドット幅ぶんインデントして本文と揃える */
}
/* シャドー下書きの注記（公開中記事の下にアクセントの左罫で目立たせる） */
.pa-shadow-note {
  font-size: 0.78rem;
  line-height: 1.7;
  color: var(--text-main, #e8ebe9);
  margin: 8px 0 0 17px;
  padding: 4px 0 4px 12px;
  border-left: 3px solid var(--pa-accent, #10b981);
}
.pa-shadow-note a {
  color: var(--gold, #10b981);
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.pa-shadow-note a:hover {
  color: var(--pa-accent-text-hi, #34d399);
}
/* 行内の操作リンク（編集/表示/編集を再開/削除） */
.pa-contrib-item__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
}
.pa-contrib-item__actions a {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--gold, #10b981);
  text-decoration: none;
}
.pa-contrib-item__actions a:hover {
  color: var(--pa-accent-text-hi, #34d399);
}
.pa-inline-del {
  display: inline;
  margin: 0;
}
/* リンク風ボタン（削除など・aタグと同じ見た目でフォーム送信） */
.pa-linkbtn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 700;
  font-family: inherit;
  color: var(--text-light, #9aa4a0);
}
.pa-linkbtn:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-linkbtn--danger {
  color: var(--pa-danger, #f87171);
}
.pa-linkbtn--danger:hover {
  color: var(--pa-danger, #f87171);
  text-decoration: underline;
}

/* ───────── 記事を書く: 2ボタン（下書き保存/公開） ───────── */
.pa-write-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}
.pa-write-actions .pa-btn {
  min-width: 0;
  flex: 1 1 auto;
}
/* ゴーストボタン（下書き保存＝主張控えめ・アクセントの枠線） */
.pa-btn--ghost {
  background: transparent;
  color: var(--gold, #10b981);
  border: 1px solid var(--pa-accent-line, rgba(16, 185, 129, 0.42));
}
.pa-btn--ghost:hover {
  background: var(--pa-accent-soft, rgba(16, 185, 129, 0.12));
  color: var(--gold, #10b981);
  filter: none;
}

/* ───────── 売上: 記事別の成績テーブル ───────── */
.pa-sales-scroll {
  margin-top: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pa-sales-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.pa-sales-table th,
.pa-sales-table td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  text-align: right;
  white-space: nowrap;
  color: var(--text-main, #e8ebe9);
}
.pa-sales-table thead th {
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  border-bottom-color: var(--line-gold-hi, rgba(255, 255, 255, 0.18));
}
.pa-sales-table__th-title,
.pa-sales-table__title {
  text-align: left;
  white-space: normal;
  min-width: 10em;
}
.pa-sales-table__title a {
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
  font-weight: 700;
}
.pa-sales-table__title a:hover {
  color: var(--gold, #10b981);
}
.pa-sales-table__num {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
}
.pa-sales-table tfoot td {
  font-weight: 800;
  border-top: 1px solid var(--line-gold-hi, rgba(255, 255, 255, 0.18));
  border-bottom: none;
  color: var(--text-main, #e8ebe9);
}

/* ───────── 購入者マイページ（/premium/?pa_me=1） ─────────
   カード（箱）は使わず、セクション見出しのヘアラインと余白だけで区切るフラット構成。
   .pa-contrib-* / .pa-sales-table / .pa-item と同じトーン（アクセント一点・数値は等幅）。 */
.pa-me-sec {
  margin-top: 8px;
}
/* セクション見出し行（左=見出し / 右=件数・ペンネーム）。下線1本だけで区切る */
.pa-me-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 30px 0 2px;
  padding: 0 0 6px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
/* テーマ側の h2 装飾（背景・枠）を打ち消して見出しを素のテキストに戻す */
:root .pa-me-title,
:root[data-theme="light"] .pa-me-title {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-main, #e8ebe9);
}
.pa-me-count {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  white-space: nowrap;
}
.pa-me-empty {
  font-size: 0.86rem;
  line-height: 1.9;
  color: var(--text-light, #9aa4a0);
  margin: 16px 0 0;
}

/* 行リスト（購入した記事 / 投稿したレビュー）。行間をヘアラインで区切る */
.pa-me-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.pa-me-item {
  padding: 14px 0 13px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-me-list > .pa-me-item:first-child {
  border-top: none;
}
.pa-me-item__title {
  display: block;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.55;
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
  word-break: break-word;
}
a.pa-me-item__title:hover {
  color: var(--gold, #10b981);
}
.pa-me-item__title--gone {
  color: var(--text-light, #9aa4a0);
  font-weight: 500;
}
.pa-me-item__foot {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 6px;
}
.pa-me-item__date {
  font-size: 0.76rem;
  color: var(--text-light, #9aa4a0);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  white-space: nowrap;
}
.pa-me-item__foot .pa-item__read {
  margin-left: auto;
}
.pa-me-more {
  margin: 14px 0 0;
  text-align: right;
}
.pa-me-more a {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--gold, #10b981);
  text-decoration: none;
}
.pa-me-more a:hover {
  color: var(--pa-accent-text-hi, #34d399);
}

/* 購入履歴テーブル（.pa-sales-table を流用し、注文番号だけ小さく等幅で） */
.pa-me-table .pa-me-order {
  font-size: 0.74rem;
  color: var(--text-light, #9aa4a0);
  letter-spacing: 0.02em;
}

/* レビュー行の★と状態バッジ */
.pa-me-rating {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-main, #e8ebe9);
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  white-space: nowrap;
}
.pa-me-status {
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
}
.pa-me-status--approved {
  color: var(--gold, #10b981);
  border-color: var(--pa-accent-line, rgba(16, 185, 129, 0.42));
}
.pa-me-status--rejected {
  color: var(--pa-danger, #f87171);
  border-color: var(--pa-danger, #f87171);
}

/* 寄稿者導線のボタン行 */
.pa-me-actions {
  margin: 16px 0 0;
}

/* 末尾の控えめなリンク列 */
.pa-me-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.3em 0.6em;
  margin: 40px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  font-size: 0.8rem;
}
.pa-me-links a {
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
  white-space: nowrap;
}
.pa-me-links a:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-me-links span {
  opacity: 0.4;
}

/* ───────── マイページ: 表示テーマ（ダーク／ライト）のセグメント切替 ─────────
   保存先は localStorage['site-theme']、反映は <html data-theme>（header-premium.php の
   FOUC防止スクリプトが読むのと同じ場所）。押した瞬間に切り替わり、再読込は要らない。
   選択中＝ティール塗り＋濃色文字。タップ領域は44px以上。 */
.pa-theme {
  display: inline-flex;
  gap: 4px;
  margin: 14px 0 0;
  padding: 4px;
  border-radius: var(--pa-radius-pill, 999px);
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-theme__seg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 96px;
  min-height: 44px;
  padding: 0 18px;
  border: none;
  border-radius: var(--pa-radius-pill, 999px);
  background: transparent;
  color: var(--text-light, #9aa4a0);
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.14s ease, background-color 0.14s ease;
}
.pa-theme__seg:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-theme__seg:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
}
.pa-theme__seg.is-on,
.pa-theme__seg.is-on:hover {
  background: var(--pa-accent, #10b981);
  color: var(--pa-accent-ink, #04120d);
  font-weight: 800;
}
.pa-theme__note {
  font-size: 0.78rem;
  line-height: 1.8;
  color: var(--text-light, #9aa4a0);
  margin: 10px 0 0;
}

/* トップバー左の未ログイン時リンク（アイコン枠と同じ位置・同じ高さ）。
   ★導線をドロワーへ集約したため現在テンプレートからは出力していない（後方互換で残置）。 */
.pa-topbar__login {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 2px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
  white-space: nowrap;
}
.pa-topbar__login:hover {
  color: var(--gold, #10b981);
}

/* フッターの自分用ページ導線（法務リンクより一段ひかえめ） */
.pa-foot__me {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.3em 0.55em;
  margin: 18px auto 0;
  font-size: 0.78rem;
  line-height: 1.6;
}
.pa-foot__me a {
  color: var(--text-light, #9aa4a0);
  text-decoration: none;
  white-space: nowrap;
}
.pa-foot__me a:hover {
  color: var(--gold, #10b981);
}
.pa-foot__me span {
  opacity: 0.4;
}

@media (max-width: 480px) {
  .pa-btn {
    min-width: 0;
    width: 100%;
  }
  /* 記事管理の行は縦積み（本文列→メタ/操作列）。操作は左寄せに戻す */
  .pa-contrib-item__side {
    align-items: flex-start;
    width: 100%;
  }
  .pa-articles-head {
    align-items: stretch;
  }
  .pa-dash-new {
    width: 100%;
    text-align: center;
  }
  /* 本文用画像グリッドはモバイルで2列に */
  .pa-bodyimg-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  :root .pa-article__title,
  :root[data-theme="light"] .pa-article__title {
    font-size: 1.34rem;
  }
  .pa-profile__stats {
    gap: 10px 20px;
  }
  /* 記事一覧の行を縦積みにして価格/日付を左寄せに */
  .pa-contrib-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }
  .pa-contrib-item__meta {
    gap: 10px;
  }
  /* マイページ: 寄稿者導線のボタンは全幅（.pa-btn の幅100%に合わせる） */
  .pa-me-actions .pa-btn {
    width: 100%;
    text-align: center;
  }
  /* マイページ: 「読む →」は右端固定のままだと窮屈なので折り返し時は左寄せ */
  .pa-me-item__foot {
    gap: 6px 10px;
  }
  /* マイページ: 表示テーマの切替は横幅いっぱい（2分割） */
  .pa-theme {
    display: flex;
    width: 100%;
  }
  .pa-theme__seg {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 10px;
  }

  /* ───── /premium 一覧のモバイル調整（320〜480px で破綻させない） ───── */
  .pa-wrap {
    padding: 0 14px 48px;
  }
  /* ホバー面のはみ出しは .pa-wrap の余白（14px）に収める */
  .pa-item::before {
    right: -10px;
    left: -10px;
  }
  /* 1件目の大カードは縦積み（サムネ上 → テキスト下）。サムネは横幅いっぱい。
     2件目以降(.pa-item--row)は狭い画面でも「テキスト左 / 小サムネ右」を保つ
     （採用デザイン 2a-01・2b-01 と同じ形）。 */
  .pa-item {
    flex-direction: column;
    align-items: stretch;
    gap: 11px;
    padding: 16px 0 15px;
  }
  .pa-item--row {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
  }
  .pa-card__media {
    width: 100%;
  }
  .pa-item--row > .pa-card__media {
    width: 76px;
  }
  .pa-item__title {
    font-size: 1.01rem;
    line-height: 1.6;
  }
  .pa-item--row .pa-item__title {
    font-size: 0.94rem;
  }
  .pa-item__meta {
    font-size: 0.76rem;
    gap: 5px 9px;
  }
  .pa-item__foot {
    margin-top: 10px;
  }
  .pa-price {
    font-size: 1.04rem;
  }
  .pa-item--row .pa-price {
    font-size: 0.94rem;
  }
  .pa-tabs {
    margin-top: 12px;
    gap: 18px;
  }
  .pa-tab {
    padding: 0;
    font-size: 0.86rem;
  }
  /* 検索ピルは画面端まで詰めすぎない（.pa-wrap の14pxと揃える） */
  .pa-search {
    padding: 2px 10px 10px;
  }
  :root .pa-lead--hero h1,
  :root[data-theme="light"] .pa-lead--hero h1 {
    font-size: 1.3rem;
  }
  .pa-lead--hero {
    padding: 24px 0 2px;
  }
  /* ドロワーは画面が狭いほど広く取る（残り幅で背景が押せるだけ残す） */
  .pa-drawer {
    width: 88vw;
    max-width: 300px;
  }
}

/* ───────── 領収書（/premium/?pa_receipt={purchase_id}） ─────────
   本人限定の金銭書類。画面は現在のテーマ（ダーク/ライト）のトーン、印刷は白背景＋黒文字のA4。
   ★印刷に出さない要素（トップバー/ドロワー/フッター/ボタン/宛名フォーム/通知）は
     .pa-noprint を付けるか、下の @media print でまとめて非表示にする。 */
/* .pa-noprint は画面では素通し（スタイルを持たない）。印刷時だけ @media print で非表示にする。 */
.pa-receipt {
  margin: 26px 0 0;
  padding: 26px 22px 24px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  border-radius: 10px;
  background: var(--bg-card-hi, #121614);
}
/* テーマ側の h1 装飾（背景・枠）を打ち消して見出しを素のテキストに戻す */
:root .pa-receipt__title,
:root[data-theme="light"] .pa-receipt__title {
  font-size: 1.26rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-align: center;
  margin: 0 0 22px;
  padding: 0 0 14px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  color: var(--text-main, #e8ebe9);
}
/* 宛名（下線付き・長い名前でも折り返す） */
.pa-receipt__to {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 18px;
  font-size: 1.02rem;
  color: var(--text-main, #e8ebe9);
}
.pa-receipt__to-name {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-receipt__to-suffix {
  flex: 0 0 auto;
  font-size: 0.86rem;
  color: var(--text-light, #9aa4a0);
}
/* 金額（大きく・等幅。税込であることを必ず併記する） */
.pa-receipt__amount {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 6px;
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 2px solid var(--line-gold-hi, rgba(255, 255, 255, 0.18));
  color: var(--text-main, #e8ebe9);
}
/* 金額だけ等幅（「（税込）」は本文と同じ書体のまま） */
.pa-receipt__yen {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 1.3rem;
  font-weight: 700;
}
.pa-receipt__amount-val {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.pa-receipt__tax {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
}
.pa-receipt__for {
  margin: 0 0 6px;
  font-size: 0.9rem;
  line-height: 1.9;
  color: var(--text-main, #e8ebe9);
  overflow-wrap: anywhere;
}
.pa-receipt__got {
  margin: 0 0 20px;
  font-size: 0.84rem;
  color: var(--text-light, #9aa4a0);
}
/* 発行日・注文番号・支払方法 */
.pa-receipt__meta {
  margin: 0 0 22px;
  padding: 0;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-receipt__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-receipt__row dt {
  flex: 0 0 6.5em;
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--text-light, #9aa4a0);
}
.pa-receipt__row dd {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-main, #e8ebe9);
  overflow-wrap: anywhere;
}
.pa-receipt__mono {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.84rem;
}
/* 発行者（会社名・住所・登録番号は定数から） */
.pa-receipt__issuer {
  margin: 0 0 18px;
  text-align: right;
}
.pa-receipt__issuer-name {
  margin: 0 0 4px;
  font-size: 0.94rem;
  font-weight: 800;
  color: var(--text-main, #e8ebe9);
}
.pa-receipt__issuer-addr {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.8;
  color: var(--text-light, #9aa4a0);
}
.pa-receipt__issuer-inv {
  margin: 4px 0 0;
  font-size: 0.78rem;
  color: var(--text-light, #9aa4a0);
}
/* 注記（収入印紙・適格請求書かどうか） */
.pa-receipt__notes {
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  font-size: 0.74rem;
  line-height: 1.9;
  color: var(--text-light, #9aa4a0);
}
/* 印刷・戻る（印刷には出さない） */
.pa-receipt__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin: 18px 0 0;
}
.pa-receipt-nameform {
  margin-top: 8px;
}
/* 購入履歴テーブルの「領収書」リンク */
.pa-me-receipt-link {
  color: var(--gold, #10b981);
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.pa-me-receipt-link:hover {
  text-decoration: underline;
}

@media (max-width: 480px) {
  .pa-receipt {
    padding: 20px 15px 18px;
  }
  :root .pa-receipt__title,
  :root[data-theme="light"] .pa-receipt__title {
    font-size: 1.12rem;
  }
  .pa-receipt__amount-val {
    font-size: 1.68rem;
  }
  .pa-receipt__row dt {
    flex: 0 0 5.5em;
  }
  /* 印刷ボタンは全幅（.pa-btn のモバイル幅100%に合わせる） */
  .pa-receipt__actions {
    gap: 12px;
  }
  .pa-receipt__actions .pa-btn {
    width: 100%;
  }
}

/* ───────── 印刷（領収書をA4で崩さず出す） ─────────
   画面のUIをそのまま印刷すると読めないので、白背景＋黒文字に固定する（両テーマ共通）。
   トップバー/検索/ドロワー/フッター/ボタン/宛名フォームは印刷しない。 */
@media print {
  @page {
    size: A4;
    margin: 16mm;
  }
  .pa-topbar,
  .pa-search,
  .pa-drawer,
  .pa-drawer__backdrop,
  .pa-foot,
  .pa-noprint {
    display: none !important;
  }
  html,
  body,
  .pa-body,
  .pa-main,
  .pa-wrap {
    background: #fff !important;
    color: #000 !important;
  }
  .pa-main,
  .pa-wrap {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .pa-receipt {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .pa-receipt,
  .pa-receipt * {
    color: #000 !important;
    background: transparent !important;
  }
  :root .pa-receipt__title,
  :root[data-theme="light"] .pa-receipt__title {
    border-bottom: 1px solid #000 !important;
  }
  .pa-receipt__to-name {
    border-bottom: 1px solid #000 !important;
  }
  .pa-receipt__amount {
    border-bottom: 2px solid #000 !important;
  }
  .pa-receipt__meta,
  .pa-receipt__row,
  .pa-receipt__notes {
    border-color: #000 !important;
  }
  /* 印刷時にURLを自動付記するテーマ/ブラウザ設定があっても領収書は汚さない */
  .pa-receipt a[href]::after {
    content: none !important;
  }
}

/* =========================================================================
   採用デザイン v2（記事一覧トップの刷新／タグ／機種情報カード／下部固定ナビ）
   すべて既存のデザイントークン（--pa-* / 既存名）だけで色を作る。新規の色は使わない。
   ====================================================================== */

/* ───────── 一覧カード: 1件目=大カード / 2件目以降=小サムネ右寄せの行 ─────────
   構造は従来のまま（.pa-item > [.pa-card__media] + .pa-card__body）。
   大カードだけ .pa-card__media を先に、行は .pa-card__body の後ろに置く。 */
.pa-item--lead {
  flex-direction: column;
  align-items: stretch;
  gap: 11px;
}
.pa-item--lead > .pa-card__media {
  width: 100%;
}
.pa-item--row {
  align-items: flex-start;
  gap: 12px;
}
/* 行のサムネは小さめ・右端（マークアップ上も .pa-card__body の後ろにある） */
.pa-item--row > .pa-card__media {
  width: 92px;
  border-radius: 8px;
}
.pa-item--row .pa-item__title {
  font-size: 0.98rem;
  margin-bottom: 8px;
}

/* メタ行の右端に価格/バッジを寄せる（★評価があってもぶれない） */
.pa-item__meta .pa-price,
.pa-item__meta .pa-badge,
.pa-item__meta .pa-item__read {
  margin-left: auto;
}
.pa-item__meta .pa-price {
  font-size: 1rem;
  color: var(--gold, #10b981);
}
.pa-item--row .pa-item__meta .pa-price {
  font-size: 0.94rem;
}

/* 機種チップ＋タグチップの行（タイトルの下） */
.pa-item__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
}

/* 販売形態バッジ（サブスク／無料）。※現行は全記事が買い切り有料なので通常は出ない。 */
.pa-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
  color: var(--text-light, #9aa4a0);
}
.pa-badge--sub {
  color: var(--gold, #10b981);
}
.pa-badge--free {
  color: var(--text-light, #9aa4a0);
}
/* メンバーシップ限定（単品販売なし）の記事 */
.pa-badge--member {
  color: var(--pa-accent-text, #21c1a6);
}

/* ───────── 目次（本文中の [pa_toc]・見出しから自動生成） ───────── */
.pa-toc {
  margin: 1.6em 0;
  padding: 14px 16px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  border-radius: var(--pa-radius, 10px);
  background: var(--pa-surface, #101a1d);
}
.pa-toc__head {
  margin: 0 0 10px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--text-light, #9aa4a0);
}
/* 番号は大見出しにだけ振る。小見出しを <li> のまま数えると番号が飛ぶため、
   ブラウザ既定のリストマーカーは使わず CSS カウンタで自前に振る。
   ★本文用の共通スタイル（rankings-tables.css の .entry-content ol＝詳細度0,1,1）に
     負けるため、こちらも .entry-content を前置して詳細度を揃える。 */
.pa-toc__list,
.entry-content .pa-toc__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  counter-reset: pa-toc;
}
.pa-toc__item {
  position: relative;
  padding-left: 2em;
  font-size: 0.86rem;
  line-height: 2;
}
.pa-toc__item::before {
  counter-increment: pa-toc;
  content: counter(pa-toc) ".";
  position: absolute;
  left: 0;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.78rem;
  color: var(--text-light, #9aa4a0);
}
.pa-toc__item--sub {
  padding-left: 3em;
  font-size: 0.8rem;
}
.pa-toc__item--sub::before {
  counter-increment: none;
  content: "–";
  left: 2em;
}
.pa-toc__item a {
  color: var(--text-main, #e8ebe9);
  text-decoration: none;
}
.pa-toc__item a:hover,
.pa-toc__item a:focus-visible {
  color: var(--pa-accent-text, #21c1a6);
  text-decoration: underline;
}
/* 目次から飛んだ見出しが上部バーの下に隠れないようにする */
.pa-content h2[id],
.pa-content h3[id] {
  scroll-margin-top: 64px;
}

/* ───────── 記事タグ（分類法 hp_pa_tag）のチップ ───────── */
.pa-tags,
.pa-chiprow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 10px 0 0;
}
/* 機種別タブの上部チップ列は1行で横スクロール（採用デザイン 2a-02 準拠） */
.pa-chiprow {
  margin: 12px 0 2px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.pa-chiprow::-webkit-scrollbar {
  display: none;
}
/* タグチップは機種チップ(.pa-chip)より控えめ（枠はヘアライン・文字は補助色） */
.pa-chip--tag {
  border-color: var(--line-gold-hi, rgba(255, 255, 255, 0.18));
  color: var(--text-light, #9aa4a0);
  flex: 0 0 auto;
}
.pa-chip--tag:hover {
  color: var(--gold, #10b981);
  border-color: var(--pa-accent-line, rgba(16, 185, 129, 0.42));
  background: transparent;
}

/* 見出し下の補助リンク（機種ページへ など） */
.pa-lead__links {
  margin: 8px 0 0;
  font-size: 0.84rem;
}
.pa-lead__links a {
  color: var(--gold, #10b981);
  text-decoration: none;
  font-weight: 700;
}

/* ───────── 機種別タブ: 機種一覧（機種名／サブタイトル・記事本数／›） ───────── */
.pa-mlist {
  margin-top: 6px;
}
.pa-mrow {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  text-decoration: none;
  color: inherit;
}
.pa-mlist > .pa-mrow:first-child {
  border-top: none;
}
.pa-mrow:hover {
  background: var(--bg-card-hi, #121614);
}
.pa-mrow:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: 2px;
  border-radius: 8px;
}
.pa-mrow__media {
  flex: 0 0 auto;
  display: block;
  width: 46px;
  height: 46px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  background: var(--bg-card-hi, #121614);
}
.pa-mrow__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pa-mrow__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pa-mrow__title {
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--text-main, #e8ebe9);
  word-break: break-word;
}
.pa-mrow__meta {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.74rem;
  color: var(--text-light, #9aa4a0);
}
.pa-mrow__go {
  flex: 0 0 auto;
  font-size: 1.05rem;
  line-height: 1;
  color: var(--text-light, #9aa4a0);
}
.pa-mrow:hover .pa-mrow__go {
  color: var(--gold, #10b981);
}

/* ───────── 機種情報カード（本文ブロック / [pa_machine id="…"]） ─────────
   .entry-content の中に出るので、テーマ共通CSSに負けないよう自前で形を決める。 */
.pa-machine-card {
  margin: 1.6em 0;
}
.pa-machine-card__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  border-radius: var(--pa-radius, 10px);
  background: var(--bg-card-hi, #121614);
  text-decoration: none;
  color: inherit;
}
.pa-machine-card__link:hover {
  border-color: var(--pa-accent-line, rgba(16, 185, 129, 0.42));
}
.pa-machine-card__media {
  flex: 0 0 auto;
  display: block;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
}
.pa-machine-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pa-machine-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pa-machine-card__eyebrow {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold, #10b981);
}
.pa-machine-card__title {
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--text-main, #e8ebe9);
  word-break: break-word;
}
.pa-machine-card__sub {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 0.74rem;
  color: var(--text-light, #9aa4a0);
}
.pa-machine-card__go {
  flex: 0 0 auto;
  font-size: 1.05rem;
  line-height: 1;
  color: var(--text-light, #9aa4a0);
}

/* ───────── 予約公開（記事管理・記事詳細の状態表示） ───────── */
.pa-dot--future {
  background: var(--pa-accent, #10b981);
  opacity: 0.55;
}
.pa-dot-label--future {
  color: var(--text-main, #e8ebe9);
}
.pa-item__date--future {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  color: var(--gold, #10b981);
}

/* ───────── 下部固定ナビ（ホーム／検索／購入済／マイページ） ─────────
   ☰ ドロワー（法務・寄稿者ダッシュボード等）は従来どおりトップバーに残す。
   本文が隠れないよう <body class="pa-has-bottomnav"> に下部パディングを足す。 */
.pa-bottomnav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  display: flex;
  background: var(--header-bg, #121614);
  border-top: 1px solid var(--line-gold, rgba(255, 255, 255, 0.08));
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.pa-bottomnav__item {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  color: var(--text-light, #9aa4a0);
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.pa-bottomnav__item:hover {
  color: var(--text-main, #e8ebe9);
}
.pa-bottomnav__item.is-on,
.pa-bottomnav__item.is-on:hover {
  color: var(--gold, #10b981);
  font-weight: 800;
}
.pa-bottomnav__item:focus-visible {
  outline: 2px solid var(--pa-accent, #10b981);
  outline-offset: -2px;
}
body.pa-has-bottomnav {
  padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
}
/* ドロワーを開いている間は前面に出さない（ドロワー/バックドロップの方が上） */
body.pa-drawer-open .pa-bottomnav {
  z-index: 40;
}

@media print {
  /* 領収書の印刷に固定ナビが混ざらないようにする */
  .pa-bottomnav {
    display: none !important;
  }
  body.pa-has-bottomnav {
    padding-bottom: 0 !important;
  }
}
