@charset "UTF-8";

/* base.css から移したもの（このファイルを読むページだけで使うルール。元の順番のまま。2026-09 Phase 7） */
@media (max-width: 768px) {
  .member-history-table-wrap,
    .hinatahi-table-wrap {
      margin-left: calc(-1 * var(--saka-gutter));
      margin-right: calc(-1 * var(--saka-gutter));
      padding-left: var(--saka-gutter);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }
}
.saka-detail-badge--universe {
  background: var(--sakamichi-universe-soft-bg);
  color: var(--sakamichi-universe-primary);
  border: 1px solid var(--sakamichi-universe-border);
}
.saka-universe-module-header--member-history {
  background: var(--sakamichi-universe-bg);
  color: var(--sakamichi-universe-text);
  border: 2px solid var(--sakamichi-universe-border);
}
.saka-universe-module-header--member-count-history {
  background: var(--sakamichi-universe-bg);
  color: var(--sakamichi-universe-text);
  border: 2px solid var(--sakamichi-universe-border);
}
.member-birthday-order-heading {
  margin: 0 0 8px;
  font-size: 1.16em;
  line-height: 1.35;
  color: var(--sakamichi-ink-2);
  font-weight: 700;
}
.member-birthday-order-cell--name {
  font-weight: 700;
}
.saka-universe-module-header--song-history {
  background: var(--sakamichi-universe-bg);
  color: var(--sakamichi-universe-text);
  border: 2px solid var(--sakamichi-universe-border);
}
/* ここまで base.css から移したもの */

/* 履歴・一覧系ビュー（history 系）の共通部品。複数の機能で使うルールと、全ページ共通の部品・JS が付けるクラスのルール
   旧 sakamichi-history.css から、この機能のルールを元の順番のまま移したもの（2026-09 Phase 7-1） */

.variety-archive-member-section {
  --sakamichi-nogi-primary: var(--variety-archive-accent);
  --sakamichi-nogi-border: var(--variety-archive-accent);
  margin-bottom: 16px;
}
.variety-archive-detail-links a,
.variety-archive-detail-links .variety-archive-detail-text {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 7px;
  border: 1px solid rgba(var(--variety-archive-accent-rgb), 0.24);
  border-radius: 2px;
  background: var(--sakamichi-paper);
  color: var(--variety-archive-link);
  text-decoration: none;
}
.variety-archive-detail-links a:hover {
  border-color: var(--variety-archive-accent);
  text-decoration: underline;
}
.member-count-history-detail__group-chip--sakura {
  color: var(--sakamichi-sakura-chip);
  background: rgba(var(--sakamichi-sakura-chip-rgb), 0.12);
  border-color: rgba(var(--sakamichi-sakura-chip-rgb), 0.24);
}
.member-count-history-detail__group-chip--universe {
  color: var(--sakamichi-universe-primary);
  background: rgba(var(--sakamichi-universe-primary-rgb, 29, 53, 87), 0.08);
  border-color: rgba(var(--sakamichi-universe-primary-rgb, 29, 53, 87), 0.2);
}
.member-count-history-detail__group-chip--sp {
  color: var(--sakamichi-ink);
  background: var(--sakamichi-paper-2);
  border-color: var(--sakamichi-hairline);
}
.member-count-history-detail__event-item--sakura {
  color: #8f4861;
  background: rgba(216, 117, 148, 0.12);
  border-color: rgba(216, 117, 148, 0.24);
}
.member-count-history-detail__event-item--sakura .member-count-history-detail__event-text {
  color: #8f4861;
}
.member-count-history-detail__event-item--universe {
  color: var(--sakamichi-universe-primary);
  background: rgba(var(--sakamichi-universe-primary-rgb, 29, 53, 87), 0.08);
  border-color: rgba(var(--sakamichi-universe-primary-rgb, 29, 53, 87), 0.2);
}
.member-count-history-detail__event-item--universe .member-count-history-detail__event-text {
  color: var(--sakamichi-universe-primary);
}
.member-count-history-detail__event-item--sp {
  color: var(--sakamichi-ink);
  background: var(--sakamichi-paper-2);
  border-color: var(--sakamichi-hairline);
}
.member-count-history-detail__event-item--sp .member-count-history-detail__event-text {
  color: var(--sakamichi-ink);
}
.saka-universe-calendar-event--sp .saka-universe-calendar-event-kind {
  background: var(--accent-sp);
}
.saka-universe-calendar-event--sp {
  border-left-color: var(--accent-sp);
}
.member-history-table tbody tr.member-history-row--nogi:hover td {
  background: rgba(var(--sakamichi-nogi-chip-rgb), 0.055) !important;
}
.member-history-table tbody tr.member-history-row--sakura:hover td {
  background: rgba(var(--sakamichi-sakura-chip-rgb), 0.08) !important;
}
.member-history-table tbody tr.member-history-row--hinata:hover td {
  background: rgba(var(--sakamichi-hinata-chip-rgb), 0.075) !important;
}
.member-history-table tbody tr.member-history-row--yoshimoto:hover td {
  background: rgba(var(--sakamichi-yoshimoto-chip-rgb), 0.07) !important;
}
.member-history-table tbody tr.member-history-row--legacy:hover td {
  background: rgba(var(--sakamichi-keyaki-chip-rgb), 0.08) !important;
}
.saka-universe-song-history {
  font-size: 78%;
}
.saka-universe-song-history > .saka-universe-module-header,
.saka-universe-song-history > .saka-universe-module-stats {
  font-size: 1.09em;
}
.saka-universe-song-history .song-history-stats {
  padding: 10px 12px;
  margin-bottom: 10px;
  background: var(--sakamichi-warning-bg);
  border-color: var(--sakamichi-warning-border);
}
.saka-universe-song-history .song-history-stats p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px 14px;
  font-size: 0.94em;
  color: var(--sakamichi-warning-text);
}
.song-history-stats__item {
  white-space: nowrap;
}
.saka-universe-song-history .song-history-stats__item strong {
  font-size: 1.05em;
  color: #664d03;
}
.saka-universe-open-data {
  font-size: 78%;
}
/* モバイルでは 78% の縮小をやめて表のトークンを基準にする。中の em と掛け算になって 9px 台まで落ちるため */
@media (max-width: 768px) {
  .saka-universe-song-history {
      font-size: var(--saka-fs-table);
    }
}
.saka-universe-open-data .saka-open-data-table th {
  padding: 8px 10px 6px;
  border-right: 0;
  border-bottom: 1px solid var(--sakamichi-hairline);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.saka-universe-open-data .saka-open-data-table tbody tr {
  background: transparent !important;
  border-bottom: 1px solid var(--sakamichi-hairline);
}
.saka-open-data-group-label--legacy {
  --saka-open-data-dot: var(--sakamichi-keyaki-chip);
}
.saka-open-data-group-label--sp {
  --saka-open-data-dot: #1e3a8a;
}
@media (min-width: 769px) {
  .saka-open-data-table {
      table-layout: fixed;
    }
}
.song-history-controls {
  background: var(--sakamichi-paper);
  border: 1px solid var(--sakamichi-hairline-strong);
  border-radius: 2px;
  padding: 8px 10px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 10px;
}
.song-history-controls__row {
  display: flex;
  align-items: center;
  gap: 6px 12px;
  flex-wrap: wrap;
}
.song-history-controls__row--main {
  justify-content: flex-start;
}
.song-history-filter-strip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.song-history-filter-block {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.song-history-filter-block__label {
  font-weight: 700;
  color: var(--sakamichi-ink-2);
  font-size: 0.86em;
  margin-right: 1px;
}
.saka-universe-song-history .song-history-filter-option {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  color: var(--sakamichi-ink-2);
  font-size: 0.84em;
  min-height: 0;
  padding: 0;
  line-height: 1.15;
  white-space: nowrap;
}
.song-history-filter-text--mobile {
  display: none;
  white-space: nowrap;
}
.saka-universe-song-history .song-history-filter-option input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  margin: 0;
  padding: 0;
  flex: 0 0 14px;
  vertical-align: middle;
  appearance: checkbox;
  -webkit-appearance: checkbox;
}
.song-history-controls__search {
  display: inline-flex;
  align-items: center;
}
.song-history-search-input {
  border: 1px solid var(--sakamichi-hairline-strong) !important;
  border-radius: 2px !important;
  background: var(--sakamichi-paper-2) !important;
  color: var(--sakamichi-ink-strong) !important;
  padding: 2px 8px !important;
  font-size: 0.84em !important;
  line-height: 1.2 !important;
  width: 22em !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box;
}
.music-video-history-image-source-note {
  margin: 16px 0 0;
  color: var(--text-sub);
  font-size: 0.94em;
  line-height: 1.5;
  text-align: right;
}
.personal-pv-history-table {
  table-layout: fixed;
}
.personal-pv-history-analytics {
  margin: 0 0 12px;
}
.personal-pv-history-director-ranking__name {
  appearance: none;
  min-width: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px dotted var(--sakamichi-ink-3);
  background: transparent;
  color: var(--sakamichi-ink-2);
  font: inherit;
  line-height: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.nogidoga-content-filter-select {
  border: 1px solid var(--sakamichi-hairline-strong);
  border-radius: 2px;
  background: var(--sakamichi-paper-2);
  color: var(--sakamichi-ink-strong);
  padding: 2px 28px 2px 8px;
  font-size: 0.84em;
  line-height: 1.2;
  min-height: 28px;
  box-sizing: border-box;
  max-width: 100%;
}
.song-history-controls__actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}
.song-history-count {
  margin: 0;
  color: var(--sakamichi-ink-2);
  font-size: 0.84em;
  font-weight: 600;
  white-space: nowrap;
}
.song-history-reset {
  appearance: none;
  border: 1px solid var(--sakamichi-ink-2);
  background: var(--sakamichi-paper);
  color: var(--sakamichi-ink-strong);
  font-weight: 700;
  border-radius: 999px;
  padding: 3px 9px;
  cursor: pointer;
  font-size: 0.78em;
  line-height: 1.2;
  white-space: nowrap;
}
.song-history-reset:hover {
  background: var(--sakamichi-paper-2);
}
.song-history-mobile-sort {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.song-history-mobile-sort__label {
  font-size: 0.85em;
  font-weight: 600;
  color: var(--sakamichi-ink-2);
}
.song-history-mobile-sort__button {
  appearance: none;
  border: 1px solid var(--sakamichi-hairline-strong);
  background: var(--sakamichi-paper);
  color: var(--sakamichi-ink-2);
  font-weight: 600;
  border-radius: 2px;
  padding: 4px 10px;
  cursor: pointer;
  font-size: 0.85em;
  line-height: 1.3;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.song-history-mobile-sort__button:hover {
  background: var(--sakamichi-paper-2);
}
.song-history-mobile-sort__button.is-active {
  background: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
}
.song-history-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.song-history-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
  background: var(--sakamichi-paper);
  line-height: 1.2;
}
.nogidoga-content-main-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sakamichi-hairline);
  border-radius: 2px;
  overflow: hidden;
  font-size: 0.88rem;
}
.song-history-table thead,
.song-history-table thead tr {
  background: #16213e !important;
}
.song-history-table th {
  background: #16213e !important;
  color: #fff !important;
  font-weight: 700;
  text-align: left;
  padding: 8px 10px;
  white-space: nowrap;
  vertical-align: middle;
  border-right: 1px solid rgba(255, 255, 255, 0.26);
}
.song-history-table th:last-child {
  border-right: 0;
}
.song-history-table tbody tr {
  background: var(--sakamichi-paper) !important;
  border-bottom: 1px solid var(--sakamichi-hairline);
}
.song-history-table tbody tr:last-child {
  border-bottom: 0;
}
.song-history-cell {
  padding: 6px 10px;
  color: var(--sakamichi-ink-2);
  white-space: nowrap;
  vertical-align: middle;
  border-right: 1px solid var(--sakamichi-border-light);
}
.song-history-cell--wrap {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.song-history-cell:last-child {
  border-right: 0;
}
.nogidoga-content-main-table .song-history-cell--title a {
  font-size: 0.86rem;
}
.song-history-cell--title a {
  color: #1d4ed8;
  text-decoration: none;
  font-weight: 700;
}
.song-history-cell--title a:hover {
  text-decoration: underline;
}
.song-history-cell--title {
  vertical-align: middle;
  padding-left: 8px;
}
.song-history-cell--title .song-history-group-badge {
  margin-right: 4px;
  vertical-align: middle;
}
.song-history-reading {
  font-size: 0.74em;
  font-weight: 600;
  color: var(--sakamichi-ink-3);
  letter-spacing: 0.01em;
}
.song-history-cell--dash {
  text-align: left;
}
.song-history-person-link {
  color: var(--sakamichi-ink-2);
  text-decoration: none;
  border-bottom: 1px dotted var(--sakamichi-ink-3);
  cursor: pointer;
}
.song-history-person-link:hover {
  color: #1d4ed8;
  border-bottom-color: #1d4ed8;
}
.song-history-sort-button {
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: 1.2;
}
.song-history-sort-button:hover {
  text-decoration: underline;
}
.song-history-sort-button.is-active {
  color: #fff8b3;
}
.song-history-sort-icon {
  position: relative;
  display: inline-block;
  width: 0.72em;
  min-width: 0.72em;
  height: 1em;
  flex: 0 0 0.72em;
}
.song-history-sort-icon::before,
.song-history-sort-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.25em solid transparent;
  border-right: 0.25em solid transparent;
  opacity: 0.65;
}
.song-history-sort-icon::before {
  top: 0.04em;
  border-bottom: 0.32em solid currentColor;
}
.song-history-sort-icon::after {
  bottom: 0.04em;
  border-top: 0.32em solid currentColor;
}
.song-history-sort-icon[data-sort-order="asc"]::before {
  opacity: 1;
}
.song-history-sort-icon[data-sort-order="asc"]::after {
  opacity: 0.26;
}
.song-history-sort-icon[data-sort-order="desc"]::before {
  opacity: 0.26;
}
.song-history-sort-icon[data-sort-order="desc"]::after {
  opacity: 1;
}
.song-history-row--nogi td {
  background: rgba(var(--sakamichi-nogi-chip-rgb), 0.055) !important;
}
.song-history-row--sakura td {
  background: rgba(var(--sakamichi-sakura-chip-rgb), 0.08) !important;
}
.song-history-row--hinata td {
  background: rgba(var(--sakamichi-hinata-chip-rgb), 0.075) !important;
}
.song-history-row--yoshimoto td {
  background: rgba(var(--sakamichi-yoshimoto-chip-rgb), 0.07) !important;
}
.song-history-row--legacy td {
  background: rgba(var(--sakamichi-keyaki-chip-rgb), 0.08) !important;
}
.song-history-row--sp td {
  background: rgba(var(--sakamichi-sp-primary-rgb), 0.06) !important;
}
.song-history-row--nogi .song-history-cell--title {
}
.song-history-row--sakura .song-history-cell--title {
}
.song-history-row--hinata .song-history-cell--title {
}
.song-history-row--legacy .song-history-cell--title {
}
.nogidoga-content-main-table .song-history-cell--title a,
.nogidoga-content-title-link {
  color: #1d4ed8;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
  line-height: 1.45;
}
.nogidoga-content-title-link:hover,
.nogidoga-content-main-table .song-history-cell--title a:hover {
  text-decoration: underline;
}
.nogidoga-content-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  margin-top: 4px;
  font-size: 0.8rem;
  line-height: 1.3;
  color: var(--sakamichi-ink-3);
}
.nogidoga-content-inline-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.6em;
  padding: 0 6px;
  border-radius: 2px;
  box-sizing: border-box;
  white-space: nowrap;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.2;
}
.nogidoga-content-inline-badge--tag {
  appearance: none;
  background: var(--sakamichi-paper);
  color: var(--sakamichi-ink-2);
  border: 1px solid var(--sakamichi-hairline-strong);
  cursor: pointer;
  font: inherit;
  transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.nogidoga-content-inline-badge--tag:hover {
  background: var(--sakamichi-paper-2);
  border-color: var(--sakamichi-ink-3);
}
.nogidoga-content-inline-badge--tag.is-active {
  background: var(--sakamichi-nogi-bg);
  border-color: var(--sakamichi-nogi-border);
  color: var(--sakamichi-nogi-secondary);
  box-shadow: none;
}
.nogidoga-content-inline-text {
  display: inline-flex;
  align-items: center;
  color: var(--sakamichi-ink-3);
  white-space: nowrap;
}
.nogidoga-content-inline-text--series {
  color: var(--sakamichi-ink-2);
}
/* --- のぎ動画: タグセクション --- */
.nogidoga-content-tag-section {
  margin-bottom: 16px;
}
/* --- のぎ動画: メンバー絞り込みセクション --- */
.nogidoga-content-member-section {
  margin-bottom: 16px;
}
.nogidoga-content-filter-section {
  margin-bottom: 16px;
  border: 1px solid var(--sakamichi-border-light);
  border-radius: 2px;
  background: var(--sakamichi-paper);
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.nogidoga-content-filter-section:last-of-type {
  margin-bottom: 14px;
}
.nogidoga-content-filter-section:hover {
  border-color: var(--sakamichi-nogi-border);
  background: var(--sakamichi-paper);
}
.nogidoga-content-member-section__heading {
  margin: 0 0 12px;
  font-size: 1.05em;
  font-weight: 700;
  color: var(--sakamichi-ink-2);
}
/* --- のぎ動画: 折りたたみトグル --- */
.nogidoga-content-filter-toggle {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  font-size: 1em;
  font-weight: 700;
  color: var(--sakamichi-ink-2);
  text-align: left;
  transition: background 0.15s, color 0.15s;
}
.nogidoga-content-filter-toggle:hover {
  background: var(--sakamichi-paper-2);
  color: var(--sakamichi-nogi-primary);
}
.nogidoga-content-filter-toggle__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.nogidoga-content-filter-toggle__label {
  display: block;
}
.nogidoga-content-filter-toggle__hint {
  display: none;
  color: var(--sakamichi-ink-3);
  font-size: 0.82em;
  font-weight: 600;
  line-height: 1.35;
}
.nogidoga-content-filter-section.is-collapsed .nogidoga-content-filter-toggle__hint {
  display: block;
}
.nogidoga-content-filter-toggle__arrow {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75em;
  height: 1.75em;
  border-radius: 999px;
  background: var(--sakamichi-paper-2);
  color: var(--sakamichi-ink-3);
  flex: 0 0 auto;
}
.nogidoga-content-filter-toggle__arrow::before {
  content: "▼";
  font-size: 0.82em;
  transition: transform 0.2s ease;
  display: inline-block;
}
.nogidoga-content-filter-section:not(.is-collapsed) .nogidoga-content-filter-toggle__arrow::before {
  transform: rotate(0deg);
}
.nogidoga-content-filter-section.is-collapsed .nogidoga-content-filter-toggle__arrow::before {
  transform: rotate(-90deg);
}
.nogidoga-content-filter-section.is-collapsed .nogidoga-content-filter-body {
  display: none;
}
.nogidoga-content-filter-body {
  padding: 10px 14px 14px;
  border-top: 1px solid rgba(184, 156, 196, 0.45);
  background: color-mix(in srgb, var(--sakamichi-paper-2) 72%, var(--sakamichi-surface) 28%);
}
/* --- のぎ動画: 年次ラベル --- */
.nogidoga-content-year-label {
  font-family: "Helvetica Neue", "Arial", sans-serif;
  font-size: 0.78em;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--sakamichi-ink-3);
  font-variant-numeric: tabular-nums;
}
/* --- のぎ動画: メンバーチップ --- */
.nogidoga-content-member-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.nogidoga-content-member-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid var(--sakamichi-hairline);
  border-radius: 2px;
  background: var(--sakamichi-paper-2);
  color: var(--text-main, var(--sakamichi-ink-2));
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.nogidoga-content-member-chip:hover {
  background: var(--sakamichi-paper);
  border-color: var(--sakamichi-hairline-strong);
}
.nogidoga-content-member-chip__short {
  display: none;
}
.nogidoga-content-remark-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nogidoga-content-remark-item {
  line-height: 1.45;
}
.song-history-analytics {
  margin-top: 12px;
  border: 1px solid var(--sakamichi-border-light);
  border-radius: 2px;
  background: var(--sakamichi-paper);
  padding: 10px;
}
.song-history-analytics__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 10px;
  margin-bottom: 8px;
}
.song-history-analytics__title {
  margin: 0;
  font-size: 1.02em;
  color: var(--sakamichi-ink-strong);
}
.song-history-analytics__note {
  margin: 0;
  color: var(--sakamichi-ink-3);
  font-size: 0.82em;
}
.song-history-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.song-history-analytics-card {
  border: 1px solid var(--sakamichi-border-light);
  border-radius: 2px;
  background: var(--sakamichi-paper-2);
  padding: 7px 8px;
}
.song-history-analytics-card__title {
  margin: 0 0 5px;
  font-size: 0.88em;
  color: var(--sakamichi-ink-2);
}
.song-history-analytics-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.song-history-analytics-list__item {
  display: grid;
  grid-template-columns: 1.8em minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 4px 8px;
  border-bottom: 1px solid var(--sakamichi-paper-2);
  padding: 3px 0;
}
.song-history-analytics-list__item:last-child {
  border-bottom: 0;
}
.song-history-analytics-list__rank {
  color: #1e3a8a;
  font-weight: 700;
}
.song-history-analytics-list__name {
  color: var(--sakamichi-ink-2);
  overflow-wrap: anywhere;
}
.song-history-analytics-list__count {
  color: var(--sakamichi-ink-strong);
  font-weight: 700;
  white-space: nowrap;
}
.song-history-analytics-list__empty {
  color: var(--sakamichi-ink-3);
  font-size: 0.88em;
  padding: 4px 0;
}
@media (max-width: 768px) {
  .song-history-controls {
      width: 100%;
      max-width: none;
      margin-left: 0;
      margin-right: 0;
      padding: 8px 9px;
      box-sizing: border-box;
    }
  .song-history-controls__row--main {
      flex-direction: column;
      align-items: flex-start;
      gap: 7px;
    }
  .song-history-filter-strip {
      width: 100%;
      gap: 6px;
      align-items: flex-start;
    }
  .song-history-filter-text--desktop {
      display: none;
    }
  .song-history-filter-text--mobile {
      display: inline;
    }
  .song-history-controls__search {
      width: 100%;
    }
  .song-history-search-input {
      width: 100%;
    }
  .song-history-controls__actions {
      width: 100%;
      margin-left: 0;
      justify-content: flex-end;
    }
  .song-history-mobile-sort {
      display: flex;
    }
  .song-history-search-input {
      width: 100% !important;
      padding: 6px 8px !important;
    }
  .song-history-table-wrap {
      overflow-x: visible;
    }
  .song-history-table,
    .song-history-table thead,
    .song-history-table tbody,
    .song-history-table tr,
    .song-history-table th,
    .song-history-table td {
      display: block;
      width: 100% !important;
    }
  .song-history-table thead {
      display: none;
    }
  .song-history-table {
      border: 0;
      box-shadow: none;
      width: 100%;
    }
  .song-history-table tbody tr {
      border-top: 0 !important;
      border-bottom: 0 !important;
      border-right: 0 !important;
    }
  .song-history-table tbody tr[hidden] {
      display: none !important;
    }
  .song-history-row {
      height: auto;
      border: 0;
      border-left: 3px solid transparent;
      border-radius: 0;
      padding: 10px 0 10px 10px;
      margin-bottom: 0;
      box-shadow: none;
      background: transparent !important;
    }
  .song-history-row + .song-history-row {
      border-top: 1px solid rgba(0, 0, 0, 0.05);
    }
  .song-history-row--nogi {
      border-left-color: rgba(var(--sakamichi-nogi-chip-rgb), 0.55) !important;
    }
  .song-history-row--sakura {
      border-left-color: rgba(var(--sakamichi-sakura-chip-rgb), 0.6) !important;
    }
  .song-history-row--hinata {
      border-left-color: rgba(var(--sakamichi-hinata-chip-rgb), 0.55) !important;
    }
  .song-history-row--legacy {
      border-left-color: rgba(var(--sakamichi-keyaki-chip-rgb), 0.6) !important;
    }
  .song-history-row.song-history-row--nogi {
      background: rgba(var(--sakamichi-nogi-chip-rgb), 0.055) !important;
    }
  .song-history-row.song-history-row--sakura {
      background: rgba(var(--sakamichi-sakura-chip-rgb), 0.08) !important;
    }
  .song-history-row.song-history-row--hinata {
      background: rgba(var(--sakamichi-hinata-chip-rgb), 0.075) !important;
    }
  .song-history-row.song-history-row--legacy {
      background: rgba(var(--sakamichi-keyaki-chip-rgb), 0.08) !important;
    }
  .song-history-row--nogi td,
    .song-history-row--sakura td,
    .song-history-row--hinata td,
    .song-history-row--yoshimoto td,
    .song-history-row--legacy td,
    .song-history-row--sp td {
      background: transparent !important;
    }
  .song-history-cell {
      border: 0 !important;
      white-space: normal;
      overflow-wrap: break-word;
      word-break: normal;
      padding: 0;
    }
  .song-history-cell--title {
      padding-bottom: 3px;
    }
  .song-history-cell--title a {
      font-size: 0.95rem;
      font-weight: 800;
    }
  .song-history-cell--title .song-history-group-badge,
    .song-history-cell--title a {
      vertical-align: middle;
    }
  .nogidoga-content-meta {
      gap: 3px 5px;
      margin-top: 5px;
    }
  .song-history-cell:not(.song-history-cell--title) {
      display: inline;
      font-size: var(--saka-fs-meta);
      color: var(--sakamichi-ink-2);
    }
  .song-history-cell:not(.song-history-cell--title)::before {
      content: attr(data-label) "：";
      font-weight: 700;
      color: var(--sakamichi-ink-3);
      font-size: 0.92em;
    }
  .song-history-cell--dash {
      text-align: left;
    }
  .song-history-cell--dash:not(.song-history-cell--title) {
      display: none;
    }
  .saka-universe-nogidoga-content .song-history-cell[hidden] {
      display: none !important;
    }
  .song-history-cell:not(.song-history-cell--title) + .song-history-cell:not(.song-history-cell--title):not(.song-history-cell--dash) {
      margin-left: 6px;
    }
  .song-history-cell:not(.song-history-cell--title) .song-history-person-link {
      font-size: inherit;
      color: inherit;
    }
  .song-history-row .song-history-cell--title {
      box-shadow: none !important;
    }
  .song-history-analytics {
      padding: 8px;
    }
  .song-history-analytics__header {
      flex-direction: column;
      align-items: flex-start;
      gap: 2px;
    }
  .song-history-analytics__grid {
      grid-template-columns: 1fr;
    }
  .nogidoga-content-member-chip__full {
      display: none;
    }
  .nogidoga-content-member-chip__short {
      display: inline;
    }
}
.tv-performance-history-group-chip--collab {
  color: var(--sakamichi-universe-primary);
  border-color: var(--sakamichi-universe-primary);
}
.saka-detail-badge--graduation-pb {
    background: #ffe3ec;
    color: #9d2957;
}
.saka-universe-hinatahi-archive .hinatahi-stats p {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}
/* controls */
.hinatahi-controls {
    margin-top: 18px;
}
.hinatahi-controls__filters {
    align-items: center;
}
.hinatahi-filter-select {
    min-width: 160px;
}
.hinatahi-controls__actions {
    margin-left: auto;
}
.hinatahi-no-results {
    margin: 12px 0 0;
    color: var(--sakamichi-ink-3);
    font-size: 0.92rem;
}
/* ── hinatahi mobile ── */
@media (max-width: 768px) {
    .hinatahi-controls__filters {
        width: 100%;
    }
    .hinatahi-filter-select {
        width: 100%;
        min-width: 0;
    }
    .hinatahi-controls .song-history-filter-block {
        width: 100%;
    }
    .hinatahi-controls__actions {
        width: 100%;
        margin-left: 0;
    }
}
/* モバイルの文字の下限 - 小さいラベルやバッジが em・rem の掛け算で --saka-fs-min を割らないようにする */
@media (max-width: 768px) {
  .song-history-reset {
      font-size: max(0.78em, var(--saka-fs-min));
    }
}
