/* ============================================================
   巨量影视 · 业务页面样式
   （片库 / 详情 / 播放 / 创作台 / 个人中心）
   延续：绛红 × 浅金 × 暖墨。禁止玻璃拟态与装饰光斑。
   ============================================================ */

.page {
  padding: 130px clamp(20px, 5vw, 72px) 96px;
  max-width: 1280px;
  margin: 0 auto;
  animation: page-in 0.7s var(--ease-out) both;
}
@keyframes page-in {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.page__header {
  margin-bottom: 34px;
}
.page__eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.4em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.page__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(40px, 6vw, 72px);
  line-height: 1.05;
  letter-spacing: 0.04em;
  color: var(--cream);
  margin-bottom: 14px;
  position: relative;
  display: inline-block;
}
.page__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 56px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.page__desc {
  color: rgba(247, 234, 211, 0.6);
  font-weight: 300;
  letter-spacing: 0.04em;
  font-size: 16px;
  margin-top: 18px;
}

/* ---------- 筛选 chip ---------- */
.filterbar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 34px;
}
.chip {
  padding: 9px 22px;
  border-radius: 999px;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: rgba(247, 234, 211, 0.66);
  border: 1px solid rgba(212, 175, 55, 0.24);
  cursor: pointer;
  transition: all 0.3s;
}
.chip:hover { border-color: var(--gold); color: var(--gold-light); }
.chip--active {
  color: #3a1f08;
  font-weight: 700;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  border-color: transparent;
}

/* ---------- 主推大卡 ---------- */
.featured { margin-bottom: 40px; }
.poster--featured .poster__frame {
  aspect-ratio: 21 / 9;
  min-height: 300px;
}
.poster__frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(150deg, #35121a 0%, #1e0d11 55%, #2a1014 100%);
  border: 1px solid rgba(212, 175, 55, 0.22);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.5), 0 20px 50px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: transform 0.5s var(--ease-out), box-shadow 0.5s, border-color 0.5s;
}
.poster__frame:hover {
  transform: translateY(-6px);
  border-color: rgba(246, 226, 122, 0.5);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.4), 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 40px rgba(212, 175, 55, 0.2);
}
/* 每张海报内的追光氛围 */
.poster__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(90% 60% at 70% 20%, rgba(232, 163, 61, 0.28) 0%, rgba(179, 32, 46, 0.25) 40%, rgba(20, 10, 12, 0) 72%),
    radial-gradient(60% 50% at 20% 90%, rgba(179, 32, 46, 0.4) 0%, transparent 70%);
  pointer-events: none;
}
.poster--featured .poster__glow {
  background:
    radial-gradient(70% 80% at 24% 30%, rgba(212, 175, 55, 0.22) 0%, transparent 60%),
    radial-gradient(60% 70% at 80% 75%, rgba(179, 32, 46, 0.5) 0%, transparent 70%),
    linear-gradient(160deg, rgba(232, 163, 61, 0.18) 0%, transparent 50%);
}
.poster__tag {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  padding: 7px 16px;
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--gold-light);
  border: 1px solid rgba(246, 226, 122, 0.5);
  border-radius: 4px;
  background: rgba(20, 10, 12, 0.5);
  backdrop-filter: blur(4px);
}
.poster__meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 22px 24px;
  background: linear-gradient(to top, rgba(20, 10, 12, 0.95) 0%, rgba(20, 10, 12, 0) 100%);
}
.poster__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 30px;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  color: var(--cream);
}
.poster--featured .poster__logline {
  color: rgba(247, 234, 211, 0.68);
  font-weight: 300;
  letter-spacing: 0.03em;
  font-size: 15px;
  margin-bottom: 14px;
}
.poster__row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.poster__rating {
  font-family: var(--font-mono);
  color: var(--gold-light);
  font-size: 15px;
}
.poster__count {
  font-size: 13px;
  color: rgba(247, 234, 211, 0.6);
}

/* ---------- 片库网格 ---------- */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.grid .poster__frame {
  aspect-ratio: 2 / 3;
}
.grid .poster__name {
  font-size: 20px;
}
.grid .poster__meta {
  padding: 16px 18px;
}

/* ============================================================
   详情页
   ============================================================ */
.detail__hero {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.24);
  margin-bottom: 40px;
  background: linear-gradient(150deg, #35121a, #1a0c10 60%);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}
.detail__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(70% 90% at 72% 24%, rgba(232, 163, 61, 0.25) 0%, transparent 58%),
    radial-gradient(55% 70% at 18% 80%, rgba(179, 32, 46, 0.5) 0%, transparent 68%),
    linear-gradient(120deg, transparent 40%, rgba(246, 226, 122, 0.08) 100%);
}
.detail__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(40% 40% at 76% 18%, rgba(246, 226, 122, 0.18) 0%, transparent 100%);
}
.detail__inner {
  position: relative;
  z-index: 2;
  padding: clamp(28px, 5vw, 60px);
}
.detail__title {
  font-size: clamp(44px, 8vw, 88px);
  margin-bottom: 20px;
}
.detail__title::after { display: none; }
.detail__tags {
  display: flex;
  gap: 10px;
  margin-bottom: 22px;
}
.tag {
  padding: 6px 14px;
  border-radius: 4px;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: rgba(247, 234, 211, 0.8);
  border: 1px solid rgba(212, 175, 55, 0.3);
}
.detail__desc {
  max-width: 52ch;
  color: rgba(247, 234, 211, 0.72);
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: 0.03em;
  margin-bottom: 28px;
}
.detail__stats {
  display: flex;
  gap: 44px;
  margin-bottom: 32px;
}
.stat__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 34px;
  color: var(--gold-light);
}
.stat__label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: rgba(247, 234, 211, 0.5);
  margin-top: 4px;
}
.detail__cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.detail__body {
  max-width: 760px;
}
.detail__subtitle {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.06em;
  color: var(--cream);
  margin: 30px 0 18px;
  position: relative;
  padding-left: 16px;
}
.detail__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: linear-gradient(to bottom, var(--gold), var(--gold-dim));
}
.episodes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}
.ep {
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid rgba(212, 175, 55, 0.2);
  background: linear-gradient(150deg, rgba(42, 20, 23, 0.8), rgba(20, 10, 12, 0.8));
  color: var(--cream);
  cursor: pointer;
  font-size: 15px;
  letter-spacing: 0.05em;
  transition: all 0.3s;
}
.ep:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}
.ep__meta {
  display: block;
  font-family: var(--font-mono);
  font-size: 12px;
  color: rgba(247, 234, 211, 0.45);
  margin-top: 5px;
}
.detail__facts {
  display: grid;
  gap: 14px;
  padding: 6px 2px;
}
.detail__facts div {
  display: flex;
  justify-content: space-between;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.12);
}
.detail__facts dt {
  color: rgba(247, 234, 211, 0.5);
  font-size: 14px;
}
.detail__facts dd {
  color: var(--gold-light);
  font-size: 14px;
}

/* ============================================================
   播放页（App 竖屏优先）
   ============================================================ */
.view--player.page {
  max-width: 460px;
  padding: 120px 18px 120px;
}
.player__screen {
  position: relative;
  aspect-ratio: 9 / 16;
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(60% 40% at 50% 30%, rgba(232, 163, 61, 0.2) 0%, transparent 60%),
    linear-gradient(160deg, #2a1014 0%, #120a0d 100%);
  border: 1px solid rgba(212, 175, 55, 0.28);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 60px rgba(179, 32, 46, 0.15);
}
.player__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  z-index: 1;
}
.player__empty {
  position: absolute;
  inset: 22% 16px 30%;
  z-index: 2;
  color: rgba(247, 234, 211, 0.92);
  font-size: 13px;
  line-height: 1.65;
  text-align: center;
  display: grid;
  place-items: center;
}
.player__video[hidden],
.player__empty[hidden] { display: none !important; }
.player__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(80% 30% at 50% 90%, rgba(179, 32, 46, 0.35) 0%, transparent 100%);
}
.player__top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(to bottom, rgba(20, 10, 12, 0.85), transparent);
}
.player__icon {
  background: none;
  border: none;
  color: var(--cream);
  font-size: 30px;
  cursor: pointer;
}
.player__ep-label {
  font-size: 14px;
  letter-spacing: 0.06em;
  color: rgba(247, 234, 211, 0.9);
}
.player__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 18px 16px;
  background: linear-gradient(to top, rgba(20, 10, 12, 0.9), transparent);
}
/* 第255项：自绘播放控件（原生 controls 撤掉后的替代）。样式只写在 pages.css 这一处，
   不再往 cinema.css 复制 —— `.player__progress` 此前在两个文件里各写一份，互相覆盖。 */
/* 第256项（项1）：**草稿徽标**与「只看可上映」开关。
   注意与仓规「不贴种子/产剧药丸」的区别：禁的是**来源**药丸，此处是**交付状态**，且为用户点名要的。 */
.poster__verdict {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .02em;
  color: rgba(247, 234, 211, 0.82);
  border: 1px solid rgba(212, 175, 55, 0.42);
  background: rgba(18, 10, 13, 0.42);
  vertical-align: middle;
}
.filter-toggle {
  margin-left: 8px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  color: rgba(247, 234, 211, 0.78);
  border: 1px solid rgba(212, 175, 55, 0.32);
  background: transparent;
  cursor: pointer;
}
.filter-toggle:hover { color: #f7ead3; border-color: rgba(212, 175, 55, 0.6); }
.filter-toggle--active {
  color: #1a1010;
  background: linear-gradient(120deg, #e8a33d, #d4af37);
  border-color: transparent;
}

.player__toggle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212, 175, 55, 0.55);
  background: rgba(18, 10, 13, 0.55);
  color: #f7ead3;
  backdrop-filter: blur(6px);
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}
.player__toggle:hover { transform: translate(-50%, -50%) scale(1.06); }
.player__toggle:focus-visible { outline: 2px solid rgba(232, 163, 61, 0.85); outline-offset: 3px; }
.player__toggle[hidden] { display: none !important; }
.player__toggle-icon { width: 30px; height: 30px; fill: currentColor; }
.player__toggle-icon path[hidden] { display: none; }

.player__progress {
  cursor: pointer;
  height: 4px;
  border-radius: 2px;
  background: rgba(247, 234, 211, 0.18);
  overflow: hidden;
  margin-bottom: 10px;
}
.player__progress:focus-visible { outline: 2px solid rgba(232, 163, 61, 0.85); outline-offset: 3px; }

.player__progress-fill {
  width: var(--p, 0%);
  height: 100%;
  background: linear-gradient(90deg, var(--gold-dim), var(--gold-light));
}
.player__row {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 12px;
  color: rgba(247, 234, 211, 0.8);
}
.player__hd {
  color: var(--gold);
}
.player__panel {
  margin-top: 22px;
}
.player__tabs {
  display: flex;
  gap: 26px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16);
  margin-bottom: 18px;
}
.player__tab {
  padding: 10px 2px;
  font-size: 15px;
  letter-spacing: 0.08em;
  color: rgba(247, 234, 211, 0.5);
  cursor: pointer;
  position: relative;
}
.player__tab--active {
  color: var(--gold-light);
}
.player__tab--active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.player__tab-hint {
  padding: 10px 2px;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(247, 234, 211, 0.42);
}
.player__eps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.ep--sm {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  padding: 0;
  font-family: var(--font-mono);
  font-size: 15px;
}
.ep--done { border-color: rgba(212, 175, 55, 0.35); color: var(--gold); }
.ep--current {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #3a1f08;
  font-weight: 700;
  border-color: transparent;
}

/* ============================================================
   AI 创作台
   ============================================================ */
.studio__flow {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 36px;
}
.flow-step {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 18px 0 26px;
}
.flow-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 46px;
  bottom: -6px;
  width: 2px;
  background: linear-gradient(to bottom, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08));
}
.flow-step__num {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 13px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  color: rgba(247, 234, 211, 0.6);
  background: #180d0f;
  position: relative;
  z-index: 1;
}
.flow-step--done .flow-step__num {
  border-color: var(--gold);
  color: #3a1f08;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  font-weight: 700;
}
.flow-step--active .flow-step__num {
  border-color: var(--gold-light);
  color: var(--gold-light);
  box-shadow: 0 0 20px rgba(246, 226, 122, 0.4);
}
.flow-step__body {
  display: flex;
  flex-direction: column;
  padding-top: 4px;
}
.flow-step__title {
  font-size: 16px;
  letter-spacing: 0.05em;
  color: var(--cream);
  margin-bottom: 4px;
}
.flow-step__status {
  font-size: 13px;
  color: rgba(247, 234, 211, 0.45);
  letter-spacing: 0.03em;
}
.flow-step__check {
  margin-left: auto;
  color: var(--gold-light);
  font-size: 18px;
}
.flow-step__spin {
  margin-left: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(212, 175, 55, 0.25);
  border-top-color: var(--gold-light);
  animation: spin 0.9s linear infinite;
}
.flow-step__release {
  margin-left: auto;
  padding: 8px 18px;
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0.06));
  color: var(--gold-light);
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.25s ease;
  flex: 0 0 auto;
}
.flow-step__release:hover:not(:disabled) {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #3a1f08;
  box-shadow: 0 0 22px rgba(246, 226, 122, 0.45);
}
.flow-step__release:disabled {
  opacity: 0.55;
  cursor: default;
}
@keyframes spin { to { transform: rotate(360deg); } }
.studio__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ============================================================
   个人中心
   ============================================================ */
.view--me.page {
  max-width: 640px;
}
.me__profile {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 26px;
  border-radius: 18px;
  border: 1px solid rgba(212, 175, 55, 0.24);
  background: linear-gradient(150deg, rgba(42, 20, 23, 0.8), rgba(20, 10, 12, 0.8));
  margin-bottom: 34px;
}
.me__avatar {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 30px;
  color: #3a1f08;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 0 30px rgba(212, 175, 55, 0.35);
}
.me__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}
.me__motto {
  font-size: 14px;
  color: rgba(247, 234, 211, 0.55);
  letter-spacing: 0.04em;
}
.me__subtitle {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 20px;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
  padding-left: 16px;
  position: relative;
  color: var(--cream);
}
.me__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: linear-gradient(to bottom, var(--gold), var(--gold-dim));
}
.me__continue { margin-bottom: 36px; }
.me__card {
  display: flex;
  gap: 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  background: linear-gradient(150deg, rgba(42, 20, 23, 0.7), rgba(20, 10, 12, 0.7));
  cursor: pointer;
  transition: all 0.3s;
}
.me__card:hover { border-color: var(--gold); transform: translateY(-2px); }
.me__card-thumb {
  width: 96px;
  flex: 0 0 96px;
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(150deg, #35121a, #1a0c10);
  position: relative;
}
.me__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.me__card-name {
  font-size: 15px;
  letter-spacing: 0.04em;
  color: var(--cream);
  margin-bottom: 10px;
}
.me__bar {
  height: 5px;
  border-radius: 3px;
  background: rgba(247, 234, 211, 0.16);
  overflow: hidden;
  margin-bottom: 8px;
}
.me__bar-fill {
  width: var(--p, 0%);
  height: 100%;
  background: linear-gradient(90deg, var(--gold-dim), var(--gold-light));
}
.me__card-time {
  font-family: var(--font-mono);
  font-size: 12px;
  color: rgba(247, 234, 211, 0.5);
}
.me__cost {
  margin: 1.2rem 0 1.6rem;
}
.cost-break {
  display: grid;
  gap: 0.35rem;
  margin: 0.6rem 0 0.8rem;
}
.cost-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  font-size: 0.82rem;
  background: rgba(212, 175, 55, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.14);
}
.cost-row__k { color: var(--cream); letter-spacing: 0.03em; }
.cost-row__v { font-family: var(--font-mono); color: var(--gold-light); font-weight: 700; }
.cost-table-wrap {
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 10px;
}
.cost-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}
.cost-table th {
  position: sticky;
  top: 0;
  padding: 0.5rem 0.6rem;
  text-align: left;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--gold-light);
  background: rgba(24, 14, 12, 0.96);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}
.cost-table td {
  padding: 0.45rem 0.6rem;
  border-bottom: 1px solid rgba(212, 175, 55, 0.08);
  color: rgba(247, 234, 211, 0.78);
  font-family: var(--font-mono);
}
.cost-table tr:last-child td { border-bottom: none; }
.cost-table tbody tr:hover td { background: rgba(212, 175, 55, 0.05); }
.me__list {
  border-top: 1px solid rgba(212, 175, 55, 0.12);
}
.me__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 4px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.12);
  font-size: 15px;
  letter-spacing: 0.04em;
  color: rgba(247, 234, 211, 0.82);
  cursor: pointer;
  transition: color 0.3s;
}
.me__row:hover { color: var(--gold-light); }
.me__chev { color: rgba(212, 175, 55, 0.6); font-size: 20px; }

/* ============================================================
   运维观测（Phase 3）
   ============================================================ */
.ops__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}
.ops__card {
  overflow: hidden;
  padding: 18px 16px;
  border: 1px solid rgba(212, 175, 55, 0.16);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(212, 175, 55, 0.07), rgba(212, 175, 55, 0.02));
}
.ops__card-k {
  display: block;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(212, 175, 55, 0.75);
}
.ops__card-v {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  font-weight: 700;
  font-family: "JetBrains Mono", monospace;
  color: var(--gold-light);
}
.ops__card-d {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: rgba(247, 234, 211, 0.5);
}
.ops__panel {
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 14px;
  background: rgba(10, 8, 12, 0.55);
}
.ops__panel-title {
  margin: 0 0 4px;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: rgba(247, 234, 211, 0.9);
}
.ops__panel-desc {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 400;
  color: rgba(212, 175, 55, 0.6);
}
.ops__lat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 14px;
}
.ops__lat-cell {
  padding: 14px 12px;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.06);
  text-align: center;
}
.ops__lat-k {
  display: block;
  font-size: 12px;
  font-family: "JetBrains Mono", monospace;
  color: rgba(247, 234, 211, 0.55);
}
.ops__lat-v {
  display: block;
  margin-top: 6px;
  font-size: 18px;
  font-family: "JetBrains Mono", monospace;
  color: var(--gold-light);
}
.ops__table-wrap { margin-top: 12px; overflow-x: auto; }
.ops__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.ops__table th, .ops__table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid rgba(212, 175, 55, 0.10);
}
.ops__table th {
  color: rgba(212, 175, 55, 0.7);
  font-weight: 500;
  letter-spacing: 0.08em;
}
.ops__table td { color: rgba(247, 234, 211, 0.85); }
.ops__route {
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  color: rgba(247, 234, 211, 0.65);
}
.ops__st-list { margin-top: 12px; display: grid; gap: 10px; }
.ops__st-row {
  display: grid;
  grid-template-columns: 52px 1fr 48px;
  align-items: center;
  gap: 12px;
}
.ops__st-code {
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  color: rgba(212, 175, 55, 0.85);
}
.ops__st-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.10);
  overflow: hidden;
}
.ops__st-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.ops__st-n {
  text-align: right;
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  color: rgba(247, 234, 211, 0.85);
}
.ops__empty { color: rgba(247, 234, 211, 0.45); font-size: 13px; }
@media (max-width: 820px) {
  .ops__grid { grid-template-columns: repeat(2, 1fr); }
  .ops__lat-grid { grid-template-columns: repeat(2, 1fr); }
}
body[data-theme="light"] .ops__panel { background: rgba(255, 248, 240, 0.75); border-color: rgba(179, 32, 46, 0.12); }
body[data-theme="light"] .ops__lat-cell { background: rgba(179, 32, 46, 0.05); }
body[data-theme="light"] .ops__table th,
body[data-theme="light"] .ops__table td { border-bottom-color: rgba(179, 32, 46, 0.10); }
body[data-theme="light"] .ops__table td { color: rgba(61, 31, 34, 0.85); }
body[data-theme="light"] .ops__route { color: rgba(61, 31, 34, 0.6); }
body[data-theme="light"] .ops__card-d { color: rgba(61, 31, 34, 0.5); }
body[data-theme="light"] .ops__st-n { color: rgba(61, 31, 34, 0.85); }
body[data-theme="light"] .ops__empty { color: rgba(61, 31, 34, 0.45); }
body[data-theme="light"] .ops__badge { background: rgba(179, 32, 46, 0.10); color: rgba(61, 31, 34, 0.65); }
body[data-theme="light"] .ops__badge--ok { background: rgba(70, 201, 128, 0.16); color: #1f8f54; }
body[data-theme="light"] .ops__cal-result { color: rgba(61, 31, 34, 0.65); }
body[data-theme="light"] .ops__cal-result--ok { color: #1f8f54; }

/* ============================================================
   观看偏好 + 为你推荐（Phase 5）
   ============================================================ */
.me__subtitle-note {
  font-size: 11px;
  font-weight: 400;
  color: rgba(247, 234, 211, 0.45);
  margin-left: 8px;
}
.me__pref-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.me__pref-stats span {
  font-size: 12px;
  padding: 4px 12px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 999px;
  color: rgba(247, 234, 211, 0.85);
  background: rgba(212, 175, 55, 0.06);
}
.me__genre-list { display: grid; gap: 10px; }
.me__genre-row {
  display: grid;
  grid-template-columns: 72px 1fr 36px;
  align-items: center;
  gap: 12px;
}
.me__genre-k { font-size: 13px; color: rgba(247, 234, 211, 0.85); }
.me__genre-bar { height: 8px; }
.me__genre-n {
  text-align: right;
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  color: var(--gold-light);
}
.me__rec-grid { display: grid; gap: 10px; }
.me__rec {
  display: grid;
  grid-template-columns: 52px 1fr 20px;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.04);
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.me__rec:hover { border-color: rgba(212, 175, 55, 0.4); }
.me__rec-thumb {
  width: 52px;
  height: 66px;
  border-radius: 8px;
  overflow: hidden;
}
.me__rec-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--gold-light);
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.16), rgba(179, 32, 46, 0.2));
}
.me__rec-body { display: grid; gap: 3px; min-width: 0; }
.me__rec-name { font-size: 14px; font-weight: 600; color: var(--cream); }
.me__rec-tags { font-size: 11px; color: var(--gold-light); }
.me__rec-meta {
  font-size: 11px;
  font-family: "JetBrains Mono", monospace;
  color: rgba(247, 234, 211, 0.55);
}
.me__rec-arrow { font-size: 18px; color: rgba(247, 234, 211, 0.4); }
body[data-theme="light"] .me__subtitle-note { color: rgba(61, 31, 34, 0.45); }
body[data-theme="light"] .me__pref-stats span { color: rgba(61, 31, 34, 0.85); background: rgba(179, 32, 46, 0.05); border-color: rgba(179, 32, 46, 0.2); }
body[data-theme="light"] .me__genre-k { color: rgba(61, 31, 34, 0.85); }
body[data-theme="light"] .me__rec { background: rgba(179, 32, 46, 0.04); border-color: rgba(179, 32, 46, 0.12); }
body[data-theme="light"] .me__rec-name { color: rgba(61, 31, 34, 0.92); }
body[data-theme="light"] .me__rec-meta { color: rgba(61, 31, 34, 0.55); }
body[data-theme="light"] .me__rec-arrow { color: rgba(61, 31, 34, 0.4); }
body[data-theme="light"] .me__genre-n { color: var(--gold-dark); }

/* ============================================================
   预算告警（Phase 6）
   ============================================================ */
.level {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.level--ok { color: #7ee0a3; background: rgba(64, 200, 130, 0.14); border: 1px solid rgba(64, 200, 130, 0.4); }
.level--warn { color: #f3c76b; background: rgba(243, 199, 107, 0.14); border: 1px solid rgba(243, 199, 107, 0.4); }
.level--crit { color: #ff7d8a; background: rgba(255, 125, 138, 0.14); border: 1px solid rgba(255, 125, 138, 0.45); }
body[data-theme="light"] .level--ok { color: #1d7a44; background: rgba(64, 200, 130, 0.12); border-color: rgba(64, 200, 130, 0.5); }
body[data-theme="light"] .level--warn { color: #9a6b10; background: rgba(243, 199, 107, 0.16); border-color: rgba(200, 150, 40, 0.5); }
body[data-theme="light"] .level--crit { color: #b3232f; background: rgba(255, 125, 138, 0.14); border-color: rgba(179, 35, 47, 0.5); }

.budget__form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 14px;
  margin-top: 12px;
}
.budget__field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: rgba(247, 234, 211, 0.7);
}
.budget__field input {
  width: 140px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  background: rgba(0, 0, 0, 0.2);
  color: var(--cream);
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
}
.budget__hint { align-self: center; font-size: 12px; color: var(--gold-light); }
body[data-theme="light"] .budget__field { color: rgba(61, 31, 34, 0.7); }
body[data-theme="light"] .budget__field input { background: rgba(255, 255, 255, 0.6); color: rgba(61, 31, 34, 0.9); border-color: rgba(179, 32, 46, 0.25); }

/* 预实对比（Phase 9）：真实预实映射进度条 + 状态徽章 */
.chip--ok, .chip--warn, .chip--crit {
  margin-left: 8px; padding: 2px 10px; border-radius: 999px;
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  font-family: "JetBrains Mono", monospace;
}
.chip--ok { color: #3ec882; border: 1px solid rgba(62, 200, 130, 0.5); background: rgba(62, 200, 130, 0.1); }
.chip--warn { color: #f3c76b; border: 1px solid rgba(243, 199, 107, 0.5); background: rgba(243, 199, 107, 0.1); }
.chip--crit { color: #ff7d8a; border: 1px solid rgba(255, 125, 138, 0.5); background: rgba(255, 125, 138, 0.1); }
body[data-theme="light"] .chip--ok { color: #1d7a44; border-color: rgba(29, 122, 68, 0.5); background: rgba(62, 200, 130, 0.1); }
body[data-theme="light"] .chip--warn { color: #9a6b10; border-color: rgba(154, 107, 16, 0.5); background: rgba(243, 199, 107, 0.12); }
body[data-theme="light"] .chip--crit { color: #b3232f; border-color: rgba(179, 35, 47, 0.5); background: rgba(255, 125, 138, 0.1); }
.table-wrap { margin-top: 12px; overflow-x: auto; }
.bva__cell { display: flex; align-items: center; gap: 8px; min-width: 150px; }
.bva__track { flex: 1; height: 8px; border-radius: 4px; background: rgba(212, 175, 55, 0.12); overflow: hidden; }
.bva__bar { height: 100%; border-radius: 4px; transition: width 0.4s ease; }
.bva__bar--ok { background: linear-gradient(90deg, #2ea86f, #3ec882); }
.bva__bar--warn { background: linear-gradient(90deg, #c9a045, #f3c76b); }
.bva__bar--crit { background: linear-gradient(90deg, #d6455a, #ff7d8a); }
.bva__pct { font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--gold-light); white-space: nowrap; }

/* ============================================================
   完整性巡检（Phase 14/15）
   ============================================================ */
.ops__panel h4 { margin: 14px 0 8px; font-size: 13px; color: #2b3445; }
.ops__trend { display: flex; align-items: flex-end; gap: 6px; height: 120px;
  padding: 10px 0; border-bottom: 1px solid #e5eaf2; margin-bottom: 4px; }
.ops__bar { display: inline-block; width: 22px; border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, #3f6cf5, #7ba3ff); }
.ops__bar:nth-child(even) { background: linear-gradient(180deg, #f58b3f, #ffc07b); }
.ops__cap-chart { display: flex; align-items: flex-end; gap: 12px; height: 150px;
  padding: 12px 0 26px; border-bottom: 1px solid #e5eaf2; }
.ops__cap-day { display: flex; flex-direction: column; align-items: center; flex: 1; gap: 4px; }
.ops__cap-bar { width: 34px; border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, #3f6cf5, #9cc0ff); }
.ops__cap-rps { font-size: 11px; color: #44506b; font-weight: 600; }
.ops__cap-date { font-size: 11px; color: #8a93a6; }
.ops__adv { margin: 10px 0 4px; padding: 10px 12px; border-radius: 8px;
  font-size: 13px; font-weight: 600; }
.ops__adv--up { background: #fff3e9; color: #c15b16; border: 1px solid #ffd9bb; }
.ops__adv--down { background: #e8f6ef; color: #1e7a4d; border: 1px solid #c2ecd7; }
.ops__adv--stable { background: #eef3fe; color: #2c5fd0; border: 1px solid #d4e2ff; }
.ops__cache-bar { position: relative; height: 26px; margin: 10px 0 6px;
  background: #edf1f8; border-radius: 13px; overflow: hidden; }
.ops__cache-fill { height: 100%; border-radius: 13px;
  background: linear-gradient(90deg, #3f6cf5, #7cd0a8); transition: width .4s; }
.ops__cache-bar span { position: absolute; inset: 0; display: flex;
  align-items: center; justify-content: center; font-size: 12px;
  font-weight: 700; color: #24304a; }
.ops__tid { font-family: "Cascadia Mono", Consolas, monospace; color: #2c5fd0;
  cursor: pointer; text-decoration: underline dotted; }
.ops__time { color: #5a6a8a; font-size: 12px; white-space: nowrap; }
.ops__alert-fire td { background: #fdecec; color: #b3261e; font-weight: 600; }
.ops__alert-ok td { background: #eef7f0; color: #1e7a3c; }
.ops__alert-off td { opacity: .55; }
.ops__alert-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
  padding: 10px 14px; border-top: 1px dashed #dbe1ec; }
.ops__alert-form input, .ops__alert-form select { padding: 6px 8px;
  border: 1px solid #d3dcec; border-radius: 6px; font-size: 13px; background: #fff; }
.ops__alert-form label { font-size: 12px; color: #44506a; display: flex;
  align-items: center; gap: 4px; }
.ops__btn-danger { background: #fdecec; color: #b3261e; border: 1px solid #f2c4c0; }
.ops__btn-danger:hover { background: #f8d7d4; }
.ops__btn-primary { background: #2b6de8; color: #fff; border: 1px solid #2b6de8; }
.ops__btn-primary:hover { background: #1f5acb; }
.ops__facts-pick { display: flex; gap: 8px; align-items: center; padding: 8px 14px; }
.ops__facts-pick label { font-size: 12px; color: #44506a; display: flex; align-items: center; gap: 4px; }
.ops__facts-pick select { padding: 6px 8px; border: 1px solid #d3dcec; border-radius: 6px;
  font-size: 13px; background: #fff; }
.ops__scan-bar { display: flex; gap: 10px; align-items: center; padding: 8px 14px; }
.ops__scan-bar span { font-size: 12px; color: #44506a; }
.ops__sub { margin: 10px 14px 0; font-size: 13px; font-weight: 600; color: #44506a; }
.ops__channels { border-top: 1px dashed #dbe1ec; padding-bottom: 8px; }
.ops__channels .ops__table { margin-top: 6px; }
.ops__evt-fire { color: #b3261e; font-weight: 600; }
.ops__evt-resolve { color: #1e7a3c; }
.ops__evt-sent { color: #1e7a3c; font-weight: 600; }
.ops__evt-failed { color: #b3261e; font-weight: 600; }

/* ============================================================
   数据导出（Phase 13）
   ============================================================ */
.ops__actions { margin: 10px 0 14px; }
.ops__actions .btn { margin-right: 8px; }
.ops__badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px;
  background: rgba(247, 234, 211, 0.14); color: rgba(247, 234, 211, 0.7); }
.ops__badge--ok { background: rgba(70, 201, 128, 0.18); color: #46c980; }
.ops__cal-result { display: inline-block; margin-left: 8px; font-size: 13px;
  color: rgba(247, 234, 211, 0.7); }
.ops__cal-result--ok { color: #46c980; }
.ops__cal-result--err { color: #ff5d5d; }
.ops__roll { margin: 0; }
.btn { border: 0; border-radius: 8px; padding: 8px 16px; cursor: pointer;
  font-size: 13px; background: #eef2f7; color: #2b3445; }
.btn--primary { background: #3f6cf5; color: #fff; }
.btn--primary:hover { background: #2f5ae8; }

/* ============================================================
   数据血缘（Phase 12）
   ============================================================ */
.lineage__legend-wrap { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 10px; }
.lineage__legend { display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: #5b6b7f; }
.lineage__legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.lineage__svg { width: 100%; height: auto; border: 1px solid #e8eef4;
  border-radius: 10px; background: #fff; }

/* ============================================================
   性能基准（Phase 11）
   ============================================================ */
.perf__bar { min-width: 120px; }
.perf__bar i {
  display: block; height: 8px; border-radius: 5px;
  background: linear-gradient(90deg, #3ec882, #f3c76b, #e2574c);
}

/* ============================================================
   内容安全（Phase 10）
   ============================================================ */
.safety__gauge { margin: 14px 0 6px; }
.safety__pct {
  font-family: "JetBrains Mono", monospace; font-size: 30px; font-weight: 700;
  color: var(--gold); line-height: 1;
}
.safety__track { height: 10px; border-radius: 6px; background: rgba(212, 175, 55, 0.12); overflow: hidden; margin: 8px 0; }
.safety__fill {
  height: 100%; border-radius: 6px;
  background: linear-gradient(90deg, #2ea86f, #3ec882, #f3c76b);
}
body[data-theme="light"] .safety__pct { color: var(--gold-deep); }
.safety__meta { font-size: 12px; color: rgba(247, 234, 211, 0.65); }

/* ============================================================
   发布日历（Phase 8）
   ============================================================ */
.schedule__panel {
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 14px;
  padding: 18px 20px;
  background: rgba(0, 0, 0, 0.12);
}
.sched__toolbar {
  display: flex;
  gap: 8px;
  margin: 12px 0 6px;
}
.sched__head {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  padding: 4px 8px;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: rgba(247, 234, 211, 0.45);
  text-transform: uppercase;
}
.sched__row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 8px;
  border-top: 1px solid rgba(212, 175, 55, 0.12);
}
.sched__proj { display: grid; gap: 3px; }
.sched__title { font-weight: 600; font-size: 14px; color: var(--cream); }
.sched__meta { font-size: 11px; color: rgba(247, 234, 211, 0.55); font-family: "JetBrains Mono", monospace; }
.sched__axis {
  position: relative;
  height: 18px;
  background: linear-gradient(90deg, rgba(212, 175, 55, 0.08), rgba(212, 175, 55, 0.02));
  border-radius: 4px;
}
.sched__tick {
  position: absolute;
  top: -14px;
  font-size: 10px;
  color: rgba(247, 234, 211, 0.5);
  font-family: "JetBrains Mono", monospace;
  white-space: nowrap;
  transform: translateX(-50%);
}
.sched__dot {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.35);
}
.sched__dot--ok { background: #3ec882; box-shadow: 0 0 10px rgba(62, 200, 130, 0.7); }
.sched__dot--warn { background: #f3c76b; box-shadow: 0 0 10px rgba(243, 199, 107, 0.7); }
.sched__dot--crit { background: #ff7d8a; box-shadow: 0 0 10px rgba(255, 125, 138, 0.7); }
@media (max-width: 760px) {
  .sched__head, .sched__row { grid-template-columns: 1fr; gap: 6px; }
}

/* ============================================================
   产能面板（Phase 4）
   ============================================================ */
.batch__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}
.batch__panel {
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 14px;
  background: rgba(10, 8, 12, 0.55);
}
.batch__pr-list { margin-top: 12px; display: grid; gap: 12px; }
.batch__pr-row {
  display: grid;
  grid-template-columns: 168px 1fr 56px;
  align-items: center;
  gap: 12px;
}
.batch__pr-name {
  font-size: 13px;
  color: rgba(247, 234, 211, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.batch__pr-bar { height: 10px; }
.batch__pr-v {
  text-align: right;
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  color: var(--gold-light);
}
@media (max-width: 820px) {
  .batch__grid { grid-template-columns: repeat(2, 1fr); }
  .batch__pr-row { grid-template-columns: 110px 1fr 48px; }
}
body[data-theme="light"] .batch__panel { background: rgba(255, 248, 240, 0.75); border-color: rgba(179, 32, 46, 0.12); }
body[data-theme="light"] .batch__pr-name { color: rgba(61, 31, 34, 0.85); }

/* ============================================================
   底部 Tab 栏（移动端）
   ============================================================ */
.tabbar {
  display: none;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 820px) {
  .page {
    padding: 104px 20px 120px;
  }
  .page__title { font-size: 40px; }
  .poster--featured .poster__frame { aspect-ratio: 3 / 4; min-height: 0; }
  .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .detail__stats { gap: 26px; }
  .detail__stats .stat__num { font-size: 28px; }
  .detail__cta { flex-direction: column; }
  .detail__cta .btn--lg { width: 100%; }
  .episodes { grid-template-columns: repeat(3, 1fr); }

  .view--player.page { padding: 96px 14px 130px; max-width: 100%; }

  /* 底部 Tab 栏显示 */
  .tabbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    height: 64px;
    background: rgba(20, 10, 12, 0.94);
    backdrop-filter: blur(12px);
    border-top: 1px solid rgba(212, 175, 55, 0.16);
  }
  .tabbar__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    background: none;
    border: none;
    color: rgba(247, 234, 211, 0.5);
    font-size: 11px;
    letter-spacing: 0.04em;
    cursor: pointer;
  }
  .tabbar__ico { font-size: 18px; }
  .tabbar__ico--gold { color: var(--gold); font-size: 22px; }
  .tabbar__item--center {
    position: relative;
  }
  .tabbar__item--center::before {
    content: "";
    position: absolute;
    top: -8px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold-light), var(--gold));
    opacity: 0.12;
  }
  .tabbar__item:focus-visible { outline: 2px solid var(--gold-light); }
  .tabbar__item--active { color: var(--gold-light); }
  .tabbar__item--active .tabbar__ico { color: var(--gold-light); }
}

/* 强制 hidden 属性生效（覆盖 display 类） */
[hidden] { display: none !important; }

/* ============================================================
   真人海报图
   ============================================================ */
.poster__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* 底部压暗遮罩，保证文字可读 */
.poster__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20, 10, 12, 0.92) 0%, rgba(20, 10, 12, 0.25) 40%, rgba(20, 10, 12, 0) 62%);
  z-index: 1;
  pointer-events: none;
}
.poster__frame .poster__glow { z-index: 1; }
.poster__tag { z-index: 3; }
.poster__meta { z-index: 2; }

.detail__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.85;
}
.detail__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20, 10, 12, 0.96) 0%, rgba(20, 10, 12, 0.55) 45%, rgba(20, 10, 12, 0.3) 100%);
}

.me__card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.me__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  margin: 1.1rem 0 1.4rem;
}
.me__stat {
  text-align: center;
  padding: 0.8rem 0.5rem;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(212, 175, 55, 0.10), rgba(212, 175, 55, 0.03));
  border: 1px solid rgba(212, 175, 55, 0.18);
}
.me__stat-num {
  display: block;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--gold-light);
  letter-spacing: 0.01em;
}
.me__stat-label {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.74rem;
  color: var(--text-muted, rgba(247, 234, 211, 0.72));
}

.studio__quality {
  margin-top: 1.4rem;
}
.qc {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.6rem;
}
.qc-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto auto;
  gap: 0.6rem;
  align-items: center;
  padding: 0.5rem 0.7rem;
  border-radius: 10px;
  font-size: 0.9rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(212, 175, 55, 0.14);
}
.qc-row__shot { color: var(--gold-light); font-weight: 600; }
.qc-row__metric { color: var(--text-muted, rgba(247, 234, 211, 0.72)); }
.qc-row__val { font-family: var(--font-mono, ui-monospace, monospace); color: var(--gold); letter-spacing: 0.02em; }
.qc-row__state {
  font-size: 0.8rem;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-weight: 700;
}
.qc-row--pass .qc-row__state { color: #8ce9a8; background: rgba(140, 233, 168, 0.12); }
.qc-row--fail .qc-row__state { color: #ff9b9b; background: rgba(255, 107, 107, 0.14); }

.studio__thresholds {
  margin-top: 1.4rem;
}
.thr {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.6rem;
}
.thr-row {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1.4fr;
  gap: 0.8rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  font-size: 0.875rem;
  background: rgba(212, 175, 55, 0.06);
  border: 1px dashed rgba(212, 175, 55, 0.28);
}
.thr-row__k { color: var(--cream); font-weight: 600; letter-spacing: 0.03em; }
.thr-row__v { font-family: var(--font-mono, ui-monospace, monospace); color: rgba(247, 234, 211, 0.6); }
.thr-row__t { color: var(--gold-light); letter-spacing: 0.02em; }
/* Phase 2 生效校准阈值高亮 */
.thr-row--active {
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.6);
}
.thr-row--active .thr-row__v { color: var(--gold-light); font-weight: 700; }

.me__card-img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 2rem;
  color: var(--gold-light);
  background:
    radial-gradient(circle at 50% 30%, rgba(212, 175, 55, 0.22), transparent 60%),
    linear-gradient(160deg, #3a1620 0%, #1b0d12 100%);
}

/* ============================================================
   加载态：骨架屏
   ============================================================ */
.library-skeleton { margin-bottom: 20px; }
.skeleton {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(247, 234, 211, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.12);
}
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(246, 226, 122, 0.12), transparent);
  animation: skeleton-shimmer 1.6s infinite;
}
@keyframes skeleton-shimmer {
  100% { transform: translateX(100%); }
}
.skeleton--featured {
  aspect-ratio: 21 / 9;
  margin-bottom: 28px;
}
.skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.skeleton-grid .skeleton { aspect-ratio: 2 / 3; }

/* ============================================================
   空状态
   ============================================================ */
.empty {
  text-align: center;
  padding: 64px 24px;
  border-radius: 18px;
  border: 1px dashed rgba(212, 175, 55, 0.3);
  background: linear-gradient(150deg, rgba(42, 20, 23, 0.5), rgba(20, 10, 12, 0.5));
}
.empty__mark {
  width: 72px;
  height: 72px;
  margin: 0 auto 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 26px;
  color: var(--gold);
  border: 1.5px solid rgba(212, 175, 55, 0.4);
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12), transparent);
  box-shadow: 0 0 40px rgba(212, 175, 55, 0.12);
}
.empty__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.06em;
  color: var(--cream);
  margin-bottom: 12px;
}
.empty__desc {
  color: rgba(247, 234, 211, 0.55);
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.03em;
  max-width: 42ch;
  margin: 0 auto 22px;
}
.library-empty { margin-top: 20px; }
.empty--panel { margin-top: 20px; }

/* 演示切换按钮（仅原型阶段用于展示状态） */
.me__toggle {
  margin-top: 16px;
  background: none;
  border: 1px dashed rgba(212, 175, 55, 0.35);
  color: rgba(212, 175, 55, 0.8);
  font-size: 12px;
  letter-spacing: 0.1em;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.3s;
}
.me__toggle:hover { border-color: var(--gold); color: var(--gold-light); }

/* ============================================================
   主题切换按钮
   ============================================================ */
.theme-toggle {
  position: relative;
  width: 46px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  background: rgba(20, 10, 12, 0.5);
  cursor: pointer;
  transition: all 0.4s var(--ease-soft);
}
.theme-toggle__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  transition: opacity 0.3s, transform 0.4s;
}
.theme-toggle__icon--moon {
  left: 7px;
  color: var(--gold-light);
}
.theme-toggle__icon--sun {
  right: 7px;
  color: #b98a2e;
  opacity: 0.35;
}
body[data-theme="light"] .theme-toggle { background: #f4e7cd; }
body[data-theme="light"] .theme-toggle__icon--sun { opacity: 1; color: #b3202e; }
body[data-theme="light"] .theme-toggle__icon--moon { opacity: 0.3; }

/* ============================================================
   浅色主题（殿堂明亮版）
   品牌保持一致：天安门红 × 复色金 × 暖调
   ============================================================ */
body[data-theme="light"] {
  color-scheme: light;
}
body[data-theme="light"] body,
body[data-theme="light"] {
  background: #f5ecdd;
}
body[data-theme="light"] body::before {
  background:
    radial-gradient(120% 90% at 50% 0%, #f6e7cc 0%, #f2e3c8 40%, #ecdcbf 75%, #e8d5b6 100%);
}
body[data-theme="light"] .halo--gold {
  background: radial-gradient(circle, rgba(212, 175, 55, 0.18) 0%, rgba(212, 175, 55, 0) 62%);
}
body[data-theme="light"] .halo--crimson {
  background: radial-gradient(circle, rgba(179, 32, 46, 0.16) 0%, rgba(179, 32, 46, 0) 62%);
}
body[data-theme="light"] .masthead,
body[data-theme="light"] body:not([data-view="home"]) .masthead {
  background: rgba(245, 236, 221, 0.9);
  border-bottom: 1px solid rgba(179, 32, 46, 0.12);
}
body[data-theme="light"] .brand__name,
body[data-theme="light"] .page__title,
body[data-theme="light"] .detail__title,
body[data-theme="light"] .title,
body[data-theme="light"] .me__name,
body[data-theme="light"] .empty__title {
  color: #3d1f22;
  text-shadow: none;
}
body[data-theme="light"] .page__desc,
body[data-theme="light"] .detail__desc {
  color: rgba(61, 31, 34, 0.62);
}
body[data-theme="light"] .masthead__nav a,
body[data-theme="light"] .capability__label,
body[data-theme="light"] .poster__count,
body[data-theme="light"] .me__motto,
body[data-theme="light"] .empty__desc,
body[data-theme="light"] .ep__meta {
  color: rgba(61, 31, 34, 0.6);
}
body[data-theme="light"] .subtitle {
  color: rgba(61, 31, 34, 0.75);
}
body[data-theme="light"] .hint {
  color: rgba(61, 31, 34, 0.45);
}
body[data-theme="light"] .chip {
  color: rgba(61, 31, 34, 0.66);
  border-color: rgba(179, 32, 46, 0.24);
}
body[data-theme="light"] .chip:hover { color: var(--crimson); }
body[data-theme="light"] .poster__frame,
body[data-theme="light"] .me__card,
body[data-theme="light"] .empty,
body[data-theme="light"] .ep {
  background: #fdf6ea;
  border-color: rgba(179, 32, 46, 0.16);
}
body[data-theme="light"] .poster__veil,
body[data-theme="light"] .detail__backdrop::after {
  background: linear-gradient(to top, rgba(245, 236, 221, 0.94) 0%, rgba(245, 236, 221, 0.2) 42%, rgba(245, 236, 221, 0) 64%);
}
body[data-theme="light"] .poster__name,
body[data-theme="light"] .me__card-name,
body[data-theme="light"] .ep,
body[data-theme="light"] .flow-step__title,
body[data-theme="light"] .me__row {
  color: #3d1f22;
}
body[data-theme="light"] .poster__rating { color: #b98a2e; }
body[data-theme="light"] .detail__stats .stat__num { color: var(--crimson); }
body[data-theme="light"] .stat__label,
body[data-theme="light"] .me__card-time,
body[data-theme="light"] .flow-step__status {
  color: rgba(61, 31, 34, 0.45);
}
body[data-theme="light"] .me__bar,
body[data-theme="light"] .player__progress,
body[data-theme="light"] .ep--sm.ep--done {
  background: rgba(61, 31, 34, 0.12);
}
body[data-theme="light"] .detail__facts div,
body[data-theme="light"] .me__row,
body[data-theme="light"] .me__list {
  border-color: rgba(179, 32, 46, 0.14);
}
body[data-theme="light"] .detail__facts dt { color: rgba(61, 31, 34, 0.5); }
body[data-theme="light"] .detail__facts dd { color: var(--crimson); }
body[data-theme="light"] .skeleton { background: rgba(61, 31, 34, 0.08); }
body[data-theme="light"] .player__screen {
  background:
    radial-gradient(60% 40% at 50% 30%, rgba(232, 163, 61, 0.2) 0%, transparent 60%),
    linear-gradient(160deg, #3d1f22 0%, #201013 100%);
}
body[data-theme="light"] .player__ep-label { color: var(--cream); }
body[data-theme="light"] .me__card-thumb { background: linear-gradient(150deg, #35121a, #1a0c10); }
body[data-theme="light"] .flow-step__num { background: #fdf6ea; }
body[data-theme="light"] .flow-step__release {
  border-color: rgba(185, 138, 46, 0.45);
  color: #8a6417;
  background: rgba(185, 138, 46, 0.1);
}
body[data-theme="light"] .thr-row {
  background: rgba(185, 138, 46, 0.08);
  border-color: rgba(185, 138, 46, 0.3);
}
body[data-theme="light"] .thr-row__v { color: rgba(61, 31, 34, 0.6); }
body[data-theme="light"] .thr-row__t { color: #8a6417; }
body[data-theme="light"] .cost-row {
  background: rgba(185, 138, 46, 0.08);
  border-color: rgba(185, 138, 46, 0.18);
}
body[data-theme="light"] .cost-row__k { color: #3d1f22; }
body[data-theme="light"] .cost-row__v { color: #8a6417; }
body[data-theme="light"] .cost-table th {
  color: #8a6417;
  background: #faf3e4;
  border-bottom-color: rgba(185, 138, 46, 0.25);
}
body[data-theme="light"] .cost-table td {
  color: rgba(61, 31, 34, 0.75);
  border-bottom-color: rgba(185, 138, 46, 0.12);
}
body[data-theme="light"] .cost-table tbody tr:hover td { background: rgba(185, 138, 46, 0.06); }
body[data-theme="light"] .flow-step__release:hover:not(:disabled) {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #3a1f08;
}
body[data-theme="light"] .btn--ghost {
  color: #3d1f22;
  border-color: rgba(179, 32, 46, 0.35);
}
body[data-theme="light"] .btn--ghost:hover {
  color: var(--crimson);
  border-color: var(--crimson);
  background: rgba(179, 32, 46, 0.06);
}
body[data-theme="light"] .detail__subtitle,
body[data-theme="light"] .me__subtitle {
  color: #3d1f22;
}
body[data-theme="light"] .player__tab { color: rgba(61, 31, 34, 0.55); }
body[data-theme="light"] .stage__scroll-line {
  background: linear-gradient(to bottom, transparent, #b98a2e);
}

/* 移动端 Tab 栏在浅色下的适配 */
body[data-theme="light"] .tabbar {
  background: rgba(245, 236, 221, 0.94);
  border-top: 1px solid rgba(179, 32, 46, 0.16);
}
body[data-theme="light"] .tabbar__item { color: rgba(61, 31, 34, 0.5); }
body[data-theme="light"] .tabbar__item--active { color: var(--crimson); }
body[data-theme="light"] .tabbar__item--active .tabbar__ico { color: var(--crimson); }

/* ============================================================
   登录 / 真实产剧 / 成品交付
   ============================================================ */
.authbox {
  max-width: 460px;
  margin: 0 auto;
  padding: 34px;
  border-radius: 20px;
  background: rgba(28, 14, 16, 0.72);
  border: 1px solid rgba(212, 175, 55, 0.24);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(14px);
}
body[data-theme="light"] .authbox {
  background: rgba(255, 252, 246, 0.92);
  border-color: rgba(179, 32, 46, 0.18);
}
.authbox__field { margin-bottom: 18px; }
.authbox__label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: rgba(247, 234, 211, 0.62);
  margin-bottom: 8px;
}
body[data-theme="light"] .authbox__label { color: rgba(61, 31, 34, 0.62); }
.authbox__input {
  width: 100%;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(212, 175, 55, 0.22);
  color: var(--ink, #f7ead3);
  font-family: var(--font-body);
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s;
}
.authbox__input:focus { border-color: var(--gold); }
body[data-theme="light"] .authbox__input { background: #fff; color: #241013; }
.authbox__msg {
  font-size: 13px;
  color: #e9b8b3;
  margin-bottom: 14px;
}
.authbox__msg--err { color: #ff9a8f; }
.authbox__msg--ok { color: #b8e6c3; }
.authbox__actions { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; }
.authbox__who {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed rgba(212, 175, 55, 0.22);
  font-size: 14px;
  color: rgba(247, 234, 211, 0.7);
}
body[data-theme="light"] .authbox__who { color: rgba(61, 31, 34, 0.7); }

/* 登录/产剧/交付 —— 移动端响应性 */
@media (max-width: 820px) {
  .authbox, .produce, .deliver__player {
    padding: 22px 16px;
    border-radius: 16px;
  }
  .authbox { max-width: 100%; }
  .authbox__input {
    padding: 13px 14px;
    font-size: 16px; /* 避免 iOS 聚焦自动放大 */
  }
  .authbox__actions .btn { width: 100%; }
}
@media (max-width: 420px) {
  .authbox, .produce, .deliver__player { padding: 18px 12px; }
  .authbox__label { font-size: 11px; }
}

/* 真实产剧流水线 */
.produce {
  padding: 24px;
  border-radius: 20px;
  background: rgba(28, 14, 16, 0.72);
  border: 1px solid rgba(212, 175, 55, 0.26);
  margin-bottom: 34px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.3);
}
body[data-theme="light"] .produce {
  background: rgba(255, 252, 246, 0.94);
  border-color: rgba(179, 32, 46, 0.18);
}
.produce__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.produce__title { font-family: var(--font-display); font-size: 22px; }
.produce__tag {
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: var(--gold);
}
.produce__tag--ok { color: #b8e6c3; border-color: rgba(184, 230, 195, 0.4); }
.produce__tag--err { color: #ff9a8f; border-color: rgba(255, 154, 143, 0.4); }
.produce__input {
  width: 100%;
  padding: 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(212, 175, 55, 0.22);
  color: var(--ink, #f7ead3);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  outline: none;
  resize: vertical;
  min-height: 90px;
}
.produce__input--line { min-height: 44px; resize: none; margin-top: 8px; }
.produce__actions { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.intent { max-width: 920px; margin: 0 auto 28px; }
.intent__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}
.intent__steps { display: flex; gap: 8px; }
.intent__steps i {
  display: block;
  width: 28px;
  height: 3px;
  background: rgba(247, 234, 211, 0.22);
}
.intent__steps i.is-on { background: var(--cream, #efe6d6); }
.intent__skip {
  background: none;
  border: 0;
  color: var(--mute, #8f8576);
  font-size: 15px;
  cursor: pointer;
  font-family: inherit;
}
.intent__skip:hover { color: var(--gold); }
.intent__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  margin: 0 0 10px;
}
.intent__desc {
  color: var(--mute, #8f8576);
  font-size: 15px;
  margin: 0 0 28px;
  max-width: 36em;
}
.intent__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.intent__cell {
  min-height: 72px;
  padding: 18px 12px;
  border: 1px solid rgba(201, 168, 106, 0.22);
  background: var(--surface, #161210);
  color: var(--cream, #efe6d6);
  font-size: 16px;
  font-family: inherit;
  cursor: pointer;
  border-radius: 2px;
}
.intent__cell:hover { border-color: var(--gold); }
.intent__cell.is-on {
  border-color: var(--gold);
  color: var(--gold-light, #dcc48a);
  background: rgba(196, 164, 106, 0.08);
}
.intent__foot {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.intent__go { flex: 1; min-width: 200px; }
.intent__go:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background: #2a2420;
  color: #8f8576;
  transform: none;
}
#produceBackToIntent { margin-bottom: 12px; }
@media (max-width: 640px) {
  .intent__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body[data-theme="light"] .intent__cell { background: #fffaf2; }
body[data-theme="light"] .intent__steps i { background: rgba(61, 31, 34, 0.18); }
body[data-theme="light"] .intent__steps i.is-on { background: #2f2420; }
.produce__lock { margin-top: 20px; padding-top: 16px; border-top: 1px dashed rgba(212, 175, 55, 0.22); }
.produce__lock-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(212, 175, 55, 0.14);
  font-size: 14px;
}
.produce__lock-row dt { color: rgba(247, 234, 211, 0.62); }
.produce__lock-row dd { text-align: right; }
body[data-theme="light"] .produce__lock-row dt { color: rgba(61, 31, 34, 0.62); }
.produce__cast { margin: 12px 0 8px; }
.produce__cast-title {
  margin: 14px 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gold, #c4a46a);
}
.produce__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.produce__thumb {
  margin: 0;
  border: 1px solid rgba(201, 168, 106, 0.22);
  border-radius: 2px;
  overflow: hidden;
  background: var(--surface, #161210);
}
.produce__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
}
.produce__thumb figcaption {
  padding: 6px 8px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(247, 234, 211, 0.78);
}
@media (max-width: 640px) {
  .produce__thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.produce__stage { font-size: 14px; color: var(--gold); margin-bottom: 10px; }
.produce__bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  margin-bottom: 10px;
}
body[data-theme="light"] .produce__bar { background: rgba(179, 32, 46, 0.12); }
.produce__bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--crimson), var(--gold));
  transition: width 0.4s ease;
}
.produce__msg { font-size: 13px; color: rgba(247, 234, 211, 0.62); margin-bottom: 8px; }
body[data-theme="light"] .produce__msg { color: rgba(61, 31, 34, 0.62); }
.produce__deliver {
  display: inline-block;
  margin-top: 6px;
  color: var(--gold);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
}
.produce__deliver:hover { color: #f4d982; }

/* 成品剧交付 */
.deliver__stage {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  margin-bottom: 26px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}
.deliver__video { width: 100%; max-height: 68vh; display: block; background: #000; }
.deliver__buffering {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  padding: 8px 18px; border-radius: 999px;
  background: rgba(0, 0, 0, 0.65); color: #f4d982; font-size: 13px;
  letter-spacing: 1px; pointer-events: none; z-index: 3;
}
.deliver__buffering[hidden] { display: none; }
.deliver__summary {
  margin: 0 0 12px;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(247, 234, 211, 0.62);
}
body[data-theme="light"] .deliver__summary { color: rgba(61, 31, 34, 0.62); }
.deliver__meta {
  padding: 18px 20px;
  background: rgba(28, 14, 16, 0.9);
  color: var(--ink, #f7ead3);
  font-size: 14px;
  line-height: 1.7;
}
body[data-theme="light"] .deliver__meta { background: rgba(255, 252, 246, 0.95); color: #241013; }
.deliver__shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.deliver__shot {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.2);
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: transform 0.2s, border-color 0.2s;
}
.deliver__shot:hover { transform: translateY(-3px); border-color: var(--gold); }
.deliver__shot img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; display: block; }
.deliver__shot-caption { padding: 8px 10px; font-size: 12px; color: rgba(247, 234, 211, 0.6); }
body[data-theme="light"] .deliver__shot-caption { color: rgba(61, 31, 34, 0.6); }
.deliver__empty { text-align: center; padding: 48px 20px; color: rgba(247, 234, 211, 0.5); }
body[data-theme="light"] .deliver__empty { color: rgba(61, 31, 34, 0.5); }
