/* =========================================================================
 * v5.0 · 暗色即梦风：左侧窄边栏 + 右侧内容区 + 首页 / 数字人库 / 声音库
 * 说明：在 style.css 之后加载，用暗色覆盖旧浅色组件；功能结构不变。
 * ========================================================================= */
:root {
  --bg: #0b0d12;
  --bg-soft: #10131b;
  --card: #12151e;
  --card-2: #171b26;
  --ink: #eef1f8;
  --ink-soft: #c7ccda;
  --muted: #8b93a7;
  --muted-2: #646d82;
  --line: rgba(255, 255, 255, .075);
  --line-strong: rgba(255, 255, 255, .13);
  --accent: #7c5cff;
  --accent-deep: #a78bfa;
  --accent-soft: rgba(124, 92, 255, .13);
  --blue: #5b9dff;
  --blue-soft: rgba(91, 157, 255, .12);
  --teal: #22d3ee;
  --teal-soft: rgba(34, 211, 238, .10);
  --green: #34d399;
  --green-soft: rgba(52, 211, 153, .10);
  --red: #fb7185;
  --red-soft: rgba(251, 113, 133, .10);
  --amber: #fbbf24;
  --amber-soft: rgba(251, 191, 36, .10);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);
  --shadow-md: 0 18px 48px -28px rgba(0, 0, 0, .8);
  --shadow-lg: 0 36px 100px -40px rgba(0, 0, 0, .9);
  color-scheme: dark;
}
html, body { height: 100%; }
body {
  color: var(--ink);
  background:
    radial-gradient(900px 520px at 78% -10%, rgba(124, 92, 255, .16), transparent 60%),
    radial-gradient(720px 480px at -8% 100%, rgba(34, 211, 238, .07), transparent 55%),
    #0b0d12 !important;
  background-attachment: fixed !important;
  overflow: hidden;
}
::selection { background: rgba(124, 92, 255, .40); }
a { color: var(--accent-deep); }
input, select, textarea, button { font-family: inherit; }
input, select, textarea { color-scheme: dark; }

/* ------------------------------- app shell ------------------------------- */
.v5-app { display: grid !important; grid-template-columns: 242px minmax(0, 1fr); height: 100vh; width: 100%; overflow: hidden; }
.v5-sidebar {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 242px;
  height: 100vh;
  padding: 18px 14px 14px;
  border-right: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(18, 21, 30, .98), rgba(10, 12, 17, .99));
  overflow: hidden;
}
.v5-brand { display: flex; align-items: center; gap: 10px; padding: 4px 6px 14px; text-decoration: none; color: var(--ink); }
.v5-brand-mark {
  width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 10px;
  background: linear-gradient(135deg, #7c5cff, #3b82f6 55%, #22d3ee);
  color: #fff; box-shadow: 0 8px 26px -10px rgba(124, 92, 255, .8);
}
.v5-brand-mark .icon { width: 19px; height: 19px; }
.v5-brand-copy { min-width: 0; display: flex; flex-direction: column; }
.v5-brand-copy b { font-size: 14px; letter-spacing: .2px; white-space: nowrap; }
.v5-brand-copy em { font-style: normal; font-size: 7.5px; letter-spacing: 1.4px; color: var(--muted-2); margin-top: 2px; white-space: nowrap; }
.v5-brand .badge-mock { margin-left: auto; flex: none; font-size: 8px; }
.v5-menu { flex: 1; display: flex; flex-direction: column; gap: 2px; border: 0; background: transparent; padding: 0; overflow-y: auto; overflow-x: hidden; }
.v5-menu-label { display: block; margin: 12px 8px 4px; font-size: 9px; letter-spacing: 1.4px; color: #5e667a; font-weight: 600; }
.v5-menu-label:first-child { margin-top: 2px; }
.v5-menu .nav-tab {
  position: relative;
  width: 100%;
  height: 37px;
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #aab1c2;
  font-size: 12px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.v5-menu .nav-tab .icon { width: 16px; height: 16px; color: #79839a; flex: none; }
.v5-menu .nav-tab:hover { background: rgba(255, 255, 255, .045); color: #fff; }
.v5-menu .nav-tab.is-active { color: #fff; background: linear-gradient(90deg, rgba(124, 92, 255, .22), rgba(59, 130, 246, .08)); border-color: rgba(124, 92, 255, .27); }
.v5-menu .nav-tab.is-active .icon { color: #b9a8ff; }
.v5-menu .nav-tab.is-active::before { content: ''; position: absolute; left: -14px; top: 9px; width: 3px; height: 19px; border-radius: 0 3px 3px 0; background: linear-gradient(180deg, #a78bfa, #60a5fa); }
.v5-menu .nav-tab .v5-new-tag { margin-left: auto; font-size: 7px; letter-spacing: .8px; font-style: normal; padding: 2px 4px; border-radius: 4px; color: #fff; background: linear-gradient(135deg, #f97316, #ec4899); }
.v5-menu .nav-tab[data-action="open-settings"] { margin-top: 2px; }
.v5-side-foot { flex: none; border-top: 1px solid var(--line); padding-top: 10px; }
.v5-side-user { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); text-decoration: none; color: var(--ink); }
.v5-side-user:hover { border-color: rgba(124, 92, 255, .35); background: rgba(124, 92, 255, .06); }
.v5-avatar { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #7c5cff, #22d3ee); color: #fff; font-size: 12px; font-weight: 700; }
.v5-user-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.v5-user-copy b { font-size: 10.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-user-copy em { font-style: normal; font-size: 8.5px; color: var(--muted-2); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-side-user > .icon { width: 12px; height: 12px; color: var(--muted-2); transform: rotate(180deg); }
.v5-side-note { margin: 9px 4px 0; font-size: 8.5px; line-height: 1.6; color: #596176; }
.v5-side-mask { position: fixed; inset: 0; z-index: 19; background: rgba(0,0,0,.58); backdrop-filter: blur(3px); }

.v5-body { min-width: 0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
.v5-topbar {
  position: relative;
  flex: none;
  height: 72px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 24px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(11, 13, 18, .82) !important;
  backdrop-filter: blur(18px);
  box-shadow: none !important;
}
.v5-page-head { min-width: 170px; flex: none; display: flex; flex-direction: column; gap: 2px; }
.v5-page-title { font-size: 17px; font-weight: 700; letter-spacing: .2px; color: #f4f6fb; margin: 0; }
.v5-page-sub { margin: 0; font-size: 9px; color: var(--muted-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v5-menu-btn { display: none; flex: none; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.03); color: var(--ink-soft); cursor: pointer; }
.v5-menu-btn .icon { width: 17px; height: 17px; }
.v5-topbar .stat-chips { flex: none; display: flex; gap: 5px; margin-left: 2px; }
.v5-topbar .stat-chip { display: inline-flex; align-items: baseline; gap: 4px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.025); }
.v5-topbar .stat-value { font-size: 11px; font-weight: 700; color: #e7eaf3; }
.v5-topbar .stat-label { font-size: 8px; color: var(--muted-2); }
.v5-topbar .stat-dot { width: 4px; height: 4px; }
.v5-top-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex: none; }
.v5-topbar .search-field { width: 230px; height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.035); display: flex; align-items: center; gap: 7px; }
.v5-topbar .search-field .icon { width: 14px; height: 14px; color: #737d93; }
.v5-topbar .search-field input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 11px; color: var(--ink); }
.v5-topbar .search-field input::placeholder { color: #5d667b; }
.v5-topbar .search-field kbd { font-size: 8px; color: #5d667b; border: 1px solid var(--line); border-radius: 4px; padding: 1px 4px; background: rgba(255,255,255,.03); }
.v5-top-user { display: flex; align-items: center; gap: 8px; height: 34px; }
.v5-login-btn { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 11px; border-radius: 8px; border: 1px solid rgba(124,92,255,.35); background: rgba(124,92,255,.12); color: #d9d1ff; font-size: 10px; text-decoration: none; }
.v5-login-btn .icon { width: 13px; height: 13px; }
.v5-points { display: inline-flex; align-items: baseline; gap: 3px; height: 30px; padding: 0 9px; border-radius: 8px; background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.v5-points em { font-style: normal; font-size: 8px; color: var(--muted-2); }
.v5-points b { font-size: 12px; color: #fbbf24; }
.v5-top-user-name { font-size: 10px; color: var(--ink-soft); max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-user-skeleton { display: block; width: 80px; height: 26px; border-radius: 7px; background: rgba(255,255,255,.06); }
.v5-upload-btn { background: linear-gradient(135deg, #7c5cff, #4f8cff) !important; border: 0 !important; color: #fff !important; box-shadow: 0 10px 30px -16px rgba(124,92,255,.9) !important; }
.btn-primary { background: linear-gradient(135deg, #7c5cff, #4f8cff) !important; border-color: transparent !important; color: #fff !important; box-shadow: 0 10px 30px -16px rgba(124,92,255,.8) !important; }
.btn-primary:hover { filter: brightness(1.08); }
.v5-topbar .btn { height: 32px; padding: 0 10px; font-size: 10px; border-radius: 8px; }
.v5-topbar .btn-ghost { background: rgba(255,255,255,.035); border-color: var(--line); color: var(--ink-soft); }
.v5-topbar .btn .icon { width: 13px; height: 13px; }

body:not([data-route="workbench"]) .v5-topbar .search-field,
body:not([data-route="workbench"]) .v5-stat-chips { display: none; }
body[data-route="avatars"] .v5-upload-btn,
body[data-route="voices"] .v5-upload-btn,
body[data-route="drama"] .v5-upload-btn { display: none; }

.v5-body .app-main { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; width: 100%; padding: 0; margin: 0; }
.v5-body .app-main::-webkit-scrollbar { width: 8px; }
.v5-body .app-main::-webkit-scrollbar-thumb { background: rgba(255,255,255,.10); border-radius: 8px; }
.view-page { padding: 22px 26px 30px; }
.v5-page { max-width: 1480px; margin: 0 auto; }
.v5-body .app-footer { flex: none; padding: 8px 24px; border-top: 1px solid var(--line); background: rgba(11,13,18,.9); color: #596176; font-size: 8.5px; }
.v5-body .app-footer .footer-brand, .v5-body .app-footer .footer-tech { color: #596176; }
.v5-body .upload-dock { margin: 0 24px 10px; border: 1px solid var(--line); border-radius: 12px; background: #12151e; box-shadow: var(--shadow-md); }
.v5-body .dock-head, .v5-body .dock-link { background: transparent; }
.v5-body .dock-title { color: var(--ink); }
.v5-body .dock-sub, .v5-body .dock-link-tag { color: var(--muted); }
.v5-body .dock-link-field { background: rgba(255,255,255,.03); border-color: var(--line); }
.v5-body .dock-link-field input { color: var(--ink); }
.v5-body .app-footer .footer-sep { color: #3c4354; }

/* ------------------------------- 通用暗色组件 ------------------------------- */
.v5-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; letter-spacing: 1.7px; color: #8b93a7; font-weight: 600; }
.v5-dot { width: 5px; height: 5px; border-radius: 50%; background: #a78bfa; box-shadow: 0 0 12px #a78bfa; }
.v5-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 2px 0 18px; }
.v5-page-heading h2 { margin: 5px 0 0; font-size: 27px; letter-spacing: .3px; color: #f5f7fc; }
.v5-page-heading p { margin: 5px 0 0; font-size: 11px; color: var(--muted); }
.v5-heading-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.v5-gradient-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; padding: 0 15px; border: 0; border-radius: 10px; background: linear-gradient(135deg, #7c5cff, #4f8cff); color: #fff; font-size: 11px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: 0 14px 34px -18px rgba(124,92,255,.9); transition: filter .15s ease, transform .15s ease; }
.v5-gradient-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.v5-gradient-btn .icon { width: 14px; height: 14px; }
.v5-gradient-btn.block { width: 100%; }
.v5-gradient-btn[disabled] { opacity: .55; cursor: not-allowed; }
.v5-ghost-btn { display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 34px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: rgba(255,255,255,.03); color: var(--ink-soft); font-size: 10px; text-decoration: none; cursor: pointer; }
.v5-ghost-btn:hover { border-color: rgba(124,92,255,.4); color: #fff; }
.v5-ghost-btn[disabled] { opacity: .35; cursor: not-allowed; }
.v5-ghost-btn .icon { width: 12px; height: 12px; }
.v5-ghost-btn.tiny { height: 28px; padding: 0 8px; font-size: 9px; }
.v5-icon-btn { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.03); color: var(--ink-soft); cursor: pointer; }
.v5-icon-btn:hover { border-color: rgba(124,92,255,.45); color: #fff; }
.v5-icon-btn .icon { width: 14px; height: 14px; }
.v5-text-link { display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent; color: #a78bfa; font-size: 10px; text-decoration: none; cursor: pointer; }
.v5-text-link .icon { width: 11px; height: 11px; }
.v5-pill { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--line); background: rgba(255,255,255,.035); font-size: 10px; color: var(--ink-soft); white-space: nowrap; }
.v5-pill b { font-size: 12px; color: #fff; }
.v5-pill-bean { border-color: rgba(251,191,36,.22); background: rgba(251,191,36,.06); }
.v5-pill-warn { border-color: rgba(251,113,133,.25); color: #fb7185; }
.v5-bean-dot { width: 7px; height: 7px; border-radius: 50%; background: #fbbf24; box-shadow: 0 0 10px rgba(251,191,36,.8); }
.v5-tabs { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); }
.v5-tab { height: 29px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 10px; cursor: pointer; }
.v5-tab.is-active { color: #fff; background: rgba(124,92,255,.18); box-shadow: inset 0 0 0 1px rgba(124,92,255,.3); }
.v5-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; }
.v5-toolbar-hint { font-size: 9px; color: var(--muted-2); }
.v5-search-inline { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.03); min-width: 220px; }
.v5-search-inline .icon { width: 14px; height: 14px; color: var(--muted-2); }
.v5-search-inline input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; }
.v5-empty-mini { color: var(--muted-2); font-size: 10px; padding: 20px 6px; }
.v5-skeleton-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.v5-skeleton-card { height: 260px; border-radius: 14px; background: linear-gradient(100deg, rgba(255,255,255,.035) 30%, rgba(255,255,255,.065) 50%, rgba(255,255,255,.035) 70%); background-size: 200% 100%; animation: v5Shimmer 1.4s infinite; border: 1px solid var(--line); }
.v5-skeleton-card.is-voice { height: 82px; }
@keyframes v5Shimmer { to { background-position: -200% 0; } }
.v5-error-card, .v5-empty-card { padding: 42px 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); text-align: center; color: var(--muted); }
.v5-error-card .icon { width: 28px; height: 28px; color: #fb7185; }
.v5-error-card b, .v5-empty-card b { display: block; margin: 8px 0 4px; color: var(--ink); font-size: 14px; }
.v5-empty-icon { width: 54px; height: 54px; margin: 0 auto; display: grid; place-items: center; border-radius: 16px; background: rgba(124,92,255,.12); color: #a78bfa; }
.v5-empty-icon .icon { width: 24px; height: 24px; }
.v5-empty-card .v5-gradient-btn { margin-top: 14px; }
.v5-tone-0, .tone-0 { background: linear-gradient(145deg, #7c5cff, #4f46e5); }
.tone-1 { background: linear-gradient(145deg, #0ea5e9, #2563eb); }
.tone-2 { background: linear-gradient(145deg, #a855f7, #ec4899); }
.tone-3 { background: linear-gradient(145deg, #14b8a6, #0d9488); }
.tone-4 { background: linear-gradient(145deg, #f97316, #dc2626); }
.tone-5 { background: linear-gradient(145deg, #64748b, #334155); }
.v5-cover-letter { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.86); font-size: 24px; font-weight: 800; }

/* ------------------------------- 首页 ------------------------------- */
.v5-home { display: flex; flex-direction: column; gap: 16px; }
.v5-hero { position: relative; overflow: hidden; border: 1px solid rgba(124,92,255,.16); border-radius: 20px; background: radial-gradient(760px 300px at 82% -20%, rgba(124,92,255,.28), transparent 65%), radial-gradient(520px 260px at 4% 120%, rgba(34,211,238,.12), transparent 60%), linear-gradient(135deg, #141728, #0f111b 65%); padding: 34px 34px 28px; }
.v5-hero-bg { position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(600px 300px at 72% 40%, #000, transparent 75%); pointer-events: none; }
.v5-hero-inner { position: relative; max-width: 820px; }
.v5-hero .v5-eyebrow { color: #a9b1c6; }
.v5-hero-title { margin: 14px 0 0; font-size: 42px; line-height: 1.14; letter-spacing: -0.8px; color: #f7f8ff; font-weight: 800; }
.v5-hero-title span { background: linear-gradient(100deg, #a78bfa, #60a5fa 48%, #22d3ee); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v5-hero-sub { margin: 12px 0 0; max-width: 620px; font-size: 12.5px; line-height: 1.7; color: #9aa3b8; }
.v5-hero-input { display: flex; align-items: center; gap: 10px; height: 56px; margin-top: 22px; padding: 0 8px 0 16px; border: 1px solid rgba(124,92,255,.28); border-radius: 14px; background: rgba(10,12,18,.72); box-shadow: 0 18px 50px -24px rgba(124,92,255,.55), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.v5-hero-input > .icon { width: 17px; height: 17px; color: #8b93a7; flex: none; }
.v5-hero-input input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: #f2f4fb; font-size: 13px; }
.v5-hero-input input::placeholder { color: #6b7489; }
.v5-hero-input .v5-gradient-btn { height: 40px; border-radius: 10px; }
.v5-hero-tip { margin-top: 10px; font-size: 9px; color: #666f85; }
.v5-quick-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.v5-quick-card { position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 14px 13px; min-height: 92px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(150deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); text-align: left; color: var(--ink); cursor: pointer; overflow: hidden; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.v5-quick-card:hover { transform: translateY(-2px); border-color: rgba(124,92,255,.35); background: linear-gradient(150deg, rgba(124,92,255,.13), rgba(255,255,255,.025)); }
.v5-quick-icon { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 10px; background: rgba(124,92,255,.13); color: #b9a8ff; }
.v5-quick-icon .icon { width: 16px; height: 16px; }
.v5-quick-copy { min-width: 0; display: flex; flex-direction: column; }
.v5-quick-copy em { font-style: normal; font-size: 7.5px; letter-spacing: 1.2px; color: #6b7489; font-weight: 600; }
.v5-quick-copy b { margin-top: 4px; font-size: 13px; }
.v5-quick-copy span { margin-top: 4px; font-size: 9px; line-height: 1.5; color: #737d92; }
.v5-quick-arrow { position: absolute; top: 11px; right: 11px; width: 12px; height: 12px; color: #5e667a; }
.v5-section { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.022); padding: 18px 20px; }
.v5-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.v5-section-head h3 { margin: 4px 0 0; font-size: 17px; color: #f2f4fb; }
.v5-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.v5-stat-card { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.v5-stat-icon { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 10px; }
.v5-stat-icon .icon { width: 16px; height: 16px; }
.v5-stat-icon.is-violet { background: rgba(124,92,255,.14); color: #b9a8ff; }
.v5-stat-icon.is-blue { background: rgba(59,130,246,.13); color: #7db5ff; }
.v5-stat-icon.is-cyan { background: rgba(34,211,238,.11); color: #67e8f9; }
.v5-stat-icon.is-orange { background: rgba(249,115,22,.12); color: #fdba74; }
.v5-stat-icon.is-pink { background: rgba(236,72,153,.12); color: #f9a8d4; }
.v5-stat-card div { display: flex; flex-direction: column; min-width: 0; }
.v5-stat-card em { font-style: normal; font-size: 8.5px; color: #7c859a; }
.v5-stat-card b { margin-top: 3px; font-size: 19px; color: #f4f6fc; letter-spacing: .2px; }
.v5-stat-card small { margin-top: 2px; font-size: 8px; color: #5f687d; }
.v5-home-bottom { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: 12px; border: 0; background: transparent; padding: 0; }
.v5-recent-card, .v5-rights-card { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.022); padding: 18px 20px; }
.v5-recent-list { display: flex; flex-direction: column; gap: 3px; }
.v5-recent-item { display: flex; align-items: center; gap: 10px; padding: 7px; border-radius: 9px; text-decoration: none; color: var(--ink); border: 1px solid transparent; }
.v5-recent-item:hover { background: rgba(255,255,255,.035); border-color: var(--line); }
.v5-recent-thumb { position: relative; width: 58px; height: 38px; flex: none; border-radius: 6px; overflow: hidden; display: grid; place-items: center; }
.v5-recent-thumb span { position: absolute; font-size: 13px; color: rgba(255,255,255,.8); font-weight: 700; }
.v5-recent-thumb img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.v5-recent-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.v5-recent-copy b { font-size: 10.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.v5-recent-copy em { margin-top: 2px; font-style: normal; font-size: 8.5px; color: #6c758a; }
.v5-recent-status { flex: none; font-size: 8px; padding: 2px 6px; border-radius: 5px; color: #9aa3b8; background: rgba(255,255,255,.05); }
.v5-recent-status.is-done { color: #6ee7b7; background: rgba(52,211,153,.09); }
.v5-rights-card { position: relative; overflow: hidden; display: flex; flex-direction: column; background: radial-gradient(400px 220px at 90% -10%, rgba(124,92,255,.24), transparent 65%), rgba(255,255,255,.022); }
.v5-rights-glow { position: absolute; width: 140px; height: 140px; border-radius: 50%; right: -50px; bottom: -60px; background: rgba(59,130,246,.18); filter: blur(30px); }
.v5-rights-card h3 { margin: 5px 0 0; font-size: 18px; }
.v5-rights-card > p { margin: 7px 0 0; font-size: 9.5px; line-height: 1.65; color: #8b93a7; }
.v5-rights-card ul { margin: 12px 0 14px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.v5-rights-card li { display: flex; align-items: center; gap: 6px; font-size: 9.5px; color: #b7bfd0; }
.v5-rights-card li .icon { width: 11px; height: 11px; color: #34d399; }
.v5-rights-card .v5-gradient-btn { margin-top: auto; }

/* ------------------------------- 数字人库 / 声音库 ------------------------------- */
.v5-avatar-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.v5-avatar-card { position: relative; display: flex; flex-direction: column; padding: 0; border: 1px solid var(--line); border-radius: 15px; background: #12151e; text-align: left; color: var(--ink); cursor: pointer; overflow: hidden; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.v5-avatar-card:hover { transform: translateY(-3px); border-color: rgba(124,92,255,.48); box-shadow: 0 24px 50px -30px rgba(124,92,255,.55); }
.v5-avatar-cover { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; background: #1b1f2b; }
.v5-avatar-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v5-avatar-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 52px; background: linear-gradient(180deg, transparent 45%, rgba(8,10,16,.9)); opacity: 0; transition: opacity .16s ease; }
.v5-avatar-card:hover .v5-avatar-overlay { opacity: 1; }
.v5-avatar-use { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 8px; background: linear-gradient(135deg, #7c5cff, #4f8cff); color: #fff; font-size: 9px; font-weight: 600; }
.v5-avatar-use .icon { width: 12px; height: 12px; }
.v5-avatar-info { display: flex; flex-direction: column; gap: 3px; padding: 10px 11px 11px; }
.v5-avatar-info b { font-size: 11.5px; color: #f0f3fa; }
.v5-avatar-info em { font-style: normal; font-size: 8.5px; color: #737d92; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-avatar-tags { display: flex; gap: 3px; flex-wrap: wrap; margin-top: 3px; }
.v5-avatar-tags i { font-style: normal; font-size: 7.5px; padding: 1px 4px; border-radius: 4px; color: #8b93a7; background: rgba(255,255,255,.05); }
.v5-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 18px; font-size: 9.5px; color: #737d92; }
.v5-voice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v5-voice-card { display: flex; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.v5-voice-card:hover { border-color: rgba(124,92,255,.3); }
.v5-voice-wave { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 11px; color: rgba(255,255,255,.85); }
.v5-voice-wave .icon { width: 18px; height: 18px; }
.v5-voice-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v5-voice-copy b { font-size: 11.5px; color: var(--ink); }
.v5-voice-copy em { font-style: normal; font-size: 8.5px; color: #737d92; }
.v5-voice-tag { font-size: 7.5px; color: #a78bfa; }
.v5-voice-actions { display: flex; align-items: center; gap: 6px; }

/* 数字人生成抽屉 */
.v5-drawer-overlay { position: fixed; inset: 0; z-index: 1600; }
.v5-drawer-mask { position: absolute; inset: 0; background: rgba(0,0,0,.62); backdrop-filter: blur(4px); }
.v5-drawer { position: absolute; top: 0; right: 0; bottom: 0; width: min(540px, 94vw); display: flex; flex-direction: column; background: #10131b; border-left: 1px solid var(--line-strong); box-shadow: -40px 0 100px rgba(0,0,0,.6); animation: v5SlideIn .2s ease; }
@keyframes v5SlideIn { from { transform: translateX(40px); opacity: .5; } to { transform: none; opacity: 1; } }
.v5-drawer-head { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 18px 20px 12px; border-bottom: 1px solid var(--line); }
.v5-drawer-head h3 { margin: 4px 0 0; font-size: 20px; }
.v5-drawer-scroll { flex: 1; overflow-y: auto; padding: 14px 20px; }
.v5-drawer-person { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.v5-drawer-cover { position: relative; width: 64px; height: 82px; flex: none; overflow: hidden; border-radius: 8px; }
.v5-drawer-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v5-drawer-person b { font-size: 13px; }
.v5-drawer-person p { margin: 4px 0 5px; font-size: 9px; color: #737d92; }
.v5-field { display: flex; flex-direction: column; gap: 5px; margin-top: 14px; }
.v5-field > span { display: flex; align-items: center; justify-content: space-between; font-size: 10px; color: #aab1c2; }
.v5-field > span em { font-style: normal; font-size: 8.5px; color: #646d82; }
.v5-field select, .v5-field textarea, .v5-field input { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; background: #0c0f16; color: var(--ink); padding: 9px 10px; font-size: 11px; outline: 0; }
.v5-field select { height: 36px; }
.v5-field textarea { resize: vertical; min-height: 96px; line-height: 1.6; }
.v5-inline-field { display: flex; align-items: center; gap: 6px; }
.v5-inline-field select { flex: 1; }
.v5-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.v5-cost-line { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); font-size: 9.5px; color: #8b93a7; }
.v5-cost-line b { color: #fbbf24; font-size: 13px; }
.v5-task-card, .v5-result-card { margin-top: 14px; padding: 12px; border: 1px solid rgba(124,92,255,.25); border-radius: 11px; background: rgba(124,92,255,.07); }
.v5-task-head { display: flex; align-items: center; justify-content: space-between; font-size: 10.5px; }
.v5-task-head em { font-style: normal; color: #a78bfa; font-size: 10px; }
.v5-progress { height: 5px; margin: 8px 0 6px; border-radius: 99px; background: rgba(255,255,255,.09); overflow: hidden; }
.v5-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7c5cff, #22d3ee); transition: width .4s ease; }
.v5-task-card p { font-size: 8.5px; color: #7c859a; }
.v5-error-inline { display: flex; align-items: center; gap: 6px; margin-top: 10px; padding: 8px 10px; border: 1px solid rgba(251,113,133,.25); border-radius: 8px; color: #fda4b1; font-size: 9.5px; }
.v5-error-inline .icon { width: 13px; height: 13px; }
.v5-error-inline button { margin-left: auto; border: 0; background: transparent; color: #fda4b1; text-decoration: underline; cursor: pointer; font-size: 9px; }
.v5-result-card h4 { margin: 5px 0 8px; font-size: 12px; color: #e9edf7; }
.v5-result-card video { width: 100%; max-height: 280px; border-radius: 8px; background: #000; }
.v5-result-actions { display: flex; gap: 7px; margin-top: 9px; }
.v5-result-actions .v5-gradient-btn { height: 32px; font-size: 10px; }
.v5-result-actions .v5-ghost-btn { height: 32px; font-size: 10px; }
.v5-drawer-foot { flex: none; display: flex; align-items: center; gap: 7px; padding: 12px 20px; border-top: 1px solid var(--line); background: #0d1017; }
.v5-foot-note { margin-right: auto; font-size: 8.5px; color: #646d82; }
.v5-drawer-foot .v5-gradient-btn { margin-left: 0; }

/* AI 短剧占位 */
.v5-drama-hero { position: relative; overflow: hidden; border: 1px solid rgba(236,72,153,.2); border-radius: 20px; background: radial-gradient(620px 300px at 80% -20%, rgba(236,72,153,.22), transparent 65%), radial-gradient(500px 260px at 10% 110%, rgba(124,92,255,.18), transparent 60%), linear-gradient(135deg, #171226, #0e1018); padding: 44px; }
.v5-drama-hero h2 { margin: 12px 0 0; font-size: 38px; line-height: 1.2; color: #fff; }
.v5-drama-hero h2 span { background: linear-gradient(100deg, #f472b6, #a78bfa, #60a5fa); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v5-drama-hero p { max-width: 640px; margin: 12px 0 0; font-size: 12px; line-height: 1.8; color: #9aa3b8; }
.v5-drama-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 900px; margin-top: 26px; }
.v5-drama-grid > div { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); }
.v5-drama-grid b { font-size: 20px; color: #a78bfa; }
.v5-drama-grid span { display: block; margin-top: 5px; font-size: 12px; color: #e8eaf4; }
.v5-drama-grid p { margin: 5px 0 0; font-size: 9px; color: #737d92; }
.v5-drama-badge { display: inline-block; margin-top: 22px; font-size: 8.5px; color: #f9a8d4; padding: 4px 8px; border-radius: 5px; background: rgba(236,72,153,.10); border: 1px solid rgba(236,72,153,.22); }

/* ------------------------------- 旧工作台暗色覆盖 ------------------------------- */
.v5-body .workspace { border-color: var(--line); background: transparent; }
.v5-body .sidebar { background: #10131b !important; border-color: var(--line) !important; }
.v5-body .sidebar-head { background: #10131b !important; border-color: var(--line) !important; }
.v5-body .filter-tabs { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; }
.v5-body .filter-tab { color: #8b93a7 !important; }
.v5-body .filter-tab.is-active { background: rgba(124,92,255,.18) !important; color: #fff !important; }
.v5-body .video-list { background: transparent !important; }
.v5-body .video-item, .v5-body .video-card, .v5-body .list-item { border-color: var(--line) !important; background: transparent !important; color: var(--ink) !important; }
.v5-body .video-item:hover, .v5-body .video-card:hover { background: rgba(255,255,255,.035) !important; }
.v5-body .video-item.is-active, .v5-body .video-card.is-active { background: rgba(124,92,255,.10) !important; border-color: rgba(124,92,255,.30) !important; }
.v5-body .detail { background: transparent !important; }
.v5-body .detail-card, .v5-body .card, .v5-body .panel, .v5-body .transcript-card, .v5-body .segment, .v5-body .dpanel, .v5-body .dash-card, .v5-body .settings-section, .v5-body .settings-card, .v5-body .modal-card { background: #12151e !important; border-color: var(--line) !important; color: var(--ink) !important; }
.v5-body .detail-head, .v5-body .detail-meta, .v5-body .detail-actions, .v5-body .detail-foot { border-color: var(--line) !important; }
.v5-body .video-title, .v5-body .detail-title, .v5-body h2, .v5-body h3, .v5-body h4 { color: #e9edf7; }
.v5-body p, .v5-body .muted, .v5-body .detail-sub { color: #9aa3b8; }
.v5-body .detail-player, .v5-body video { background: #07090e; }
.v5-body .segment-row { border-color: var(--line) !important; }
.v5-body .segment-row:hover { background: rgba(255,255,255,.035) !important; }
.v5-body .segment-text { color: #dfe4ef !important; }
.v5-body .segment-time { color: #8b93a7 !important; }
.v5-body .btn-ghost { background: rgba(255,255,255,.03) !important; border-color: var(--line-strong) !important; color: var(--ink-soft) !important; }
.v5-body .btn-ghost:hover { border-color: rgba(124,92,255,.4) !important; color: #fff !important; }
.v5-body .search-field { background: rgba(255,255,255,.035) !important; border-color: var(--line) !important; }
.v5-body .search-field input { color: var(--ink) !important; }
.v5-body .upload-dock .btn-ghost { background: rgba(255,255,255,.03) !important; }
.v5-body .dock-icon { background: rgba(124,92,255,.12) !important; color: #b9a8ff !important; }
.v5-body .app-footer { color: #596176 !important; }
.v5-body .modal-mask { background: rgba(0,0,0,.65) !important; backdrop-filter: blur(5px); }
.v5-body .modal-card { box-shadow: var(--shadow-lg) !important; }
.v5-body .modal-head, .v5-body .modal-body, .v5-body .modal-foot { border-color: var(--line) !important; }
.v5-body .form-field input, .v5-body .form-field select, .v5-body .form-field textarea, .v5-body input, .v5-body select, .v5-body textarea { color: var(--ink) !important; }
.v5-body .form-field input, .v5-body .form-field select, .v5-body .form-field textarea { background: #0c0f16 !important; border-color: var(--line-strong) !important; }
.v5-body .settings-nav { background: #0d1017 !important; border-color: var(--line) !important; }
.v5-body .settings-nav-item { color: #8b93a7 !important; }
.v5-body .settings-nav-item.is-active { background: rgba(124,92,255,.16) !important; color: #fff !important; }
.v5-body .settings-status { background: rgba(255,255,255,.04) !important; }
.v5-body .heygen-panel, .v5-body .material-card, .v5-body .dpanel { background: #12151e !important; border-color: var(--line) !important; }
.v5-body .dpanel-head { border-color: var(--line) !important; }
.v5-body .digital-head h1 { color: #f2f4fb; }
.v5-body .digital-head p, .v5-body .dpanel-head p { color: #8b93a7; }
.v5-body .digital-textarea, .v5-body .digital-select { background: #0c0f16 !important; border-color: var(--line-strong) !important; color: var(--ink) !important; }
.v5-body .digital-video-selected, .v5-body .digital-keyboard-select .digital-select { background: #12151e !important; border-color: var(--line-strong) !important; color: var(--ink) !important; }
.v5-body .material-voice-note { background: rgba(124,92,255,.08) !important; border-color: rgba(124,92,255,.2) !important; color: #b9a8ff !important; }
.v5-body .digital-platform-links { background: #10131b !important; border-color: var(--line) !important; }
.v5-body .dpl-link { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; color: var(--ink) !important; }
.v5-body .dpl-link small, .v5-body .dpl-hint, .v5-body .digital-manual-note { color: #7c859a !important; }
.v5-body .digital-manual-note { border-color: var(--line) !important; }
.v5-body .tts-output, .v5-body .digital-output, .v5-body .digital-package-result, .v5-body .digital-empty { background: #12151e !important; border-color: var(--line) !important; }
.v5-body .dash-page, .v5-body .dashboard-page { background: transparent !important; }
.v5-body .toast { background: #1b1f2b !important; border-color: var(--line-strong) !important; color: var(--ink) !important; }
.v5-body .modal-title, .v5-body .modal-card h2 { color: #f2f4fb; }

/* 滚动条 */
.v5-menu::-webkit-scrollbar, .v5-drawer-scroll::-webkit-scrollbar { width: 5px; }
.v5-menu::-webkit-scrollbar-thumb, .v5-drawer-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 4px; }

/* ------------------------------- 响应式 ------------------------------- */
@media (max-width: 1350px) {
  .v5-topbar .stat-chips { display: none; }
  .v5-avatar-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v5-skeleton-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v5-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v5-quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .v5-app { grid-template-columns: 210px minmax(0, 1fr); }
  .v5-sidebar { width: 210px; padding: 14px 10px 12px; }
  .v5-brand-copy em { display: none; }
  .v5-menu .nav-tab { padding: 0 8px; font-size: 11px; }
  .v5-voice-grid { grid-template-columns: 1fr; }
  .v5-home-bottom { grid-template-columns: 1fr; }
  .v5-hero-title { font-size: 34px; }
}
@media (max-width: 900px) {
  .v5-app { display: block !important; height: 100vh; }
  .v5-sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: 250px; transform: translateX(-102%); transition: transform .22s ease; z-index: 40; box-shadow: 30px 0 80px rgba(0,0,0,.5); }
  .v5-sidebar.is-open { transform: translateX(0); }
  .v5-side-mask { z-index: 35; }
  .v5-menu-open .v5-side-mask { display: block !important; }
  .v5-body { height: 100vh; }
  .v5-topbar { height: 62px; padding: 0 14px; gap: 9px; }
  .v5-menu-btn { display: grid; }
  .v5-page-head { min-width: 0; flex: 1; }
  .v5-page-title { font-size: 15px; }
  .v5-page-sub { font-size: 8px; max-width: 180px; }
  .v5-topbar .search-field { display: none !important; }
  .v5-top-actions { gap: 5px; }
  .v5-top-user-name { display: none; }
  .v5-topbar .btn-settings .btn-label, .v5-upload-btn .btn-label { display: none; }
  .v5-topbar .btn-settings, .v5-upload-btn { width: 32px; padding: 0; }
  .view-page { padding: 14px 13px 22px; }
  .v5-page-heading { flex-direction: column; align-items: flex-start; gap: 9px; }
  .v5-page-heading h2 { font-size: 23px; }
  .v5-heading-actions { width: 100%; justify-content: flex-start; }
  .v5-hero { padding: 22px 16px 18px; border-radius: 16px; }
  .v5-hero-title { font-size: 28px; }
  .v5-hero-sub { font-size: 11px; }
  .v5-hero-input { height: auto; min-height: 52px; padding: 7px; flex-wrap: wrap; }
  .v5-hero-input input { min-height: 38px; flex-basis: calc(100% - 30px); }
  .v5-hero-input .v5-gradient-btn { width: 100%; margin-left: 0; }
  .v5-quick-grid { grid-template-columns: 1fr 1fr; }
  .v5-quick-card { min-height: 86px; }
  .v5-stat-grid { grid-template-columns: 1fr 1fr; }
  .v5-stat-card b { font-size: 17px; }
  .v5-section { padding: 13px; border-radius: 14px; }
  .v5-home-bottom { gap: 10px; }
  .v5-recent-card, .v5-rights-card { padding: 13px; }
  .v5-avatar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .v5-skeleton-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v5-skeleton-card { height: 220px; }
  .v5-skeleton-card.is-voice { height: 74px; }
  .v5-toolbar { gap: 7px; }
  .v5-search-inline { min-width: 0; flex: 1; }
  .v5-toolbar-hint { display: none; }
  .v5-voice-grid { grid-template-columns: 1fr; }
  .v5-drawer { width: 100%; }
  .v5-drawer-scroll { padding: 12px 15px; }
  .v5-drawer-head { padding: 14px 15px 10px; }
  .v5-drawer-foot { padding: 10px 15px; }
  .v5-drawer-foot .v5-foot-note { display: none; }
  .v5-form-row { grid-template-columns: 1fr; gap: 0; }
  .v5-drama-hero { padding: 24px 17px; border-radius: 16px; }
  .v5-drama-hero h2 { font-size: 28px; }
  .v5-drama-grid { grid-template-columns: 1fr; }
  .v5-body .upload-dock { margin: 0 13px 8px; }
}

/* ------------------------------- 配置中心 / 弹窗暗色（modal 在 .v5-body 外） ------------------------------- */
.modal-mask { background: rgba(0, 0, 0, .68) !important; backdrop-filter: blur(6px); }
.modal-card, .modal-card.is-settings, .modal-card.is-wide { background: #12151e !important; border: 1px solid var(--line-strong) !important; color: var(--ink) !important; box-shadow: 0 40px 100px -30px rgba(0,0,0,.9) !important; }
.modal-head { border-color: var(--line) !important; background: transparent !important; }
.modal-head h3, .modal-card .modal-head-copy h3, .modal-card h2, .modal-card h3, .modal-card h4 { color: #f2f4fb !important; }
.modal-head p, .modal-card p, .modal-card .settings-field-hint, .modal-card .settings-platforms-head p, .modal-card .settings-field-label, .modal-card small { color: #8b93a7 !important; }
.modal-card .modal-icon { background: linear-gradient(135deg, #7c5cff, #4f8cff) !important; color: #fff !important; }
.modal-body, .modal-foot { border-color: var(--line) !important; background: transparent !important; }
.modal-card .settings-head { border-color: var(--line) !important; }
.modal-card .settings-platforms, .modal-card .settings-platform-card, .modal-card .settings-section, .modal-card .settings-card, .modal-card .settings-voice-links, .modal-card .settings-voice-link, .modal-card .settings-ai-section, .modal-card .settings-ai-card { background: rgba(255,255,255,.025) !important; border-color: var(--line) !important; color: var(--ink) !important; }
.modal-card .settings-platform-kicker { color: #8b93a7 !important; }
.modal-card .settings-platform-card h4, .modal-card .settings-platform-card b, .modal-card .platform-name, .modal-card .settings-ai-head b, .modal-card .settings-field-label { color: #eef1f8 !important; }
.modal-card .settings-platform-card p, .modal-card .platform-note, .modal-card .settings-platforms-head p, .modal-card .settings-voice-links-head p, .modal-card .settings-section-head p { color: #8b93a7 !important; }
.modal-card .platform-card, .modal-card .platform-card:hover { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; }
.modal-card .platform-tag, .modal-card .platform-pill, .modal-card .settings-status { background: rgba(255,255,255,.05) !important; color: #aab1c2 !important; border-color: var(--line) !important; }
.modal-card .settings-field input, .modal-card .settings-field select, .modal-card .settings-field textarea, .modal-card input, .modal-card select, .modal-card textarea { background: #0c0f16 !important; border-color: var(--line-strong) !important; color: var(--ink) !important; }
.modal-card .settings-field input::placeholder, .modal-card input::placeholder, .modal-card textarea::placeholder { color: #5d667b !important; }
.modal-card .settings-field-label { color: #b7bfd0 !important; }
.modal-card .settings-section-head { border-color: var(--line) !important; }
.modal-card .settings-nav { background: #0d1017 !important; border-color: var(--line) !important; }
.modal-card .settings-nav-item { color: #8b93a7 !important; }
.modal-card .settings-nav-item.is-active { background: rgba(124,92,255,.16) !important; color: #fff !important; }
.modal-card .settings-status.is-on { color: #6ee7b7 !important; background: rgba(52,211,153,.08) !important; }
.modal-card .settings-status.is-off { color: #8b93a7 !important; }
.modal-card .settings-platforms-hint { color: #7c859a !important; background: rgba(124,92,255,.06) !important; border-color: rgba(124,92,255,.16) !important; }
.modal-card .btn-ghost { background: rgba(255,255,255,.035) !important; border-color: var(--line-strong) !important; color: #c7ccda !important; }
.modal-card .btn-primary { border: 0 !important; }
.modal-card .select-wrap { background: #0c0f16 !important; border-color: var(--line-strong) !important; }
.modal-card .select-wrap select { background: transparent !important; }
.modal-card .settings-platform-card .btn.small, .modal-card .platform-actions .btn { background: rgba(124,92,255,.14) !important; color: #c4b5fd !important; border-color: rgba(124,92,255,.28) !important; }
.modal-card .settings-ai-head .settings-status { color: #6ee7b7 !important; }
.modal-card .settings-section + .settings-section { border-color: var(--line) !important; }
.modal-card .mode-option { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; color: var(--ink) !important; }
.modal-card .mode-option.is-active { border-color: rgba(124,92,255,.5) !important; background: rgba(124,92,255,.12) !important; }
.modal-card .rewrite-preview, .modal-card .rewrite-result { background: #0c0f16 !important; border-color: var(--line) !important; color: var(--ink) !important; }
.modal-card .settings-voice-link { color: var(--ink) !important; }
.modal-card .settings-voice-link small { color: #7c859a !important; }
/* 工作台细节浅色块 */
.v5-body .path-block, .v5-body .path-value, .v5-body .path-label, .v5-body .detail-kicker, .v5-body .video-meta, .v5-body .detail-head, .v5-body .detail-foot { background: transparent !important; }
.v5-body .path-value { background: #0c0f16 !important; border: 1px solid var(--line) !important; color: #c7ccda !important; }
.v5-body .path-actions .btn, .v5-body .detail-actions .btn { background: rgba(255,255,255,.04) !important; border-color: var(--line-strong) !important; color: #c7ccda !important; }
.v5-body .detail-actions .btn-danger-ghost { color: #fb7185 !important; }
.v5-body .duplicate-row, .v5-body .dup-row { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; }
.v5-body .video-name, .v5-body .video-title, .v5-body .detail-title, .v5-body .detail-kicker b { color: #e9edf7 !important; }
.v5-body .transcript-toolbar, .v5-body .transcript-head, .v5-body .transcript-body, .v5-body .transcript-list { background: transparent !important; border-color: var(--line) !important; }
.v5-body .transcript-segment:hover, .v5-body .segment-line:hover { background: rgba(255,255,255,.035) !important; }
.v5-body .transcript-text, .v5-body .segment-line { color: #dfe4ef !important; }
.v5-body .detail-meta-row, .v5-body .meta-row { border-color: var(--line) !important; }

/* 设置弹窗剩余浅色分区 */
.modal-card .settings-api-links, .modal-card .settings-group, .modal-card .settings-note { background: rgba(255,255,255,.025) !important; border-color: var(--line) !important; color: var(--ink) !important; }
.modal-card .settings-api-links-head b, .modal-card .settings-group-head h3, .modal-card .settings-group-copy h3 { color: #eef1f8 !important; }
.modal-card .settings-api-links-head p, .modal-card .settings-group-copy p, .modal-card .settings-note p { color: #8b93a7 !important; }
.modal-card .settings-api-link { background: rgba(255,255,255,.04) !important; border-color: var(--line) !important; color: #dfe4ef !important; }
.modal-card .settings-api-link small { color: #7c859a !important; }
.modal-card .settings-group { margin-bottom: 10px; }
.modal-card .settings-fields { background: transparent !important; }
.modal-card .settings-field-hint, .modal-card .settings-note b { color: #8b93a7 !important; }
.modal-card .settings-note .icon { color: #a78bfa !important; }
.modal-card .settings-group-icon.is-deepseek, .modal-card .settings-group-icon.is-doubao, .modal-card .settings-group-icon.is-chanjing, .modal-card .settings-group-icon.is-voice { color: #fff !important; }
.modal-card .settings-head .icon-btn { background: rgba(255,255,255,.04) !important; border-color: var(--line) !important; color: #c7ccda !important; }
.modal-card .settings-body { background: transparent !important; }
.modal-card .modal-foot { background: #0d1017 !important; }
.modal-card .settings-loading, .modal-card .settings-error { color: #8b93a7 !important; }
@media (max-width: 900px) {
  .v5-sidebar .main-nav.v5-menu { order: 0 !important; width: 100% !important; overflow-x: hidden !important; overflow-y: auto !important; padding: 0 !important; }
  .v5-sidebar .v5-brand { order: 0 !important; }
  .v5-sidebar .v5-side-foot { order: 1 !important; }
  .v5-sidebar { z-index: 60; }
  .v5-sidebar.is-open { z-index: 60; }
  .v5-topbar { position: relative; z-index: 30; }
}

/* =========================================================================
 * v5.1：对比度 / 数字人创作暗色统一 / 内嵌外链页
 * ========================================================================= */
/* 工作台关键词图例 & 正文高亮 */
.v5-body .legend-item { color: #c7ccda !important; font-weight: 500; }
.v5-body .legend-item .legend-swatch { box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.v5-body .legend-swatch.is-term { background: rgba(249, 115, 22, .42) !important; }
.v5-body .legend-swatch.is-num { background: rgba(96, 165, 250, .42) !important; }
.v5-body .legend-swatch.is-key { border-bottom-color: rgba(248, 113, 113, .9) !important; background: rgba(248, 113, 113, .16) !important; border-radius: 3px !important; height: 11px !important; }
.v5-body .legend-hint { color: #aab1c2 !important; }
.v5-body .kw-term { color: #ffd0b3 !important; background: rgba(249, 115, 22, .30) !important; box-shadow: inset 0 -1px 0 rgba(251, 146, 60, .55) !important; }
.v5-body .kw-num { color: #dbeafe !important; background: rgba(59, 130, 246, .32) !important; box-shadow: inset 0 -1px 0 rgba(96, 165, 250, .55) !important; }
.v5-body .kw-key { color: #fecaca !important; background: rgba(239, 68, 68, .20) !important; text-decoration-color: rgba(248, 113, 113, .85) !important; text-decoration-thickness: 1.5px !important; border-radius: 3px; padding: 0 .1em; }
.v5-body .seg-deleted { color: #aab1c2 !important; background: rgba(255,255,255,.06) !important; }
.v5-body .path-value { background: #080b11 !important; border-color: rgba(255,255,255,.16) !important; color: #dbe1ee !important; }
.v5-body .path-label, .v5-body .meta-source, .v5-body .source-note, .v5-body .detail-kicker, .v5-body .kicker-muted { color: #aab1c2 !important; }
.v5-body .info-label { color: #8b93a7 !important; }
.v5-body .info-value { color: #d5dbe8 !important; }
.v5-body .source-row-label, .v5-body .source-author-name { color: #c7ccda !important; }
.v5-body .media-actions { border-color: rgba(255,255,255,.10) !important; }
.v5-body .btn, .v5-body input, .v5-body textarea, .v5-body select { border-color: rgba(255,255,255,.15) !important; }
.v5-body .btn-ghost { color: #d5dbe8 !important; background: rgba(255,255,255,.05) !important; }
.v5-body .btn-ghost:hover { background: rgba(124,92,255,.16) !important; border-color: rgba(124,92,255,.45) !important; color: #fff !important; }
.v5-body .chip, .v5-body .meta-pill, .v5-body .status-pill { color: #c7ccda !important; background: rgba(255,255,255,.055) !important; border-color: rgba(255,255,255,.12) !important; }
.v5-body .keyword-legend, .v5-body .transcript-legend { background: rgba(255,255,255,.035) !important; border-color: rgba(255,255,255,.10) !important; }
.v5-body .video-item .video-meta, .v5-body .video-item .video-sub, .v5-body .video-item .video-foot { color: #9aa3b8 !important; }
.v5-body .video-item.is-active { color: #fff !important; }
.v5-body .path-actions .btn { color: #dbe1ee !important; }

/* 数字人创作页统一暗色玻璃 */
.v5-body .digital, .v5-body .digital-grid, .v5-body .digital-col, .v5-body .digital-head { color: var(--ink) !important; }
.v5-body .digital h1, .v5-body .digital h2, .v5-body .digital h3, .v5-body .digital h4, .v5-body .digital b { color: #eef1f8 !important; }
.v5-body .digital p, .v5-body .digital small, .v5-body .digital .dpanel-head p, .v5-body .digital .digital-head p { color: #9aa3b8 !important; }
.v5-body .digital-steps, .v5-body .digital-step, .v5-body .step-item, .v5-body .digital-step-bar { background: rgba(255,255,255,.025) !important; border-color: var(--line) !important; color: #aab1c2 !important; }
.v5-body .digital .dpanel, .v5-body .digital .digital-panel, .v5-body .digital .material-card, .v5-body .digital .heygen-panel, .v5-body .digital .tts-output, .v5-body .digital .digital-output, .v5-body .digital .digital-package-result, .v5-body .digital .digital-empty, .v5-body .digital .digital-platform-links, .v5-body .digital .digital-error, .v5-body .digital .dpanel-body {
  background: rgba(255,255,255,.028) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
.v5-body .digital .dpanel-head { background: transparent !important; border-color: var(--line) !important; }
.v5-body .digital .step-badge { background: rgba(124,92,255,.18) !important; color: #c4b5fd !important; border: 1px solid rgba(124,92,255,.3) !important; }
.v5-body .digital .dpanel-tag, .v5-body .digital .digital-eyebrow { color: #aab1c2 !important; }
.v5-body .digital .digital-select, .v5-body .digital .digital-textarea, .v5-body .digital input, .v5-body .digital textarea, .v5-body .digital select { background: #0a0d13 !important; border: 1px solid rgba(255,255,255,.16) !important; color: #eef1f8 !important; }
.v5-body .digital .digital-select option, .v5-body .digital select option { background: #12151e !important; color: #eef1f8 !important; }
.v5-body .digital .digital-video-selected, .v5-body .digital .digital-keyboard-select, .v5-body .digital .digital-video-meta { background: rgba(255,255,255,.035) !important; border-color: var(--line) !important; color: #eef1f8 !important; }
.v5-body .digital .digital-video-selected-copy b, .v5-body .digital .digital-video-meta b { color: #eef1f8 !important; }
.v5-body .digital .digital-video-selected-copy em, .v5-body .digital .digital-video-meta { color: #9aa3b8 !important; }
.v5-body .digital .digital-keyboard-select summary { color: #9aa3b8 !important; }
.v5-body .digital .material-card-head, .v5-body .digital .material-actions, .v5-body .digital .material-thumb { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; color: #eef1f8 !important; }
.v5-body .digital .material-hint, .v5-body .digital .material-note { color: #9aa3b8 !important; }
.v5-body .digital .tts-output { background: rgba(255,255,255,.035) !important; }
.v5-body .digital .tts-output .do-copy b, .v5-body .digital .digital-output b { color: #eef1f8 !important; }
.v5-body .digital .digital-package-result { border-color: rgba(124,92,255,.28) !important; }
.v5-body .digital .pkg-file, .v5-body .digital .pkg-local-path, .v5-body .digital .pkg-audio-source { color: #c7ccda !important; }
.v5-body .digital .pkg-local-path { color: #dbe1ee !important; }
.v5-body .digital .digital-platform-links { background: rgba(255,255,255,.025) !important; }
.v5-body .digital .dpl-link { background: rgba(255,255,255,.04) !important; border-color: var(--line) !important; color: #e8ecf6 !important; }
.v5-body .digital .dpl-link small, .v5-body .digital .dpl-hint, .v5-body .digital .digital-manual-note { color: #9aa3b8 !important; }
.v5-body .digital .digital-voice-desc { color: #aab1c2 !important; }
.v5-body .digital .heygen-panel .hp-kicker, .v5-body .digital .heygen-panel p { color: #9aa3b8 !important; }
.v5-body .digital .step, .v5-body .digital .dst { color: #9aa3b8 !important; }
.v5-body .digital .digital-empty-icon { background: rgba(124,92,255,.14) !important; color: #c4b5fd !important; }
.v5-body .digital .digital-error { color: #fecaca !important; border-color: rgba(248,113,113,.35) !important; background: rgba(239,68,68,.10) !important; }
.v5-body .digital .btn:not(.btn-primary) { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.15) !important; color: #dbe1ee !important; }
.v5-body .digital .btn:not(.btn-primary):hover { border-color: rgba(124,92,255,.45) !important; color: #fff !important; }
.v5-body .digital .digital-video-change { background: rgba(124,92,255,.14) !important; border-color: rgba(124,92,255,.35) !important; color: #c4b5fd !important; }
.v5-body .digital .vp-selected-thumb, .v5-body .digital .vp-thumb { border: 1px solid rgba(255,255,255,.10); }

/* 数字人库 / 声音库对比度 */
.v5-avatar-info b { color: #f5f7fc !important; }
.v5-avatar-info em { color: #aab1c2 !important; }
.v5-avatar-tags i { color: #c7ccda !important; background: rgba(255,255,255,.08) !important; }
.v5-avatar-tags i:hover { color: #fff !important; }
.v5-voice-copy b { color: #f2f5fb !important; }
.v5-voice-copy em { color: #aab1c2 !important; }
.v5-voice-tag { color: #c4b5fd !important; }
.v5-toolbar-hint, .v5-page-heading p, .v5-empty-card p, .v5-empty-card, .v5-error-card, .v5-skeleton-card { color: #aab1c2 !important; }
.v5-ghost-btn:disabled, .v5-tab:disabled, .v5-filter:disabled { color: #6b7489 !important; opacity: .70 !important; border-color: rgba(255,255,255,.08) !important; }
.v5-pill-muted { color: #c7ccda !important; }
.v5-pill-warn { color: #fda4af !important; }
.v5-cost-line, .v5-task-card p, .v5-foot-note, .v5-field > span em { color: #aab1c2 !important; }
.v5-field > span { color: #d5dbe8 !important; }
.v5-field select, .v5-field textarea, .v5-field input { border-color: rgba(255,255,255,.16) !important; color: #eef1f8 !important; }
.v5-empty-card b { color: #eef1f8 !important; }

/* 内嵌外链页 */
.v5-embed-actions { display: flex; align-items: center; gap: 6px; }
.v5-embed-page { padding: 0 !important; height: calc(100vh - 72px - 35px); display: flex; overflow: hidden; }
.v5-embed-shell { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; }
.v5-embed-frame { flex: 1; min-height: 0; background: #0b0d12; }
.v5-embed-frame iframe { display: block; width: 100%; height: 100%; border: 0; background: #0b0d12; }
body[data-route^="embed/"] .v5-body .app-footer { display: none; }
body[data-route^="embed/"] .v5-body .app-main { overflow: hidden; }
body[data-route^="embed/"] .v5-topbar .v5-upload-btn,
body[data-route^="embed/"] .v5-topbar .btn-settings,
body[data-route^="embed/"] .v5-topbar #btnExport { display: none; }
body[data-route^="embed/"] .v5-topbar .v5-page-sub { color: #8b93a7; }

@media (max-width: 900px) {
  .v5-embed-page { height: calc(100vh - 62px); }
  .v5-embed-actions { display: none; }
  .v5-embed-actions .btn { width: 32px; padding: 0; }
  .v5-body .path-value { font-size: 10px; }
  .v5-body .kw { padding: 0 .12em; }
}

/* v5.1 数字人创作浅色块补全 */
.v5-body .digital .material-prep,
.v5-body .digital .steps-bar,
.v5-body .digital .heygen-panel,
.v5-body .digital .heygen-panel.is-pending,
.v5-body .digital .heygen-panel.is-done,
.v5-body .digital .heygen-panel.is-error {
  background: rgba(255,255,255,.028) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
.v5-body .digital .material-head p,
.v5-body .digital .material-card-head em,
.v5-body .digital .material-hint,
.v5-body .digital .material-file,
.v5-body .digital .material-file em,
.v5-body .digital .material-selected span,
.v5-body .digital .material-sample,
.v5-body .digital .material-customtts {
  color: #9aa3b8 !important;
}
.v5-body .digital .material-head h2,
.v5-body .digital .material-card-head b,
.v5-body .digital .material-selected b,
.v5-body .digital .material-customtts span,
.v5-body .digital .heygen-head b,
.v5-body .digital .heygen-panel b {
  color: #eef1f8 !important;
}
.v5-body .digital .material-selected,
.v5-body .digital .material-sample,
.v5-body .digital .material-customtts,
.v5-body .digital .material-file {
  background: rgba(255,255,255,.04) !important;
  border-color: var(--line) !important;
}
.v5-body .digital .material-tip {
  background: rgba(52,211,153,.10) !important;
  border-color: rgba(52,211,153,.25) !important;
  color: #6ee7b7 !important;
}
.v5-body .digital .step-label { color: #aab1c2 !important; }
.v5-body .digital .step-num { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.14) !important; color: #c7ccda !important; }
.v5-body .digital .step.is-active .step-label { color: #c4b5fd !important; }
.v5-body .digital .step.is-active .step-num { background: linear-gradient(135deg, #7c5cff, #4f8cff) !important; border-color: transparent !important; color: #fff !important; box-shadow: 0 0 0 4px rgba(124,92,255,.16) !important; }
.v5-body .digital .step.is-done .step-num { background: rgba(52,211,153,.15) !important; border-color: rgba(52,211,153,.35) !important; color: #6ee7b7 !important; }
.v5-body .digital .step.is-done .step-label { color: #c7ccda !important; }
.v5-body .digital .step-line { background: rgba(255,255,255,.12) !important; }
.v5-body .digital .step-badge { background: rgba(124,92,255,.18) !important; color: #c4b5fd !important; border-color: rgba(124,92,255,.32) !important; }
.v5-body .digital .material-icon { background: rgba(124,92,255,.14) !important; color: #c4b5fd !important; }
.v5-body .digital .material-icon.is-voice { background: rgba(34,211,238,.12) !important; color: #67e8f9 !important; }
.v5-body .digital .material-thumb.is-empty { background: rgba(255,255,255,.03) !important; border-color: var(--line) !important; color: #9aa3b8 !important; }
.v5-body .digital .material-actions .btn { color: #dbe1ee !important; background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.16) !important; }
.v5-body .digital .material-actions .btn:hover { border-color: rgba(124,92,255,.45) !important; color: #fff !important; }
.v5-body .digital .material-actions .btn[disabled] { opacity: .65 !important; }
.v5-body .digital .material-card-head .settings-status { background: rgba(124,92,255,.12) !important; }
.v5-body .digital .heygen-panel .heygen-actions .btn { color: #dbe1ee !important; }
.v5-body .digital .material-voice-note { background: rgba(124,92,255,.10) !important; border-color: rgba(124,92,255,.24) !important; color: #c4b5fd !important; }
.v5-body .digital .material-voice-note + * { color: #9aa3b8 !important; }
.v5-body .digital .tts-output .do-copy em,
.v5-body .digital .tts-output .do-meta,
.v5-body .digital .digital-output p { color: #9aa3b8 !important; }
.v5-body .digital .digital-package-result .pkg-file,
.v5-body .digital .digital-package-result .pkg-local-path { color: #c7ccda !important; }

/* 数字人创作：国内创建形象块 */
.v5-body .digital .material-domestic {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px;
  padding: 9px 10px;
  margin-top: 2px;
}
.v5-body .digital .material-domestic-head b { color: #e8ecf6 !important; }
.v5-body .digital .material-domestic-head em { color: #aab1c2 !important; }
.v5-body .digital .material-domestic-links a {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #dbe1ee !important;
}
.v5-body .digital .material-domestic-links a:hover { border-color: rgba(124,92,255,.45) !important; color: #fff !important; }
.v5-body .digital .material-domestic p { color: #9aa3b8 !important; }
.v5-body .digital .material-selected span { color: #c7ccda !important; }
.v5-body .digital .material-card-head em { color: #b7bfd0 !important; }

#digitalView .material-domestic { background: #121722 !important; border: 1px solid rgba(255,255,255,.14) !important; }
#digitalView .material-domestic-head b, #digitalView .material-domestic-head em { color: #c7ccda !important; }
#digitalView .material-domestic-links a { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.14) !important; color: #dbe1ee !important; }
#digitalView .material-domestic p { color: #9aa3b8 !important; }
#digitalView .material-card-head em, #digitalView .material-hint, #digitalView .material-selected span { color: #b7bfd0 !important; }

/* =========================================================================
 * v5.2：爆款复刻流水线 / 创建数字人 / 克隆声音
 * ========================================================================= */
.v5-remix-entry { position: relative; overflow: hidden; display: flex; align-items: center; gap: 24px; justify-content: space-between; margin: 0 0 14px; padding: 22px 26px; border: 1px solid rgba(124,92,255,.28); border-radius: 18px; background: radial-gradient(600px 260px at 85% -30%, rgba(124,92,255,.30), transparent 65%), linear-gradient(120deg, #171b2c, #111420); }
.v5-remix-entry-bg { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(500px 200px at 65% 40%, #000, transparent 80%); }
.v5-remix-entry-copy { position: relative; min-width: 0; }
.v5-remix-entry h3 { margin: 6px 0 0; font-size: 22px; color: #f5f7fc; }
.v5-remix-entry h3 span { background: linear-gradient(100deg, #a78bfa, #60a5fa); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v5-remix-entry p { margin: 7px 0 0; font-size: 10.5px; line-height: 1.7; color: #9aa3b8; max-width: 680px; }
.v5-remix-entry-steps { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 12px; }
.v5-remix-entry-steps span { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 7px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.035); font-size: 9px; color: #aab1c2; }
.v5-remix-entry-steps b { color: #c4b5fd; font-size: 8px; }
.v5-remix-entry-btn { position: relative; flex: none; height: 44px; padding: 0 18px; font-size: 12px; }
.remix-page { display: flex; flex-direction: column; gap: 14px; }
.remix-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.remix-head h2 { margin: 6px 0 0; font-size: 30px; letter-spacing: -.3px; color: #f6f8ff; }
.remix-head h2 span { background: linear-gradient(100deg, #a78bfa, #60a5fa 55%, #22d3ee); -webkit-background-clip: text; background-clip: text; color: transparent; }
.remix-sub { margin: 7px 0 0; font-size: 11px; color: #9aa3b8; }
.remix-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.remix-stepper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.remix-step { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); color: #8b93a7; text-align: left; cursor: pointer; font-family: inherit; }
.remix-step:disabled { cursor: default; opacity: .75; }
.remix-step-no { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.07); color: #aab1c2; font-size: 10px; font-weight: 700; }
.remix-step-copy { min-width: 0; display: flex; flex-direction: column; }
.remix-step-copy b { font-size: 10.5px; color: #c7ccda; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.remix-step-copy em { margin-top: 2px; font-style: normal; font-size: 8px; color: #6b7489; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.remix-step.is-active { border-color: rgba(124,92,255,.45); background: linear-gradient(135deg, rgba(124,92,255,.18), rgba(59,130,246,.08)); }
.remix-step.is-active .remix-step-no { background: linear-gradient(135deg, #7c5cff, #4f8cff); color: #fff; }
.remix-step.is-active .remix-step-copy b { color: #fff; }
.remix-step.is-active .remix-step-copy em { color: #b9a8ff; }
.remix-step.is-done .remix-step-no { background: rgba(52,211,153,.15); color: #6ee7b7; border: 1px solid rgba(52,211,153,.3); }
.remix-step.is-done .remix-step-copy b { color: #c7ccda; }
.remix-card { padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); }
.remix-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.remix-card-head h3 { margin: 4px 0 0; font-size: 18px; color: #f2f5fc; }
.remix-card-head p { margin: 5px 0 0; font-size: 10px; line-height: 1.65; color: #9aa3b8; }
.remix-count { flex: none; font-size: 9px; color: #aab1c2; padding: 4px 8px; border-radius: 6px; background: rgba(255,255,255,.05); }
.remix-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.remix-toolbar .v5-search-inline { flex: 1; min-width: 200px; }
.remix-filters { display: flex; gap: 4px; flex-wrap: wrap; }
.remix-filter { height: 28px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.03); color: #9aa3b8; font-size: 9px; cursor: pointer; }
.remix-filter.is-active { border-color: rgba(124,92,255,.45); background: rgba(124,92,255,.16); color: #fff; }
.remix-video-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.remix-video-card { display: flex; flex-direction: column; gap: 5px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); text-align: left; cursor: pointer; font-family: inherit; }
.remix-video-card:hover { border-color: rgba(124,92,255,.4); }
.remix-video-card.is-selected { border-color: #7c5cff; box-shadow: 0 0 0 2px rgba(124,92,255,.18); }
.remix-video-thumb { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 16/9; border-radius: 7px; overflow: hidden; background: #1b1f2b; }
.remix-video-thumb span { position: absolute; color: rgba(255,255,255,.85); font-size: 17px; font-weight: 700; }
.remix-video-thumb img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.remix-video-copy { display: flex; flex-direction: column; min-width: 0; }
.remix-video-copy b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 10px; line-height: 1.45; color: #eef1f8; min-height: 29px; }
.remix-video-copy em { margin-top: 2px; font-style: normal; font-size: 8.5px; color: #9aa3b8; }
.remix-source { display: inline-block; margin-top: 3px; font-size: 7.5px; color: #aab1c2; background: rgba(255,255,255,.07); border-radius: 4px; padding: 1px 4px; width: fit-content; }
.remix-selected-bar { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 8px; border: 1px solid rgba(52,211,153,.22); border-radius: 9px; background: rgba(52,211,153,.06); }
.remix-selected-bar .remix-video-thumb { width: 72px; flex: none; }
.remix-selected-bar > div { flex: 1; min-width: 0; }
.remix-selected-bar b { display: block; font-size: 11px; color: #eef1f8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.remix-selected-bar em { font-style: normal; font-size: 9px; color: #9aa3b8; }
.remix-rewrite-tools { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 12px; }
.remix-rewrite-tools .v5-field { margin-top: 0; width: 250px; }
.remix-rewrite-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; }
.remix-original, .remix-result-field { min-width: 0; }
.remix-original { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.remix-original p { margin: 7px 0 0; font-size: 10px; line-height: 1.8; color: #aab1c2; white-space: pre-wrap; max-height: 300px; overflow-y: auto; }
.remix-subhead { font-size: 9px; color: #aab1c2; letter-spacing: .6px; }
.remix-result-field textarea { min-height: 300px; line-height: 1.7; font-size: 11px; }
.remix-avatar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 12px; align-items: start; }
.remix-person-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.remix-person-card { display: flex; align-items: center; gap: 7px; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); cursor: pointer; text-align: left; font-family: inherit; }
.remix-person-card:hover { border-color: rgba(124,92,255,.4); }
.remix-person-card.is-selected { border-color: #7c5cff; box-shadow: 0 0 0 2px rgba(124,92,255,.18); }
.remix-person-cover { position: relative; width: 46px; height: 60px; flex: none; border-radius: 7px; overflow: hidden; display: grid; place-items: center; background: #1b1f2b; }
.remix-person-cover span { position: absolute; color: #fff; font-weight: 700; }
.remix-person-cover img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.remix-person-copy { min-width: 0; display: flex; flex-direction: column; }
.remix-person-copy b { font-size: 10px; color: #eef1f8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.remix-person-copy em { margin-top: 2px; font-style: normal; font-size: 8px; color: #9aa3b8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.remix-avatar-aside { position: sticky; top: 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); }
.remix-selected-person { display: flex; gap: 9px; align-items: center; margin-bottom: 8px; }
.remix-selected-person .remix-person-cover { width: 58px; height: 76px; }
.remix-selected-person div:last-child { display: flex; flex-direction: column; min-width: 0; }
.remix-selected-person b { font-size: 12px; color: #fff; }
.remix-selected-person em { margin-top: 3px; font-style: normal; font-size: 8.5px; color: #9aa3b8; }
.remix-avatar-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 14px 6px; color: #8b93a7; font-size: 9px; }
.remix-avatar-empty .icon { width: 28px; height: 28px; color: #7c5cff; }
.remix-avatar-empty b { margin-top: 6px; color: #eef1f8; font-size: 11px; }
.remix-avatar-empty p { margin: 3px 0 0; }
.remix-voice-note { display: flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 9px; color: #aab1c2; }
.remix-voice-note .icon { width: 11px; height: 11px; color: #c4b5fd; }
.remix-summary-mini { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; padding-top: 9px; border-top: 1px dashed rgba(255,255,255,.12); font-size: 9px; color: #8b93a7; }
.remix-summary-mini b { color: #eef1f8; font-size: 11px; }
.remix-gen-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; align-items: start; }
.remix-gen-text { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.remix-gen-text p { margin: 7px 0 0; font-size: 11px; line-height: 1.8; color: #c7ccda; white-space: pre-wrap; max-height: 330px; overflow-y: auto; }
.remix-gen-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.remix-gen-meta span { font-size: 8.5px; color: #8b93a7; padding: 3px 7px; border-radius: 5px; background: rgba(255,255,255,.05); }
.remix-gen-meta b { color: #eef1f8; }
.remix-gen-side { display: flex; flex-direction: column; gap: 8px; }
.remix-gen-side .v5-gradient-btn.big { height: 44px; font-size: 12px; }
.remix-task { padding: 12px; border: 1px solid rgba(124,92,255,.28); border-radius: 10px; background: rgba(124,92,255,.08); }
.remix-task-head { display: flex; justify-content: space-between; font-size: 10px; color: #eef1f8; }
.remix-task-head em { font-style: normal; color: #c4b5fd; }
.remix-task p { margin: 5px 0 0; font-size: 8.5px; color: #9aa3b8; }
.remix-result { padding: 10px; border: 1px solid rgba(124,92,255,.28); border-radius: 11px; background: rgba(124,92,255,.07); }
.remix-result h4 { margin: 4px 0 8px; font-size: 11px; color: #eef1f8; }
.remix-result video { width: 100%; max-height: 300px; border-radius: 8px; background: #000; }
.remix-result-actions { display: flex; gap: 6px; margin-top: 8px; }
.remix-result-actions .v5-gradient-btn, .remix-result-actions .v5-ghost-btn { height: 31px; font-size: 9.5px; }
.remix-publish-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.remix-publish-error { font-size: 9px; color: #fda4af; }
.remix-publish-grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 16px; align-items: start; }
.remix-publish-cover { display: flex; flex-direction: column; gap: 9px; }
.remix-publish-cover img, .remix-cover-fallback { width: 100%; aspect-ratio: 9/16; object-fit: cover; border-radius: 10px; background: #0a0d13; border: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #8b93a7; font-size: 10px; }
.remix-cover-fallback .icon { width: 34px; height: 34px; color: #7c5cff; }
.remix-publish-copy { display: flex; flex-direction: column; gap: 11px; }
.remix-publish-block { padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.remix-publish-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; font-size: 10px; color: #eef1f8; }
.remix-title-row { display: flex; align-items: center; gap: 6px; padding: 6px 7px; border-radius: 7px; background: rgba(255,255,255,.035); margin-top: 4px; }
.remix-title-row span { flex: 1; font-size: 10.5px; color: #dbe1ee; }
.remix-title-row .v5-icon-btn { width: 25px; height: 25px; }
.remix-title-row .v5-icon-btn .icon { width: 11px; height: 11px; }
.remix-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.remix-tags span { font-size: 9px; color: #c4b5fd; background: rgba(124,92,255,.13); border: 1px solid rgba(124,92,255,.22); border-radius: 5px; padding: 2px 6px; }
.remix-platforms { display: flex; flex-wrap: wrap; gap: 6px; }
.remix-platforms a { display: inline-flex; align-items: center; gap: 3px; height: 28px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 7px; background: rgba(255,255,255,.04); color: #dbe1ee; font-size: 9px; text-decoration: none; }
.remix-platforms a:hover { border-color: rgba(124,92,255,.45); color: #fff; }
.remix-platforms .icon { width: 10px; height: 10px; }
.remix-publish-note { margin: 8px 0 0; font-size: 8.5px; line-height: 1.65; color: #8b93a7; }
.remix-publish-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 9px; color: #8b93a7; }
.remix-footer { display: flex; align-items: center; gap: 10px; }
.remix-footer-hint { flex: 1; text-align: center; font-size: 9px; color: #8b93a7; }
.remix-footer .v5-gradient-btn { height: 36px; }

/* 创建向导 */
.v52-clone-overlay { position: fixed; inset: 0; z-index: 1700; display: flex; align-items: center; justify-content: center; }
.v52-clone-mask { position: absolute; inset: 0; background: rgba(0,0,0,.72); backdrop-filter: blur(5px); }
.v52-clone-card { position: relative; width: min(540px, 94vw); max-height: 90vh; overflow-y: auto; border: 1px solid var(--line-strong); border-radius: 16px; background: #10131b; box-shadow: 0 40px 100px -30px rgba(0,0,0,.9); }
.v52-clone-body { padding: 14px 18px; }
.v52-clone-mask + .v52-clone-card { animation: v5SlideIn .2s ease; }
.v52-file { position: relative; display: flex; align-items: center; gap: 9px; min-height: 50px; padding: 10px; border: 1px dashed rgba(255,255,255,.2); border-radius: 9px; background: rgba(255,255,255,.025); color: #9aa3b8; font-size: 10px; overflow: hidden; }
.v52-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.v52-file b { color: #eef1f8; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v52-file em { font-style: normal; color: #8b93a7; font-size: 9px; }
.v52-clone-progress { margin-top: 10px; padding: 9px 10px; border: 1px solid rgba(124,92,255,.25); border-radius: 9px; background: rgba(124,92,255,.07); }
.v52-clone-progress > div:first-child { display: flex; justify-content: space-between; font-size: 9.5px; color: #dbe1ee; }
.v52-clone-progress b { color: #c4b5fd; }
.v52-clone-progress p { margin: 5px 0 0; font-size: 8.5px; color: #9aa3b8; }
.v52-clone-card .v5-clone-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 16px 18px 10px; border-bottom: 1px solid var(--line); }
.v52-clone-card .v5-clone-head h3 { margin: 4px 0 0; font-size: 19px; }
.v52-clone-card .v5-clone-intro { display: flex; gap: 10px; align-items: flex-start; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); }
.v52-clone-card .v5-clone-icon { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 9px; background: rgba(124,92,255,.15); color: #c4b5fd; }
.v52-clone-card .v5-clone-intro p { margin: 0; font-size: 9.5px; line-height: 1.65; color: #9aa3b8; }
.v52-clone-card .v5-clone-foot { display: flex; align-items: center; gap: 7px; padding: 11px 18px; border-top: 1px solid var(--line); background: #0d1017; }
.v52-clone-card .v5-clone-foot .v5-gradient-btn { margin-left: 0; }
.v52-clone-card .v5-field { margin-top: 12px; }

@media (max-width: 1100px) {
  .remix-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .remix-person-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .remix-stepper { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .remix-step-copy em { display: none; }
}
@media (max-width: 900px) {
  .v5-remix-entry { flex-direction: column; align-items: flex-start; padding: 18px 15px; gap: 12px; }
  .v5-remix-entry h3 { font-size: 20px; }
  .v5-remix-entry-btn { width: 100%; }
  .remix-head { flex-direction: column; gap: 10px; }
  .remix-head h2 { font-size: 24px; }
  .remix-head-actions { width: 100%; }
  .remix-stepper { display: flex; overflow-x: auto; gap: 5px; padding-bottom: 3px; }
  .remix-step { flex: 0 0 150px; }
  .remix-step-copy em { display: none; }
  .remix-card { padding: 13px; border-radius: 13px; }
  .remix-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .remix-rewrite-grid, .remix-avatar-layout, .remix-gen-layout, .remix-publish-grid { grid-template-columns: 1fr; }
  .remix-rewrite-tools { flex-direction: column; align-items: stretch; }
  .remix-rewrite-tools .v5-field { width: 100%; }
  .remix-avatar-aside { position: static; }
  .remix-publish-cover img, .remix-cover-fallback { max-height: 380px; aspect-ratio: auto; }
  .remix-publish-footer { flex-direction: column; align-items: flex-start; }
  .remix-footer-hint { display: none; }
  .remix-result video { max-height: 240px; }
}

/* v5.3 工作台：真实缩略图 + 红框区域对比度 */
.v5-body .video-card .thumb { position: relative; overflow: hidden; }
.v5-body .video-card .thumb-img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; background: #0b0f16; }
.v5-body .video-card .thumb .thumb-icon { position: relative; z-index: 2; opacity: .20; }
.v5-body .video-card .thumb .thumb-badge { z-index: 3; }
.v5-body .video-card .card-title { color: #f2f5fc !important; font-weight: 600; }
.v5-body .video-card .card-sub { color: #9aa3b8 !important; }
.v5-body .video-card .card-meta, .v5-body .video-card .card-index { color: #aab1c2 !important; }
.v5-body .video-card .card-meta .status-pill, .v5-body .video-card .status-pill { color: #dbe1ee !important; }
.v5-body .video-card:hover { background: rgba(255,255,255,.045) !important; }
.v5-body .video-card.is-active { background: rgba(124,92,255,.13) !important; }
.v5-topbar .stat-value, .v5-body .stat-chip .stat-value { color: #f3f6fc !important; }
.v5-topbar .stat-label, .v5-body .stat-chip .stat-label { color: #aab1c2 !important; }
.v5-body .source-row { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(255,255,255,.10) !important; border-radius: 9px !important; color: #dbe1ee !important; }
.v5-body .source-row-label { color: #aab1c2 !important; }
.v5-body .source-note, .v5-body .source-author-name { color: #d5dbe8 !important; }
.v5-body .source-action { color: #c4b5fd !important; background: rgba(124,92,255,.12) !important; border-color: rgba(124,92,255,.28) !important; }
.v5-body .source-action:hover { color: #fff !important; border-color: rgba(124,92,255,.5) !important; }
.v5-body .keyword-legend, .v5-body .transcript-legend, .v5-body .legend { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.12) !important; }
.v5-body .legend-item { color: #eef1f8 !important; font-weight: 600; text-shadow: 0 1px 1px rgba(0,0,0,.3); }
.v5-body .legend-hint { color: #c7ccda !important; }
.v5-body .kw-term { color: #ffe1cc !important; background: rgba(249,115,22,.42) !important; box-shadow: inset 0 -1px 0 rgba(251,146,60,.75) !important; }
.v5-body .kw-num { color: #e6f0ff !important; background: rgba(59,130,246,.42) !important; box-shadow: inset 0 -1px 0 rgba(96,165,250,.8) !important; }
.v5-body .kw-key { color: #ffd7d7 !important; background: rgba(239,68,68,.30) !important; text-decoration-color: rgba(252,165,165,.95) !important; text-decoration-thickness: 2px !important; }
.v5-body .detail p, .v5-body .transcript-text, .v5-body .segment-text { color: #e3e8f2 !important; }
.v5-body .multi-line-text, .v5-body .para-line, .v5-body .segment-line { color: #e3e8f2 !important; }
.v5-body .detail .meta-sep, .v5-body .meta-row span { color: #aab1c2 !important; }
.v5-body .detail .card, .v5-body .detail .script-card { background: #12151e !important; }
.v5-body .detail .keyword-bar, .v5-body .detail .script-toolbar { background: #10131b !important; border-color: var(--line) !important; }

/* v5.3 我的录音 / 账号菜单 / 点数充值 */
.v5-top-account { cursor: pointer; }
.v5-account-menu { position: fixed; left: 16px; bottom: 74px; z-index: 1200; width: 260px; padding: 8px; border: 1px solid var(--line-strong); border-radius: 12px; background: #10131b; box-shadow: 0 28px 70px -24px rgba(0,0,0,.85); }
.v5-account-head { display: flex; align-items: center; gap: 9px; padding: 8px 8px 10px; border-bottom: 1px solid var(--line); margin-bottom: 5px; }
.v5-account-head .v5-avatar { width: 34px; height: 34px; font-size: 13px; }
.v5-account-head div { min-width: 0; display: flex; flex-direction: column; }
.v5-account-head b { font-size: 11px; color: #fff; }
.v5-account-head em { font-style: normal; font-size: 8.5px; color: #9aa3b8; margin-top: 2px; }
.v5-account-item { display: flex; align-items: center; gap: 7px; width: 100%; padding: 8px; border: 0; border-radius: 7px; background: transparent; color: #dbe1ee; font-size: 10px; text-decoration: none; cursor: pointer; font-family: inherit; text-align: left; }
.v5-account-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.v5-account-item .icon { width: 13px; height: 13px; color: #aab1c2; }
.v5-account-item.is-danger { color: #fda4af; }
.v5-account-item.is-danger .icon { color: #fb7185; }
.v5-account-note { margin: 5px 8px 4px; font-size: 8px; line-height: 1.5; color: #6b7489; }
.v5-recordings-panel { padding: 16px 18px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(140deg,rgba(34,211,238,.06),rgba(255,255,255,.022)); }
.v5-recordings-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v5-recordings-head h3 { margin: 4px 0 0; font-size: 18px; color: #f2f5fc; }
.v5-recordings-head p { margin: 5px 0 0; font-size: 9.5px; line-height: 1.6; color: #9aa3b8; }
.v5-recordings-head .v5-gradient-btn { height: 34px; font-size: 10px; flex: none; }
.v5-recording-badge { display: inline-block; margin-left: 5px; padding: 2px 6px; font-size: 8px; font-style: normal; vertical-align: middle; color: #6ee7b7; background: rgba(52,211,153,.10); border: 1px solid rgba(52,211,153,.22); border-radius: 5px; }
.v5-recording-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.v5-recording-card { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.03); cursor: pointer; }
.v5-recording-card:hover { border-color: rgba(124,92,255,.4); }
.v5-recording-card.is-selected { border-color: rgba(52,211,153,.5); background: rgba(52,211,153,.07); }
.v5-recording-icon { width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: 8px; background: rgba(34,211,238,.12); color: #67e8f9; }
.v5-recording-icon .icon { width: 13px; height: 13px; }
.v5-recording-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.v5-recording-copy b { font-size: 10px; color: #eef1f8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-recording-copy em { font-style: normal; font-size: 8px; color: #9aa3b8; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v5-recordings-empty { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 13px; border: 1px dashed rgba(255,255,255,.16); border-radius: 9px; color: #9aa3b8; font-size: 9.5px; }
.v5-recordings-empty .icon { width: 20px; height: 20px; color: #67e8f9; flex: none; }
.v5-recordings-empty b { color: #dbe1ee; font-size: 10.5px; }
.v5-recordings-empty p { margin: 2px 0 0; }
.v5-error-recharge { display: inline-flex; align-items: center; margin-left: 4px; padding: 2px 7px; border-radius: 5px; background: rgba(251,191,36,.14); border: 1px solid rgba(251,191,36,.3); color: #fde68a !important; font-size: 8.5px; text-decoration: none; white-space: nowrap; }
.v5-error-inline span { flex: 1; }
.v5-error-inline > a { flex: none; }
.digital-myvoice-note { margin: 7px 0 0; padding: 6px 8px; border-radius: 6px; border: 1px solid rgba(34,211,238,.16); background: rgba(34,211,238,.06); color: #9ddbe8; font-size: 8.5px; line-height: 1.55; }

/* v5.3 爆款复刻底部固定操作条 */
.remix-footer { position: sticky; bottom: 0; z-index: 35; display: flex; align-items: center; gap: 10px; margin-top: 2px; padding: 11px 14px; border: 1px solid rgba(124,92,255,.28); border-radius: 13px; background: rgba(13,16,24,.94); backdrop-filter: blur(18px); box-shadow: 0 -16px 40px -24px rgba(0,0,0,.9); }
.remix-footer .v5-gradient-btn { height: 42px; min-width: 200px; font-size: 12px; }
.remix-next-big { font-size: 12px !important; }
.remix-footer-hint { flex: 1; text-align: center; font-size: 9px; color: #aab1c2; }
.remix-page { padding-bottom: 4px; }
.remix-step.is-active .remix-step-copy em { color: #c4b5fd !important; }
.remix-head-actions .v5-pill { color: #c4b5fd; border-color: rgba(124,92,255,.28); background: rgba(124,92,255,.10); }

/* v5.3 数字人创作页红线区域：全部暗色玻璃 + 浅色文字 */
.v5-body .digital .my-audio,
.v5-body .digital .tts-controls,
.v5-body .digital .digital-output,
.v5-body .digital .digital-outputs,
.v5-body .digital .digital-package-result,
.v5-body .digital .digital-package-result .pkg-file,
.v5-body .digital .digital-select-row,
.v5-body .digital .digital-textarea,
.v5-body .digital .digital-keyboard-select,
.v5-body .digital .material-actions,
.v5-body .digital .material-card,
.v5-body .digital .material-prep,
.v5-body .digital .heygen-panel,
.v5-body .digital .digital-empty,
.v5-body .digital .digital-error {
  background: #12151e !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
.v5-body .digital .tts-output,
.v5-body .digital .tts-output.is-upload,
.v5-body .digital .tts-output.has-result {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--line-strong) !important;
  color: var(--ink) !important;
}
.v5-body .digital .my-audio-head,
.v5-body .digital .my-audio-hint,
.v5-body .digital .my-audio-name,
.v5-body .digital .digital-voice-desc,
.v5-body .digital .digital-text-foot,
.v5-body .digital .digital-label,
.v5-body .digital .tts-output .do-kicker,
.v5-body .digital .tts-output .do-meta,
.v5-body .digital .digital-outputs-title,
.v5-body .digital .pkg-desc,
.v5-body .digital .pkg-file span {
  color: #aab1c2 !important;
}
.v5-body .digital .digital-outputs-title b,
.v5-body .digital .my-audio-name,
.v5-body .digital .tts-output .do-copy b,
.v5-body .digital .digital-output b,
.v5-body .digital .digital-package-result b,
.v5-body .digital .pkg-local-path {
  color: #eef1f8 !important;
}
.v5-body .digital .audio-progress { background: rgba(255,255,255,.12) !important; }
.v5-body .digital .audio-progress-fill { background: linear-gradient(90deg,#7c5cff,#22d3ee) !important; }
.v5-body .digital .tts-controls .btn,
.v5-body .digital .digital-outputs .btn,
.v5-body .digital .digital-package-result .btn,
.v5-body .digital .my-audio .btn,
.v5-body .digital .digital-select-row .btn {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: #dbe1ee !important;
}
.v5-body .digital .tts-controls .btn-primary,
.v5-body .digital .digital-package-result .btn-primary {
  background: linear-gradient(135deg,#7c5cff,#4f8cff) !important;
  color: #fff !important;
  border: 0 !important;
}
.v5-body .digital .btn-ai { color: #fff !important; }
.v5-body .digital .digital-empty p,
.v5-body .digital .digital-select-row span,
.v5-body .digital .digital-text-foot span { color: #aab1c2 !important; }
.v5-body .digital .digital-package-result .pkg-local-path { background: #080b11 !important; border: 1px solid var(--line) !important; }

.v5-body .source-row .platform-badge { color: #eef1f8 !important; background: rgba(124,92,255,.18) !important; border: 1px solid rgba(124,92,255,.30) !important; }
.v5-body .source-row .source-author { color: #dbe1ee !important; }
.v5-body .source-row .source-actions .btn, .v5-body .source-row .source-action { color: #dbe1ee !important; }


/* ===== v5.4: 文案正文暗色可读性修复（避免黑字黑底） ===== */
.v5-body .para-text { color: #e6e9f2 !important; }
.v5-body .para-text .seg-deleted { color: #aab1c2 !important; }
.v5-body .para-text .kw-term { color: #ffd479 !important; background: rgba(255,196,79,.16) !important; }
.v5-body .para-text .kw-num { color: #8fd0ff !important; background: rgba(76,141,255,.18) !important; }
.v5-body .para-text .kw-key { color: #ff9bd2 !important; background: rgba(255,107,214,.16) !important; }
.v5-body .para.is-flash { background: rgba(124,108,255,.12) !important; box-shadow: 0 0 0 9px rgba(124,108,255,.12) !important; }
.v5-body .para-time { color: #c7cede !important; background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.14) !important; }
.v5-body .para-time:hover { color: #fff !important; background: rgba(124,108,255,.28) !important; border-color: rgba(124,108,255,.5) !important; }
.v5-body .para-time.is-disabled { color: #7d879e !important; background: rgba(255,255,255,.04) !important; }


/* =========================================================================
 * v6.0 · 即梦 AI 风格首页（居中 Hero + 大输入框 + 分类 Tab + 能力卡片网格）
 * 暗色 v5 体系不变，只重构信息层级与排版
 * ========================================================================= */
.v5-hero.v5-hero-center {
  display: flex; justify-content: center; text-align: center;
  padding: 52px 34px 34px;
  border-color: rgba(124,92,255,.18);
  background:
    radial-gradient(900px 420px at 50% -18%, rgba(124,92,255,.30), transparent 62%),
    radial-gradient(620px 320px at 12% 118%, rgba(34,211,238,.13), transparent 62%),
    radial-gradient(620px 320px at 88% 118%, rgba(255,107,214,.10), transparent 62%),
    linear-gradient(135deg, #141728, #0d0f19 70%);
}
.v5-hero.v5-hero-center .v5-hero-inner { max-width: 780px; width: 100%; }
.v5-hero.v5-hero-center .v5-hero-bg { opacity: .35; mask-image: radial-gradient(700px 340px at 50% 30%, #000, transparent 78%); }
.v5-hero-glow {
  position: absolute; left: 50%; top: -140px; width: 520px; height: 320px;
  transform: translateX(-50%); pointer-events: none; filter: blur(70px); opacity: .55;
  background: radial-gradient(circle, rgba(124,92,255,.55), transparent 70%);
}
.v5-hero.v5-hero-center .v5-hero-title { margin-top: 16px; font-size: 46px; line-height: 1.18; }
.v5-hero.v5-hero-center .v5-hero-sub { margin: 14px auto 0; max-width: 560px; font-size: 13px; }

/* ---- 主输入框（composer） ---- */
.v5-composer {
  margin: 26px auto 0; max-width: 680px; text-align: left;
  border: 1px solid rgba(124,92,255,.30); border-radius: 18px;
  background: rgba(9,11,17,.80);
  box-shadow: 0 26px 70px -30px rgba(124,92,255,.72), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(14px);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.v5-composer:focus-within {
  border-color: rgba(124,92,255,.62);
  box-shadow: 0 26px 80px -28px rgba(124,92,255,.95), 0 0 0 4px rgba(124,92,255,.10);
}
.v5-composer-input { display: flex; align-items: flex-start; gap: 10px; padding: 15px 14px 8px 18px; }
.v5-composer-input > .icon { width: 18px; height: 18px; margin-top: 12px; color: #8b93a7; flex: none; }
.v5-composer-input textarea {
  flex: 1; min-width: 0; min-height: 46px; max-height: 140px; resize: none;
  border: 0; outline: 0; background: transparent; color: #f2f4fb;
  font: inherit; font-size: 13.5px; line-height: 1.65; padding: 8px 0;
}
.v5-composer-input textarea::placeholder { color: #6b7489; }
.v5-composer-add {
  width: 30px; height: 30px; margin-top: 9px; flex: none; display: grid; place-items: center;
  border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.05);
  color: #aeb6c8; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.v5-composer-add:hover { background: rgba(124,92,255,.20); color: #d6cdff; border-color: rgba(124,92,255,.42); }
.v5-composer-add .icon { width: 14px; height: 14px; }
.v5-composer-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 12px 12px 16px; border-top: 1px solid rgba(255,255,255,.06);
}
.v5-composer-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.v5-chip {
  height: 27px; padding: 0 11px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.045);
  color: #9ba3b6; font-size: 11.5px; font-weight: 500; cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.v5-chip:hover { background: rgba(124,92,255,.18); color: #ddd6ff; border-color: rgba(124,92,255,.40); }
.v5-composer-go { height: 36px; border-radius: 10px; padding: 0 16px; font-size: 12.5px; flex: none; }
.v5-hero.v5-hero-center .v5-hero-tip { text-align: center; margin-top: 12px; }

/* ---- 分类 Tab ---- */
.v5-cap-section { display: flex; flex-direction: column; gap: 14px; }
.v5-cap-tabs {
  display: flex; gap: 4px; padding: 4px; width: fit-content; max-width: 100%;
  border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.035);
  overflow-x: auto;
}
.v5-cap-tab {
  height: 30px; padding: 0 15px; border: 0; border-radius: 9px; background: transparent;
  color: #99a1b4; font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: background .15s, color .15s;
}
.v5-cap-tab:hover { color: #d4d9e6; }
.v5-cap-tab.is-active { background: linear-gradient(135deg, #7c6cff, #4c8dff); color: #fff; box-shadow: 0 6px 18px -8px rgba(124,108,255,.9); }

/* ---- 能力卡片网格（即梦式方卡） ---- */
.v5-cap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v5-cap-card {
  position: relative; display: flex; flex-direction: column; gap: 10px;
  padding: 16px 16px 14px; min-height: 148px; text-align: left; cursor: pointer;
  border: 1px solid var(--line); border-radius: 16px;
  background: linear-gradient(155deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  color: var(--ink); overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.v5-cap-card::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0;
  background: radial-gradient(420px 180px at 82% -20%, rgba(124,92,255,.22), transparent 68%);
  transition: opacity .2s ease;
}
.v5-cap-card:hover { transform: translateY(-3px); border-color: rgba(124,92,255,.42); box-shadow: 0 20px 44px -26px rgba(124,92,255,.75); }
.v5-cap-card:hover::after { opacity: 1; }
.v5-cap-icon {
  width: 38px; height: 38px; display: grid; place-items: center; flex: none;
  border-radius: 12px; background: rgba(124,92,255,.15); color: #bcaaff;
  border: 1px solid rgba(124,92,255,.24);
}
.v5-cap-icon .icon { width: 18px; height: 18px; }
.v5-cap-copy { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.v5-cap-copy em { font-style: normal; font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: #7f879b; }
.v5-cap-copy b { font-size: 14px; font-weight: 700; color: #f0f3fa; letter-spacing: -.2px; }
.v5-cap-copy span { font-size: 11.5px; line-height: 1.62; color: #9099ad; }
.v5-cap-cta {
  display: inline-flex; align-items: center; gap: 4px; align-self: flex-start;
  font-size: 11.5px; font-weight: 600; color: #a99bff;
}
.v5-cap-cta .icon { width: 12px; height: 12px; }
.v5-cap-card:hover .v5-cap-cta { color: #cfc6ff; }

@media (max-width: 1180px) {
  .v5-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .v5-hero.v5-hero-center { padding: 32px 16px 24px; }
  .v5-hero.v5-hero-center .v5-hero-title { font-size: 29px; }
  .v5-composer { margin-top: 20px; }
  .v5-composer-bar { flex-direction: column; align-items: stretch; gap: 8px; }
  .v5-composer-go { width: 100%; }
  .v5-cap-grid { grid-template-columns: 1fr; }
  .v5-cap-card { min-height: 0; }
}


/* ===== v6.0 · 歌词识别弹窗 ===== */
.lyrics-body .opening-preview pre { margin: 0; white-space: pre-wrap; word-break: break-word; font-family: inherit; font-size: 13px; line-height: 1.75; }
.lyrics-result { border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); padding: 14px 16px; }
.lyrics-result pre { margin: 0; white-space: pre-wrap; word-break: break-word; font-family: inherit; font-size: 13.5px; line-height: 1.85; color: #eef1f8; }
.lyrics-applied { margin-top: 10px; font-size: 12px; color: #6ee7a8; }
.lyrics-empty { padding: 22px; text-align: center; font-size: 12.5px; color: #8b93a8; border: 1px dashed var(--line); border-radius: 12px; }
.lyrics-loading { padding: 18px 4px; text-align: center; }
.lyrics-loading p { margin: 10px 0 0; font-size: 12px; color: #9aa3b8; }
.lyrics-loading .v5-progress { max-width: 320px; margin: 0 auto; }
.lyrics-loading .v5-progress span { background: linear-gradient(90deg, #7c6cff, #4c8dff); }

/* ===== v6.0 · 疑似歌词标记 ===== */
.song-flag {
  display: inline-flex; align-items: center; height: 17px; padding: 0 7px; border-radius: 999px;
  font-size: 10px; font-weight: 600; letter-spacing: .02em;
  background: rgba(255, 196, 79, .16); color: #ffd479; border: 1px solid rgba(255, 196, 79, .30);
}

/* ===== v6.0 · 暗色主题覆盖：弹窗内的引文预览（style.css 里是浅色遗留样式） ===== */
.modal-mask .opening-preview {
  background: rgba(255, 255, 255, .045) !important;
  border-color: var(--line) !important;
  color: #e6e9f2 !important;
  padding: 12px 16px 12px 38px;
  font-size: 12.5px;
  line-height: 1.8;
}
.modal-mask .opening-preview::before { color: rgba(167, 139, 250, .55) !important; }
.modal-mask .opening-preview.is-empty { color: #8b93a8 !important; }
.modal-mask .mode-segmented {
  background: rgba(255, 255, 255, .05) !important;
  border-color: var(--line) !important;
}
.modal-mask .mode-btn { color: #9aa3b8 !important; }
.modal-mask .mode-btn.is-active { color: #fff !important; }

/* ===== v6.0 · 歌词识别的模式切换按钮（mode-btn 原先无样式定义） ===== */
.modal-mask .mode-segmented {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
}
.modal-mask .mode-btn {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  height: 38px; padding: 0 14px; border-radius: 11px; cursor: pointer;
  border: 1px solid var(--line); background: rgba(255, 255, 255, .03);
  color: #9aa3b8 !important; font-size: 12.5px; font-weight: 600; font-family: inherit;
  transition: background .15s, border-color .15s, color .15s;
}
.modal-mask .mode-btn:hover:not(:disabled) {
  background: rgba(124, 92, 255, .16); border-color: rgba(124, 92, 255, .40); color: #d6cdff !important;
}
.modal-mask .mode-btn.is-active {
  background: linear-gradient(135deg, rgba(124, 108, 255, .90), rgba(76, 141, 255, .90));
  border-color: transparent; color: #fff !important;
  box-shadow: 0 8px 22px -12px rgba(124, 108, 255, .95);
}
.modal-mask .mode-btn:disabled { opacity: .55; cursor: not-allowed; }

/* =========================================================================
 * v6.1 · 提词稿模式（大字逐句 + 配色 + 素材位）
 * ========================================================================= */
.script-body.is-teleprompter {
  max-width: 860px;
  padding: 30px 34px 40px;
}
.teleprompter-view {
  font-family: "微软雅黑", "Microsoft YaHei", "PingFang SC", sans-serif;
  line-height: 1.9;
}
.teleprompter-view [style*="font-size:11.5pt"] {
  font-size: 15.5px !important;
  line-height: 2.05 !important;
  margin-bottom: 3px !important;
  letter-spacing: .2px;
}
.teleprompter-view [style*="font-size:10pt"] {
  font-size: 12.5px !important;
  letter-spacing: .4px;
  border-left: 3px solid #C0142E;
  padding-left: 9px;
}
.teleprompter-view [style*="font-size:26pt"] { font-size: 27px !important; }
.teleprompter-view [style*="font-size:12pt"] { font-size: 13px !important; }
.teleprompter-view [style*="font-size:9pt"] { font-size: 11.5px !important; }
.teleprompter-view img {
  display: block;
  max-width: 100%;
  border-radius: 10px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .8);
}
.teleprompter-view span[style*="background-color"] {
  border-radius: 3px;
  padding: 0 2px;
  font-weight: 600;
}
/* 提词稿按钮激活态 */
.btn.btn-gold {
  background: linear-gradient(135deg, #d99a2b, #b8791a);
  border-color: transparent;
  color: #fff;
}
.btn.btn-gold:hover { background: linear-gradient(135deg, #e8a937, #c9861f); }
.btn-gold.is-on { box-shadow: 0 0 0 2px rgba(255, 207, 122, .45); }

/* =========================================================================
 * v6.2 · 提词稿暗色主题（bodyColor 原先是 #000，在暗色底上等于隐形）
 * 结构色由 CSS 接管：正文/标题/说明全部提亮，高亮块维持浅底深字
 * ========================================================================= */
.teleprompter-view .tp-title  { color: #F5F7FC !important; }
.teleprompter-view .tp-body   { color: #E8EBF3 !important; }
.teleprompter-view .tp-bullet { color: #C6CCDB !important; }
.teleprompter-view .tp-sub    { color: #93B7FF !important; }
.teleprompter-view .tp-action { color: #98A0B4 !important; }
.teleprompter-view .tp-para   {
  color: #FF7B8F !important;
  border-left: 3px solid #FF5C74;
  background: linear-gradient(90deg, rgba(255, 92, 116, .10), transparent 62%);
  border-radius: 0 4px 4px 0;
  letter-spacing: .4px;
}
/* 高亮块：暗底上让浅色背景略微收敛，避免刺眼又保证对比度 */
.teleprompter-view span[style*="background-color"] {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .06) inset;
}

/* 文案工具栏：按钮不再被压扁（原来「复制提词稿」会被挤成两行字） */
@media (min-width: 721px) {
  .v5-body .script-tools { gap: 7px; }
  .v5-body .script-tools .btn {
    white-space: nowrap;
    flex: 0 0 auto;
  }
}


/* ---------- 我的 AI 接口 入口（设置弹窗顶部） ---------- */
.settings-userai{
  margin:0 0 18px;
  background:linear-gradient(135deg,rgba(31,58,95,.06),rgba(31,58,95,.02));
  border:1px solid rgba(31,58,95,.16);
  border-radius:12px;
  padding:16px 18px;
}
.settings-userai-main{display:flex;align-items:center;gap:14px}
.settings-userai-icon{
  width:38px;height:38px;border-radius:10px;flex:none;
  background:var(--navy,#1F3A5F);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.settings-userai-icon .icon{width:19px;height:19px}
.settings-userai-copy{flex:1;min-width:0}
.settings-userai-copy h3{
  font-size:14.5px;font-weight:600;margin:0 0 3px;
  display:flex;align-items:center;gap:8px;
}
.settings-userai-copy p{font-size:12.5px;color:var(--muted,#7A8290);line-height:1.7}
.settings-userai-copy p b{color:var(--ink2,#3D4351)}
.tag-ok,.tag-warn{
  font-size:11px;padding:2px 8px;border-radius:20px;font-weight:500;
}
.tag-ok{background:var(--green-l,#E9F5F0);color:var(--green,#1F7A5A)}
.tag-warn{background:var(--amber-l,#FBF3E3);color:var(--amber,#A9761F)}
@media (max-width:640px){
  .settings-userai-main{flex-wrap:wrap}
  .settings-userai-main .btn{width:100%}
}
