/* リアルタイム (2026-10-17 追加)。
   1) 全ページ共通: キャストのカードに付く「リアルタイム更新」の点滅の表示 (.cast-card__live)
   2) /top/realtime/ と キャスト個人ページの欄 (.rt-*)
   既存の共通 CSS の値は変えていない (新しい名前の追加だけ)。 */

/* ---------- 1) カードの点滅の表示 (realtime-badge.js が差し込む) ---------- */
.cast-card__live {
  position: absolute;
  top: calc(8px * var(--card-scale, 1));
  left: calc(8px * var(--card-scale, 1));
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: calc(5px * var(--card-scale, 1));
  padding: calc(4px * var(--card-scale, 1)) calc(8px * var(--card-scale, 1)) calc(4px * var(--card-scale, 1)) calc(7px * var(--card-scale, 1));
  border-radius: 999px;
  background: rgba(229, 1, 19, 0.93);
  color: #fcfbff;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: calc(10px * var(--card-scale, 1));
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  animation: ck-live-blink 1.6s ease-in-out infinite;
  pointer-events: none;
}
.cast-card__live-dot {
  width: calc(6px * var(--card-scale, 1));
  height: calc(6px * var(--card-scale, 1));
  border-radius: 50%;
  background: #fcfbff;
  animation: ck-live-pulse 1.2s ease-in-out infinite;
}
.cast-card__live-ago {
  font-weight: 500;
  opacity: 0.92;
}
@keyframes ck-live-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}
@keyframes ck-live-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(0.6); }
}
@media (prefers-reduced-motion: reduce) {
  .cast-card__live,
  .cast-card__live-dot,
  .rt-live__dot,
  .rt-post__live { animation: none; }
}

/* ---------- 2) リアルタイムのページ ---------- */
.rt-content > .section-heading--lp { margin-top: 75px; }
.rt-content > .section-heading-sub { margin-top: 11px; }
.rt-content > .cta-buttons { margin-top: 75px; margin-bottom: 91px; }
.rt-intro,
.rt-empty {
  margin: 24px 30px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: #2a2a2a;
  line-height: 1.7;
}
.rt-empty { text-align: center; }

/* 3時間以内に更新したキャストの横並び */
.rt-live { margin: 28px 0 0; }
.rt-live__title {
  display: flex; align-items: center; gap: 7px;
  margin: 0 30px;
  font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 13px; color: #2a2a2a; line-height: 1.4;
}
.rt-live__dot { width: 8px; height: 8px; border-radius: 50%; background: #E50113; animation: ck-live-blink 1.6s ease-in-out infinite; }
.rt-live__row { display: flex; gap: 12px; overflow-x: auto; padding: 12px 30px 4px; scrollbar-width: thin; }
.rt-live__cast { flex: 0 0 auto; width: 64px; text-align: center; color: #2a2a2a; text-decoration: none; }
.rt-live__cast img { display: block; width: 56px; height: 56px; margin: 0 auto; border-radius: 50%; object-fit: cover; border: 2px solid #E50113; background: #e9e7ea; }
.rt-live__name { display: block; margin-top: 5px; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 10.5px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-live__ago { display: block; font-size: 9.5px; color: #E50113; font-weight: 700; line-height: 1.2; }

/* 投稿の一覧 */
.rt-feed { margin-top: 24px; }
.rt-list { display: flex; flex-direction: column; gap: 14px; padding: 0 20px; }
.rt-post {
  position: relative;
  padding: 14px 16px 16px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid #d9d7dc;
  border-radius: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #2a2a2a;
}
.rt-post--live { border-color: #E50113; box-shadow: 0 0 0 2px rgba(229, 1, 19, 0.12); }
.rt-post__cast { display: flex; align-items: center; gap: 9px; color: #2a2a2a; text-decoration: none; }
.rt-post__avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: #e9e7ea; }
.rt-post__name { font-weight: 700; font-size: 13.5px; }
.rt-post__time { display: block; margin-top: 6px; font-size: 11px; color: #6b6b6b; }
.rt-post__cast + .rt-post__time { position: absolute; top: 16px; right: 16px; margin: 0; text-align: right; }
.rt-post__live { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: #E50113; color: #fcfbff; font-size: 9.5px; font-weight: 700; letter-spacing: 0.04em; animation: ck-live-blink 1.6s ease-in-out infinite; vertical-align: 1px; }
.rt-post__text { margin: 10px 0 0; font-size: 13px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.rt-post__image,
.rt-post__video { display: block; width: 100%; max-height: 480px; margin-top: 10px; border-radius: 8px; background: #111; object-fit: contain; }
.rt-post__image { object-fit: cover; max-height: 420px; }

/* 投稿の欄 (キャスト用) */
.rt-compose { margin: 24px 20px 0; padding: 16px; background: rgba(255, 255, 255, 0.92); border: 2px solid #2a2a2a; border-radius: 12px; font-family: 'Noto Sans JP', sans-serif; color: #2a2a2a; }
.rt-compose__title { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 15px; font-weight: 700; }
.rt-compose__avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.rt-compose__sub { margin: 22px 0 10px; font-size: 13px; font-weight: 700; }
.rt-msg { margin: 10px 0 0; padding: 9px 12px; border-radius: 8px; font-size: 12.5px; font-weight: 700; }
.rt-msg--ok { background: #e6f6ec; color: #1f7a45; }
.rt-msg--ng { background: #fdebec; color: #b3121f; }
.rt-form { margin-top: 12px; }
.rt-form__label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.rt-form__text { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #b9bac4; border-radius: 8px; font-family: inherit; font-size: 16px; line-height: 1.6; color: #2a2a2a; background: #fff; resize: vertical; }
.rt-form__count { text-align: right; font-size: 11px; color: #6b6b6b; margin-top: 4px; }
.rt-form__file { display: block; margin-top: 10px; padding: 12px; border: 1px dashed #9aa0a8; border-radius: 8px; background: #fafafa; cursor: pointer; }
.rt-form__file input { display: block; width: 100%; font-size: 13px; }
.rt-form__file-label { display: block; margin-top: 6px; font-size: 11.5px; color: #4d4b4b; }
.rt-form__note { margin: 8px 0 0; font-size: 11px; color: #6b6b6b; line-height: 1.6; }
.rt-form__submit { display: block; width: 100%; margin-top: 12px; padding: 14px; border: 0; border-radius: 10px; background: #E50113; color: #fcfbff; font-family: inherit; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; cursor: pointer; }
.rt-form__submit:active { transform: translateY(1px); }
.rt-list--mine { padding: 0; }
.rt-del { margin-top: 10px; text-align: right; }
.rt-del__btn { padding: 6px 12px; border: 1px solid #b9bac4; border-radius: 999px; background: #fff; color: #6b6b6b; font-family: inherit; font-size: 11px; cursor: pointer; }

/* キャスト個人ページの欄 */
.rt-sec { margin-top: 68px; }
.rt-sec__body { margin: 22px 24px 0; }
.rt-sec__body .rt-post + .rt-post { margin-top: 12px; }
.rt-sec__link { display: inline-block; margin-top: 16px; font-family: 'Noto Sans JP', sans-serif; font-size: 12.2px; color: #3b60ca; text-decoration: underline; }
