.ccf-wrap {
  margin: 24px 0;
  padding: 16px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  background: #ffffff;
  color: #222;
  backdrop-filter: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.ccf-meta {
  margin-bottom: 16px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.ccf-cast {
  margin-bottom: 12px;
}

.ccf-cast:last-child {
  margin-bottom: 0;
}

.ccf-cast-label {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(0,0,0,0.45);
  text-transform: uppercase;
}

.ccf-cast-body {
  line-height: 1.9;
  color: #222;
  white-space: normal;
  word-break: break-word;
}

.ccf-caption {
  line-height: 1.9;
  color: rgba(0,0,0,0.72);
}

.ccf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.ccf-tab-btn {
  appearance: none;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.72);
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  transition: 0.2s ease;
}

.ccf-tab-btn:hover {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
}

.ccf-tab-btn.is-active {
  background: rgba(255,255,255,0.14);
  color: #fff;
  border-color: rgba(255,255,255,0.24);
}

.ccf-body {
  display: grid;
  gap: 0;
}

.ccf-line {
  margin: 0;
  padding: 10px 0 12px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  line-height: 1.9;
  word-break: break-word;
}


.ccf-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 20px;
}

.ccf-page-btn {
  appearance: none;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.82);
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
}

.ccf-page-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.ccf-page-indicator {
  font-size: 0.95em;
  color: rgba(255,255,255,0.62);
}

.ccf-empty,
.ccf-error {
  padding: 24px 16px;
  text-align: center;
  color: rgba(255,255,255,0.52);
}

@media (max-width: 768px) {
  .ccf-wrap {
    padding: 16px;
    border-radius: 14px;
  }

  .ccf-meta {
    padding: 12px 14px;
    border-radius: 12px;
  }

  .ccf-tabs {
    gap: 8px;
    margin-bottom: 14px;
  }

  .ccf-tab-btn,
  .ccf-page-btn {
    padding: 8px 12px;
    font-size: 14px;
  }

  .ccf-line {
    padding: 9px 0 11px;
    line-height: 1.85;
  }

  .ccf-pager {
    gap: 10px;
    margin-top: 16px;
  }

.ccf-line {
  margin: 0 0 10px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  background: #ffffff;
  line-height: 1.9;
  word-break: break-word;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}


.ccf-tab-btn.is-all {
  background: rgba(255,255,255,0.05);
}

.ccf-tab-btn.is-main {
  background: rgba(90, 110, 140, 0.18);
  border-color: rgba(140, 170, 210, 0.28);
}

.ccf-tab-btn.is-secret {
  background: rgba(140, 95, 110, 0.18);
  border-color: rgba(210, 150, 170, 0.28);
}

.ccf-tab-btn.is-main:hover {
  background: rgba(90, 110, 140, 0.28);
}

.ccf-tab-btn.is-secret:hover {
  background: rgba(140, 95, 110, 0.28);
}

.ccf-tab-btn.is-main.is-active {
  background: rgba(110, 135, 170, 0.38);
  border-color: rgba(170, 200, 255, 0.44);
}

.ccf-tab-btn.is-secret.is-active {
  background: rgba(165, 110, 130, 0.38);
  border-color: rgba(255, 190, 210, 0.44);
}


.ccf-pager-top {
  margin-top: 0;
  margin-bottom: 16px;
}

.ccf-pager-bottom {
  margin-top: 20px;
}


.ccf-tab-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.18);
  background: #ffffff;
  color: #333;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  transition: 0.2s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* ホバー */
.ccf-tab-btn:hover {
  background: #f0f0f0;
  color: #111;
}

/* 選択中 */
.ccf-tab-btn.is-active {
  background: #333;
  color: #fff;
  border-color: #333;
}

.ccf-tab-btn.is-main {
  border-color: rgba(110, 140, 180, 0.35);
}

.ccf-tab-btn.is-secret {
  border-color: rgba(180, 120, 145, 0.45);
}

/* アクティブ時は色を少しだけ反映 */
.ccf-tab-btn.is-main.is-active {
  background: rgb(90, 110, 150);
  border-color: rgb(90, 110, 150);
}

.ccf-tab-btn.is-secret.is-active {
  background: rgb(140, 90, 110);
  border-color: rgb(140, 90, 110);
}


.ccf-page-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.2);
  background: #ffffff;
  color: #333;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  transition: 0.2s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* ホバー */
.ccf-page-btn:hover {
  background: #f0f0f0;
  color: #111;
}

/* 無効 */
.ccf-page-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}


.ccf-page-indicator {
  font-size: 0.95em;
  color: rgba(0,0,0,0.65);
}


.ccf-wrap {
  margin: 24px 0;
  padding: 18px 16px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  background: #ffffff;
  color: #222;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.ccf-meta {
  margin-bottom: 14px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.ccf-cast {
  margin-bottom: 10px;
}

.ccf-caption {
  line-height: 1.9;
  color: rgba(0,0,0,0.72);
  padding-bottom: 6px;
}

.ccf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.ccf-tab-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.10);
  background: transparent;
  color: rgba(0,0,0,0.62);
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  transition: 0.2s ease;
  box-shadow: none;
}

.ccf-tab-btn:hover {
  background: rgba(0,0,0,0.04);
  color: #111;
}

.ccf-tab-btn.is-active {
  background: #2f2f32;
  color: #fff;
  border-color: #2f2f32;
}

.ccf-tab-btn.is-main {
  border-color: rgba(110, 140, 180, 0.18);
}

.ccf-tab-btn.is-secret {
  border-color: rgba(180, 120, 145, 0.22);
}

.ccf-tab-btn.is-main.is-active {
  background: rgb(95, 115, 150);
  border-color: rgb(95, 115, 150);
}

.ccf-tab-btn.is-secret.is-active {
  background: rgb(145, 95, 115);
  border-color: rgb(145, 95, 115);
}

.ccf-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.ccf-pager-top {
  margin-top: 0;
  margin-bottom: 12px;
}

.ccf-pager-bottom {
  margin-top: 14px;
}

.ccf-page-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.10);
  background: transparent;
  color: rgba(0,0,0,0.68);
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  transition: 0.2s ease;
  box-shadow: none;
}

.ccf-page-btn:hover {
  background: rgba(0,0,0,0.04);
  color: #111;
}

.ccf-page-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.ccf-page-indicator {
  font-size: 0.95em;
  color: rgba(0,0,0,0.48);
}

.ccf-body {
  display: grid;
  gap: 0;
}

.ccf-line {
  margin: 0;
  padding: 14px 0;
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  border-radius: 0;
  background: transparent;
  line-height: 1.9;
  word-break: break-word;
  box-shadow: none;
}

.ccf-line:last-child {
  border-bottom: none;
}

.ccf-meta {
  margin-bottom: 14px;
  padding: 0;
  border: none;
  background: transparent;
}

.ccf-caption {
  line-height: 1.9;
  color: rgba(0,0,0,0.72);
  margin-bottom: 10px;
}

.ccf-cast {
  margin: 0;
}

.ccf-cast-body {
  line-height: 1.9;
  color: #222;
}

.ccf-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  margin-bottom: 12px;
  padding-bottom: 2px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: thin;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.ccf-tabs::-webkit-scrollbar {
  height: 6px;
}

.ccf-tabs::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.16);
  border-radius: 999px;
}

.ccf-tabs::-webkit-scrollbar-track {
  background: transparent;
}

.ccf-tab-btn {
  appearance: none;
  border: none;
  border-radius: 0;
  background: transparent;
  color: rgba(0,0,0,0.48);
  padding: 6px 0 8px;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  line-height: 1.2;
  box-shadow: none;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
  flex: 0 0 auto;
}

.ccf-tab-btn:hover {
  background: transparent;
  color: rgba(0,0,0,0.72);
}

.ccf-tab-btn.is-active {
  background: transparent;
  color: #111;
  border-bottom-color: #222;
}

.ccf-tab-btn.is-main.is-active {
  color: rgb(85, 105, 145);
  border-bottom-color: rgb(85, 105, 145);
}

.ccf-tab-btn.is-secret.is-active {
  color: rgb(140, 90, 110);
  border-bottom-color: rgb(140, 90, 110);
}

.ccf-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.ccf-page-btn {
  appearance: none;
  border: none;
  background: transparent;
  color: rgba(0,0,0,0.58);
  padding: 4px 6px;
  cursor: pointer;
  font: inherit;
  box-shadow: none;
}

.ccf-page-btn:hover {
  background: transparent;
  color: #111;
}

.ccf-page-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.ccf-page-indicator {
  font-size: 0.95em;
  color: rgba(0,0,0,0.42);
}

.ccf-meta {
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.ccf-tabs {
  margin-top: 12px;
}


.ccf-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin-top: 12px;
  margin-bottom: 12px;
  padding-bottom: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: thin;
  border-bottom: none;
}

.ccf-tabs::-webkit-scrollbar {
  height: 6px;
}

.ccf-tabs::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.16);
  border-radius: 999px;
}

.ccf-tabs::-webkit-scrollbar-track {
  background: transparent;
}

.ccf-tab-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 999px;
  background: #f7f7f7;
  color: rgba(0,0,0,0.68);
  padding: 7px 13px;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  flex: 0 0 auto;
}

.ccf-tab-btn:hover {
  background: #efefef;
  color: #111;
}

/* 共通の選択中 */
.ccf-tab-btn.is-active {
  color: #fff;
}

/* ALL */
.ccf-tab-btn.is-all {
  background: #f7f7f7;
}

.ccf-tab-btn.is-all.is-active {
  background: #333;
  border-color: #333;
  color: #fff;
}

/* main：濃すぎない青で、文字を白にはっきり */
.ccf-tab-btn.is-main {
  background: rgba(110, 140, 180, 0.10);
  border-color: rgba(110, 140, 180, 0.22);
  color: rgba(0,0,0,0.72);
}

.ccf-tab-btn.is-main:hover {
  background: rgba(110, 140, 180, 0.16);
  color: #111;
}

.ccf-tab-btn.is-main.is-active {
  background: rgb(108, 128, 165);
  border-color: rgb(108, 128, 165);
  color: #fff;
}

/* 秘匿：少し赤紫寄り */
.ccf-tab-btn.is-secret {
  background: rgba(180, 120, 145, 0.12);
  border-color: rgba(180, 120, 145, 0.24);
  color: rgba(0,0,0,0.72);
}

.ccf-tab-btn.is-secret:hover {
  background: rgba(180, 120, 145, 0.18);
  color: #111;
}

.ccf-tab-btn.is-secret.is-active {
  background: rgb(150, 98, 118);
  border-color: rgb(150, 98, 118);
  color: #fff;
}


/* 共通：通常状態は全部同じ */
.ccf-tab-btn {
  background: #f4f4f4;
  border-color: rgba(0,0,0,0.12);
  color: rgba(0,0,0,0.7);
}

/* hover */
.ccf-tab-btn:hover {
  background: #ededed;
  color: #111;
}

/* ===== アクティブ時 ===== */

/* ALL（黒） */
.ccf-tab-btn.is-all.is-active {
  background: #BCAFA4;
  border-color: #BCAFA4;
  color: #fff;
}

/* main（青系） */
.ccf-tab-btn.is-main.is-active {
  background: rgb(110, 130, 170);
  border-color: rgb(110, 130, 170);
  color: #fff;
}

/* other / info（グレー寄りで統一） */
.ccf-tab-btn.is-other.is-active,
.ccf-tab-btn.is-info.is-active {
  background: rgb(140, 140, 145);
  border-color: rgb(140, 140, 145);
  color: #fff;
}

/* 秘匿系（あれば） */
.ccf-tab-btn.is-secret.is-active {
  background: rgb(150, 95, 115);
  border-color: rgb(150, 95, 115);
  color: #fff;
}

/* 基本（今のまま） */
.ccf-tab-btn {
  color: #333;
}

/* アクティブ（全体） */
.ccf-tab-btn.is-active {
  filter: brightness(0.9);
}

/* 淡い色用：さらに濃く＋文字を黒に */
.ccf-tab-btn.is-active.is-secret,
.ccf-tab-btn.is-active.is-other {
  filter: brightness(0.75);
  color: #222;
}

/* ちょいホバー */
.ccf-tab-btn:hover {
  filter: brightness(0.97);
}


/* 通常タブ */
.ccf-wrap .ccf-tab-btn {
  color: #333 !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 共通アクティブ */
.ccf-wrap .ccf-tab-btn.is-active {
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 淡い色タブは文字を白にせず黒寄りにする */
.ccf-wrap .ccf-tab-btn.is-active.is-secret,
.ccf-wrap .ccf-tab-btn.is-active.is-other {
  filter: brightness(0.78) !important;
  color: #222 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* main / ALL / info / KP は白文字のまま */
.ccf-wrap .ccf-tab-btn.is-active.is-main,
.ccf-wrap .ccf-tab-btn.is-active.is-all,
.ccf-wrap .ccf-tab-btn.is-active.is-info,
.ccf-wrap .ccf-tab-btn.is-active.is-kp {
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 黒縁を消すため、focus系も消す */
.ccf-wrap .ccf-tab-btn:focus,
.ccf-wrap .ccf-tab-btn:focus-visible,
.ccf-wrap .ccf-tab-btn:active {
  outline: none !important;
  box-shadow: none !important;
}

/* PC向け hover。スマホでは基本出なくてOK */
@media (hover: hover) {
  .ccf-wrap .ccf-tab-btn:hover {
    filter: brightness(0.97) !important;
  }
}


/* まず、暗くするfilterをやめる */
.ccf-wrap .ccf-tab-btn.is-active,
.ccf-wrap .ccf-tab-btn.is-active.is-secret,
.ccf-wrap .ccf-tab-btn.is-active.is-other {
  filter: none !important;
}

/* 共通の見た目 */
.ccf-wrap .ccf-tab-btn {
  position: relative;
  overflow: hidden;
}

/* 淡い色タブを押した時だけ、背景の上に暗幕をのせる */
.ccf-wrap .ccf-tab-btn.is-active.is-secret,
.ccf-wrap .ccf-tab-btn.is-active.is-other {
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,0.6) !important;
}


.ccf-tab-btn.is-active {
  font-weight: 700;
}

/* キャプション・キャスト共通 */
.ccf-wrap .ccf-caption,
.ccf-wrap .ccf-cast {
  font-size: 12px;
  color: #666;
  line-height: 1.6;
}

/* キャストの余計な強調を消す */
.ccf-wrap .ccf-cast {
  font-weight: normal;
}

/* キャスト内の本文（念のため） */
.ccf-wrap .ccf-cast-body {
  color: inherit;
  font-size: inherit;
}


/* =========================
   Fedibird log - light tune
   ========================= */

.fedibird-year-nav {
  margin: 0 0 20px;
  gap: 8px;
}

.fedibird-year-link {
  color: #7f5a72;
  background: #f6eef3;
  border: 1px solid #e3cfd9;
}

.fedibird-year-link:hover {
  color: #6d435d;
  background: #f1e3eb;
}

.fedibird-year-count {
  color: #9a7c8d;
}

.fedibird-year-section {
  margin-top: 34px;
}

.fedibird-year-heading {
  margin: 0 0 14px;
  padding: 12px 16px;
  font-size: 24px;
  line-height: 1.2;
  color: #ffffff;
  background: #c28faf;
  border-radius: 8px;
}

/* ログ本体 */
.fedibird-log {
  margin: 16px 0 0;
  border: 1px solid #eadfe5;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
}

.fedibird-log-item {
  padding: 18px 18px 16px;
}

.fedibird-log-item + .fedibird-log-item {
  border-top: 1px solid #eee4e9;
}

.fedibird-log-head {
  margin-bottom: 10px;
}

.fedibird-log-user {
  color: #5f4a57;
  font-weight: 700;
  font-size: 14px;
}

.fedibird-log-time {
  color: #8d7c87;
  font-size: 13px;
}

.fedibird-log-origin {
  color: #8c5f79;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.fedibird-log-origin:hover {
  color: #6f435a;
}

.fedibird-log-content {
  color: #3f3840;
  font-size: 15px;
  line-height: 1.9;
}

.fedibird-log-content p {
  margin: 0 0 0.9em;
}

.fedibird-log-content a {
  color: #7f5470;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.fedibird-log-tags {
  margin-top: 12px;
}

.fedibird-log-tag {
  color: #7d6774;
  background: #f7f2f5;
  border: 1px solid #e8dde3;
}

/* CW */
.fedibird-log-cw-btn {
  background: #faf6f8;
  border: 1px solid #eadfe5;
  color: #4b4348;
  border-radius: 10px;
  padding: 11px 12px;
}

.fedibird-log-cw-label {
  background: #b96b8f;
  color: #fff;
}

.fedibird-log-cw-text {
  color: #5a5157;
}

.fedibird-log-cw-open {
  color: #8c7885;
}

.fedibird-log-cw-body {
  margin-top: 10px;
  padding-top: 4px;
}

/* 画像 */
.fedibird-log-media {
  margin-top: 12px;
}

.fedibird-log-media-link {
  border: 1px solid #eadfe5;
  border-radius: 10px;
  background: #faf8fa;
}

/* placeholder */
.fedibird-log--placeholder {
  padding: 16px 18px;
  border: 1px dashed #d8c3cf;
  border-radius: 12px;
  color: #8b7783;
  background: #fcfafb;
}

/* スマホ */
@media (max-width: 640px) {
  .fedibird-year-heading {
    font-size: 22px;
    padding: 11px 14px;
  }

  .fedibird-log-item {
    padding: 15px 14px 14px;
  }

  .fedibird-log-content {
    font-size: 14px;
    line-height: 1.85;
  }
}


/* =========================
   Fedibird log - refine
   ========================= */

/* 年リンク */
.fedibird-year-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
}

.fedibird-year-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  color: #7f5f72;
  background: #f7eff3;
  border: 1px solid #e6d6de;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.fedibird-year-link:hover {
  color: #6f4d61;
  background: #f2e5eb;
  border-color: #dcc7d1;
  transform: translateY(-1px);
}

.fedibird-year-count {
  color: #a18393;
  font-size: 12px;
}

/* 年セクション */
.fedibird-year-section {
  margin-top: 34px;
  scroll-margin-top: 90px;
}

/* SWELL見出しの影響を受けにくくする */
.fedibird-year-section .fedibird-year-heading,
h2.fedibird-year-heading {
  margin: 0 0 14px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  position: relative !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #6a5561 !important;
  letter-spacing: 0.04em !important;
}

.fedibird-year-section .fedibird-year-heading::before,
.fedibird-year-section .fedibird-year-heading::after,
h2.fedibird-year-heading::before,
h2.fedibird-year-heading::after {
  content: none !important;
}

.fedibird-year-section .fedibird-year-heading {
  border-bottom: 1px solid #eadfe5 !important;
}

/* ログヘッダー */
.fedibird-log-head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 10px;
}

.fedibird-log-head-main {
  display: none;
}

.fedibird-log-head-sub {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: right;
  flex-wrap: wrap;
}

.fedibird-log-time {
  color: #8f8089;
  font-size: 13px;
}

.fedibird-log-origin {
  color: #8c667c;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.fedibird-log-origin:hover {
  color: #6f4d61;
}

/* PHPタグ一覧を使う時の見た目 */
.fedibird-log-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.fedibird-log-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #faf5f8;
  border: 1px solid #e8dce2;
  color: #7f6674;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

/* CWボタンも少し丸く余白多め */
.fedibird-log-cw-btn {
  min-height: 46px;
  padding: 12px 14px;
  border-radius: 16px;
}

/* スマホ */
@media (max-width: 640px) {
  .fedibird-year-link {
    min-height: 36px;
    padding: 0 12px;
    font-size: 13px;
  }

  .fedibird-log-tag {
    min-height: 32px;
    padding: 0 11px;
    font-size: 12px;
  }

  .fedibird-year-section .fedibird-year-heading,
  h2.fedibird-year-heading {
    font-size: 20px !important;
  }
}