/* =========================================================
   taxonomy.css（全文・差し替え用：安全版・整理済）
   - /genre はカード（既存維持）
   - /status はリスト表示（Syosetu風）
   - /status?genre=xxx のとき、h1直下にジャンル名ブロック（白+左縦線）
   - /status は「左右2ブロック + 進捗バー」（genre側に影響しないよう完全スコープ）
   - 修正:
     1) /status バー：細く
     2) /status バー：ゴールド
     3) /genre（カード）進捗バー：ゴールド（DOM差分に強い保険込み）
   ========================================================= */

/* =========================
   Base / Variables
   ========================= */

.yo-tax-archive{
  color: rgba(235, 235, 235, 0.92) !important;

  --yo-gold: rgba(198, 176, 112, 0.95);
  --yo-gold-soft: rgba(198, 176, 112, 0.55);
  --yo-border: rgba(233, 225, 207, 0.14);
  --yo-surface: rgba(255, 255, 255, 0.03);

  --yo-progress-track: rgba(255, 255, 255, 0.10);
  --yo-progress-fill: var(--yo-gold);

  padding-top: clamp(14px, 3.5vw, 28px);
}

/* =========================
   Header
   ========================= */

.yo-tax-archive__header{
  margin: 0 0 22px;
}

.yo-tax-archive__title{
  margin: 0 0 10px;
  color: var(--yo-gold) !important;
  letter-spacing: .02em;

  font-size: clamp(1.25rem, 3.6vw, 1.75rem);
  line-height: 1.25;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yo-tax-archive__description{
  opacity: .85;
  line-height: 1.75;
  max-width: 72ch;
}

/* /status?genre=xxx のジャンル表示ブロック（h3相当） */
.yo-tax-archive.yo-tax-novel_status .yo-tax-archive__subtitle{
  margin: 8px 0 0;
  padding-left: 14px;
  border-left: 3px solid var(--yo-gold);

  color: rgba(235, 235, 235, 0.92) !important;
  font-weight: 600;
  letter-spacing: .02em;

  font-size: clamp(1.0rem, 3.0vw, 1.15rem);
  line-height: 1.25;
}

/* =========================
   Sections
   ========================= */

.yo-tax-archive__section{
  margin: 26px 0 36px;
}

.yo-tax-archive__section-title{
  margin: 0 0 14px;
  color: rgba(235, 235, 235, 0.94) !important;
  letter-spacing: .02em;
  font-size: clamp(1.05rem, 3.2vw, 1.28rem);
  line-height: 1.25;

  padding-left: 14px;
  border-left: 3px solid var(--yo-gold);
}

.yo-tax-archive__empty{
  opacity: .8;
  margin: 10px 0 0;
}

/* =========================
   /genre : Card Grid (keep)
   ========================= */

.yo-tax-archive .yo-novel-grid{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.yo-tax-archive .yo-novel-card{
  overflow: hidden;
  background: var(--yo-surface);
  border: 1px solid var(--yo-border);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  border-radius: 0 !important;
}

.yo-tax-archive .yo-novel-card__link{
  display: block;
  text-decoration: none;
  color: inherit !important;
}

.yo-tax-archive .yo-novel-card__thumb img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0 !important;
}

.yo-tax-archive .yo-novel-card__title{
  margin: 14px 16px 6px;
  letter-spacing: .01em;
  color: rgba(235, 235, 235, 0.94) !important;
  font-size: clamp(1.05rem, 3.2vw, 1.28rem);
  line-height: 1.3;
}

.yo-tax-archive .yo-novel-card__excerpt{
  margin: 0 16px 12px;
  line-height: 1.75;
  font-size: 0.95rem;
  opacity: 0.88;
  color: rgba(235, 235, 235, 0.86) !important;
}

/* Buttons */
.yo-tax-archive .yo-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 16px !important;
  text-decoration: none;

  border: 1px solid var(--yo-gold-soft) !important;
  background: transparent !important;
  color: var(--yo-gold) !important;

  border-radius: 0 !important;
  transition: transform .12s ease, background-color .12s ease, border-color .12s ease;
}

.yo-tax-archive .yo-btn:hover{
  transform: translateY(-1px);
  background: rgba(198, 176, 112, 0.12) !important;
  border-color: rgba(198, 176, 112, 0.70) !important;
}

/* Card spacing (progress / actions) */
.yo-tax-archive .yo-progress{
  padding: 14px 16px 16px !important;
}

.yo-tax-archive .yo-plabel{
  margin-top: 12px !important;
  margin-bottom: 6px !important;
}

.yo-tax-archive .yo-novel-card__actions{
  padding: 10px 16px 18px !important;
  gap: 12px !important;
}

/* "もっと見る" */
.yo-tax-archive .yo-tax-archive__more{
  margin-top: 14px !important;
}

/* 枠なしテキストリンク */
.yo-tax-archive .yo-tax-archive__more-link{
  display: inline-block !important;

  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;

  color: rgba(235, 235, 235, 0.88) !important;
  text-decoration: none !important;

  border-bottom: 1px solid rgba(235, 235, 235, 0.25) !important;
  padding-bottom: 2px !important;

  transform: none !important;
}

.yo-tax-archive .yo-tax-archive__more-link:hover{
  background: transparent !important;
  border-bottom-color: rgba(198, 176, 112, 0.75) !important;
  color: rgba(198, 176, 112, 0.95) !important;
}

/* =========================
   /status : List (Syosetu-like + 2 columns)
   ========================= */

.yo-tax-archive.yo-tax-novel_status .yo-status-list{
  margin-top: 12px;
  border-top: 1px solid var(--yo-border);
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item{
  padding: 16px 0;
  border-bottom: 1px solid var(--yo-border);
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__title{
  font-size: 1.08rem;
  line-height: 1.35;
  letter-spacing: .01em;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__title a{
  color: rgba(198, 176, 112, 0.98);
  text-decoration: none;
  border-bottom: 1px solid rgba(198, 176, 112, 0.28);
  padding-bottom: 1px;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__title a:hover{
  border-bottom-color: rgba(198, 176, 112, 0.70);
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__meta{
  margin-top: 8px;
  font-size: 0.92rem;
  line-height: 1.35;
  color: rgba(235, 235, 235, 0.72);

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 2-col layout */
.yo-tax-archive.yo-tax-novel_status .yo-status-item__inner{
  display: flex;
  align-items: center;
  gap: 24px;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__left{
  flex: 0 0 42%;
  min-width: 0;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__divider{
  flex: 0 0 1px;
  width: 1px;
  height: 56px;
  background: rgba(255,255,255,0.18);
}

.yo-tax-archive.yo-tax-novel_status .yo-status-item__right{
  flex: 1 1 auto;
  min-width: 0;
}

/* progress text + bar */
.yo-tax-archive.yo-tax-novel_status .yo-status-progress__text{
  font-size: 1.02rem;
  line-height: 1.35;
  color: rgba(235, 235, 235, 0.90);
  margin: 0 0 8px;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-progress__bar{
  width: min(520px, 100%);
  height: 12px; /* default */
  background: var(--yo-progress-track);
  border: 1px solid rgba(255,255,255,0.18);
  position: relative;
  overflow: hidden;
}

.yo-tax-archive.yo-tax-novel_status .yo-status-progress__fill{
  height: 100%;
  width: 0%;
  background: var(--yo-progress-fill);
}

/* =========================
   Pagination
   ========================= */

.yo-tax-archive__pagination{
  margin: 28px 0 0;
}

.yo-tax-archive__pagination .page-numbers{
  display: inline-block;
  margin: 0 6px 8px 0;
  padding: 8px 12px;
  text-decoration: none;

  border: 1px solid rgba(233, 225, 207, 0.18) !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border-radius: 0 !important;

  color: inherit !important;
}

.yo-tax-archive__pagination .page-numbers.current{
  background: rgba(198, 176, 112, 0.12) !important;
  border-color: rgba(198, 176, 112, 0.55) !important;
}

/* =========================
   Progress color: /genre cards (robust override)
   ========================= */

/* Track candidates */
.yo-tax-archive .yo-progress .yo-pbar,
.yo-tax-archive .yo-progress .yo-progress-bar,
.yo-tax-archive .yo-progress .yo-progress__bar,
.yo-tax-archive .yo-novel-card .yo-progress *[class*="track"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="Track"]{
  background: var(--yo-progress-track) !important;
  background-color: var(--yo-progress-track) !important;
  border-color: rgba(255,255,255,0.18) !important;
}

/* Fill candidates (best-effort) */
.yo-tax-archive .yo-progress .yo-pfill,
.yo-tax-archive .yo-progress .yo-pbar-fill,
.yo-tax-archive .yo-progress .yo-progress-bar__fill,
.yo-tax-archive .yo-progress .yo-progress__fill,
.yo-tax-archive .yo-progress .yo-pbar > div,
.yo-tax-archive .yo-novel-card .yo-progress *[class*="fill"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="Fill"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="bar__fill"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="progress__fill"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="pfill"],
.yo-tax-archive .yo-novel-card .yo-progress *[class*="pbar-fill"],
.yo-tax-archive .yo-novel-card .yo-progress .yo-pbar > *,
.yo-tax-archive .yo-novel-card .yo-progress [style*="width"]{
  background: var(--yo-progress-fill) !important;
  background-color: var(--yo-progress-fill) !important;
}

/* =========================
   Responsive
   ========================= */

@media (max-width: 768px){
  .yo-tax-archive__title{
    font-size: clamp(1.15rem, 4.2vw, 1.55rem);
  }

  .yo-tax-archive.yo-tax-novel_status .yo-tax-archive__subtitle{
    font-size: clamp(0.98rem, 3.6vw, 1.10rem);
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item{
    padding: 14px 0;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item__title{
    font-size: 1.0rem;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item__meta{
    font-size: 0.86rem;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item__inner{
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item__left{
    flex: 0 0 40% !important;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-item__divider{
    width: 1px !important;
    height: 52px !important;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-progress__text{
    font-size: 0.92rem !important;
    margin-bottom: 8px !important;
  }

  .yo-tax-archive.yo-tax-novel_status .yo-status-progress__bar{
    width: 100% !important;
    min-width: 150px !important;
    height: 10px !important;
  }

  .yo-tax-archive .yo-novel-card__actions{
    padding: 12px 16px 20px !important;
  }

  .yo-tax-archive .yo-tax-archive__more-link{
    font-size: 0.98rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px){
  .yo-tax-archive.yo-tax-novel_status .yo-status-item__inner{
    gap: 18px !important;
  }
  .yo-tax-archive.yo-tax-novel_status .yo-status-item__left{
    flex: 0 0 42% !important;
  }
  .yo-tax-archive.yo-tax-novel_status .yo-status-progress__bar{
    height: 11px !important;
  }
}

/* =========================================================
   DISABLED: 横スクロール強制（競合原因）
   ========================================================= */

/*
body.tax-novel_status .yo-status-item{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

body.tax-novel_status .yo-status-item__inner{
  display: inline-flex !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

body.tax-novel_status .yo-status-item__left,
body.tax-novel_status .yo-status-item__right{
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

body.tax-novel_status .yo-status-item__left{
  display: flex !important;
  flex-direction: column !important;
  gap: 6px;
}

body.tax-novel_status .yo-status-item__title,
body.tax-novel_status .yo-status-item__meta{
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  display: block !important;
}
*/

/* =========================================================
   PATCH: /status のみ
   ========================================================= */

/* ---------- 1) LEFT: mobile wrap (no clipping) ---------- */
@media (max-width: 768px){
  body.tax-novel_status .yo-status-item__left{
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  body.tax-novel_status .yo-status-item__title,
  body.tax-novel_status .yo-status-item__meta{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

/* ---------- 2) RIGHT: progress text below bar ---------- */
body.tax-novel_status .yo-status-item__right{
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.tax-novel_status .yo-status-item__right .yo-status-progress__bar{
  order: 1 !important;
}

body.tax-novel_status .yo-status-item__right .yo-status-progress__text{
  order: 2 !important;
  margin: 0 !important;
}

body.tax-novel_status .yo-status-progress__fill{
  background: var(--yo-progress-fill) !important;
}

/* =========================================================
   PATCH v2: /status（tax-novel_status）だけを「行スクロール前提」に固定
   ========================================================= */

body.tax-novel_status .yo-status-item{
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
}

body.tax-novel_status .yo-status-item__inner{
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  gap: 24px !important;
}

body.tax-novel_status .yo-status-item__left,
body.tax-novel_status .yo-status-item__right{
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

body.tax-novel_status .yo-status-item__title,
body.tax-novel_status .yo-status-item__meta{
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

body.tax-novel_status .yo-status-item__title{
  overflow: visible !important;
  text-overflow: clip !important;
}
body.tax-novel_status .yo-status-item__meta{
  overflow: visible !important;
  text-overflow: clip !important;
}

body.tax-novel_status .yo-status-item__divider{
  flex: 0 0 1px !important;
  width: 1px !important;
}

body.tax-novel_status .yo-status-item__right{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

body.tax-novel_status .yo-status-progress__bar{
  order: 1 !important;
  width: clamp(260px, 52vw, 520px) !important;
  min-width: 260px !important;
  margin: 0 !important;
  align-self: flex-start !important;
}

body.tax-novel_status .yo-status-progress__text{
  order: 2 !important;
  width: clamp(260px, 52vw, 520px) !important;
  margin: 0 !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.tax-novel_status .yo-status-item__left{
  flex: 0 0 auto !important;
}
body.tax-novel_status .yo-status-item__right{
  flex: 0 0 auto !important;
}

/* =========================================================
   PATCH: /status の「左右幅」「縦線中央」「スマホ比率」「作品一覧とフォントサイズ揃え」
   ========================================================= */

body.tax-novel_status .yo-status-item__title{
  font-size: clamp(16px, 2.0vw, 22px) !important;
  line-height: 1.25 !important;
}

body.tax-novel_status .yo-status-item__meta{
  font-size: clamp(12px, 1.35vw, 14px) !important;
  line-height: 1.35 !important;
}

body.tax-novel_status .yo-status-progress__text{
  font-size: clamp(12px, 1.35vw, 14px) !important;
  line-height: 1.4 !important;
}

@media (min-width: 769px){
  body.tax-novel_status .yo-status-item__inner{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
    column-gap: 24px !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
  }

  body.tax-novel_status .yo-status-item__divider{
    width: 1px !important;
    height: 56px !important;
    justify-self: center !important;
  }

  body.tax-novel_status .yo-status-item__left,
  body.tax-novel_status .yo-status-item__right{
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
}

body.tax-novel_status .yo-status-item__right{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

body.tax-novel_status .yo-status-progress__bar{
  order: 1 !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  height: 8px !important;
}

body.tax-novel_status .yo-status-progress__text{
  order: 2 !important;
  margin: 8px 0 0 !important;
  white-space: nowrap !important;
}

body.tax-novel_status .yo-status-item__title,
body.tax-novel_status .yo-status-item__meta{
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 768px){
  body.tax-novel_status .yo-status-item__inner{
    display: grid !important;
    grid-template-columns: minmax(0, 44%) 1px minmax(0, 56%) !important;
    column-gap: 14px !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 100% !important;
  }

  body.tax-novel_status .yo-status-item__divider{
    height: 52px !important;
  }

  body.tax-novel_status .yo-status-progress__bar{
    max-width: none !important;
  }

  body.tax-novel_status .yo-status-item__title{
    font-size: 16px !important;
  }
  body.tax-novel_status .yo-status-item__meta,
  body.tax-novel_status .yo-status-progress__text{
    font-size: 12px !important;
  }
}

/* =========================================================
   PATCH: /format（tax-novel_format）を /status と完全一致させる
   ========================================================= */

/* ---------- /status と同等の “list 外観” ---------- */
body.tax-novel_format .yo-status-list{
  margin-top: 12px;
  border-top: 1px solid var(--yo-border);
}

body.tax-novel_format .yo-status-item{
  padding: 16px 0;
  border-bottom: 1px solid var(--yo-border);

  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
}

body.tax-novel_format .yo-status-item__title{
  font-size: clamp(16px, 2.0vw, 22px) !important;
  line-height: 1.25 !important;
  letter-spacing: .01em;

  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

body.tax-novel_format .yo-status-item__title a{
  color: rgba(198, 176, 112, 0.98);
  text-decoration: none;
  border-bottom: 1px solid rgba(198, 176, 112, 0.28);
  padding-bottom: 1px;
}

body.tax-novel_format .yo-status-item__title a:hover{
  border-bottom-color: rgba(198, 176, 112, 0.70);
}

body.tax-novel_format .yo-status-item__meta{
  margin-top: 8px;
  font-size: clamp(12px, 1.35vw, 14px) !important;
  line-height: 1.35 !important;
  color: rgba(235, 235, 235, 0.72);

  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

body.tax-novel_format .yo-status-item__right{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;

  flex: 0 0 auto !important;
}

body.tax-novel_format .yo-status-item__divider{
  flex: 0 0 1px !important;
  width: 1px !important;
}

body.tax-novel_format .yo-status-progress__text{
  font-size: clamp(12px, 1.35vw, 14px) !important;
  line-height: 1.4 !important;

  order: 2 !important;
  margin: 8px 0 0 !important;

  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.tax-novel_format .yo-status-progress__bar{
  order: 1 !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;

  height: 8px !important;
  background: var(--yo-progress-track) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  position: relative;
  overflow: hidden !important;
}

body.tax-novel_format .yo-status-progress__fill{
  height: 100% !important;
  background: var(--yo-progress-fill) !important;
}

@media (min-width: 769px){
  body.tax-novel_format .yo-status-item__inner{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
    column-gap: 24px !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
  }

  body.tax-novel_format .yo-status-item__divider{
    height: 56px !important;
    justify-self: center !important;
  }

  body.tax-novel_format .yo-status-item__left,
  body.tax-novel_format .yo-status-item__right{
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
}

@media (max-width: 768px){
  body.tax-novel_format .yo-status-item{
    padding: 14px 0;
  }

  body.tax-novel_format .yo-status-item__inner{
    display: grid !important;
    grid-template-columns: minmax(0, 44%) 1px minmax(0, 56%) !important;
    column-gap: 14px !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 100% !important;
  }

  body.tax-novel_format .yo-status-item__divider{
    height: 52px !important;
  }

  body.tax-novel_format .yo-status-item__title{
    font-size: 16px !important;
  }

  body.tax-novel_format .yo-status-item__meta,
  body.tax-novel_format .yo-status-progress__text{
    font-size: 12px !important;
  }

  body.tax-novel_format .yo-status-progress__bar{
    max-width: none !important;
  }
}

body.tax-novel_format .yo-status-item__divider{
  display: block;
  flex: 0 0 1px;
  width: 1px;
  height: 56px;
  background: rgba(255,255,255,0.18);
}

@media (max-width: 768px){
  body.tax-novel_format .yo-status-item__inner{
    grid-template-columns: 260px 1px 1fr !important;
  }
}

/* genre配下だけ：完結済カードの読了進捗ブロック余白を“正解イメージ”に合わせる */
body.taxonomy-novel_genre .yo-novel-card .novel-progress,
body.tax-novel_genre .yo-novel-card .novel-progress{
  margin: 10px 0 18px !important;
  padding: 14px 16px 16px !important;
  box-sizing: border-box;
}

/* 文字（ヘッダ行）とバーの間の余白も“詰まらない”ように */
body.taxonomy-novel_genre .yo-novel-card .novel-progress-header,
body.tax-novel_genre .yo-novel-card .novel-progress-header{
  margin: 0 0 8px 0 !important;
}

/* 念のため：バー自体の外側に勝手な詰めが入ってても破綻しない */
body.taxonomy-novel_genre .yo-novel-card .novel-progress-bar,
body.tax-novel_genre .yo-novel-card .novel-progress-bar{
  margin: 0 !important;
}

/* 対象：<span class="novel-progress-label">読了進捗（1 / 40 節）</span>
   ゴールに合わせる：余白 / フォントサイズ / フォント色（＋text-shadow）
*/

/* まず .novel-progress 内の既存指定を確実に上書き（効いてない対策） */
.novel-progress .novel-progress-header .novel-progress-label{
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: normal !important;
  font-family: var(--global-body-font-family) !important;

  color: rgba(233,225,207,0.88) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.55) !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
  display: inline-block !important;
}

.novel-progress .novel-progress-header{
  margin-top: 12px !important;
  margin-bottom: 6px !important;
  padding: 0 16px !important;
}

.novel-progress .novel-progress-header .novel-progress-percent{
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: normal !important;
  font-family: var(--global-body-font-family) !important;

  color: rgba(233,225,207,0.88) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.55) !important;

  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
}

.novel-progress{
  padding: 14px 16px 16px !important;
}

.novel-progress .novel-progress-header{
  padding: 0 16px !important;
  margin: 12px 0 6px !important;
}

.novel-progress .novel-progress-bar{
  padding: 0 16px !important;
  box-sizing: border-box;
}

.novel-progress .novel-progress-bar{
  width: 100%;
}

.novel-progress .novel-progress-fill{
  display: block;
}

/* assets/novel.css に追記（今言ったところだけ） */

/* テキストとバーを同じ左端に揃える（padding基準） */
.novel-progress {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.novel-progress-header,
.novel-progress-bar {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* バーの塗りが左端(0%)から必ず開始する */
.novel-progress-bar {
  padding: 0 !important;
  overflow: hidden;
}

.novel-progress-fill {
  margin-left: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
}

/* =========================================================
   ★CHANGED: /genre 完成済カード（4要件のみ）
   - bar/text 上下逆修正（bar→text）
   - 左揃え
   - 0%起点
   - percent を表示上使わない（labelに統合済）
   影響範囲: body.tax-novel_genre / body.taxonomy-novel_genre の completed カードのみ
   ========================================================= */

body.tax-novel_genre .yo-novel-card .novel-progress,
body.taxonomy-novel_genre .yo-novel-card .novel-progress{
  display: flex !important;                 /* ★CHANGED */
  flex-direction: column !important;        /* ★CHANGED */
  align-items: flex-start !important;       /* ★CHANGED */
}

body.tax-novel_genre .yo-novel-card .novel-progress-bar,
body.taxonomy-novel_genre .yo-novel-card .novel-progress-bar{
  order: 1 !important;                     /* ★CHANGED */
  width: 100% !important;                  /* ★CHANGED */
  padding: 0 !important;                   /* ★CHANGED */
  margin: 0 !important;                    /* ★CHANGED */
  position: relative !important;           /* ★CHANGED */
  overflow: hidden !important;             /* ★CHANGED */
}

body.tax-novel_genre .yo-novel-card .novel-progress-fill,
body.taxonomy-novel_genre .yo-novel-card .novel-progress-fill{
  position: absolute !important;           /* ★CHANGED */
  left: 0 !important;                      /* ★CHANGED */
  top: 0 !important;                       /* ★CHANGED */
  height: 100% !important;                 /* ★CHANGED */
  margin: 0 !important;                    /* ★CHANGED */
}

body.tax-novel_genre .yo-novel-card .novel-progress-header,
body.taxonomy-novel_genre .yo-novel-card .novel-progress-header{
  order: 2 !important;                     /* ★CHANGED */
  width: 100% !important;                  /* ★CHANGED */
  padding: 0 !important;                   /* ★CHANGED */
  margin: 6px 0 0 0 !important;            /* ★CHANGED */
}

body.tax-novel_genre .yo-novel-card .novel-progress-percent,
body.taxonomy-novel_genre .yo-novel-card .novel-progress-percent{
  display: none !important;                /* ★CHANGED */
}

/* =========================================================
   /status (更新中・完結済一覧) レイアウト修正
   作品一覧(/works)と同様の「横スクロール行」ロジックを適用
   ========================================================= */

/* 1) 変数定義：作品一覧ページと同じ幅設定を採用 */
body.tax-novel_status .yo-status-list {
    /* 左カラム幅：スマホで狭すぎず、PCで広すぎない固定幅レンジ */
    --yo-wl-left-w: clamp(240px, 28vw, 380px);
    /* 右カラム幅：PC基準 */
    --yo-wl-right-w: 520px;
}

/* スマホ・タブレットでのカラム幅調整 */
@media (max-width: 980px) {
    body.tax-novel_status .yo-status-list { --yo-wl-right-w: 420px; }
}
@media (max-width: 760px) {
    body.tax-novel_status .yo-status-list {
        /* スマホ用左カラム幅：最低180pxは確保 */
        --yo-wl-left-w: clamp(180px, 52vw, 240px);
        --yo-wl-right-w: 340px;
    }
}
@media (max-width: 560px) {
    body.tax-novel_status .yo-status-list { --yo-wl-right-w: 280px; }
}


/* 2) 行コンテナ：はみ出し時の横スクロールを有効化 */
body.tax-novel_status .yo-status-item {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    display: block !important; /* Gridを解除 */
    width: 100% !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}


/* 3) 内部コンテナ：中身に応じて横に伸びる（1枚板にする） */
body.tax-novel_status .yo-status-item__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: max-content !important; /* 中身の合計幅まで強制的に伸ばす */
    min-width: 100% !important;
    gap: 22px !important;
    
    /* 以前のGrid指定を打ち消し */
    grid-template-columns: none !important; 
}


/* 4) 左カラム：変数の固定幅を強制適用 */
body.tax-novel_status .yo-status-item__left {
    flex: 0 0 var(--yo-wl-left-w) !important;
    width: var(--yo-wl-left-w) !important;
    min-width: var(--yo-wl-left-w) !important;
    max-width: var(--yo-wl-left-w) !important;
    
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    overflow: visible !important; /* 見切れ防止 */
}

/* タイトルとメタ：幅が確保されたので折り返しを許可 */
body.tax-novel_status .yo-status-item__title,
body.tax-novel_status .yo-status-item__meta {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: none !important;
    overflow: visible !important;
}


/* 5) 区切り線 */
body.tax-novel_status .yo-status-item__divider {
    flex: 0 0 1px !important;
    width: 1px !important;
    height: auto !important;
    align-self: stretch !important;
    background: rgba(233, 225, 207, 0.14) !important;
}


/* 6) 右カラム：変数の固定幅を強制適用 */
body.tax-novel_status .yo-status-item__right {
    flex: 0 0 var(--yo-wl-right-w) !important;
    width: var(--yo-wl-right-w) !important;
    min-width: var(--yo-wl-right-w) !important;
    max-width: none !important;
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important; /* 左寄せ */
    justify-content: center !important;
    gap: 10px !important;
    overflow: visible !important;
}


/* 7) 進捗バー：スマホでの長さを clamp で制御（作品一覧と同様） */
body.tax-novel_status .yo-status-progress__bar {
    width: 100% !important;
    max-width: none !important;
    height: 12px !important;
    margin: 0 !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
}

/* スマホでは右カラムが広くてもバー自体は適切な長さで止める */
@media (max-width: 760px) {
    body.tax-novel_status .yo-status-progress__bar {
        width: clamp(200px, 62vw, 360px) !important;
        max-width: clamp(200px, 62vw, 360px) !important;
    }
}
@media (max-width: 560px) {
    body.tax-novel_status .yo-status-progress__bar {
        width: clamp(180px, 72vw, 320px) !important;
        max-width: clamp(180px, 72vw, 320px) !important;
    }
}

/* 進捗テキスト */
body.tax-novel_status .yo-status-progress__text {
    margin: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
    width: auto !important;
}