@charset "UTF-8";.\!container {
    width: 100% !important;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .\!container {
        max-width: 640px !important;
    }
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .\!container {
        max-width: 768px !important;
    }
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .\!container {
        max-width: 1024px !important;
    }
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .\!container {
        max-width: 1280px !important;
    }
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .\!container {
        max-width: 1536px !important;
    }
    .container {
        max-width: 1536px;
    }
}
  /* ==========================================================
     页面骨架
     ========================================================== */
  /* 统一页面容器：所有二级页面共用（最大宽度 1240px，居中，纵向间距） */
  .page {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    max-width: 1240px;
    flex-direction: column;
    gap: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1.75rem;
    padding-bottom: 4rem;
}
  /* 窄内容页（表单类）可选 */

  /* 宽页面（表格 + 详情），1536px 居中 */


  .form-header {
    display: flex;
    min-width: 0px;
    flex: 1 1 0%;
    align-items: flex-start;
    gap: 0.75rem;
    position: relative;
}
  .form-header-icon {
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    background: linear-gradient(135deg, rgba(240, 32, 32, 0.2) 0%, rgba(192, 8, 18, 0.15) 100%);
    border: 1px solid rgba(240, 32, 32, 0.35);
    box-shadow: 0 4px 12px rgba(240, 32, 32, 0.12);
}
  /* 强调型图标徽章（cyan 点缀） */
  .form-header-text {
    display: flex;
    min-width: 0px;
    flex: 1 1 0%;
    flex-direction: column;
    gap: 0.125rem;
}
  .form-header-eyebrow {
    font-size: 10px;
    letter-spacing: 0.18em;
    /* 10px 小字直接上 #F02020 只有 4.3:1，低于 AA 的 4.5:1 → 用亮红 7.2:1 */
    color: var(--theme-primary-text);
    font-weight: 600;
  }
  .form-header-icon-accent ~ .form-header-text .form-header-eyebrow {
    color: #F5C24A;
  }
  .form-header-title {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
  .form-header-sub {
    /* 原来 @apply text-gray-500（#6b7280）在深底上只有 3.4:1，换成 --theme-text-muted */
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1.625;
    color: var(--theme-text-muted);
  }


  /* ==========================================================
     按钮系统
     ========================================================== */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border-radius: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .btn:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

  /* 主按钮：统一 fuchsia → purple 品牌渐变 */
  .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border-radius: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .btn-primary:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}
  .btn-primary {
    border-width: 0px;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
  .btn-primary:hover {
    --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
  .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border-radius: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .btn-ghost:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}
  .btn-ghost {
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    background-color: rgb(255 255 255 / 0.05);
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
  .btn-ghost:hover {
    background-color: rgb(255 255 255 / 0.1);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
  .btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border-radius: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .btn-danger:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}
  .btn-danger {
    border-width: 1px;
    border-color: rgb(239 68 68 / 0.25);
    background-color: rgb(239 68 68 / 0.1);
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
  .btn-danger:hover {
    background-color: rgb(239 68 68 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
  .btn-sm {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
}

  /* 页头小操作按钮（返回、添加等） */
  .header-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border-radius: 0.5rem;
    border-width: 1px;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
    color: #e5e7eb;
}

  .header-action-btn:hover {
    background: rgba(240, 32, 32, 0.12);
    border-color: rgba(240, 32, 32, 0.4);
    color: #FF8A7A;
    transform: translateY(-1px);
  }
  /* ghost 变体用 cyan 点缀（常用于「返回」） */
  .header-action-btn-ghost:hover {
    background: rgba(245, 194, 74, 0.12);
    border-color: rgba(245, 194, 74, 0.4);
    color: #FFD98A;
  }
  /* primary 变体：品牌渐变填充 */

  /* 行内操作按钮（卡片内的多个小按钮） */
  .action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 0.5rem;
    border-width: 1px;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .action-btn:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}
  .action-btn {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
    color: #d1d5db;
  }
  .action-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  .action-btn-success:hover:not(:disabled) {
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(34, 197, 94, 0.45);
    color: #86efac;
  }
  .action-btn-info:hover:not(:disabled) {
    background: rgba(245, 194, 74, 0.14);
    border-color: rgba(245, 194, 74, 0.45);
    color: #FFD98A;
  }
  .action-btn-danger:hover:not(:disabled) {
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(239, 68, 68, 0.45);
    color: #fca5a5;
  }

  /* ==========================================================
     卡片 / 输入 / 标签
     ========================================================== */
  .card {
    border-radius: 1rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(42 26 29 / var(--tw-bg-opacity, 1));
    padding: 1.25rem;
}
  /* 渐变卡片（暗色玻璃渐变风格，与 OneClickPublish/ViralStudio 一致） */
  /* 顶部品牌装饰条卡片 */
  .card-accent {
    border-radius: 1rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(42 26 29 / var(--tw-bg-opacity, 1));
    padding: 1.25rem;
    position: relative;
    overflow: hidden;
}

  .\!input {
    width: 100%;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(30 20 22 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

  .\!input::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

  .\!input::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

  .\!input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    --tw-ring-color: rgb(220 38 38 / 0.5);
}

  .input {
    width: 100%;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(30 20 22 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

  .input::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

  .input::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

  .input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    --tw-ring-color: rgb(220 38 38 / 0.5);
}
  .label {
    margin-bottom: 0.25rem;
    display: block;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
  .divider {
    border-top-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    padding-top: 1rem;
}

  /* ==========================================================
     统计卡（横向指标行）
     ========================================================== */
  .stat-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.75rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    background-color: rgb(255 255 255 / 0.03);
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
  .stat-label {
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

  /* ==========================================================
     筛选条
     ========================================================== */
  .filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
  .filter-bar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}
  .filter-label {
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
  .filter-select {
    min-width: 120px;
}

  /* ==========================================================
     状态徽标
     ========================================================== */
  .status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border-radius: 9999px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
    font-size: 11px;
    font-weight: 500;
}
  .status-pill-dot {
    height: 0.375rem;
    width: 0.375rem;
    border-radius: 9999px;
    background-color: currentColor;
}
  .status-online {
    background-color: rgb(34 197 94 / 0.15);
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

  /* ==========================================================
     提示 / 空态 / 加载
     ========================================================== */
  .empty-icon {
    font-size: 2.25rem;
    line-height: 2.5rem;
    opacity: 0.7;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.visible {
    visibility: visible;
}
.invisible {
    visibility: hidden;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.inset-0 {
    inset: 0px;
}
.bottom-1 {
    bottom: 0.25rem;
}
.left-1 {
    left: 0.25rem;
}
.right-1 {
    right: 0.25rem;
}
.top-1 {
    top: 0.25rem;
}
.col-span-12 {
    grid-column: span 12 / span 12;
}
.col-span-3 {
    grid-column: span 3 / span 3;
}
.col-span-4 {
    grid-column: span 4 / span 4;
}
.col-span-5 {
    grid-column: span 5 / span 5;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-2 {
    margin-left: 0.5rem;
}
.ml-\[16px\] {
    margin-left: 16px;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-\[20px\] {
    margin-top: 20px;
}
.block {
    display: block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.table-cell {
    display: table-cell;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.aspect-\[1080\/1920\] {
    aspect-ratio: 1080/1920;
}
.aspect-video {
    aspect-ratio: 16 / 9;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-2 {
    height: 0.5rem;
}
.h-6 {
    height: 1.5rem;
}
.h-7 {
    height: 1.75rem;
}
.h-9 {
    height: 2.25rem;
}
.h-full {
    height: 100%;
}
.max-h-80 {
    max-height: 20rem;
}
.max-h-\[320px\] {
    max-height: 320px;
}
.min-h-screen {
    min-height: 100vh;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-14 {
    width: 3.5rem;
}
.w-6 {
    width: 1.5rem;
}
.w-7 {
    width: 1.75rem;
}
.w-9 {
    width: 2.25rem;
}
.w-\[30px\] {
    width: 30px;
}
.w-full {
    width: 100%;
}
.max-w-md {
    max-width: 28rem;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-shrink {
    flex-shrink: 1;
}
.shrink-0 {
    flex-shrink: 0;
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
    cursor: pointer;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize {
    resize: both;
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(130px\2c 1fr\)\)\] {
    grid-template-columns: repeat(auto-fill,minmax(130px,1fr));
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.justify-end {
    justify-content: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-y-auto {
    overflow-y: auto;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-\[10px\] {
    border-radius: 10px;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-md {
    border-radius: 0.375rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.border {
    border-width: 1px;
}
.border-b {
    border-bottom-width: 1px;
}
.border-r {
    border-right-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.\!border-white\/10 {
    border-color: rgb(255 255 255 / 0.1) !important;
}
.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-red-500\/80 {
    border-color: rgb(239 68 68 / 0.8);
}
.border-red-600\/50 {
    border-color: rgb(220 38 38 / 0.5);
}
.border-red-600\/70 {
    border-color: rgb(220 38 38 / 0.7);
}
.border-rose-500\/30 {
    border-color: rgb(244 63 94 / 0.3);
}
.border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
    border-color: rgb(255 255 255 / 0.15);
}
.border-white\/5 {
    border-color: rgb(255 255 255 / 0.05);
}
.\!bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05) !important;
}
.bg-\[\#0a0a14\] {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1E1416\] {
    --tw-bg-opacity: 1;
    background-color: rgb(30 20 22 / var(--tw-bg-opacity, 1));
}
.bg-\[\#201618\] {
    --tw-bg-opacity: 1;
    background-color: rgb(32 22 24 / var(--tw-bg-opacity, 1));
}
.bg-amber-400\/95 {
    background-color: rgb(251 191 36 / 0.95);
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/20 {
    background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/25 {
    background-color: rgb(0 0 0 / 0.25);
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-gray-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-red-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(252 165 165 / var(--tw-bg-opacity, 1));
}
.bg-red-600\/10 {
    background-color: rgb(220 38 38 / 0.1);
}
.bg-red-600\/20 {
    background-color: rgb(220 38 38 / 0.2);
}
.bg-red-600\/25 {
    background-color: rgb(220 38 38 / 0.25);
}
.bg-red-600\/95 {
    background-color: rgb(220 38 38 / 0.95);
}
.bg-transparent {
    background-color: transparent;
}
.bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05);
}
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-red-600 {
    --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-orange-700 {
    --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.p-2 {
    padding: 0.5rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.\!px-2\.5 {
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}
.\!py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.pb-2\.5 {
    padding-bottom: 0.625rem;
}
.pb-6 {
    padding-bottom: 1.5rem;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.text-center {
    text-align: center;
}
.font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.\!text-\[12px\] {
    font-size: 12px !important;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[13px\] {
    font-size: 13px;
}
.text-\[14px\] {
    font-size: 14px;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-bold {
    font-weight: 700;
}
.font-medium {
    font-weight: 500;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.italic {
    font-style: italic;
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none {
    line-height: 1;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.\!text-gray-300 {
    --tw-text-opacity: 1 !important;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1)) !important;
}
.text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-300\/70 {
    color: rgb(209 213 219 / 0.7);
}
.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-800 {
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-rose-300 {
    --tw-text-opacity: 1;
    color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/80 {
    color: rgb(255 255 255 / 0.8);
}
.underline {
    text-decoration-line: underline;
}
.opacity-0 {
    opacity: 0;
}
.opacity-100 {
    opacity: 1;
}
.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_2px_rgba\(232\2c 85\2c 47\2c 0\.25\)\] {
    --tw-shadow: 0 0 0 2px rgba(232,85,47,0.25);
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
    outline-style: solid;
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ============================================================
   设计 Token（统一暗色主题 + 品牌渐变）
   品牌主渐变：red-600 (#F02020) → orange-700 (#C00812)
   辅助点缀色：cyan (#F5C24A)
   ============================================================ */
:root {
  /* 背景层级 */
  --bg-app: #1A1214; /* 应用底 */
  --bg-deep: #201618; /* 侧栏 / 标题栏 */
  --bg-card: #2A1A1D; /* 卡片 */
  --bg-input: #1E1416; /* 输入框 */
  --bg-elevated: #331E22; /* 浮层 / 弹窗 */
  --bg-overlay: rgba(0, 0, 0, 0.6); /* 弹窗蒙层 */

  /* 品牌色 */
  --brand: #F02020; /* red-600，主色 */
  --brand-strong: #C00812; /* orange-700，渐变末端 */
  --brand-light: #FF4A44; /* red-500，hover */
  --brand-strong-light: #E8552F; /* orange-600，hover */
  --brand-soft: #FF8A7A; /* red-400，文字 */
  --brand-faint: #FFC0AE; /* red-300，文字变浅 */
  --accent: #F5C24A; /* cyan，辅助点缀 */
  --accent-soft: #FFD98A; /* cyan-300，hover */

  /* 品牌渐变 */
  --brand-gradient: linear-gradient(135deg, #F02020 0%, #C00812 100%);
  --brand-gradient-hover: linear-gradient(135deg, #FF4A44 0%, #E8552F 100%);

  /* 品牌色 + alpha 渐变（用于 hover/select/active 等半透明场景） */
  --brand-tint-strong: rgba(240, 32, 32, 0.35);
  --brand-tint-medium: rgba(240, 32, 32, 0.22);
  --brand-tint-soft: rgba(240, 32, 32, 0.16);
  --brand-tint-faint: rgba(240, 32, 32, 0.1);
  --brand-tint-ghost: rgba(240, 32, 32, 0.08);
  --brand-tint-trace: rgba(240, 32, 32, 0.06);

  --accent-tint-medium: rgba(245, 194, 74, 0.4);
  --accent-tint-soft: rgba(245, 194, 74, 0.12);
  --accent-tint-faint: rgba(245, 194, 74, 0.08);

  /* 边框 */
  --border-subtle: rgba(255, 255, 255, 0.05);
  --border: rgba(255, 255, 255, 0.1);
  --border-strong: rgba(255, 255, 255, 0.25);

  /* 白底半透明（用于按钮/卡片 hover/微弱背景） */
  --white-alpha-02: rgba(255, 255, 255, 0.02);
  --white-alpha-03: rgba(255, 255, 255, 0.03);
  --white-alpha-04: rgba(255, 255, 255, 0.04);
  --white-alpha-05: rgba(255, 255, 255, 0.05);
  --white-alpha-06: rgba(255, 255, 255, 0.06);
  --white-alpha-08: rgba(255, 255, 255, 0.08);
  --white-alpha-10: rgba(255, 255, 255, 0.1);
  --white-alpha-15: rgba(255, 255, 255, 0.15);
  --white-alpha-20: rgba(255, 255, 255, 0.2);
  --white-alpha-25: rgba(255, 255, 255, 0.25);

  /* 反馈色（成功/警告/错误） */
  --success: #22c55e;
  --warning: #f59e0b;
  --danger: #ef4444;
  --success-soft: rgba(34, 197, 94, 0.14);
  --success-medium: rgba(34, 197, 94, 0.45);
  --danger-soft: rgba(239, 68, 68, 0.12);
  --danger-medium: rgba(239, 68, 68, 0.45);

  /* 卡片渐变（设计统一：150/151 蓝紫色，250/249 端点） */
  --card-gradient: linear-gradient(180deg, #15152a 0%, #131326 100%);
}

/* 深色下的原生控件 */
select.input,
select.filter-select {
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(30 20 22 / var(--tw-bg-opacity, 1));
    background-repeat: no-repeat;
    padding-left: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-right: 2.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-position: right 0.6rem center;
  background-size: 1rem;
}
select.input:hover,
select.filter-select:hover {
    border-color: rgb(255 255 255 / 0.25);
}
select.input option,
select.filter-select option {
    --tw-bg-opacity: 1;
    background-color: rgb(42 26 29 / var(--tw-bg-opacity, 1));
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
input[type='range'] {
  accent-color: #E8552F;
}
input[type='checkbox'] {
  accent-color: #E8552F;
}
.after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
}
.after\:left-0\.5::after {
    content: var(--tw-content);
    left: 0.125rem;
}
.after\:top-0\.5::after {
    content: var(--tw-content);
    top: 0.125rem;
}
.after\:h-5::after {
    content: var(--tw-content);
    height: 1.25rem;
}
.after\:w-5::after {
    content: var(--tw-content);
    width: 1.25rem;
}
.after\:rounded-full::after {
    content: var(--tw-content);
    border-radius: 9999px;
}
.after\:bg-white::after {
    content: var(--tw-content);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:transition-all::after {
    content: var(--tw-content);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.after\:content-\[\'\'\]::after {
    --tw-content: '';
    content: var(--tw-content);
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:\!bg-white\/10:hover {
    background-color: rgb(255 255 255 / 0.1) !important;
}
.hover\:bg-black\/60:hover {
    background-color: rgb(0 0 0 / 0.6);
}
.hover\:bg-black\/70:hover {
    background-color: rgb(0 0 0 / 0.7);
}
.hover\:bg-white\/10:hover {
    background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/20:hover {
    background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/5:hover {
    background-color: rgb(255 255 255 / 0.05);
}
.hover\:\!text-white:hover {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.hover\:text-amber-300:hover {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-300:hover {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
.peer:checked ~ .peer-checked\:bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.peer:checked ~ .peer-checked\:from-red-600 {
    --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.peer:checked ~ .peer-checked\:to-orange-700 {
    --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}
.peer:checked ~ .peer-checked\:after\:translate-x-5::after {
    content: var(--tw-content);
    --tw-translate-x: 1.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    .lg\:grid-cols-\[280px_1fr\] {
        grid-template-columns: 280px 1fr;
    }
}
.feature-guide-wrapper .ant-tour {
    z-index: 9999!important
}

.feature-guide-wrapper .ant-tour-mask {
    z-index: 9998!important;
    background: var(--theme-modal-overlay)!important
}

.feature-guide-wrapper .ant-tour-content {
    z-index: 10000!important;
    background: var(--theme-modal-bg)!important;
    border-color: var(--theme-modal-border)!important
}

.feature-guide-wrapper .ant-tour-close {
    z-index: 10001!important;
    color: var(--theme-text-primary)!important
}

.feature-guide-wrapper .ant-tour-close:hover {
    color: var(--theme-secondary)!important
}

.feature-guide-wrapper .ant-tour-header {
    background: var(--theme-modal-header-bg)!important;
    border-bottom: 1px solid var(--theme-border)!important
}

.feature-guide-wrapper .ant-tour-title {
    color: var(--theme-text-primary)!important
}

.feature-guide-wrapper .ant-tour-description {
    color: var(--theme-text-tertiary)!important
}

.feature-guide-wrapper .ant-tour-footer {
    background: var(--theme-modal-footer-bg)!important;
    border-top: 1px solid var(--theme-border)!important
}

.feature-guide-wrapper .ant-tour-buttons .ant-btn-primary {
    background: var(--theme-modal-button-primary-bg)!important;
    border: none!important;
    color: var(--theme-text-primary)!important;
    box-shadow: 0 2px 8px var(--theme-modal-button-primary-shadow)!important
}

.feature-guide-wrapper .ant-tour-buttons .ant-btn-primary:hover {
    background: var(--theme-modal-button-primary-hover-bg)!important
}

.feature-guide-wrapper .ant-tour-buttons .ant-btn-default {
    background: transparent!important;
    border-color: var(--theme-border-gray)!important;
    color: var(--theme-text-secondary)!important
}

.feature-guide-wrapper .ant-tour-buttons .ant-btn-default:hover {
    border-color: var(--theme-border-light)!important;
    color: var(--theme-text-primary)!important
}

.feature-guide-wrapper .tour-desc-text {
    margin-bottom: 12px
}

.feature-guide-wrapper .tour-controls-row {
    display: flex;
    gap: 8px;
    align-items: center;
    border-top: 1px solid var(--theme-border-gray);
    padding-top: 8px
}

.feature-guide-wrapper .video-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px
}

.feature-guide-wrapper .voice-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--theme-background);
    color: var(--theme-text-primary);
    border: 1px solid var(--theme-border);
    cursor: pointer;
    transition: all .2s
}

.feature-guide-wrapper .voice-btn:hover {
    background: var(--theme-background-light);
    border-color: var(--theme-border-light)
}

:root {
    --app-font-scale: 1.14;
    --app-font-size-micro: 12px;
    --app-font-size-meta: 13px;
    --app-font-size-caption: 14px;
    --app-font-size-secondary: 15px;
    --app-font-size-body: 16px;
    --app-font-size-control: 16px;
    --app-font-size-card-title: 18px;
    --app-font-size-section-title: 22px;
    --app-font-size-page-title: 28px
}

#app {
    font-family: Avenir,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100vh;
    background: var(--theme-background);
    color: var(--theme-text-secondary);
    font-size: var(--app-font-size-body)
}

.ant-app,.ant-btn,.ant-checkbox-wrapper,.ant-dropdown,.ant-dropdown-menu,.ant-form,.ant-form-item,.ant-input,.ant-input-number,.ant-layout,.ant-menu,.ant-modal,.ant-picker,.ant-radio-wrapper,.ant-segmented,.ant-select,.ant-table,.ant-tabs,.ant-tag {
    font-size: var(--app-font-size-body)!important
}

.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-password,.ant-picker,.ant-radio-button-wrapper,.ant-segmented-item,.ant-select-selection-item,.ant-select-selection-placeholder,.ant-select-selector,.ant-select-single,.ant-tabs-tab-btn {
    font-size: var(--app-font-size-control)!important
}

.ant-btn.ant-btn-sm {
    min-height: calc(var(--app-font-size-control) + 12px)!important;
    height: auto!important;
    padding: 3px 10px!important;
    line-height: 1.25!important
}

.ant-btn.ant-btn-circle.ant-btn-sm {
    width: calc(var(--app-font-size-control) + 14px)!important;
    min-width: calc(var(--app-font-size-control) + 14px)!important;
    padding: 0!important
}

.ant-table .ant-btn.ant-btn-sm {
    min-height: calc(var(--app-font-size-caption) + 12px)!important;
    padding: 3px 8px!important;
    font-size: var(--app-font-size-caption)!important
}

.ant-form-item-label>label,.ant-menu-title-content,.ant-modal-title,.ant-table-thead>tr>th {
    font-size: var(--app-font-size-body)!important
}

.ant-dropdown-menu-title-content,.ant-form-item-explain,.ant-form-item-extra,.ant-input-textarea-show-count:after,.ant-select-item,.ant-table-tbody>tr>td,.ant-tag {
    font-size: var(--app-font-size-caption)!important
}

.ant-input-textarea-show-count:after {
    color: var(--theme-text-primary)!important;
    opacity: .6
}

.back-workbench-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    padding: 5px 12px;
    border-radius: 8px;
    cursor: pointer;
    color: var(--theme-text-primary);
    font-size: var(--app-font-size-caption);
    font-weight: 500;
    border: 1px solid var(--theme-border-purple);
    background: var(--theme-overlay-purple-stronger);
    -webkit-app-region: no-drag;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: background-color .2s,border-color .2s,color .2s
}

.back-workbench-btn:hover {
    background: var(--theme-overlay-purple);
    border-color: var(--theme-border-purple-light);
    color: var(--theme-secondary)
}

.back-workbench-icon {
    font-size: var(--app-font-size-caption)
}

.nav-menu-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color .2s;
    color: var(--theme-text-primary);
    -webkit-app-region: no-drag;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.nav-menu-btn.nav-menu-open,.nav-menu-btn:hover {
    background: var(--theme-overlay-medium)
}

.nav-menu-icon,.nav-menu-label {
    font-size: var(--app-font-size-body)
}

.nav-menu-label {
    font-weight: 500
}

.nav-menu-arrow {
    font-size: var(--app-font-size-caption);
    opacity: .7;
    transition: transform .2s
}

.nav-menu-btn.nav-menu-open .nav-menu-arrow {
    transform: rotate(180deg);
    opacity: 1
}

.nav-dropdown-menu {
    min-width: 280px;
    border-radius: 14px!important;
    overflow: hidden;
    box-shadow: 0 12px 40px var(--theme-shadow-darker),0 2px 10px var(--theme-shadow-dark)!important;
    padding: 12px 0!important;
    border: 1px solid var(--theme-border)!important
}

.nav-dropdown-menu,.nav-dropdown-menu.ant-dropdown-menu,.nav-dropdown-menu.ant-menu {
    background-color: var(--theme-background-light)!important;
    background: var(--theme-background-light)!important
}

.nav-dropdown-menu.ant-dropdown-menu,.nav-dropdown-menu.ant-menu {
    border-inline-end:none!important}

.nav-dropdown-menu .ant-dropdown-menu-item,.nav-dropdown-menu .ant-menu-item {
    margin: 4px 12px!important;
    border-radius: 10px!important;
    height: 60px!important;
    line-height: 60px!important;
    padding: 0 22px!important;
    transition: all .22s cubic-bezier(.4,0,.2,1)!important;
    color: var(--theme-text-secondary)!important;
    position: relative!important;
    overflow: hidden!important;
    font-size: var(--app-font-size-body)!important;
    font-weight: 500!important;
    background: transparent!important
}

.nav-dropdown-menu .ant-dropdown-menu-item .anticon,.nav-dropdown-menu .ant-menu-item .anticon {
    font-size: var(--app-font-size-card-title)!important;
    margin-right: 22px!important;
    vertical-align: middle!important;
    transition: transform .22s cubic-bezier(.4,0,.2,1),color .22s!important;
    color: var(--theme-text-muted)!important
}

.nav-dropdown-menu .ant-dropdown-menu-title-content,.nav-dropdown-menu .ant-menu-title-content {
    color: inherit!important;
    letter-spacing: .2px
}

.nav-dropdown-menu .ant-dropdown-menu-item:hover,.nav-dropdown-menu .ant-menu-item:hover {
    transform: translateX(5px)!important;
    color: var(--theme-text-primary)!important;
    background: linear-gradient(90deg,color-mix(in srgb,var(--theme-secondary) 25%,transparent),color-mix(in srgb,var(--theme-secondary) 12%,transparent))!important
}

.nav-dropdown-menu .ant-dropdown-menu-item:hover .anticon,.nav-dropdown-menu .ant-menu-item:hover .anticon {
    transform: scale(1.18)!important;
    color: var(--theme-text-primary)!important
}

.nav-dropdown-menu .ant-dropdown-menu-item-selected,.nav-dropdown-menu .ant-menu-item-selected {
    background: linear-gradient(90deg,color-mix(in srgb,var(--theme-secondary) 46%,transparent),color-mix(in srgb,var(--theme-secondary) 22%,transparent))!important;
    color: var(--theme-text-primary)!important;
    transform: translateX(5px)!important;
    box-shadow: 0 2px 12px color-mix(in srgb,var(--theme-secondary) 25%,transparent)!important
}

.nav-dropdown-menu .ant-dropdown-menu-item-selected .anticon,.nav-dropdown-menu .ant-menu-item-selected .anticon {
    color: var(--theme-primary-text)!important;
    transform: scale(1.1)!important
}

.nav-dropdown-menu .ant-dropdown-menu-item-selected:before,.nav-dropdown-menu .ant-menu-item-selected:before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    height: 64%;
    width: 3px;
    background: linear-gradient(180deg,var(--theme-primary),var(--theme-secondary));
    border-radius: 0 3px 3px 0;
    box-shadow: 0 0 10px color-mix(in srgb,var(--theme-secondary) 60%,transparent)
}

.nav-dropdown-menu .ant-dropdown-menu-item-divider,.nav-dropdown-menu .ant-menu-item-divider {
    background-color: var(--theme-border)!important;
    margin: 8px 18px!important;
    height: 1px!important
}

.logo {
    height: 64px;
    justify-content: center;
    background: hsla(0,0%,100%,.2);
    z-index: 1
}

.header,.logo {
    display: flex;
    align-items: center;
    position: sticky;
    top: 0
}

.header {
    justify-content: space-between;
    background: #fff;
    box-shadow: 0 2px 8px 0 rgba(29,35,41,.05);
    z-index: 99;
    padding: 0 10px!important
}

.header-left,.header-right {
    display: flex;
    align-items: center
}

.header-right {
    gap: 16px
}

.user-section {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all .2s
}

.user-section:hover {
    background: var(--theme-overlay-hover)
}

.user-avatar-img {
    box-shadow: 0 2px 6px var(--theme-shadow-dark),0 0 10px var(--theme-shadow-primary);
    font-weight: 700;
    font-size: var(--app-font-size-section-title);
    color: var(--theme-text-primary)!important;
    background: linear-gradient(90deg,var(--theme-primary),var(--theme-secondary))!important;
    flex-shrink: 0;
    text-shadow: 0 1px 3px var(--theme-shadow-darker);
    display: flex;
    align-items: center;
    justify-content: center
}

.user-name {
    font-size: var(--app-font-size-body);
    font-weight: 500
}

.dropdown-icon,.user-name {
    color: var(--theme-text-primary)
}

.dropdown-icon {
    font-size: var(--app-font-size-caption);
    transition: all .2s;
    flex-shrink: 0
}

.user-section:hover .dropdown-icon {
    transform: rotate(180deg)
}

.user-dropdown-menu {
    min-width: 240px;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
    padding: 8px 0
}

.user-dropdown-menu .ant-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 6px 8px!important;
    border-radius: 6px
}

.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,.user-dropdown-menu .ant-menu-item {
    padding: 15px 16px!important;
    height: auto!important;
    line-height: 1.5!important
}

.membership-card {
    padding: 16px;
    margin: 8px;
    background: linear-gradient(135deg,var(--theme-background-card) 0,var(--theme-background-card-alt) 100%);
    border: 1px solid var(--theme-border-purple);
    border-radius: 8px;
    margin-bottom: 4px;
    box-shadow: 0 2px 8px var(--theme-shadow-dark)
}

.membership-card.non-vip {
    background: linear-gradient(135deg,var(--theme-surface-hover) 0,var(--theme-gradient-surface-end) 100%);
    border-color: var(--theme-border-gray);
    box-shadow: 0 2px 8px var(--theme-shadow-primary)
}

.membership-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px
}

.crown-icon {
    font-size: var(--app-font-size-section-title);
    color: var(--theme-warning)
}

.membership-title {
    font-size: var(--app-font-size-body);
    font-weight: 600;
    color: var(--theme-text-tertiary)
}

.membership-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--app-font-size-caption)
}

.info-label {
    color: var(--theme-text-gradient-purple);
    font-weight: 500
}

.info-value {
    font-weight: 600;
    color: var(--theme-text-tertiary)
}

.expire-days {
    color: var(--theme-success);
    font-weight: 700
}

.non-vip-content {
    text-align: center;
    padding: 8px 0
}

.crown-icon-gray {
    font-size: var(--app-font-size-page-title);
    color: var(--theme-text-muted);
    margin-bottom: 8px
}

.non-vip-text {
    margin: 0;
    font-size: var(--app-font-size-caption);
    color: var(--theme-text-gradient-purple);
    font-weight: 500
}

.content {
    padding: 15px;
    background: var(--theme-background);
    position: relative;
    height: 100%;
    min-height: 0;
    box-sizing: border-box
}

.content-wrapper {
    position: relative;
    z-index: 1;
    min-height: 100%
}

@media (max-width: 768px) {
    .header {
        padding:0 12px
    }

    .header-right {
        gap: 8px
    }

    .user-section {
        gap: 8px;
        padding: 4px 10px
    }

    .user-avatar-img {
        width: 36px!important;
        height: 36px!important;
        font-size: var(--app-font-size-body)
    }

    .user-name {
        font-size: var(--app-font-size-caption)
    }

    .content {
        padding: 16px
    }
}

@media (max-width: 480px) {
    .user-name {
        display:none
    }

    .user-section {
        padding: 4px
    }
}

.custom-titlebar {
    height: 60px;
    background: var(--theme-background-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    -webkit-app-region: drag;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--theme-border)
}

.titlebar-left {
    gap: 12px;
    -webkit-app-region: no-drag
}

.app-icon,.titlebar-left {
    display: flex;
    align-items: center
}

.app-icon {
    width: 48px;
    height: 48px;
    justify-content: center;
    color: #F02020;
    font-size: var(--app-font-size-card-title)
}

.logo-image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.app-title {
    color: var(--theme-text-primary);
    font-weight: 600
}

.app-title,.collapse-btn {
    font-size: var(--app-font-size-section-title)
}

.collapse-btn {
    color: var(--theme-text-primary)!important;
    width: 32px;
    height: 32px;
    margin-left: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background-color .2s;
    -webkit-app-region: no-drag
}

.collapse-btn:hover {
    background: var(--theme-overlay-medium)!important
}

.titlebar-right {
    gap: 16px
}

.titlebar-right,.titlebar-right .user-section {
    display: flex;
    align-items: center;
    -webkit-app-region: no-drag
}

.titlebar-right .user-section {
    gap: 8px;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background-color .2s;
    cursor: pointer;
    position: relative;
    z-index: 1001
}

.titlebar-right .user-section:hover {
    background: var(--theme-overlay-medium)
}

.titlebar-right .user-avatar-img {
    width: 28px;
    height: 28px;
    -webkit-app-region: no-drag
}

.titlebar-right .user-name {
    font-size: var(--app-font-size-body);
    font-weight: 500
}

.titlebar-right .dropdown-icon,.titlebar-right .user-name {
    color: var(--theme-text-primary);
    -webkit-app-region: no-drag
}

.titlebar-right .dropdown-icon {
    font-size: var(--app-font-size-caption)
}

.titlebar-right .ant-dropdown {
    -webkit-app-region: no-drag;
    z-index: 1002
}

.titlebar-right .ant-dropdown-menu {
    -webkit-app-region: no-drag
}

.window-controls {
    gap: 0
}

.control-btn,.window-controls {
    display: flex;
    align-items: center;
    -webkit-app-region: no-drag
}

.control-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    color: var(--theme-text-primary);
    justify-content: center;
    cursor: pointer;
    transition: background-color .2s;
    font-size: var(--app-font-size-body);
    border-radius: 4px;
    outline: none;

}

.control-btn:hover,.maximize-btn:hover,.minimize-btn:hover {
    background: var(--theme-overlay-medium)
}

.close-btn:hover {
    background: var(--theme-error);
    color: #fff
}

.login-page-wrapper {
    width: 100%;
    height: 100vh;
    overflow: auto
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

::-webkit-scrollbar-track {
    background: var(--theme-background-lighter);
    border-radius: 3px
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,var(--theme-primary) 0,var(--theme-secondary) 100%);
    border-radius: 3px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    box-shadow: 0 0 5px var(--theme-shadow-primary-strong)
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg,var(--theme-primary-light) 0,var(--theme-secondary-light) 100%);
    box-shadow: 0 0 10px var(--theme-shadow-primary-strongest)
}

::-webkit-scrollbar-corner {
    background: var(--theme-background-lighter)
}

.ant-layout-content::-webkit-scrollbar,.content::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

.ant-layout-content::-webkit-scrollbar-track,.content::-webkit-scrollbar-track {
    background: var(--theme-scrollbar-track-light);
    border-radius: 3px
}

.ant-layout-content::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,var(--theme-primary) 0,var(--theme-secondary) 100%);
    border-radius: 3px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    box-shadow: 0 0 5px var(--theme-shadow-primary-strong)
}

.ant-layout-content::-webkit-scrollbar-thumb:hover,.content::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg,var(--theme-primary-light) 0,var(--theme-secondary-light) 100%);
    box-shadow: 0 0 10px var(--theme-shadow-primary-strongest)
}

.ant-modal-confirm .ant-modal-content {
    background: var(--theme-background)!important;
    border: 1px solid var(--theme-border-strong)!important
}

.ant-modal-confirm .ant-modal-body {
    background: var(--theme-background)!important;
    color: var(--theme-text-primary)!important
}

.ant-modal-confirm .ant-modal-confirm-title {
    color: var(--theme-text-primary)!important;
    font-weight: 600!important
}

.ant-modal-confirm .ant-modal-confirm-content {
    color: var(--theme-text-tertiary)!important
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn {
    background: transparent;
    border: 1px solid var(--theme-border-purple-light);
    color: var(--theme-text-primary)
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn:hover {
    border-color: var(--theme-secondary);
    color: var(--theme-secondary);
    background: var(--theme-overlay-purple-strong)
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-primary {
    background: linear-gradient(90deg,var(--theme-primary),var(--theme-secondary))!important;
    border: none!important;
    color: var(--theme-text-primary)!important
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-primary:hover {
    background: linear-gradient(90deg,var(--theme-primary-light),var(--theme-accent))!important;
    box-shadow: 0 4px 12px var(--theme-shadow-primary-stronger)!important
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-dangerous {
    background: linear-gradient(90deg,var(--theme-error),var(--theme-error-light))!important;
    border: none!important;
    color: var(--theme-text-primary)!important
}

.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-dangerous:hover {
    background: linear-gradient(90deg,var(--theme-error-light),var(--theme-error-lighter))!important;
    box-shadow: 0 4px 12px var(--theme-shadow-primary-stronger)!important
}

body,html {
    width: 100%;
    height: 100%
}

input::-ms-clear,input::-ms-reveal {
    display: none
}

*,:after,:before {
    box-sizing: border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

body {
    margin: 0
}

[tabindex="-1"]:focus {
    outline: none
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    margin-bottom: .5em;
    font-weight: 500
}

p {
    margin-top: 0;
    margin-bottom: 1em
}

abbr[data-original-title],abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline;
    text-decoration: underline dotted;
    border-bottom: 0;
    cursor: help
}

address {
    margin-bottom: 1em;
    font-style: normal;
    line-height: inherit
}

input[type=number],input[type=password],input[type=text],textarea {
    -webkit-appearance: none
}

dl,ol,ul {
    margin-top: 0;
    margin-bottom: 1em
}

ol ol,ol ul,ul ol,ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 500
}

dd {
    margin-bottom: .5em;
    margin-left: 0
}

blockquote {
    margin: 0 0 1em
}

dfn {
    font-style: italic
}

b,strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

code,kbd,pre,samp {
    font-size: 1em;
    font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace
}

pre {
    margin-top: 0;
    margin-bottom: 1em;
    overflow: auto
}

figure {
    margin: 0 0 1em
}

img {
    vertical-align: middle;
    border-style: none
}

[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea {
    touch-action: manipulation
}

table {
    border-collapse: collapse
}

caption {
    padding-top: .75em;
    padding-bottom: .3em;
    text-align: left;
    caption-side: bottom
}

button,input,optgroup,select,textarea {
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[type=reset],[type=submit],button,html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

input[type=checkbox],input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=date],input[type=datetime-local],input[type=month],input[type=time] {
    -webkit-appearance: listbox
}

textarea {
    overflow: auto;
    resize: vertical
}

fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: .5em;
    padding: 0;
    color: inherit;
    font-size: 1.5em;
    line-height: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none!important
}

mark {
    padding: .2em;
    background-color: #feffe6
}

/* ============================================================================
   可读性修补 · 2026-09-18（品牌改红后统一排查，配套 App.vue 的 antd token）
   ----------------------------------------------------------------------------
   改红过程中实测出三类「看不清」，都在这条线以下兜底：

   A. 白底白字 / 白块
      antd 没有挂 darkAlgorithm（挂了会和既有暗色 CSS 打架），于是按浅色算法
      推导出「白底 + 深字」；而全站 CSS 又把文字设成白色 → 视觉上整块消失。
      主修在 App.vue 的 token（colorBgContainer / colorText / colorBorder…），
      这里只补 token 覆盖不到的边角。

   B. 半透明"遮罩色"被当成文字色
      典型是 `color: var(--theme-overlay-medium)`（= rgba(255,255,255,.1)），
      在 #1B1214 底上只有 1.31:1 —— 等于没字。源码里的使用处已逐个改成
      --theme-text-muted；这里再拦一层，防止后续又被误用。

   C. 品牌红 #F02020 直接当文字色只有 4.32:1，低于 AA 的 4.5:1
      深底上的红色文字统一改用 --theme-primary-text (#FF7A6A，实测 7.2:1)。
      —— 注意：#F02020 作**背景**（按钮/渐变）不受影响，只改"当文字用"的场景。

   改动前请先算对比度（WCAG：正文 ≥4.5:1，≥24px 或 ≥18.66px 粗体 ≥3:1）。
   ============================================================================ */

/* ---- B 兜底：任何把遮罩色当文字色的写法，一律拉回可读的次要文字色 ---- */
[class*="theme-overlay"] {
  /* 占位说明：真正的拦截靠使用处替换，这条仅用于自查时定位 */
}

/* ---- C-1 小标题 / eyebrow（原来是硬编码 #F02020，10px 小字只有 4.3:1）---- */
.form-header-eyebrow {
  color: var(--theme-primary-text) !important;
}

/* ---- C-2 antd 选中态：Tabs / 分页 / 下拉选中项 ---- */
.ant-tabs-tab-active .ant-tabs-tab-btn,
.ant-tabs-tab:hover .ant-tabs-tab-btn,
.ant-pagination-item a:hover {
  color: var(--theme-primary-text) !important;
}

.ant-pagination-item-active {
  border-color: var(--theme-primary) !important;
}

.ant-pagination-item-active a {
  color: var(--theme-primary-text) !important;
}

/* ---- C-3 状态标签：原来"浅粉底 + 深红字"，在深色界面里只剩 3.8:1 ---- */
.ant-tag-processing {
  color: var(--theme-primary-text) !important;
  background: rgba(240, 32, 32, 0.18) !important;
  border-color: rgba(240, 32, 32, 0.5) !important;
}

/* ---- A/C 兜底：输入框占位符、字数统计、禁用态（antd 默认是黑灰，深底上看不见）---- */
.ant-input::-moz-placeholder, .ant-input-affix-wrapper input::-moz-placeholder, .ant-input-number-input::-moz-placeholder, textarea::-moz-placeholder, input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.46) !important;
}
.ant-input::placeholder,
.ant-input-affix-wrapper input::placeholder,
.ant-input-number-input::placeholder,
textarea::placeholder,
input::placeholder {
  color: rgba(255, 255, 255, 0.46) !important;
}

.ant-input-show-count-suffix,
.ant-input-data-count {
  color: var(--theme-text-muted) !important;
}

.ant-btn-primary[disabled],
.ant-btn-primary:disabled,
.ant-btn-primary.ant-btn-disabled,
.ant-btn[disabled]:not(.ant-btn-dangerous),
.ant-input[disabled],
.ant-input-number-disabled input,
.ant-select-disabled .ant-select-selector,
.ant-checkbox-wrapper-disabled span,
.ant-radio-wrapper-disabled span {
  color: rgba(255, 255, 255, 0.5) !important;
}

/* 禁用按钮如果还挂着品牌红渐变，字会被吃掉 —— 统一压成灰底浅字 */
.ant-btn-primary[disabled],
.ant-btn-primary:disabled,
.ant-btn-primary.ant-btn-disabled {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* 禁用输入框：保证深底 + 可见边框，不要灰白块 */
.ant-input[disabled],
.ant-input-number-disabled {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* ---- A 兜底：表格（antd 浅色算法下表头是 #fafafa 的白条，深色界面里很突兀）---- */
.ant-table {
  background: transparent !important;
}

.ant-table-thead > tr > th {
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--theme-text-secondary) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.ant-table-tbody > tr > td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.ant-table-tbody > tr:hover > td,
.ant-table-tbody > tr.ant-table-row-hover > td {
  background: rgba(240, 32, 32, 0.08) !important;
}

.ant-empty-description,
.ant-list-empty-text {
  color: var(--theme-text-muted) !important;
}

/* ---- C-4 主按钮：白字 + 品牌红底 ----
   原来底色 #F02020 时白字只有 4.26:1，hover 的 #FF4A44 更是掉到 3.37:1。
   换成深一档的红渐变后白字稳定 ≥4.8:1，肉眼仍是"正红"，不影响品牌观感。 */
.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):not([disabled]) {
  background: linear-gradient(180deg, #DC1616 0%, #BE0810 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):not([disabled]):hover,
.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):not([disabled]):focus {
  background: linear-gradient(180deg, #E82222 0%, #C00812 100%) !important;
  color: #ffffff !important;
}

/* 表格 / 卡片里被单独改成"透明底红字"的 primary 按钮，一并拉回白字 */
.ant-btn-primary span,
.ant-btn-primary .anticon {
  color: inherit !important;
}

/* ---- C-5 Tailwind 灰阶工具类：text-gray-500 在深底上只有 3.4:1 ---- */
.text-gray-500,
.text-gray-600 {
  color: var(--theme-text-muted) !important;
}

.text-slate-500 {
  color: #94a3b8 !important;
}

/* ---- C-6 平台快捷按钮：白字压在平台品牌色上 ----
   （抖音/快手官方色本身够深；小红书 #FF2442 最亮，白字只有 3.76:1）
   给小红书叠一层 20% 黑压深底色，白字升到 5.3:1，肉眼看仍是小红书红。 */
.platform-btn {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22) !important;
}

.platform-btn.xiaohongshu {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)) !important;
}

/* ---- C-7 登录页的次要链接（「忘记密码」「立即注册」）----
   token 把 colorBorder 调亮后，这两个 link 按钮显出了默认描边，
   变成小方块；这里还原成文字链接的样子。 */
.login-box .ant-btn-link {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 2px !important;
  height: auto !important;
}

/* ---- C-8 开关（选中态）----
   选中时底色是 colorPrimary #F02020，上面的"开"字白字只有 4.26:1。
   压深一档到 #D0141C（5.6:1），视觉上仍是品牌红。 */
.ant-switch.ant-switch-checked {
  background: #D0141C !important;
}

.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled) {
  background: #E01820 !important;
}
/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}

.brand-logo[data-v-303491b8] {
  display: block;
  flex: none;
}

.content {
  padding: 15px;
  background: var(--theme-background);
  position: relative;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
}
.content-wrapper {
  position: relative;
  z-index: 1;
  min-height: 100%;
}

.benchmark-progress-slot[data-v-1ed2c6d2] {
  height: 38px;
  min-height: 38px;
}
.bottom-progress[data-v-1ed2c6d2] {
  margin-top: 14px;
  flex-shrink: 0;
}
.benchmark-progress[data-v-1ed2c6d2] {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 38px;
  padding: 8px 12px;
  border-radius: 12px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
  box-shadow: inset 0 0 18px color-mix(in srgb, var(--theme-secondary) 8%, transparent);
  overflow: hidden;
}
.progress-dot[data-v-1ed2c6d2] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-secondary);
  box-shadow: 0 0 12px color-mix(in srgb, var(--theme-secondary) 80%, transparent);
  animation: dotPulse-1ed2c6d2 1.2s ease-in-out infinite;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.progress-track[data-v-1ed2c6d2] {
  position: relative;
  flex: 1;
  height: 4px;
  border-radius: 999px;
  background: var(--theme-overlay-light);
  overflow: hidden;
}
.progress-runner[data-v-1ed2c6d2] {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg,
      transparent,
      var(--theme-secondary),
      var(--theme-info),
      transparent);
  animation: progressSlide-1ed2c6d2 1.4s ease-in-out infinite;
}
@keyframes progressSlide-1ed2c6d2 {
0% {
    transform: translateX(-110%);
}
to {
    transform: translateX(260%);
}
}
@keyframes dotPulse-1ed2c6d2 {
0%,
  to {
    opacity: 0.55;
    transform: scale(0.9);
}
50% {
    opacity: 1;
    transform: scale(1.15);
}
}

.benchmark-step {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 8%,
      color-mix(in srgb, var(--theme-secondary) 12%, transparent),
      transparent 34%),
    linear-gradient(135deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid var(--theme-overlay-light);
  box-shadow:
    inset 0 0 40px color-mix(in srgb, var(--theme-secondary) 6%, transparent),
    0 12px 34px var(--theme-shadow-dark);
  text-align: left;
  box-sizing: border-box;
}
.benchmark-step.executing {
  border-color: color-mix(in srgb, var(--theme-secondary) 45%, transparent);
  box-shadow:
    0 0 24px color-mix(in srgb, var(--theme-secondary) 20%, transparent),
    inset 0 0 34px color-mix(in srgb, var(--theme-secondary) 8%, transparent);
}
.benchmark-tabs .ant-tabs-nav {
  margin-bottom: 24px;
  padding: clamp(6px, calc(6px * var(--app-font-scale)), 9px);
  border-radius: 16px;
  background: color-mix(in srgb, var(--theme-background) 48%, transparent);
  border: 1px solid var(--theme-overlay-light);
}
.benchmark-tabs .ant-tabs-nav:before {
  display: none;
}
.benchmark-tabs .ant-tabs-tab {
  padding: clamp(9px, calc(9px * var(--app-font-scale)), 13px) clamp(18px, calc(18px * var(--app-font-scale)), 26px);
  border-radius: 12px;
  color: var(--theme-text-muted);
  transition: all 0.2s;
}
.benchmark-tabs .ant-tabs-tab-btn {
  font-size: var(--app-font-size-control);
  line-height: 1.35;
  font-weight: 800;
}
.benchmark-tabs .ant-tabs-tab:hover {
  color: var(--theme-text-primary);
  background: color-mix(in srgb, var(--theme-secondary) 12%, transparent);
}
.benchmark-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--theme-text-primary);
}
.benchmark-tabs .ant-tabs-tab-active {
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--theme-secondary) 34%, transparent),
      color-mix(in srgb, var(--theme-primary) 18%, transparent));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-secondary) 12%, transparent);
}
.benchmark-tabs .ant-tabs-ink-bar {
  display: none;
}
.benchmark-tabs,
.benchmark-tabs .ant-tabs-content,
.benchmark-tabs .ant-tabs-content-holder,
.benchmark-tabs .ant-tabs-tabpane {
  min-height: 0;
}
.benchmark-tabs {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bottom-progress {
  margin-top: 14px;
  flex-shrink: 0;
}
.benchmark-tabs .ant-tabs-content-holder {
  flex: 1;
}
.benchmark-tabs .ant-tabs-content,
.benchmark-tabs .ant-tabs-tabpane {
  height: 100%;
}

.benchmark-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--theme-text-primary) !important;
}

.feature-grid[data-v-119f836a] {
  display: grid;
  gap: 22px;
  height: 100%;
  min-height: 0;
}
.feature-grid.two-column[data-v-119f836a] {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
}
.glass-card[data-v-119f836a] {
  padding: 22px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 0,
      color-mix(in srgb, var(--theme-secondary) 8%, transparent),
      transparent 38%),
    color-mix(in srgb, var(--theme-background) 76%, transparent);
  border: 1px solid var(--theme-overlay-light);
  box-shadow: inset 0 0 24px var(--theme-overlay-light);
  box-sizing: border-box;
}
.card-mini-title[data-v-119f836a] {
  margin-bottom: 16px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 800;
  letter-spacing: 0.2px;
}
.input-actions[data-v-119f836a] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  height: 24px;
  margin-bottom: 10px;
}
.clear-action.invisible[data-v-119f836a] {
  visibility: hidden;
  pointer-events: none;
}
.link-input-shell[data-v-119f836a] {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px 0 16px;
  border-radius: 12px;
  background: var(--theme-background-light);
  border: 1px solid color-mix(in srgb, var(--theme-info) 34%, transparent);
  box-shadow: inset 0 0 0 1px var(--theme-overlay-light);
  transition: all 0.2s;
}
.link-input-shell[data-v-119f836a]:focus-within {
  border-color: color-mix(in srgb, var(--theme-info) 70%, transparent);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-primary) 16%, transparent),
    inset 0 0 0 1px var(--theme-overlay-light);
}
.link-input-icon[data-v-119f836a] {
  color: var(--theme-info);
  font-size: var(--app-font-size-section-title);
  flex-shrink: 0;
}
.link-input[data-v-119f836a] {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-body);
}
.link-input[data-v-119f836a]::-moz-placeholder {
  color: var(--theme-text-muted);
}
.link-input[data-v-119f836a]::placeholder {
  color: var(--theme-text-muted);
}
.paste-chip[data-v-119f836a] {
  height: 28px;
  padding: 0 10px;
  border: none;
  border-radius: 10px;
  background: var(--theme-surface-hover);
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-body);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.paste-chip[data-v-119f836a]:hover {
  background: var(--theme-background-card-alt);
}
.gradient-btn[data-v-119f836a] {
  border: none !important;
  color: var(--theme-text-primary) !important;
  background: linear-gradient(90deg, var(--theme-secondary), var(--theme-primary)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-primary) 24%, transparent) !important;
}
.extract-btn[data-v-119f836a] {
  margin-top: 14px;
  height: 42px;
  border-radius: 12px !important;
}
.extract-divider[data-v-119f836a] {
  margin: 10px 0 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.extract-divider[data-v-119f836a]:after,
.extract-divider[data-v-119f836a]:before {
  content: '';
  flex: 1;
  height: 1px;
  background: color-mix(in srgb, var(--theme-border-gray) 16%, transparent);
}
.extract-divider span[data-v-119f836a] {
  padding: 0 4px;
}
.platform-btn[data-v-119f836a] {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  color: var(--theme-text-primary);
  cursor: pointer;
  font-weight: 800;
  font-size: var(--app-font-size-caption);
  line-height: 1;
  padding: 0;
  box-sizing: border-box;
  transition:
    transform 0.18s ease,
    filter 0.18s ease,
    box-shadow 0.18s ease;
}
.platform-btn[data-v-119f836a]:hover {
  transform: translateY(-2px) scale(1.08);
  filter: brightness(1.08);
  box-shadow: 0 8px 18px var(--theme-shadow-dark);
}
.platform-btn[data-v-119f836a]:active {
  transform: translateY(0) scale(0.96);
}
.douyin[data-v-119f836a] {
  background: var(--theme-gradient-surface-end);
  box-shadow: inset 0 0 0 1px var(--theme-overlay-light);
}
.kuaishou[data-v-119f836a] {
  background: linear-gradient(135deg, var(--theme-warning-dark), var(--theme-warning));
}
.xiaohongshu[data-v-119f836a] {
  background: var(--theme-platform-xiaohongshu);
}
.hint-line[data-v-119f836a] {
  margin-top: 14px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  line-height: 1.7;
}
.media-extract-card[data-v-119f836a] {
  margin-top: 10px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-background-light) 42%, transparent);
  border: 1px dashed color-mix(in srgb, var(--theme-info) 28%, transparent);
  cursor: pointer;
  transition: all 0.2s ease;
}
.media-extract-card[data-v-119f836a]:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--theme-info) 54%, transparent);
  background:
    radial-gradient(circle at 18% 0,
      color-mix(in srgb, var(--theme-primary-light) 28%, transparent),
      transparent 34%),
    color-mix(in srgb, var(--theme-background-light) 66%, transparent);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-background) 22%, transparent);
}
.media-extract-card.disabled[data-v-119f836a] {
  cursor: not-allowed;
  opacity: 0.65;
  transform: none;
}
.media-upload-plus[data-v-119f836a] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--theme-text-gradient-purple);
  background: transparent;
  box-shadow: none;
  font-size: var(--app-font-size-page-title);
}
.media-upload-copy[data-v-119f836a] {
  min-width: 0;
}
.media-upload-copy span[data-v-119f836a] {
  color: color-mix(in srgb, var(--theme-text-secondary) 86%, transparent);
  font-size: var(--app-font-size-meta);
  font-weight: 900;
}
.media-upload-copy p[data-v-119f836a] {
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.platform-actions[data-v-119f836a] {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 18px;
}
.platform-label[data-v-119f836a] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.form-card[data-v-119f836a],
.result-card[data-v-119f836a] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.result-card .original-textarea[data-v-119f836a] {
  flex: 1;
  height: 100% !important;
  min-height: 0 !important;
  resize: none;
}

.ip-brain-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 22px;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
}
.archive-list-pane,
.ip-create-card {
  height: 100%;
  min-height: 0;
}
.ip-create-card {
  display: flex;
  flex-direction: column;
}
.archive-list-panel,
.ip-create-card {
  height: 100%;
  min-height: 0;
}
.archive-list-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.section-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  margin-bottom: 14px;
  color: var(--theme-text-primary);
  font-weight: 700;
}
.archive-count {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-meta);
  font-weight: 500;
}
.ip-helper {
  margin: 0 0 22px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-meta);
  line-height: 1.8;
}
.learning-mode-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.learning-mode-card {
  width: 100%;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--theme-overlay-light);
  background: var(--theme-overlay-light);
  color: var(--theme-text-muted);
  text-align: left;
  cursor: pointer;
  transition: all 0.2s;
}
.learning-mode-card.active,
.learning-mode-card:hover {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-secondary) 55%, transparent);
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--theme-secondary) 20%, transparent),
      color-mix(in srgb, var(--theme-primary) 10%, transparent));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-secondary) 12%, transparent);
}
.mode-title {
  display: block;
  margin-bottom: 6px;
  font-size: var(--app-font-size-body);
  font-weight: 800;
}
.mode-desc {
  display: block;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  line-height: 1.6;
}
.archive-empty {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.empty-orb {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border-radius: 24px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-page-title);
  background: linear-gradient(135deg, var(--theme-secondary), var(--theme-primary));
  box-shadow: 0 16px 36px color-mix(in srgb, var(--theme-secondary) 28%, transparent);
}
.archive-empty h4 {
  margin: 0 0 8px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
}
.archive-empty p {
  margin: 0;
  color: var(--theme-text-muted);
}
.archives-grid {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 8px;
  scrollbar-gutter: stable;
}
.archive-list-panel .archives-grid {
  min-height: 0;
}
.archive-card,
.archive-picker-item,
.creation-card,
.topic-item {
  border-radius: 16px;
  background: color-mix(in srgb, var(--theme-background) 72%, transparent);
  border: 1px solid var(--theme-overlay-light);
}
.archive-card {
  position: relative;
  flex: 0 0 auto;
  padding: 16px;
  overflow: hidden;
  transition: all 0.22s ease;
}
.archive-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--theme-secondary) 38%, transparent);
  box-shadow: 0 12px 28px var(--theme-shadow-dark);
}
.archive-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.archive-avatar {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 15px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
  background: linear-gradient(135deg, var(--theme-secondary), var(--theme-primary));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-secondary) 28%, transparent);
}
.archive-main {
  min-width: 0;
  flex: 1;
}
.archive-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.archive-name {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-body);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.archive-depth-tag {
  flex-shrink: 0;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--theme-text-gradient-purple);
  background: color-mix(in srgb, var(--theme-secondary) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 22%, transparent);
  font-size: var(--app-font-size-micro);
  font-weight: 700;
}
.archive-meta,
.archive-url {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.archive-action-btn {
  flex-shrink: 0;
  height: 30px;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-weight: 700;
  font-size: var(--app-font-size-caption) !important;
}
.delete-icon {
  position: relative;
  color: var(--theme-text-muted);
  cursor: pointer;
  font-size: var(--app-font-size-body);
  transition: color 0.2s;
}
.archive-meta,
.archive-url {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.archive-url {
  position: relative;
  margin-bottom: 14px;
  padding: 9px 11px;
  border-radius: 10px;
  background: var(--theme-overlay-light);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color 0.2s,
    background 0.2s,
    border-color 0.2s;
}
.form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 8px;
}

.benchmark-step .ant-form-item-label>label,
.benchmark-step .ant-input,
.benchmark-step .ant-input-number-input,
.benchmark-step .ant-select-selection-item,
.benchmark-step .ant-select-selection-placeholder,
.benchmark-step .ant-textarea textarea {
  color: var(--theme-text-secondary) !important;
}
.benchmark-step .ant-input,
.benchmark-step .ant-input-number,
.benchmark-step .ant-select-selector,
.benchmark-step .ant-textarea textarea {
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.benchmark-step .ant-input-number-group-addon,
.benchmark-step .ant-input-number-handler,
.benchmark-step .ant-input-number-handler-down-inner,
.benchmark-step .ant-input-number-handler-up-inner {
  color: var(--theme-text-secondary) !important;
}
.benchmark-step .ant-input-number-handler-wrap {
  background: color-mix(in srgb, var(--theme-background-light) 72%, transparent) !important;
  border-left-color: var(--theme-overlay-light) !important;
}
.benchmark-step .ant-input-number-handler:hover .ant-input-number-handler-down-inner,
.benchmark-step .ant-input-number-handler:hover .ant-input-number-handler-up-inner {
  color: var(--theme-text-gradient-purple) !important;
}
.benchmark-step .ant-input::-moz-placeholder,
.benchmark-step .ant-textarea textarea::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.benchmark-step .ant-input::-moz-placeholder, .benchmark-step .ant-textarea textarea::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.benchmark-step .ant-input::placeholder,
.benchmark-step .ant-textarea textarea::placeholder {
  color: var(--theme-text-muted) !important;
}
.benchmark-modal .ant-modal-content,
.benchmark-modal .ant-modal-header {
  background: var(--theme-background) !important;
}
.benchmark-modal .ant-empty-description,
.benchmark-modal .ant-form-item-label>label,
.benchmark-modal .ant-modal-close,
.benchmark-modal .ant-modal-title,
.benchmark-modal .ant-radio-wrapper {
  color: var(--theme-text-secondary) !important;
}
.benchmark-step .ant-modal-root {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}
.benchmark-step .ant-modal-mask {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: color-mix(in srgb, var(--theme-background) 66%, transparent);
  backdrop-filter: blur(8px);
  pointer-events: auto;
}
.benchmark-step .benchmark-modal {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 24px;
  pointer-events: auto;
}
.benchmark-step .benchmark-modal .ant-modal {
  top: auto;
  max-width: none;
  margin: 0;
  padding-bottom: 0;
}
.benchmark-step .benchmark-modal .ant-modal-body {
  overflow: auto;
}
.word-count-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.modal-loading {
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.analysis-box {
  padding: 16px;
  margin-bottom: 16px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--theme-background) 72%, transparent);
  border: 1px solid var(--theme-overlay-light);
}
.analysis-box h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--theme-text-primary);
}
.analysis-box p {
  margin: 0;
  color: var(--theme-text-muted);
  white-space: pre-wrap;
  line-height: 1.7;
}
.analysis-content {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.topic-list {
  display: grid;
  gap: 10px;
  min-height: 0;
}
.analysis-content>.topic-list {
  flex: 1;
  overflow-y: auto;
  padding-right: 6px;
}
.topic-scroll {
  max-height: 420px;
  overflow-y: auto;
  padding-right: 6px;
}
.topic-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  min-height: 50px;
  color: var(--theme-text-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.topic-item.selected,
.topic-item:hover {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-secondary) 55%, transparent);
  background: color-mix(in srgb, var(--theme-secondary) 14%, transparent);
  transform: translateX(4px);
}
.topic-index {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--theme-secondary), var(--theme-primary));
  color: var(--theme-text-primary);
  font-weight: 800;
}
.topic-item em {
  margin-left: auto;
  color: var(--theme-text-gradient-purple);
  font-style: normal;
  font-size: var(--app-font-size-meta);
  white-space: nowrap;
}

.creation-modal-layout {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.creation-results {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 4px;
}
.creation-results.two {
  grid-template-columns: repeat(2, 1fr);
}
.creation-card {
  height: 100%;
  min-height: 0;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
}
.creation-card.selected,
.creation-card:hover {
  border-color: color-mix(in srgb, var(--theme-secondary) 55%, transparent);
  background: color-mix(in srgb, var(--theme-secondary) 12%, transparent);
}
.creation-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  color: var(--theme-text-primary);
  font-weight: 700;
}
.selected-icon {
  color: var(--theme-secondary);
}
.creation-text {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  color: var(--theme-text-muted);
  line-height: 1.7;
  white-space: pre-wrap;
}
.cursor {
  animation: blink-a7ad1a5c 1s infinite;
}
.modal-actions {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--theme-overlay-light);
}

.legal-text-wrap[data-v-33279c30] {
  display: inline;
  white-space: pre-wrap;
  word-break: break-word;
}
.legal-text[data-v-33279c30] {
  color: inherit;
}
.risk-word[data-v-33279c30] {
  font-weight: 700;
  cursor: help;
  padding: 0 4px;
  border-radius: 4px;
  background-color: rgba(239, 68, 68, 0.18);
  color: #f87171;
  border-bottom: 2px dashed currentColor;
}

.rewrite-step[data-v-1a9a20d5] {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 8%,
      color-mix(in srgb, var(--theme-secondary) 12%, transparent),
      transparent 34%),
    linear-gradient(135deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid var(--theme-overlay-light);
  box-shadow:
    inset 0 0 40px color-mix(in srgb, var(--theme-secondary) 6%, transparent),
    0 12px 34px var(--theme-shadow-dark);
  box-sizing: border-box;
}
.rewrite-layout[data-v-1a9a20d5] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 18px;
}
.glass-card[data-v-1a9a20d5] {
  min-height: 0;
  padding: 20px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 0,
      color-mix(in srgb, var(--theme-secondary) 8%, transparent),
      transparent 38%),
    color-mix(in srgb, var(--theme-background) 76%, transparent);
  border: 1px solid var(--theme-overlay-light);
  box-shadow: inset 0 0 24px var(--theme-overlay-light);
  box-sizing: border-box;
}
.content-panel[data-v-1a9a20d5],
.control-panel[data-v-1a9a20d5] {
  display: flex;
  flex-direction: column;
}
.control-panel[data-v-1a9a20d5] {
  padding-bottom: 14px;
}
.config-form[data-v-1a9a20d5] {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 260px auto auto;
  align-items: end;
  gap: 14px;
}
.config-form .ant-form-item[data-v-1a9a20d5] {
  margin-bottom: 0;
}
.config-form .ant-btn[data-v-1a9a20d5],
.config-form .ant-input[data-v-1a9a20d5],
.config-form .ant-input-number[data-v-1a9a20d5],
.config-form .ant-input-number-group-addon[data-v-1a9a20d5],
.config-form .ant-input-number-group-wrapper[data-v-1a9a20d5],
.config-form .ant-select-selector[data-v-1a9a20d5] {
  height: 38px !important;
}
.config-form .ant-input[data-v-1a9a20d5],
.config-form .ant-input-number-input[data-v-1a9a20d5] {
  height: 36px !important;
  line-height: 36px !important;
}
.config-form .ant-btn[data-v-1a9a20d5],
.config-form .ant-select-selector[data-v-1a9a20d5] {
  display: flex !important;
  align-items: center !important;
}
.config-form .ant-input-number-wrapper[data-v-1a9a20d5] {
  height: 38px !important;
}
.config-form .ant-input-number-input-wrap[data-v-1a9a20d5] {
  height: 36px !important;
}
.config-form .ant-input-number-input[data-v-1a9a20d5] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.config-form .ant-input-number-group-addon[data-v-1a9a20d5] {
  display: table-cell !important;
  vertical-align: middle !important;
  padding: 0 10px !important;
}
.config-form .ant-select-selector[data-v-1a9a20d5] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.config-form .ant-select-selection-item[data-v-1a9a20d5],
.config-form .ant-select-selection-placeholder[data-v-1a9a20d5] {
  display: flex !important;
  align-items: center !important;
  line-height: normal !important;
}
.config-form .ant-select-selection-search-input[data-v-1a9a20d5] {
  height: 36px !important;
}
.rewrite-config-dropdown[data-v-1a9a20d5] {
  padding: 6px !important;
  background: color-mix(in srgb, var(--theme-background) 98%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--theme-info) 26%, transparent) !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--theme-background) 42%, transparent) !important;
}
.rewrite-config-dropdown .ant-select-item[data-v-1a9a20d5] {
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  padding: 0 10px !important;
  border-radius: 8px;
  color: var(--theme-text-secondary) !important;
  font-size: var(--app-font-size-body);
  font-weight: 600;
}
.rewrite-config-dropdown .ant-select-item-option[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
}
.rewrite-config-dropdown .ant-select-item-option-content[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
  height: 25px;
  line-height: 25px !important;
}
.rewrite-config-dropdown .ant-select-item-option-active[data-v-1a9a20d5] {
  background: color-mix(in srgb, var(--theme-primary) 22%, transparent) !important;
}
.rewrite-config-dropdown .ant-select-item-option-selected[data-v-1a9a20d5] {
  background: color-mix(in srgb, var(--theme-primary) 34%, transparent) !important;
}
.rewrite-word-count-dropdown .rc-virtual-list-holder[data-v-1a9a20d5],
.rewrite-word-count-dropdown .rc-virtual-list-holder-inner[data-v-1a9a20d5] {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}
.rewrite-content-grid[data-v-1a9a20d5] {
  min-height: 320px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-auto-rows: minmax(320px, 1fr);
  gap: 18px;
}
.card-title[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 800;
}
.word-count-row[data-v-1a9a20d5] {
  display: flex;
  gap: 8px;
}
.custom-word-count[data-v-1a9a20d5] {
  flex: 1;
}
.action-grid[data-v-1a9a20d5] {
  display: flex;
  gap: 12px;
}
.action-grid .ant-btn[data-v-1a9a20d5] {
  min-width: 120px;
}
.gradient-btn[data-v-1a9a20d5] {
  background: linear-gradient(90deg, var(--theme-secondary), var(--theme-primary)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-primary) 24%, transparent) !important;
}
.gradient-btn[data-v-1a9a20d5],
.legal-btn[data-v-1a9a20d5] {
  border: none !important;
  color: var(--theme-text-primary) !important;
}
.legal-btn[data-v-1a9a20d5] {
  background: linear-gradient(90deg, var(--theme-warning), var(--theme-error)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-warning) 22%, transparent) !important;
}
.confirm-btn[data-v-1a9a20d5] {
  min-width: 168px;
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.full-textarea[data-v-1a9a20d5] {
  flex: 1;
  min-height: 240px;
}
.content-panel .ant-input[data-v-1a9a20d5] {
  height: 100% !important;
  min-height: 240px;
  resize: none;
  font-size: var(--app-font-size-body);
  line-height: 1.75;
}
.cloud-limit[data-v-1a9a20d5] {
  font-weight: 600;
}
.cloud-limit[data-v-1a9a20d5],
.form-hint[data-v-1a9a20d5] {
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-caption);
}
.form-hint[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.bottom-progress[data-v-1a9a20d5] {
  margin-top: 14px;
  flex-shrink: 0;
}
.legal-modal-header[data-v-1a9a20d5] {
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--theme-overlay-light);
  flex-shrink: 0;
}
.legal-header-title[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-section-title);
  font-weight: 800;
}
.legal-loading[data-v-1a9a20d5] {
  flex: 1;
  height: auto;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
.legal-scanner[data-v-1a9a20d5] {
  position: relative;
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--theme-warning), var(--theme-error));
}
.scanner-icon[data-v-1a9a20d5] {
  position: relative;
  z-index: 2;
  color: var(--theme-text-primary);
  font-size: 38px;
}
.scanner-ring[data-v-1a9a20d5] {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--theme-warning) 55%, transparent);
  animation: ringPulse 1.8s ease-out infinite;
}
.ring-two[data-v-1a9a20d5] {
  animation-delay: 0.6s;
}
.loading-text[data-v-1a9a20d5] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 700;
}
.loading-subtext[data-v-1a9a20d5] {
  color: var(--theme-text-muted);
}
.legal-review-layout[data-v-1a9a20d5] {
  flex: 1;
  height: auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.review-panels[data-v-1a9a20d5] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.review-analysis[data-v-1a9a20d5],
.review-panel[data-v-1a9a20d5] {
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.review-analysis[data-v-1a9a20d5] {
  height: 170px;
  flex-shrink: 0;
}
.panel-title[data-v-1a9a20d5] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--theme-text-primary);
  font-weight: 800;
}
.panel-title.between[data-v-1a9a20d5] {
  justify-content: space-between;
}
.status-badge[data-v-1a9a20d5] {
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-caption);
}
.status-badge.risk[data-v-1a9a20d5] {
  background: linear-gradient(90deg, var(--theme-error), var(--theme-warning-dark));
}
.status-badge.safe[data-v-1a9a20d5] {
  background: linear-gradient(90deg, var(--theme-success), var(--theme-success-dark));
}
.content-box[data-v-1a9a20d5] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  border-radius: 16px;
  color: var(--theme-text-muted);
  background: color-mix(in srgb, var(--theme-background) 72%, transparent);
  border: 1px solid var(--theme-overlay-light);
  line-height: 1.8;
  white-space: pre-wrap;
}
.apply-btn[data-v-1a9a20d5] {
  border: none !important;
  background: linear-gradient(90deg, var(--theme-success), var(--theme-success-dark)) !important;
}
.marked-content .risk-word[data-v-1a9a20d5] {
  color: var(--theme-error) !important;
  font-weight: 700 !important;
  background-color: color-mix(in srgb, var(--theme-error) 16%, transparent) !important;
  padding: 0 4px !important;
  border-radius: 4px !important;
  border-bottom: 2px dashed var(--theme-error) !important;
  cursor: help !important;
}
[data-v-1a9a20d5]::global(.legal-risk-tooltip .ant-tooltip-inner) {
  color: var(--theme-background-light) !important;
  background: var(--theme-text-secondary) !important;
  border: 1px solid color-mix(in srgb, var(--theme-warning) 26%, transparent);
  box-shadow: 0 14px 36px color-mix(in srgb, var(--theme-background-light) 26%, transparent);
}
[data-v-1a9a20d5]::global(.legal-risk-tooltip .ant-tooltip-arrow:before) {
  background: var(--theme-text-secondary) !important;
}
.rewrite-legal-modal .ant-modal-content[data-v-1a9a20d5],
.rewrite-legal-modal .ant-modal-header[data-v-1a9a20d5] {
  background: var(--theme-background) !important;
}
.rewrite-legal-modal .ant-empty-description[data-v-1a9a20d5],
.rewrite-legal-modal .ant-modal-close[data-v-1a9a20d5],
.rewrite-legal-modal .ant-modal-title[data-v-1a9a20d5] {
  color: var(--theme-text-secondary) !important;
}
.rewrite-step .ant-modal-root[data-v-1a9a20d5] {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}
.rewrite-step .ant-modal-mask[data-v-1a9a20d5] {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: color-mix(in srgb, var(--theme-background) 66%, transparent);
  backdrop-filter: blur(8px);
  pointer-events: auto;
}
.rewrite-step .rewrite-legal-modal[data-v-1a9a20d5] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 24px;
  pointer-events: auto;
}
.rewrite-step .rewrite-legal-modal .ant-modal[data-v-1a9a20d5] {
  top: auto;
  max-width: none;
  margin: 0;
  padding-bottom: 0;
}
.rewrite-step .rewrite-legal-modal .ant-modal-body[data-v-1a9a20d5] {
  overflow: hidden;
}

.rewrite-step .ant-form-item-label>label,
.rewrite-step .ant-input,
.rewrite-step .ant-input-number-input,
.rewrite-step .ant-select-selection-item,
.rewrite-step .ant-select-selection-placeholder,
.rewrite-step .ant-textarea textarea {
  color: var(--theme-text-secondary) !important;
}
.rewrite-step .ant-input,
.rewrite-step .ant-input-number,
.rewrite-step .ant-input-number-group-addon,
.rewrite-step .ant-select-selector,
.rewrite-step .ant-textarea textarea {
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.rewrite-step .ant-input-number-group-addon {
  color: var(--theme-text-secondary) !important;
}
.rewrite-step .ant-input::-moz-placeholder,
.rewrite-step .ant-textarea textarea::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.rewrite-step .ant-input::-moz-placeholder, .rewrite-step .ant-textarea textarea::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.rewrite-step .ant-input::placeholder,
.rewrite-step .ant-textarea textarea::placeholder {
  color: var(--theme-text-muted) !important;
}
.marked-content .risk-word {
  color: var(--theme-error) !important;
  font-weight: 700 !important;
  background-color: color-mix(in srgb, var(--theme-error) 16%, transparent) !important;
  padding: 0 4px !important;
  border-radius: 4px !important;
  border-bottom: 2px dashed var(--theme-error) !important;
  cursor: help !important;
}
@keyframes ringPulse {
0% {
    transform: scale(1);
    opacity: 0.8;
}
to {
    transform: scale(1.65);
    opacity: 0;
}
}

.audio-cropper[data-v-506e47ef] {
  width: 100%;
  padding: 8px 0;
}
.cropper-controls[data-v-506e47ef] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ============================================================
   Wavesurfer 波形容器
   ============================================================ */
.waveform-container[data-v-506e47ef] {
  position: relative;
  width: 100%;
  min-height: 56px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  padding: 4px 8px;
}
.waveform-container[data-v-506e47ef] .wavesurfer-container {
  background: transparent;
}
.waveform-loading[data-v-506e47ef],
.waveform-error[data-v-506e47ef] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #9ca3af;
  pointer-events: none;
}
.waveform-error[data-v-506e47ef] {
  color: #f87171;
}

/* ============================================================
   时间轴轨道（选区 + 手柄覆盖层）
   ============================================================ */
.timeline-track[data-v-506e47ef] {
  position: relative;
  width: 100%;
  height: 28px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  overflow: visible;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.selection-highlight[data-v-506e47ef] {
  position: absolute;
  top: 0;
  height: 100%;
  background: linear-gradient(180deg, rgba(240, 32, 32, 0.35) 0%, rgba(168, 6, 18, 0.25) 100%);
  border-left: 2px solid #F02020;
  border-right: 2px solid #F02020;
  pointer-events: none;
  border-radius: 4px;
}
.handle[data-v-506e47ef] {
  position: absolute;
  top: -4px;
  width: 12px;
  height: 36px;
  background: linear-gradient(135deg, #C00812, #F02020);
  cursor: ew-resize;
  border-radius: 3px;
  transform: translateX(-50%);
  z-index: 2;
  box-shadow: 0 4px 12px -2px rgba(240, 32, 32, 0.6);
}
.handle[data-v-506e47ef]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 16px;
  background: #fff;
  border-radius: 2px;
}
.handle[data-v-506e47ef]:hover {
  filter: brightness(1.2);
}

/* ============================================================
   时间显示
   ============================================================ */
.time-display[data-v-506e47ef] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #9ca3af;
  font-family: ui-monospace, SFMono-Regular, monospace;
  padding: 0 2px;
}
.time-label[data-v-506e47ef] {
  color: #9ca3af;
}
.time-value[data-v-506e47ef] {
  color: #FF8A7A;
  font-weight: 600;
}
.time-divider[data-v-506e47ef] {
  color: var(--theme-text-muted);
}
.time-duration[data-v-506e47ef] {
  font-weight: 700;
  color: #f3f4f6;
}
.time-duration-under[data-v-506e47ef] {
  color: #fbbf24;
}
.time-duration-over[data-v-506e47ef] {
  color: #f87171;
}
.duration-limit[data-v-506e47ef] {
  color: #9ca3af;
  font-size: 11px;
}

/* ============================================================
   双滑块
   ============================================================ */
.range-sliders[data-v-506e47ef] {
  display: flex;
  gap: 14px;
}
.slider-group[data-v-506e47ef] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.slider-group label[data-v-506e47ef] {
  font-size: 11px;
  color: #9ca3af;
  white-space: nowrap;
  width: 30px;
}
.slider-group input[type='range'][data-v-506e47ef] {
  flex: 1;
  height: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  outline: none;
}
.slider-group input[type='range'][data-v-506e47ef]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, #C00812, #F02020);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(240, 32, 32, 0.5);
}
.slider-group input[type='range'][data-v-506e47ef]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, #C00812, #F02020);
  cursor: pointer;
  border: none;
}

/* ============================================================
   播放控制
   ============================================================ */
.playback-controls[data-v-506e47ef] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.playback-btn[data-v-506e47ef] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #FF8A7A;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.15s;
}
.playback-btn[data-v-506e47ef]:hover {
  background: rgba(240, 32, 32, 0.18);
  border-color: rgba(240, 32, 32, 0.5);
}
.playback-btn.playing[data-v-506e47ef] {
  background: linear-gradient(135deg, #C00812, #F02020);
  border-color: transparent;
  color: #fff;
}
.playback-hint[data-v-506e47ef] {
  font-size: 12px;
  color: #9ca3af;
}

.voice-step[data-v-403b25f3] {
  width: 100%;
  height: auto;
  min-height: 610px;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  background:
    radial-gradient(circle at 80% 12%,
      color-mix(in srgb, var(--theme-info) 12%, transparent),
      transparent 32%),
    radial-gradient(circle at 10% 90%,
      color-mix(in srgb, var(--theme-secondary) 13%, transparent),
      transparent 34%),
    color-mix(in srgb, var(--theme-background) 42%, transparent);
  overflow: hidden;
}
.voice-layout[data-v-403b25f3] {
  flex: 1;
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
  gap: 18px;
}
.glass-card[data-v-403b25f3] {
  min-height: 0;
  border-radius: 22px;
  background: linear-gradient(145deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid var(--theme-overlay-light);
  box-shadow: 0 18px 46px var(--theme-shadow-dark);
  backdrop-filter: blur(18px);
}
.config-card[data-v-403b25f3],
.result-card[data-v-403b25f3],
.script-card[data-v-403b25f3] {
  display: flex;
  flex-direction: column;
}
.script-card[data-v-403b25f3] {
  padding: 18px;
}
.voice-main[data-v-403b25f3] {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(260px, 1fr) 280px;
  gap: 18px;
}
.config-card[data-v-403b25f3],
.result-card[data-v-403b25f3] {
  padding: 18px;
}
.card-title[data-v-403b25f3],
.config-head[data-v-403b25f3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.card-kicker[data-v-403b25f3] {
  display: block;
  margin-bottom: 5px;
  color: color-mix(in srgb, var(--theme-info) 72%, transparent);
  font-size: var(--app-font-size-micro);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.card-title h3[data-v-403b25f3],
.config-head h3[data-v-403b25f3] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.word-count[data-v-403b25f3] {
  position: absolute;
  right: 12px;
  bottom: 10px;
  z-index: 1;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-micro);
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}
.word-count.warning[data-v-403b25f3] {
  color: var(--theme-warning);
}
.script-tools[data-v-403b25f3] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.translation-language-select[data-v-403b25f3] {
  width: 112px;
}
.translate-btn[data-v-403b25f3] {
  flex-shrink: 0;
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 22%, transparent) !important;
  font-weight: 800;
}
.translate-btn[data-v-403b25f3]:not(.ant-btn-disabled):hover {
  color: var(--theme-text-primary) !important;
  border-color: color-mix(in srgb, var(--theme-info) 46%, transparent) !important;
}
.dialect-voice-tip[data-v-403b25f3] {
  margin-top: 10px;
  padding: 9px 12px;
  border-radius: 12px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-warning) 26%, transparent);
  font-size: var(--app-font-size-caption);
  line-height: 1.6;
}
.script-input-wrap[data-v-403b25f3] {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
}
.script-textarea[data-v-403b25f3] {
  flex: 1;
  min-height: 0;
  resize: none;
  font-size: var(--app-font-size-body);
  line-height: 1.75;
}
.script-hint[data-v-403b25f3] {
  margin-top: 12px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.manage-link[data-v-403b25f3] {
  flex-shrink: 0;
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 22%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
}
.manage-link[data-v-403b25f3]:hover {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-info) 46%, transparent);
  background: color-mix(in srgb, var(--theme-primary-light) 24%, transparent);
}
.status-bar[data-v-403b25f3] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px 12px;
  border-radius: 13px;
  color: var(--theme-text-muted);
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
  font-size: var(--app-font-size-caption);
}
.status-dot[data-v-403b25f3] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-overlay-medium);
}
.status-bar.online .status-dot[data-v-403b25f3] {
  background: var(--theme-success);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-success) 16%, transparent);
}
.status-bar.starting .status-dot[data-v-403b25f3] {
  background: var(--theme-warning);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-warning) 16%, transparent);
}
.status-bar.error .status-dot[data-v-403b25f3] {
  background: var(--theme-error);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-error) 16%, transparent);
}
.voice-select-row[data-v-403b25f3] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
}
.voice-select[data-v-403b25f3] {
  width: 100%;
}
.voice-select .ant-select-selector[data-v-403b25f3] {
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.voice-select .ant-select-selection-item[data-v-403b25f3],
.voice-select .ant-select-selection-placeholder[data-v-403b25f3] {
  line-height: 40px !important;
}
.voice-select .ant-select-selection-search-input[data-v-403b25f3] {
  height: 40px !important;
}
.preview-btn[data-v-403b25f3] {
  width: 42px;
  height: 42px;
  border-radius: 14px !important;
}
.preview-btn.ant-btn-primary[data-v-403b25f3],
.preview-btn[data-v-403b25f3]:not(.ant-btn-disabled) {
  color: var(--theme-text-primary) !important;
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary)) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-primary) 26%, transparent);
}
.preview-btn.ant-btn-primary[data-v-403b25f3]:focus,
.preview-btn.ant-btn-primary[data-v-403b25f3]:hover,
.preview-btn[data-v-403b25f3]:not(.ant-btn-disabled):focus,
.preview-btn[data-v-403b25f3]:not(.ant-btn-disabled):hover {
  color: var(--theme-text-primary) !important;
  background: linear-gradient(135deg,
      var(--theme-primary-dark),
      var(--theme-secondary-dark)) !important;
}
.preview-btn.ant-btn-primary .anticon[data-v-403b25f3],
.preview-btn:not(.ant-btn-disabled) .anticon[data-v-403b25f3] {
  color: var(--theme-text-primary) !important;
}
.model-version-row[data-v-403b25f3] {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
}
.model-version-radio[data-v-403b25f3] {
  flex-shrink: 0;
}
.model-version-radio .ant-radio-button-wrapper[data-v-403b25f3] {
  color: var(--theme-text-secondary);
  background: var(--theme-overlay-light);
  border-color: color-mix(in srgb, var(--theme-info) 22%, transparent);
  font-weight: 800;
}
.model-version-radio .ant-radio-button-wrapper-checked[data-v-403b25f3] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-color: transparent;
}
.more-toggle[data-v-403b25f3] {
  margin: 15px 0 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  color: var(--theme-text-muted);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: var(--app-font-size-meta);
  font-weight: 800;
}
.more-toggle[data-v-403b25f3]:hover {
  color: var(--theme-text-gradient-purple);
}
.toggle-icon[data-v-403b25f3] {
  transition: transform 0.2s ease;
}
.toggle-icon.open[data-v-403b25f3] {
  transform: rotate(180deg);
}
.settings-grid[data-v-403b25f3] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 12px;
}
.setting-block[data-v-403b25f3] {
  min-width: 0;
  padding: 13px;
  border-radius: 16px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.setting-label[data-v-403b25f3] {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
}
.setting-label b[data-v-403b25f3] {
  color: var(--theme-text-secondary);
}
.emotion-row[data-v-403b25f3] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  gap: 8px;
}
.generate-btn[data-v-403b25f3] {
  width: 100%;
  height: 44px;
  margin-top: 16px;
  border: none !important;
  border-radius: 15px !important;
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary)) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-primary) 24%, transparent);
  font-weight: 900;
  color: var(--theme-text-primary);
}
.marquee-container[data-v-403b25f3] {
  width: 100%;
  margin-top: 10px;
  padding: 9px 0;
  overflow: hidden;
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
}
.marquee-text[data-v-403b25f3] {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-caption);
  line-height: 18px;
  animation: marquee-403b25f3 10s linear infinite;
}
.result-card[data-v-403b25f3] {
  height: 280px;
  min-height: 280px;
  max-height: 280px;
  overflow: hidden;
}
.result-card .card-title[data-v-403b25f3] {
  flex-shrink: 0;
}
.result-actions[data-v-403b25f3] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.open-btn[data-v-403b25f3],
.save-btn[data-v-403b25f3] {
  flex-shrink: 0;
  border-radius: 999px !important;
  font-weight: 800;
}
.save-btn[data-v-403b25f3] {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 24%, transparent) !important;
}
.save-btn[data-v-403b25f3]:hover {
  color: var(--theme-text-primary) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 26%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 46%, transparent) !important;
}
.audio-info[data-v-403b25f3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.audio-name[data-v-403b25f3] {
  min-width: 0;
  color: var(--theme-text-secondary);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audio-size[data-v-403b25f3] {
  flex-shrink: 0;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--theme-text-gradient-purple);
  background: color-mix(in srgb, var(--theme-secondary) 16%, transparent);
  font-size: var(--app-font-size-micro);
  font-weight: 800;
}
.wave-player[data-v-403b25f3] {
  position: relative;
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  -moz-column-gap: 10px;
  column-gap: 10px;
  align-items: center;
  padding: 12px 12px 8px;
  border-radius: 18px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--theme-primary) 12%, transparent),
      color-mix(in srgb, var(--theme-secondary) 10%, transparent)),
    var(--theme-overlay-light);
  border: 1px solid color-mix(in srgb, var(--theme-info) 13%, transparent);
  overflow: hidden;
}
.wave-play-btn[data-v-403b25f3] {
  position: relative;
  z-index: 2;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 16px;
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  box-shadow: 0 12px 26px color-mix(in srgb, var(--theme-primary) 28%, transparent);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.wave-play-btn[data-v-403b25f3]:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px color-mix(in srgb, var(--theme-primary) 36%, transparent);
}
.wave-play-btn .anticon[data-v-403b25f3] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-page-title);
}
.wave-player .waveform[data-v-403b25f3] {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 70px;
  overflow: hidden;
}
.wave-player .waveform canvas[data-v-403b25f3],
.wave-player .waveform wave[data-v-403b25f3] {
  max-width: 100% !important;
}
.wave-meta[data-v-403b25f3] {
  grid-column: 2;
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  color: color-mix(in srgb, var(--theme-text-secondary) 62%, transparent);
  font-size: var(--app-font-size-micro);
  font-weight: 800;
}
.wave-volume[data-v-403b25f3] {
  display: grid;
  grid-template-columns: 14px minmax(80px, 110px) 28px;
  justify-self: center;
  gap: 6px;
  align-items: center;
}
.wave-time[data-v-403b25f3] {
  min-width: 34px;
}
.wave-duration[data-v-403b25f3] {
  justify-self: end;
  text-align: right;
}
.volume-icon[data-v-403b25f3] {
  color: color-mix(in srgb, var(--theme-text-secondary) 72%, transparent);
  font-size: var(--app-font-size-meta);
}
.volume-slider[data-v-403b25f3] {
  margin: 0;
}
.wave-volume b[data-v-403b25f3] {
  color: var(--theme-text-secondary);
  text-align: right;
}
.audio-placeholder[data-v-403b25f3] {
  flex: 1;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: var(--theme-text-muted);
  background: var(--theme-overlay-light);
  border: 1px dashed var(--theme-overlay-light);
  text-align: center;
}
.placeholder-icon[data-v-403b25f3] {
  margin-bottom: 10px;
  color: color-mix(in srgb, var(--theme-info) 48%, transparent);
  font-size: 38px;
}
.audio-placeholder p[data-v-403b25f3] {
  margin: 0;
  color: var(--theme-text-muted);
  font-weight: 800;
}
.audio-placeholder span[data-v-403b25f3] {
  margin-top: 6px;
  font-size: var(--app-font-size-caption);
}
.bottom-progress[data-v-403b25f3] {
  margin-top: 12px;
}
.settings-fade-enter-active[data-v-403b25f3],
.settings-fade-leave-active[data-v-403b25f3] {
  transition: all 0.18s ease;
}
.settings-fade-enter-from[data-v-403b25f3],
.settings-fade-leave-to[data-v-403b25f3] {
  opacity: 0;
  transform: translateY(-6px);
}
.voice-step .ant-input[data-v-403b25f3],
.voice-step .ant-input-number[data-v-403b25f3],
.voice-step .ant-input-number-input[data-v-403b25f3],
.voice-step .ant-select-selector[data-v-403b25f3],
.voice-step .ant-textarea textarea[data-v-403b25f3] {
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.voice-step .ant-textarea textarea[data-v-403b25f3],
.voice-step textarea.ant-input.script-textarea[data-v-403b25f3] {
  height: 100% !important;
  padding-bottom: 32px !important;
  font-size: var(--app-font-size-body) !important;
  line-height: 1.75 !important;
}
.voice-step .ant-input[readonly][data-v-403b25f3],
.voice-step .ant-textarea textarea[readonly][data-v-403b25f3] {
  cursor: default;
}
.voice-step .ant-input[data-v-403b25f3]::-moz-placeholder,
.voice-step .ant-textarea textarea[data-v-403b25f3]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.voice-step .ant-input[data-v-403b25f3]::-moz-placeholder, .voice-step .ant-textarea textarea[data-v-403b25f3]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.voice-step .ant-input[data-v-403b25f3]::placeholder,
.voice-step .ant-select-selection-placeholder[data-v-403b25f3],
.voice-step .ant-textarea textarea[data-v-403b25f3]::placeholder {
  color: var(--theme-text-muted) !important;
}
.voice-step .ant-input-number-handler-down-inner[data-v-403b25f3],
.voice-step .ant-input-number-handler-up-inner[data-v-403b25f3],
.voice-step .ant-select-arrow[data-v-403b25f3],
.voice-step .ant-select-selection-item[data-v-403b25f3] {
  color: var(--theme-text-secondary) !important;
}
.voice-step .ant-input-number-handler-wrap[data-v-403b25f3] {
  background: var(--theme-overlay-light) !important;
  border-left-color: var(--theme-overlay-light) !important;
}
.voice-step .ant-slider-rail[data-v-403b25f3] {
  background: var(--theme-overlay-light) !important;
}
.voice-step .ant-slider-track[data-v-403b25f3] {
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary)) !important;
}
.voice-step .ant-slider-handle[data-v-403b25f3]:after {
  box-shadow: 0 0 0 2px var(--theme-info) !important;
}
.upload-modal-layout[data-v-403b25f3] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.upload-modal-head[data-v-403b25f3] {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--theme-overlay-light);
}
.upload-modal-head h3[data-v-403b25f3] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-section-title);
  font-weight: 900;
}
.upload-modal-head p[data-v-403b25f3] {
  max-width: 360px;
  margin: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-meta);
  text-align: right;
}
.upload-form-grid[data-v-403b25f3] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  gap: 16px;
}
.upload-drop-card[data-v-403b25f3],
.upload-side-card[data-v-403b25f3] {
  min-height: 0;
  padding: 16px;
  border-radius: 18px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.upload-drop-card .ant-upload[data-v-403b25f3],
.upload-drop-card .ant-upload-drag[data-v-403b25f3] {
  height: 100%;
  background: color-mix(in srgb, var(--theme-background) 48%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 22%, transparent) !important;
  border-radius: 16px !important;
}
.upload-drop-card .ant-upload-drag-container[data-v-403b25f3] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.upload-drop-card .ant-upload-btn[data-v-403b25f3] {
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.upload-drop-content[data-v-403b25f3] {
  padding: 24px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.upload-drop-icon[data-v-403b25f3] {
  margin-bottom: 16px;
  color: var(--theme-info);
  font-size: 44px;
}
.upload-title[data-v-403b25f3] {
  margin: 0 0 8px;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.upload-hint[data-v-403b25f3] {
  margin: 0;
  max-width: 420px;
  color: color-mix(in srgb, var(--theme-text-secondary) 52%, transparent);
  line-height: 1.7;
  text-align: center;
}
.upload-side-card[data-v-403b25f3] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.field-label[data-v-403b25f3] {
  margin: 0 0 8px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.field-label[data-v-403b25f3]:not(:first-child) {
  margin-top: 14px;
}
.upload-preview[data-v-403b25f3] {
  flex: 1;
  min-height: 0;
  margin-top: 14px;
  padding: 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-background) 58%, transparent);
  margin-bottom: 10px;
}
.upload-preview-head[data-v-403b25f3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.upload-preview-head span[data-v-403b25f3] {
  min-width: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-preview-head b[data-v-403b25f3] {
  flex-shrink: 0;
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-caption);
}
.cropper-error[data-v-403b25f3],
.cropper-tip[data-v-403b25f3],
.cropper-warning[data-v-403b25f3] {
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: var(--app-font-size-caption);
  line-height: 1.5;
}
.cropper-tip[data-v-403b25f3] {
  color: color-mix(in srgb, var(--theme-text-secondary) 68%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 16%, transparent);
}
.cropper-warning[data-v-403b25f3] {
  margin: 10px 0 0;
  color: var(--theme-warning);
  background: color-mix(in srgb, var(--theme-warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-warning) 22%, transparent);
}
.cropper-error[data-v-403b25f3] {
  color: var(--theme-error-light);
  background: color-mix(in srgb, var(--theme-error) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-error-light) 28%, transparent);
}
.upload-preview .audio-cropper[data-v-403b25f3] {
  color: var(--theme-text-secondary);
}
.upload-preview .waveform-container[data-v-403b25f3] {
  border-radius: 14px;
  background: var(--theme-overlay-light);
  border: 1px solid color-mix(in srgb, var(--theme-info) 12%, transparent);
  overflow: hidden;
}
.upload-preview .bottom-controls[data-v-403b25f3] {
  margin-top: 10px;
}
.upload-preview .trial-button[data-v-403b25f3] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border: 0;
}
.upload-submit-btn[data-v-403b25f3] {
  height: 44px;
  margin-top: auto;
  border: none !important;
  border-radius: 15px !important;
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary)) !important;
  font-weight: 900;
}
.voice-upload-modal .ant-modal-content[data-v-403b25f3],
.voice-upload-modal .ant-modal-header[data-v-403b25f3] {
  background: var(--theme-background) !important;
}
.voice-upload-modal .ant-modal-close[data-v-403b25f3] {
  color: var(--theme-text-secondary) !important;
}
.voice-step .ant-modal-root[data-v-403b25f3] {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}
.voice-step .ant-modal-mask[data-v-403b25f3] {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: color-mix(in srgb, var(--theme-background) 66%, transparent);
  backdrop-filter: blur(8px);
  pointer-events: auto;
}
.voice-step .voice-upload-modal[data-v-403b25f3] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 24px;
  pointer-events: auto;
}
.voice-step .voice-upload-modal .ant-modal[data-v-403b25f3] {
  top: auto;
  max-width: none;
  margin: 0;
  padding-bottom: 0;
}
.voice-step .voice-upload-modal .ant-modal-body[data-v-403b25f3] {
  overflow: hidden;
}
@keyframes marquee-403b25f3 {
0% {
    transform: translateX(0);
}
to {
    transform: translateX(-100%);
}
}
.audio-player[data-v-403b25f3] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 14px 16px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--theme-background) 58%, transparent);
  border: 1px solid var(--theme-overlay-light);
}

.voice-step .ant-input,
.voice-step .ant-input-number,
.voice-step .ant-input-number-input,
.voice-step .ant-select-selector,
.voice-step .ant-textarea textarea {
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.voice-upload-modal .ant-modal-content,
.voice-upload-modal .ant-modal-header {
  background: var(--theme-background) !important;
}

.video-step[data-v-eddb48ad] {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 8%,
      color-mix(in srgb, var(--theme-primary-light) 13%, transparent),
      transparent 32%),
    radial-gradient(circle at 12% 92%,
      color-mix(in srgb, var(--theme-secondary) 14%, transparent),
      transparent 34%),
    color-mix(in srgb, var(--theme-background) 42%, transparent);
  overflow: hidden;
}
.video-layout[data-v-eddb48ad] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}
.glass-card[data-v-eddb48ad] {
  min-height: 0;
  border-radius: 22px;
  background: linear-gradient(145deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid var(--theme-overlay-light);
  box-shadow: 0 18px 46px var(--theme-shadow-dark);
  backdrop-filter: blur(18px);
}
.config-card[data-v-eddb48ad],
.preview-card[data-v-eddb48ad] {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 18px;
  overflow: hidden;
}
.card-head[data-v-eddb48ad] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.card-kicker[data-v-eddb48ad] {
  display: block;
  margin-bottom: 5px;
  color: color-mix(in srgb, var(--theme-info) 72%, transparent);
  font-size: var(--app-font-size-micro);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.card-head h3[data-v-eddb48ad] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.manage-link[data-v-eddb48ad],
.mini-action[data-v-eddb48ad] {
  flex-shrink: 0;
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 22%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  cursor: pointer;
}
.mode-toggle[data-v-eddb48ad] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border-radius: 16px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.mode-option[data-v-eddb48ad] {
  height: 34px;
  border: 0;
  border-radius: 12px;
  color: var(--theme-text-muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}
.mode-option.active[data-v-eddb48ad] {
  color: var(--theme-text-primary);
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-primary) 22%, transparent);
}
.setting-block[data-v-eddb48ad] {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.setting-label[data-v-eddb48ad] {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.setting-label.compact[data-v-eddb48ad] {
  margin-bottom: 4px;
}
.setting-label b[data-v-eddb48ad] {
  color: var(--theme-text-secondary);
}
.multi-card[data-v-eddb48ad] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.multi-card p[data-v-eddb48ad] {
  margin: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.multi-actions[data-v-eddb48ad] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.multi-actions span[data-v-eddb48ad] {
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.cover-image[data-v-eddb48ad] {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.cover-placeholder[data-v-eddb48ad] {
  color: var(--theme-text-muted);
}
.avatar-text[data-v-eddb48ad] {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.avatar-text span[data-v-eddb48ad] {
  color: var(--theme-text-secondary);
  font-weight: 800;
}
.avatar-text small[data-v-eddb48ad] {
  color: var(--theme-text-muted);
}
.audio-source-card[data-v-eddb48ad] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 96px;
  padding: 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--theme-background) 48%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 12%, transparent);
}
.audio-source-main[data-v-eddb48ad] {
  min-width: 0;
}
.audio-source-main>span[data-v-eddb48ad] {
  display: block;
  min-width: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select-audio-btn[data-v-eddb48ad] {
  height: 38px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--theme-info) 28%, transparent);
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 16%, transparent);
  cursor: pointer;
  font-weight: 900;
}
.select-audio-btn[data-v-eddb48ad]:hover {
  color: var(--theme-text-primary);
  background: color-mix(in srgb, var(--theme-primary-light) 26%, transparent);
  border-color: color-mix(in srgb, var(--theme-info) 48%, transparent);
}
.audio-wave-player[data-v-eddb48ad] {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.audio-wave-btn[data-v-eddb48ad] {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 13px;
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  cursor: pointer;
}
.audio-wave-btn .anticon[data-v-eddb48ad] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-section-title);
}
.audio-waveform[data-v-eddb48ad] {
  height: 48px;
  padding: 9px 10px;
  border-radius: 13px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--theme-primary) 11%, transparent),
      color-mix(in srgb, var(--theme-secondary) 10%, transparent)),
    var(--theme-overlay-light);
  overflow: hidden;
  box-sizing: border-box;
}
.generate-btn[data-v-eddb48ad] {
  width: 100%;
  height: 44px;
  margin-top: 16px;
  border: none !important;
  border-radius: 15px !important;
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary)) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-primary) 24%, transparent);
  font-weight: 900;
  color: var(--theme-text-primary);
}
.marquee-container[data-v-eddb48ad] {
  width: 100%;
  margin-top: 10px;
  padding: 9px 0;
  overflow: hidden;
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
}
.marquee-text[data-v-eddb48ad] {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-caption);
  line-height: 18px;
  animation: marquee-5cddd0ad 18s linear infinite;
}
.result-actions[data-v-eddb48ad] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.ghost-btn[data-v-eddb48ad],
.pill-btn[data-v-eddb48ad] {
  border-radius: 999px !important;
  font-weight: 800;
}
.ghost-btn[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 24%, transparent) !important;
}
.video-placeholder[data-v-eddb48ad],
.video-preview[data-v-eddb48ad] {
  flex: 1;
  min-height: 0;
  border-radius: 18px;
  background: color-mix(in srgb, var(--theme-background) 58%, transparent);
  border: 1px solid var(--theme-overlay-light);
  overflow: hidden;
}
.video-preview[data-v-eddb48ad] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
.preview-video[data-v-eddb48ad] {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: clamp(220px, 52vh, 520px);
  border-radius: 14px;
  -o-object-fit: contain;
  object-fit: contain;
  background: var(--theme-background);
}
.video-name[data-v-eddb48ad] {
  margin-top: 10px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.video-placeholder[data-v-eddb48ad] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--theme-text-muted);
  text-align: center;
}
.placeholder-icon[data-v-eddb48ad] {
  margin-bottom: 12px;
  color: color-mix(in srgb, var(--theme-info) 48%, transparent);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 48px !important;
}
.video-placeholder .placeholder-icon svg[data-v-eddb48ad] {
  width: 1em !important;
  height: 1em !important;
}
.video-placeholder p[data-v-eddb48ad] {
  margin: 0;
  color: var(--theme-text-muted);
  font-weight: 900;
}
.video-placeholder span[data-v-eddb48ad] {
  margin-top: 6px;
  font-size: var(--app-font-size-caption);
}
.bottom-progress[data-v-eddb48ad] {
  margin-top: 12px;
}
.avatar-modal-layout[data-v-eddb48ad],
.scene-modal-layout[data-v-eddb48ad] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.scene-modal-head p[data-v-eddb48ad] {
  margin: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 700;
}
.avatar-upload-grid[data-v-eddb48ad] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
  gap: 16px;
}
.avatar-form-card[data-v-eddb48ad],
.avatar-upload-card[data-v-eddb48ad] {
  min-height: 0;
  border-radius: 18px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.avatar-upload-card[data-v-eddb48ad] {
  overflow: hidden;
}
.avatar-upload-card .ant-upload[data-v-eddb48ad],
.avatar-upload-card .ant-upload-drag[data-v-eddb48ad],
.avatar-upload-card .ant-upload-wrapper[data-v-eddb48ad] {
  width: 100%;
  height: 100%;
}
.avatar-upload-card .ant-upload-drag[data-v-eddb48ad] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--theme-background-light) 35%, transparent) !important;
  border: 1px dashed color-mix(in srgb, var(--theme-info) 32%, transparent) !important;
  border-radius: 18px !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}
.avatar-upload-card .ant-upload-drag[data-v-eddb48ad]:hover {
  border-color: color-mix(in srgb, var(--theme-info) 72%, transparent) !important;
  background: color-mix(in srgb, var(--theme-primary) 12%, transparent) !important;
}
.avatar-upload-content[data-v-eddb48ad] {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.avatar-upload-empty[data-v-eddb48ad] {
  max-width: 420px;
  padding: 28px;
  text-align: center;
}
.avatar-upload-icon[data-v-eddb48ad] {
  margin-bottom: 18px;
  color: var(--theme-text-gradient-purple);
  font-size: 42px;
}
.avatar-upload-empty p[data-v-eddb48ad] {
  margin: 0 0 10px;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-secondary);
  font-weight: 900;
}
.avatar-upload-empty span[data-v-eddb48ad] {
  color: var(--theme-text-muted);
  line-height: 1.8;
  font-size: var(--app-font-size-meta);
}
.avatar-video-preview[data-v-eddb48ad] {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 360px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 20%,
      color-mix(in srgb, var(--theme-primary-light) 16%, transparent),
      transparent 38%),
    color-mix(in srgb, var(--theme-background) 58%, transparent);
}
.avatar-preview-stage[data-v-eddb48ad] {
  height: 100%;
  max-height: 100%;
  width: auto;
  max-width: 100%;
  aspect-ratio: 9/16;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 14px;
  background: var(--theme-background);
  box-shadow: 0 18px 46px var(--theme-shadow-dark);
}
.avatar-preview-video[data-v-eddb48ad] {
  width: 380px;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  -o-object-fit: contain;
  object-fit: contain;
  background: var(--theme-background);
}
.avatar-trim-controller[data-v-eddb48ad] {
  flex-shrink: 0;
  width: 100%;
  padding: 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-background-light) 76%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 14%, transparent);
}
.trim-foot[data-v-eddb48ad],
.trim-head[data-v-eddb48ad] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
}
.trim-head b[data-v-eddb48ad] {
  color: var(--theme-text-secondary);
}
.avatar-upload-preview[data-v-eddb48ad] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.avatar-preview-video[data-v-eddb48ad] {
  width: 100%;
  max-height: 260px;
  border-radius: 10px;
  background: #000;
  -o-object-fit: contain;
     object-fit: contain;
}
.trim-preview-btn[data-v-eddb48ad] {
  width: 100%;
  height: 34px;
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 12px;
  color: var(--theme-text-primary);
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--theme-primary) 86%, transparent),
      color-mix(in srgb, var(--theme-secondary) 86%, transparent));
  font-size: var(--app-font-size-caption);
  font-weight: 900;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.trim-preview-btn[data-v-eddb48ad]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-primary) 22%, transparent);
}
.trim-sliders[data-v-eddb48ad] {
  position: relative;
  height: 28px;
  margin: 8px 0 4px;
}
.trim-sliders input[type='range'][data-v-eddb48ad] {
  position: absolute;
  inset: 0;
  width: 100%;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  pointer-events: none;
}
.trim-sliders input[type='range'][data-v-eddb48ad]::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--theme-primary) 28%, transparent),
      color-mix(in srgb, var(--theme-secondary) 28%, transparent));
}
.trim-sliders input[type='range'][data-v-eddb48ad]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  margin-top: -5px;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 50%;
  background: var(--theme-text-secondary);
  border: 3px solid var(--theme-primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-primary) 20%, transparent);
  cursor: ew-resize;
  pointer-events: auto;
}
.trim-sliders input[type='range'][data-v-eddb48ad]:last-child::-webkit-slider-thumb {
  border-color: var(--theme-secondary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-secondary) 20%, transparent);
}
.avatar-remove-btn[data-v-eddb48ad] {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  color: var(--theme-text-primary);
  background: color-mix(in srgb, var(--theme-background-light) 72%, transparent);
  border: 1px solid var(--theme-overlay-medium);
  backdrop-filter: blur(8px);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}
.avatar-remove-btn[data-v-eddb48ad]:hover {
  transform: scale(1.06);
  background: color-mix(in srgb, var(--theme-error) 72%, transparent);
  border-color: color-mix(in srgb, var(--theme-error-light) 52%, transparent);
}
.avatar-form-card[data-v-eddb48ad] {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.avatar-form-card .ant-input[data-v-eddb48ad],
.avatar-form-card .ant-input-affix-wrapper[data-v-eddb48ad],
.avatar-form-card textarea.ant-input[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 68%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 18%, transparent) !important;
  box-shadow: inset 0 1px 0 var(--theme-overlay-light) !important;
}
.avatar-form-card .ant-input-affix-wrapper .ant-input[data-v-eddb48ad] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.avatar-form-card .ant-input-affix-wrapper .ant-input-suffix[data-v-eddb48ad] {
  color: color-mix(in srgb, var(--theme-text-secondary) 66%, transparent) !important;
  background: transparent !important;
}
.avatar-form-card .ant-input-affix-wrapper[data-v-eddb48ad]:hover,
.avatar-form-card .ant-input[data-v-eddb48ad]:hover,
.avatar-form-card textarea.ant-input[data-v-eddb48ad]:hover {
  border-color: color-mix(in srgb, var(--theme-info) 44%, transparent) !important;
  background: color-mix(in srgb, var(--theme-background-light) 78%, transparent) !important;
}
.avatar-form-card .ant-input-affix-wrapper-focused[data-v-eddb48ad],
.avatar-form-card .ant-input-focused[data-v-eddb48ad],
.avatar-form-card .ant-input[data-v-eddb48ad]:focus,
.avatar-form-card textarea.ant-input[data-v-eddb48ad]:focus {
  border-color: color-mix(in srgb, var(--theme-info) 72%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary-light) 16%, transparent) !important;
}
.avatar-form-card .ant-input[data-v-eddb48ad]::-moz-placeholder,
.avatar-form-card textarea.ant-input[data-v-eddb48ad]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.avatar-form-card .ant-input[data-v-eddb48ad]::-moz-placeholder, .avatar-form-card textarea.ant-input[data-v-eddb48ad]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.avatar-form-card .ant-input[data-v-eddb48ad]::placeholder,
.avatar-form-card textarea.ant-input[data-v-eddb48ad]::placeholder {
  color: var(--theme-text-muted) !important;
}
.avatar-form-card .ant-input-data-count[data-v-eddb48ad],
.avatar-form-card .ant-input-show-count-suffix[data-v-eddb48ad],
.avatar-form-card .ant-input-textarea-show-count[data-v-eddb48ad]:after {
  color: color-mix(in srgb, var(--theme-text-secondary) 66%, transparent) !important;
}
.field-label[data-v-eddb48ad] {
  font-weight: 900;
}
.avatar-meta[data-v-eddb48ad],
.field-label[data-v-eddb48ad] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.avatar-meta[data-v-eddb48ad] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border-radius: 12px;
  background: var(--theme-overlay-light);
  font-weight: 800;
}
.avatar-meta span[data-v-eddb48ad] {
  padding: 4px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-primary-light) 14%, transparent);
}
.avatar-save-btn[data-v-eddb48ad] {
  margin-top: auto;
  height: 44px;
  border: 0 !important;
  border-radius: 14px !important;
  font-weight: 900 !important;
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary)) !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-primary) 24%, transparent) !important;
}
.scene-footer[data-v-eddb48ad],
.scene-modal-head[data-v-eddb48ad] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.scene-modal-head[data-v-eddb48ad] {
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--theme-overlay-light);
}
.scene-modal-head h3[data-v-eddb48ad] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-section-title);
  font-weight: 900;
}
.scene-head-actions[data-v-eddb48ad] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.scene-list[data-v-eddb48ad] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
}
.scene-item[data-v-eddb48ad] {
  display: grid;
  grid-template-columns: 24px 70px minmax(0, 1fr) 120px auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.scene-drag-handle[data-v-eddb48ad] {
  border: 0;
  color: var(--theme-text-muted);
  background: transparent;
  cursor: grab;
}
.scene-index[data-v-eddb48ad] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
  cursor: grab;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.scene-avatar-select[data-v-eddb48ad],
.scene-duration-input[data-v-eddb48ad] {
  width: 100%;
}
.scene-avatar-select .ant-select-selector[data-v-eddb48ad] {
  min-height: 48px !important;
  height: 48px !important;
  align-items: center !important;
}
.scene-avatar-select .ant-select-selection-item[data-v-eddb48ad] {
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.scene-avatar-select .ant-select-selection-item .avatar-option[data-v-eddb48ad] {
  min-height: 40px;
  padding: 0;
}
.scene-avatar-select .ant-select-selection-item .avatar-cover[data-v-eddb48ad] {
  width: 32px;
  height: 40px;
  border-radius: 6px;
}
.scene-avatar-select .ant-select-selection-item .avatar-text small[data-v-eddb48ad] {
  display: none;
}
.scene-actions[data-v-eddb48ad] {
  display: flex;
  gap: 4px;
}
.scene-actions .ant-btn[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-medium) !important;
}
.scene-actions .ant-btn[data-v-eddb48ad]:hover {
  color: var(--theme-text-primary) !important;
  border-color: color-mix(in srgb, var(--theme-info) 46%, transparent) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 18%, transparent) !important;
}
.scene-actions .ant-btn[disabled][data-v-eddb48ad] {
  color: var(--theme-text-muted) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.scene-actions .ant-btn-dangerous[data-v-eddb48ad]:not([disabled]) {
  color: var(--theme-error-light) !important;
  border-color: color-mix(in srgb, var(--theme-error-light) 34%, transparent) !important;
  background: color-mix(in srgb, var(--theme-error) 12%, transparent) !important;
}
.scene-footer[data-v-eddb48ad] {
  padding-top: 14px;
  margin-top: 14px;
  border-top: 1px solid var(--theme-overlay-light);
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.scene-footer>div[data-v-eddb48ad] {
  display: flex;
  gap: 8px;
}
.video-step .ant-input[data-v-eddb48ad],
.video-step .ant-input-number[data-v-eddb48ad],
.video-step .ant-input-number-group-addon[data-v-eddb48ad],
.video-step .ant-input-number-input[data-v-eddb48ad],
.video-step .ant-select-selector[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.video-step .ant-select-arrow[data-v-eddb48ad],
.video-step .ant-select-selection-item[data-v-eddb48ad],
.video-step .ant-select-selection-placeholder[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
}
.video-avatar-modal .ant-modal-content[data-v-eddb48ad],
.video-avatar-modal .ant-modal-header[data-v-eddb48ad],
.video-scene-modal .ant-modal-content[data-v-eddb48ad],
.video-scene-modal .ant-modal-header[data-v-eddb48ad] {
  background: var(--theme-background) !important;
}
.video-avatar-modal .ant-modal-close[data-v-eddb48ad],
.video-scene-modal .ant-modal-close[data-v-eddb48ad] {
  color: var(--theme-text-secondary) !important;
}
.video-step .ant-modal-root[data-v-eddb48ad] {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}
.video-step .ant-modal-mask[data-v-eddb48ad] {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: color-mix(in srgb, var(--theme-background) 66%, transparent);
  backdrop-filter: blur(8px);
  pointer-events: auto;
}
.video-step .video-avatar-modal[data-v-eddb48ad],
.video-step .video-scene-modal[data-v-eddb48ad] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 24px;
  pointer-events: auto;
}
.video-step .video-avatar-modal .ant-modal[data-v-eddb48ad],
.video-step .video-scene-modal .ant-modal[data-v-eddb48ad] {
  top: auto;
  max-width: none;
  margin: 0;
  padding-bottom: 0;
}
.video-step .video-avatar-modal .ant-modal-body[data-v-eddb48ad],
.video-step .video-scene-modal .ant-modal-body[data-v-eddb48ad] {
  overflow: hidden;
}
.pill-btn[data-v-eddb48ad] {
  box-shadow: none;
}

.full-select {
  width: 100%;
}
.full-select .ant-select-selector {
  min-height: 58px !important;
  height: 58px !important;
  align-items: center !important;
  padding: 6px 14px !important;
}
.full-select .ant-select-selection-item {
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.full-select .ant-select-selection-item .avatar-cover {
  width: 42px;
  height: 48px;
  border-radius: 7px;
}
.full-select .ant-select-selection-item .avatar-option {
  min-height: 48px;
  padding: 0;
}
.avatar-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 8px 2px;
}
.avatar-cover {
  width: 48px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-background) 48%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ant-select-dropdown {
  background: var(--theme-background) !important;
  border: 1px solid color-mix(in srgb, var(--theme-info) 18%, transparent) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 46px var(--theme-shadow-dark) !important;
}
.ant-select-dropdown .ant-select-item {
  min-height: 64px !important;
  padding: 8px 12px !important;
  color: var(--theme-text-secondary) !important;
  background: transparent !important;
}
.ant-select-dropdown .ant-select-item-option-active {
  background: color-mix(in srgb, var(--theme-primary-light) 16%, transparent) !important;
}
.ant-select-dropdown .ant-select-item-option-selected {
  color: var(--theme-text-primary) !important;
  background: color-mix(in srgb, var(--theme-primary-light) 26%, transparent) !important;
}
.ant-select-dropdown .ant-select-item-option-content {
  color: var(--theme-text-secondary) !important;
}
.video-step .ant-input,
.video-step .ant-input-number,
.video-step .ant-input-number-input,
.video-step .ant-select-selector,
.video-step .ant-textarea textarea {
  color: var(--theme-text-secondary) !important;
  background: var(--theme-overlay-light) !important;
  border-color: var(--theme-overlay-light) !important;
}
.video-avatar-modal .ant-modal-content,
.video-avatar-modal .ant-modal-header,
.video-scene-modal .ant-modal-content,
.video-scene-modal .ant-modal-header {
  background: var(--theme-background) !important;
}
.avatar-form-card .ant-input,
.avatar-form-card .ant-input-affix-wrapper,
.avatar-form-card textarea.ant-input {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 68%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 18%, transparent) !important;
  box-shadow: inset 0 1px 0 var(--theme-overlay-light);
}
.avatar-form-card .ant-input-affix-wrapper input {
  outline: none;
  box-shadow: none;
}
.avatar-meta,
.field-label {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}

.cover-template-thumbnail[data-v-824be330] {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1080 / 1920;
  border-radius: 4px;
  background: #f0f0f0;
  -o-object-fit: contain;
     object-fit: contain;
}

.text-style-editor[data-v-9391417d] {
  padding: 4px 0;
}
.editor-section[data-v-9391417d] {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.editor-section[data-v-9391417d]:last-child {
  border-bottom: none;
}
.section-title[data-v-9391417d] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #e2e2ea;
}
.section-title .lbl-inline[data-v-9391417d] {
  font-weight: normal;
  color: #b9b9c7;
}
.section-title .summary[data-v-9391417d] {
  font-size: 12px;
  color: #8a8aa3;
  margin-left: auto;
}
.subsection[data-v-9391417d] {
  padding: 6px 0 2px 0;
  border-left: 2px solid #F02020;
  padding-left: 12px;
  margin-left: 4px;
}

/* 颜色行：swatch + input 横向并排 */
.color-row[data-v-9391417d] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.color-row .color-swatch[data-v-9391417d] {
  flex-shrink: 0;
}

/* 颜色选择 swatch（原生 input type=color）*/
.color-swatch[data-v-9391417d] {
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 4px;
  cursor: pointer;
  background: transparent;
}
.color-swatch[data-v-9391417d]::-webkit-color-swatch-wrapper {
  padding: 2px;
}
.color-swatch[data-v-9391417d]::-webkit-color-swatch {
  border-radius: 2px;
  border: none;
}
.color-swatch[data-v-9391417d]::-moz-color-swatch {
  border-radius: 2px;
  border: none;
}

/* slider + label/val 行内排版 */
.slider-with-label[data-v-9391417d] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.slider-with-input[data-v-9391417d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.lbl[data-v-9391417d] {
  font-size: 12px;
  color: #b9b9c7;
  white-space: nowrap;
  min-width: 40px;
  flex-shrink: 0;
}
.val[data-v-9391417d] {
  font-size: 12px;
  color: #e2e2ea;
  min-width: 30px;
  text-align: right;
  flex-shrink: 0;
}

/* 背景尺寸预览 */
.bg-preview[data-v-9391417d] {
  margin-top: 8px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 4px;
  font-size: 12px;
  color: #b9b9c7;
}
.bg-preview .val[data-v-9391417d] {
  color: #FF8A7A;
  font-weight: 500;
}

/* ant-design-vue 暗色覆盖 —— 让 slider/select 适配深色面板 */
[data-v-9391417d] .ant-slider .ant-slider-rail {
  background: rgba(255, 255, 255, 0.14);
}
[data-v-9391417d] .ant-slider .ant-slider-track {
  background: #F02020;
}
[data-v-9391417d] .ant-slider .ant-slider-handle::after {
  box-shadow: 0 0 0 2px #F02020;
  background: #fff;
}
[data-v-9391417d] .ant-select-single {
  font-size: 12px;
}
[data-v-9391417d] .ant-checkbox + span {
  color: #b9b9c7;
}
[data-v-9391417d] .ant-segmented {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
[data-v-9391417d] .ant-segmented-item-selected {
  background: #F02020 !important;
  color: #fff !important;
}

/* 字体下拉项：稍大字号 + 上下 padding，方便预览字体 */
[data-v-9391417d] .ant-select-dropdown .ant-select-item-option {
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.4;
}
[data-v-9391417d] .ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background: rgba(240, 32, 32, 0.12);
}

/* 选中态的 select 显示文字：跟随当前字体 */
[data-v-9391417d] .ant-select-selection-item {
  font-size: 13px;
  line-height: 1.4;
  font-family: var(--v3a7c3a26);
}

.title-cover-step .ant-input[data-v-798358dc],
.title-cover-step .ant-input-affix-wrapper[data-v-798358dc],
.title-cover-step .ant-select-selector[data-v-798358dc],
.title-cover-step textarea.ant-input[data-v-798358dc] {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 66%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 16%, transparent) !important;
}
.title-cover-step .ant-input[data-v-798358dc]::-moz-placeholder,
.title-cover-step textarea.ant-input[data-v-798358dc]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.title-cover-step .ant-input[data-v-798358dc]::-moz-placeholder, .title-cover-step textarea.ant-input[data-v-798358dc]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.title-cover-step .ant-input[data-v-798358dc]::placeholder,
.title-cover-step .ant-select-selection-placeholder[data-v-798358dc],
.title-cover-step textarea.ant-input[data-v-798358dc]::placeholder {
  color: var(--theme-text-muted) !important;
}
.title-cover-step .ant-input-affix-wrapper .ant-input[data-v-798358dc] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.title-cover-step .ant-input-data-count[data-v-798358dc],
.title-cover-step .ant-input-show-count-suffix[data-v-798358dc],
.title-cover-step .ant-input-textarea-show-count[data-v-798358dc]:after,
.title-cover-step .ant-select-arrow[data-v-798358dc],
.title-cover-step .ant-select-selection-item[data-v-798358dc] {
  color: color-mix(in srgb, var(--theme-text-secondary) 72%, transparent) !important;
}
.cd-container[data-v-798358dc] {
  display: flex;
  width: 100%;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--theme-background-light) 92%, transparent),
      color-mix(in srgb, var(--theme-background-card) 78%, transparent)),
    radial-gradient(circle at 30% 0,
      color-mix(in srgb, var(--theme-primary-light) 22%, transparent),
      transparent 32%);
}
.cd-container[data-v-798358dc],
.cover-designer-panel[data-v-798358dc] {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.title-cover-designer[data-v-798358dc] {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 18%, transparent);
  background:
    radial-gradient(circle at 18% 0,
      color-mix(in srgb, var(--theme-primary-light) 18%, transparent),
      transparent 28%),
    color-mix(in srgb, var(--theme-background-light) 58%, transparent);
  box-shadow:
    inset 0 1px 0 var(--theme-overlay-light),
    0 18px 44px color-mix(in srgb, var(--theme-background) 24%, transparent);
}
.cd-preview[data-v-798358dc] {
  flex: 0 0 clamp(360px, 40%, 520px);
  width: clamp(360px, 40%, 520px);
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-background) 24%, transparent);
  border-right: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  min-width: 360px;
  max-width: 520px;
}
.cd-panel[data-v-798358dc] {
  flex: 1 1 auto;
  width: 0;
  height: 100%;
  max-height: 100%;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: color-mix(in srgb, var(--theme-background-light) 82%, transparent);
}
.cd-preview-header[data-v-798358dc] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 64%, transparent);
}
.cd-preview-title-wrap[data-v-798358dc] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.cd-preview-title[data-v-798358dc] {
  font-size: var(--app-font-size-secondary);
  font-weight: 900;
  color: var(--theme-text-primary);
}
.cd-preview-size[data-v-798358dc] {
  font-size: var(--app-font-size-caption);
  color: color-mix(in srgb, var(--theme-text-secondary) 72%, transparent);
}
.cd-stage-wrapper[data-v-798358dc] {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 12%,
      color-mix(in srgb, var(--theme-primary-light) 16%, transparent),
      transparent 34%),
    color-mix(in srgb, var(--theme-background) 46%, transparent);
  overflow: hidden;
}
.cd-preview-footer[data-v-798358dc] {
  min-height: 72px;
  padding: 9px 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 7px;
  border-top: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 70%, transparent);
}
.cd-preview-actions[data-v-798358dc] {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.cd-tabs[data-v-798358dc] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.cd-footer[data-v-798358dc] {
  height: 54px;
  padding: 0 16px;
  border-top: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 72%, transparent);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.cd-preview-tip[data-v-798358dc] {
  width: 100%;
  font-size: var(--app-font-size-micro);
  font-weight: 500;
  line-height: 1.2;
  /* 原来 color-mix(..., 54%) 太淡，深底上只有 1.72:1 —— 提示语等于没写 */
  color: var(--theme-text-muted);
  white-space: nowrap;
}
.cd-footer .ant-btn[data-v-798358dc],
.cd-preview-footer .ant-btn[data-v-798358dc] {
  color: color-mix(in srgb, var(--theme-text-secondary) 86%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 76%, transparent);
  border-color: color-mix(in srgb, var(--theme-border-gray) 24%, transparent);
}
.cd-footer .ant-btn[data-v-798358dc]:disabled,
.cd-preview-footer .ant-btn[data-v-798358dc]:disabled {
  /* 38% 混合后只有 2.08:1，禁用按钮的字彻底看不见 —— 用明确的禁用灰 */
  color: var(--theme-text-disabled);
  background: color-mix(in srgb, var(--theme-background-light) 62%, transparent);
  border-color: color-mix(in srgb, var(--theme-border-gray) 26%, transparent);
}
.cd-preview-footer .ant-btn-dangerous[data-v-798358dc]:not(:disabled) {
  color: var(--theme-error-light);
  border-color: color-mix(in srgb, var(--theme-error-light) 35%, transparent);
}

.timeline-slider[data-v-798358dc] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 6px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 3px;
  outline: none;
  cursor: pointer;
}
.timeline-slider[data-v-798358dc]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F02020;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
  cursor: pointer;
  -webkit-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
}
.timeline-slider[data-v-798358dc]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}
.timeline-slider[data-v-798358dc]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F02020;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
  cursor: pointer;
}
.timeline-slider[data-v-798358dc]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 与 timeline-slider 同款（仅命名不同） */
.ts-slider[data-v-798358dc] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 6px;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 3px;
  outline: none;
  cursor: pointer;
}
.ts-slider[data-v-798358dc]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F02020;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
  cursor: pointer;
  -webkit-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
}
.ts-slider[data-v-798358dc]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}
.ts-slider[data-v-798358dc]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F02020;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
  cursor: pointer;
}
.ts-slider[data-v-798358dc]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 表单字段（label + control 一行布局） */
.cdm-field[data-v-798358dc] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0;
}
.cdm-field-label[data-v-798358dc] {
  font-size: 12px;
  color: #b9b9c7;
  min-width: 40px;
  flex-shrink: 0;
}
.cdm-input[data-v-798358dc] {
  height: 26px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 26px;
  color: #e2e2ea;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  outline: none;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
  width: 100%;
}
.cdm-input[data-v-798358dc]:focus {
  border-color: #F02020;
  background: rgba(255, 255, 255, 0.1);
}
.cdm-val[data-v-798358dc] {
  font-size: 12px;
  color: #e2e2ea;
  min-width: 36px;
  text-align: right;
  flex-shrink: 0;
}

/* toggle 开关 */
.cdm-toggle[data-v-798358dc] {
  position: relative;
  width: 30px;
  height: 16px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  cursor: pointer;
  transition: background 0.18s ease;
  flex-shrink: 0;
}
.cdm-toggle-on[data-v-798358dc] {
  background: #F02020;
}
.cdm-toggle-knob[data-v-798358dc] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.18s ease;
}
.cdm-toggle-on .cdm-toggle-knob[data-v-798358dc] {
  transform: translateX(14px);
}

.cd-tabs .ant-tabs-content-holder {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-background) 28%, transparent);
}
.cd-tabs .ant-tabs-content {
  height: 100%;
  min-height: 0;
}
.cd-tabs .ant-tabs-tabpane {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.cd-tabs .ant-tabs-tabpane-active {
  display: flex;
  flex-direction: column;
}
.cd-scroll {
  flex: 1;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 14px;
  box-sizing: border-box;
}
.cd-tabs .ant-tabs-nav {
  margin: 0;
  height: 52px;
  padding: 8px 12px;
  background: color-mix(in srgb, var(--theme-background-light) 90%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
}
.cd-tabs .ant-tabs-tab {
  color: color-mix(in srgb, var(--theme-text-secondary) 76%, transparent) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  margin: 0 !important;
  padding: 6px 14px !important;
  transition: all 0.2s ease;
}
.cd-tabs .ant-tabs-tab-active {
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--theme-primary-light) 96%, transparent),
      color-mix(in srgb, var(--theme-info) 86%, transparent)) !important;
  border-color: transparent !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-primary) 22%, transparent);
}
.cd-tabs .ant-tabs-tab .ant-tabs-tab-btn {
  color: color-mix(in srgb, var(--theme-text-secondary) 76%, transparent) !important;
  text-shadow: none !important;
}
.cd-tabs .ant-tabs-nav-list {
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-background) 42%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 12%, transparent);
}
.cd-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--theme-text-primary) !important;
}
.cd-tabs .ant-tabs-ink-bar {
  visibility: hidden;
}
.title-cover-step .ant-input,
.title-cover-step .ant-input-affix-wrapper,
.title-cover-step .ant-select-selector,
.title-cover-step textarea.ant-input {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 66%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 16%, transparent) !important;
}

/* 引导提示气泡：指向右侧一键生成按钮 */
.guide-hint[data-v-57931ccd] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 9999px;
  font-size: 12px;
  line-height: 1;
  color: #FF8A7A;
  background: linear-gradient(135deg, rgba(240, 32, 32, 0.16), rgba(168, 6, 18, 0.12));
  border: 1px solid rgba(240, 32, 32, 0.35);
  box-shadow: 0 2px 12px -4px rgba(240, 32, 32, 0.4);
  white-space: nowrap;
  animation: guide-hint-pulse-57931ccd 2s ease-in-out infinite;
}

/* 脉冲呼吸动画 */
@keyframes guide-hint-pulse-57931ccd {
0%,
  100% {
    box-shadow: 0 2px 12px -4px rgba(240, 32, 32, 0.4);
    border-color: rgba(240, 32, 32, 0.35);
}
50% {
    box-shadow: 0 2px 18px -2px rgba(240, 32, 32, 0.7);
    border-color: rgba(240, 32, 32, 0.6);
}
}

/* 左侧脉冲圆点 */
.guide-hint__dot[data-v-57931ccd] {
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: #F02020;
  box-shadow: 0 0 6px 1px rgba(240, 32, 32, 0.8);
}

/* 文字 */
.guide-hint__text[data-v-57931ccd] {
  font-weight: 500;
}

/* 指向箭头（轻微左右摆动） */
.guide-hint__arrow[data-v-57931ccd] {
  font-size: 14px;
  color: #FF8A7A;
  animation: guide-hint-arrow-57931ccd 1.4s ease-in-out infinite;
}
@keyframes guide-hint-arrow-57931ccd {
0%,
  100% {
    transform: translateX(0);
}
50% {
    transform: translateX(3px);
}
}
.source-change-action[data-v-57931ccd] {
  flex-shrink: 0;
  height: 24px;
  padding: 0 10px;
  font-size: var(--app-font-size-caption);
}

.title-cover-step[data-v-57931ccd] {
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.title-cover-layout[data-v-57931ccd] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.58fr);
  gap: 18px;
}
.title-cover-layout.single[data-v-57931ccd] {
  grid-template-columns: minmax(0, 1fr);
}
.title-cover-layout[data-v-57931ccd] {
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
}
.glass-card[data-v-57931ccd] {
  min-height: 0;
  border-radius: 22px;
  background: linear-gradient(145deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid var(--theme-overlay-light);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--theme-background) 30%, transparent);
}
.designer-card[data-v-57931ccd],
.form-card[data-v-57931ccd] {
  padding: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.designer-card[data-v-57931ccd] {
  gap: 12px;
}
.card-head[data-v-57931ccd] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.designer-title[data-v-57931ccd] {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.card-head h3[data-v-57931ccd] {
  margin: 2px 0 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.designer-source[data-v-57931ccd] {
  max-width: 520px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.designer-actions[data-v-57931ccd] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.generate-guide[data-v-57931ccd] {
  position: relative;
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--theme-text-primary) 7ed;
  background: color-mix(in srgb, var(--theme-warning-dark) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-warning) 38%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--theme-warning) 8%, transparent),
    0 8px 22px color-mix(in srgb, var(--theme-warning-dark) 16%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
  white-space: nowrap;
}
.ai-btn[data-v-57931ccd],
.ghost-action[data-v-57931ccd],
.mini-action[data-v-57931ccd],
.primary-action[data-v-57931ccd] {
  border: 0;
  cursor: pointer;
  font-weight: 900;
}
.ai-btn[data-v-57931ccd],
.mini-action[data-v-57931ccd] {
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 24%, transparent);
}
.ghost-action[data-v-57931ccd],
.primary-action[data-v-57931ccd] {
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 12px;
}
.ghost-action[data-v-57931ccd] {
  color: var(--theme-text-secondary);
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.ghost-action.compact[data-v-57931ccd],
.primary-action.compact[data-v-57931ccd] {
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: var(--app-font-size-caption);
}
.ai-btn[data-v-57931ccd]:disabled,
.ghost-action[data-v-57931ccd]:disabled,
.primary-action[data-v-57931ccd]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.primary-action[data-v-57931ccd] {
  color: var(--theme-text-primary);
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary));
  box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-primary) 24%, transparent);
}
.designer-sourced[data-v-57931ccd] {
  max-width: 520px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.designer-source span[data-v-57931ccd] {
  min-width: 0;
  overflow: hidden;
  color: color-mix(in srgb, var(--theme-text-secondary) 68%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.module-nav[data-v-dd54cce3] {
  min-height: 0;
  padding: 12px;
  display: grid;
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  border-radius: 20px;
  border: 1px solid var(--theme-overlay-light);
  background: color-mix(in srgb, var(--theme-overlay-light) 84%, transparent)
}
.nav-item[data-v-dd54cce3] {
  position: relative;
  width: 100%;
  min-height: 68px;
  padding: 11px 12px;
  color: var(--theme-text-secondary);
  border: 1px solid transparent;
  border-radius: 15px;
  background: transparent;
  text-align: left
}
.nav-select[data-v-dd54cce3] {
  width: 100%;
  min-width: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left
}
.switch-wrap[data-v-dd54cce3] {
  position: absolute;
  top: 13px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center
}
.nav-item.active[data-v-dd54cce3] {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-info) 38%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 16%, transparent)
}
.nav-item.disabled[data-v-dd54cce3] {
  opacity: .62
}
.copy[data-v-dd54cce3] {
  min-width: 0;
  display: grid;
  gap: 6px
}
.copy b[data-v-dd54cce3] {
  padding-right: 48px;
  font-size: var(--app-font-size-body);
  font-weight: 900
}
.copy small[data-v-dd54cce3] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.35
}
.module-nav .ant-switch-checked[data-v-dd54cce3] {
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary))
}

.source-panel[data-v-6cd94e7e]{
    display: grid;
    gap: 14px
}
.source-row[data-v-6cd94e7e]{
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-radius: 14px;
    background: color-mix(in srgb,var(--theme-background-light) 46%,transparent)
}
.source-row div[data-v-6cd94e7e]{
    min-width: 0;
    display: grid;
    gap: 4px
}
.control-grid span[data-v-7d1f5afc][data-v-6cd94e7e],.silence-row span[data-v-7d1f5afc][data-v-6cd94e7e],.source-row span[data-v-6cd94e7e]{
    color: var(--theme-text-muted);
    font-size: var(--app-font-size-caption);
    font-weight: 900
}
.source-row b[data-v-6cd94e7e]{
    color: var(--theme-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}
.control-grid[data-v-6cd94e7e]{
    display: grid;
    gap: 10px
}
.control-grid label[data-v-6cd94e7e]{
    display: grid;
    grid-template-columns: 70px minmax(0,1fr) 48px;
    align-items: center;
    gap: 8px
}
.control-grid b[data-v-6cd94e7e]{
    color: var(--theme-text-secondary);
    text-align: right
}
.silence-row[data-v-6cd94e7e]{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap
}
.silence-row small[data-v-6cd94e7e]{
    color: var(--theme-text-muted)
}


.subtitle-panel[data-v-1b90a754] {
  display: grid;
  gap: 12px;
}
.seg-row[data-v-1b90a754] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
.custom-row[data-v-1b90a754] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.custom-row div[data-v-1b90a754],
.field[data-v-1b90a754] {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.preset-grid[data-v-1b90a754] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.preset-card[data-v-1b90a754] {
  min-height: 0;
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--theme-text-secondary);
  border: 1px solid var(--theme-overlay-light);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-background-light) 44%, transparent);
  cursor: pointer;
  text-align: left;
}
.preset-card.active[data-v-1b90a754] {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-info) 58%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 18%, transparent);
}
.preset-card b[data-v-1b90a754] {
  min-width: 0;
  font-size: var(--app-font-size-body);
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preset-preview[data-v-1b90a754] {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.26);
}
.preset-preview img[data-v-1b90a754] {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}
.preset-card em[data-v-1b90a754] {
  align-self: end;
  color: gold;
  font-style: normal;
  font-weight: 900;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
}
.custom-row span[data-v-1b90a754],
.field span[data-v-1b90a754],
.seg-row span[data-v-1b90a754] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.seg-row span[data-v-1b90a754] {
  flex: 0 0 72px;
}
.field .ant-select[data-v-1b90a754] {
  width: 100%;
}
.offset-row[data-v-1b90a754] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.offset-slider[data-v-1b90a754] {
  flex: 1;
  min-width: 0;
}
.offset-row .value-text[data-v-1b90a754] {
  flex: 0 0 auto;
  min-width: 48px;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-caption);
  text-align: right;
}
.custom-row b[data-v-1b90a754] {
  font-size: var(--app-font-size-meta);
}
.custom-row b[data-v-1b90a754],
.toggle-row[data-v-1b90a754] {
  color: var(--theme-text-secondary);
}
.toggle-row .ant-checkbox-wrapper-disabled[data-v-1b90a754] {
  color: var(--theme-text-muted) !important;
  opacity: 0.75;
}
.toggle-row .ant-checkbox-wrapper-disabled .ant-checkbox-inner[data-v-1b90a754] {
  border-color: color-mix(in srgb, var(--theme-text-muted) 50%, transparent) !important;
  background: transparent !important;
}



.ant-segmented {
  background: color-mix(in srgb, var(--theme-background-lighter) 80%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 25%, transparent);
  border-radius: 8px;
  padding: 3px;
  color: var(--theme-text-muted);
}
.ant-segmented-item {
  color: var(--theme-text-muted);
  border-radius: 6px;
  transition: color 0.2s;
}
.ant-segmented-item-selected {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-radius: 6px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent);
}
.title-panel[data-v-3287cf97] {
  display: grid;
  gap: 12px
}
.seg-row[data-v-3287cf97] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px
}
.position-hint[data-v-3287cf97],
.seg-row span[data-v-3287cf97] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption)
}
.seg-row span[data-v-3287cf97] {
  flex: 0 0 72px;
  font-weight: 900
}
.position-hint[data-v-3287cf97] {
  margin: -2px 0 0;
  line-height: 1.7
}
.preset-grid[data-v-3287cf97] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px
}
.preset-card[data-v-3287cf97] {
  min-height: 0;
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--theme-text-secondary);
  border: 1px solid var(--theme-overlay-light);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-background-light) 44%, transparent);
  cursor: pointer;
  text-align: left
}
.preset-card.active[data-v-3287cf97] {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-info) 58%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 18%, transparent)
}
.preset-card b[data-v-3287cf97] {
  min-width: 0;
  font-size: var(--app-font-size-body);
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}
.preset-preview[data-v-3287cf97] {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(0, 0, 0, .26)
}
.preset-preview img[data-v-3287cf97] {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain
}
.text-grid[data-v-3287cf97] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}
.title-input-row[data-v-3287cf97] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center
}
.ai-title-icon-btn[data-v-3287cf97] {
  width: 32px;
  height: 32px;
  color: var(--theme-text-muted);
  border: 1px solid color-mix(in srgb, var(--theme-overlay-light) 70%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 34%, transparent)
}
.ai-title-icon-btn[data-v-3287cf97]:focus,
.ai-title-icon-btn[data-v-3287cf97]:hover {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-info) 45%, transparent);
  background: color-mix(in srgb, var(--theme-info) 12%, transparent)
}
.option-row[data-v-3287cf97] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap
}
.option-row span[data-v-3287cf97] {
  flex: 0 0 72px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900
}
.custom-style-form[data-v-3287cf97] {
  display: grid;
  gap: 10px
}
.style-card[data-v-3287cf97] {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 11px 12px 12px 14px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-overlay-light) 78%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-background-light) 50%, transparent)
}
.effect-card[data-v-3287cf97] {
  background: color-mix(in srgb, var(--theme-background-light) 34%, transparent)
}
.effect-card.active[data-v-3287cf97] {
  background: color-mix(in srgb, var(--theme-info) 9%, var(--theme-background-light));
  border-color: color-mix(in srgb, var(--theme-info) 34%, var(--theme-overlay-light))
}
.style-card-head[data-v-3287cf97] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px
}
.style-card-head>div[data-v-3287cf97] {
  min-width: 0;
  display: grid;
  gap: 2px
}
.style-card-head strong[data-v-3287cf97] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-meta);
  font-weight: 900
}
.card-summary[data-v-3287cf97],
.style-card-head small[data-v-3287cf97] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-micro);
  line-height: 1.4
}
.style-card-head small[data-v-3287cf97] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.card-summary[data-v-3287cf97] {
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-overlay-light) 74%, transparent);
  font-variant-numeric: tabular-nums
}
.style-card-body[data-v-3287cf97] {
  display: grid;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--theme-overlay-light) 66%, transparent)
}
.field-grid[data-v-3287cf97] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px
}
.field-grid label[data-v-3287cf97],
.full-field[data-v-3287cf97] {
  min-width: 0;
  display: grid;
  gap: 6px
}
.field-grid span[data-v-3287cf97],
.full-field span[data-v-3287cf97],
.switch-row span[data-v-3287cf97] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900
}
.color-row[data-v-3287cf97] {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 6px;
  align-items: center
}
.color-row input[type=color][data-v-3287cf97] {
  width: 34px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent
}
.slider-row[data-v-3287cf97] {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
  align-items: center
}
.slider-row .ant-slider[data-v-3287cf97] {
  margin: 4px 0
}
.value-text[data-v-3287cf97] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-variant-numeric: tabular-nums;
  text-align: right
}
.switch-row[data-v-3287cf97] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px
}
.ant-input[data-v-3287cf97]::-moz-placeholder {
  color: var(--theme-text-secondary);
  opacity: .45
}
.ant-input[data-v-3287cf97]::placeholder {
  color: var(--theme-text-secondary);
  opacity: .45
}
.ant-segmented[data-v-3287cf97] {
  background: color-mix(in srgb, var(--theme-background-lighter) 80%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 25%, transparent);
  border-radius: 8px;
  padding: 3px;
  color: var(--theme-text-muted)
}
.ant-segmented-item[data-v-3287cf97] {
  color: var(--theme-text-muted);
  border-radius: 6px;
  transition: color .2s
}
.ant-segmented-item[data-v-3287cf97]:hover:not(.ant-segmented-item-selected) {
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-overlay-medium) 60%, transparent)
}
.ant-segmented-item-selected[data-v-3287cf97] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-radius: 6px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent)
}
.ant-segmented-item-label[data-v-3287cf97] {
  color: inherit
}
.ant-segmented-thumb[data-v-3287cf97] {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-radius: 6px
}

.bgm-panel[data-v-7434b6ea] {
  display: grid;
  gap: 12px
}
.seg-row[data-v-7434b6ea],
.upload-row[data-v-7434b6ea] {
  display: flex;
  align-items: center;
  gap: 10px
}
.seg-row[data-v-7434b6ea] {
  justify-content: space-between
}
.seg-row span[data-v-7434b6ea] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900
}
.upload-row .ant-input[data-v-7434b6ea] {
  flex: 1
}
.upload-row .ant-btn[data-v-7434b6ea] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border: none;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent);
  transition: opacity .2s, box-shadow .2s
}
.upload-row .ant-btn[data-v-7434b6ea]:hover {
  opacity: .88;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-secondary) 50%, transparent)
}
.library[data-v-7434b6ea] {
  height: 100%;
  overflow: auto;
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-background-light) 42%, transparent)
}
.bgm-item[data-v-7434b6ea] {
  width: 100%;
  padding: 8px 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--theme-text-secondary);
  background: transparent;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  text-align: left
}
.bgm-item.active[data-v-7434b6ea] {
  color: var(--theme-text-primary);
  background: color-mix(in srgb, var(--theme-primary) 24%, transparent)
}
.bgm-item span[data-v-7434b6ea] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.ai-bgm-item[data-v-7434b6ea] {
  margin: 8px;
  width: calc(100% - 16px);
  border: 1px solid color-mix(in srgb, var(--theme-primary) 24%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 10%, transparent)
}
.ai-bgm-item small[data-v-7434b6ea] {
  flex-shrink: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-micro);
  font-weight: 800
}
.ant-input[data-v-7434b6ea]::-moz-placeholder {
  color: var(--theme-text-secondary);
  opacity: .45
}
.ant-input[data-v-7434b6ea]::placeholder {
  color: var(--theme-text-secondary);
  opacity: .45
}
.ant-segmented[data-v-7434b6ea] {
  background: color-mix(in srgb, var(--theme-background-lighter) 80%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 25%, transparent);
  border-radius: 8px;
  padding: 3px;
  color: var(--theme-text-muted)
}
.ant-segmented-item[data-v-7434b6ea] {
  color: var(--theme-text-muted);
  border-radius: 6px;
  transition: color .2s
}
.ant-segmented-item[data-v-7434b6ea]:hover:not(.ant-segmented-item-selected) {
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-overlay-medium) 60%, transparent)
}
.ant-segmented-item-selected[data-v-7434b6ea] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-radius: 6px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent)
}
.ant-segmented-item-label[data-v-7434b6ea] {
  color: inherit
}
.ant-segmented-thumb[data-v-7434b6ea] {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border-radius: 6px
}

.pip-mixcut-panel[data-v-92d5e42d] {
  display: grid;
  gap: 14px
}
.description[data-v-2cd2a4ce][data-v-92d5e42d],
.field span[data-v-2cd2a4ce][data-v-92d5e42d],
.status-text[data-v-92d5e42d] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 800
}
.description[data-v-92d5e42d] {
  margin: 0;
  line-height: 1.6
}
.field[data-v-92d5e42d] {
  display: grid;
  gap: 6px
}
.actions[data-v-2cd2a4ce][data-v-92d5e42d],
.status-tags[data-v-92d5e42d] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px
}
.status-text[data-v-92d5e42d] {
  margin: 0
}
.status-tip[data-v-92d5e42d] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: default
}
.tip-dot[data-v-92d5e42d] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0
}
.warning-tip[data-v-92d5e42d] {
  color: var(--theme-warning);
  background: color-mix(in srgb, var(--theme-warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-warning) 30%, transparent)
}
.warning-tip .tip-dot[data-v-92d5e42d] {
  background: var(--theme-warning);
  box-shadow: 0 0 5px color-mix(in srgb, var(--theme-warning) 60%, transparent)
}
.ant-btn[data-v-92d5e42d]:not(.ant-btn-dangerous) {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border: none;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent);
  transition: opacity .2s, box-shadow .2s
}
.ant-btn[data-v-92d5e42d]:not(.ant-btn-dangerous):hover {
  opacity: .88;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-secondary) 50%, transparent)
}
.ant-btn-dangerous[data-v-92d5e42d] {
  border-radius: 8px;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--theme-error) 60%, transparent);
  color: var(--theme-error) !important;
  background: color-mix(in srgb, var(--theme-error) 10%, transparent)
}
.ant-btn-dangerous[data-v-92d5e42d]:hover {
  background: color-mix(in srgb, var(--theme-error) 20%, transparent) !important;
  border-color: var(--theme-error) !important
}
.actions[data-v-92d5e42d],
.status-tags[data-v-92d5e42d] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.preview-stage[data-v-2149a9f1] {
  min-height: 0;
  height: 100%;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  border: 1px solid var(--theme-overlay-light);
  background: color-mix(in srgb, var(--theme-overlay-light) 84%, transparent);
  overflow: hidden;
}
.preview-head[data-v-2149a9f1] {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}
.preview-head > div[data-v-2149a9f1]:first-child {
  min-width: 0;
  flex: 1 1 180px;
}
.preview-head h3[data-v-2149a9f1] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.preview-head p[data-v-2149a9f1] {
  margin: 4px 0 0;
  max-width: 100%;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preview-actions[data-v-2149a9f1] {
  min-width: 0;
  max-width: 100%;
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.preview-actions .ant-btn[data-v-2149a9f1],
.preview-actions .ant-segmented[data-v-2149a9f1],
.preview-actions .ant-tag[data-v-2149a9f1] {
  flex: 0 0 auto;
}
.stage-canvas[data-v-2149a9f1] {
  position: relative;
  flex: 1;
  min-height: 0;
  margin-top: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  background: color-mix(in srgb, var(--theme-background) 70%, transparent);
  border: 1px solid var(--theme-overlay-light);
}
.media-surface[data-v-2149a9f1] {
  position: relative;
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
}
.media-surface img[data-v-2149a9f1],
.media-surface video[data-v-2149a9f1] {
  width: 100%;
  height: 100%;
  display: block;
  background: #000;
  -o-object-fit: contain;
  object-fit: contain;
}
.rendered-surface.expanded[data-v-2149a9f1] {
  position: fixed;
  inset: 54px 40px 34px;
  z-index: 9999;
  width: auto;
  height: auto;
  padding: 38px 44px;
  border-radius: 24px;
  border: 1px solid color-mix(in srgb, var(--theme-overlay-light) 72%, transparent);
  background: color-mix(in srgb, var(--theme-background) 58%, transparent);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(22px) saturate(1.22);
  -webkit-backdrop-filter: blur(22px) saturate(1.22);
}
.rendered-surface.expanded[data-v-2149a9f1]:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 18% 12%, hsla(0, 0%, 100%, 0.12), transparent 34%), linear-gradient(135deg, hsla(0, 0%, 100%, 0.08), hsla(0, 0%, 100%, 0.02));
  pointer-events: none;
}
.rendered-surface.expanded video[data-v-2149a9f1] {
  position: relative;
  z-index: 1;
  width: auto;
  height: auto;
  max-width: calc(100vw - 128px);
  max-height: calc(100vh - 150px);
  border-radius: 18px;
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.48);
}
.window-fullscreen-action[data-v-2149a9f1] {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 8;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: hsla(0, 0%, 100%, 0.92);
  background: rgba(0, 0, 0, 0.42);
  border: 1px solid hsla(0, 0%, 100%, 0.22);
  border-radius: 10px;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.rendered-surface.expanded .window-fullscreen-action[data-v-2149a9f1],
.rendered-surface:hover .window-fullscreen-action[data-v-2149a9f1],
.window-fullscreen-action[data-v-2149a9f1]:focus-visible {
  opacity: 1;
}
.rendered-surface.expanded .window-fullscreen-action[data-v-2149a9f1] {
  right: 28px;
  top: 28px;
  z-index: 2;
  background: rgba(12, 14, 24, 0.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.window-fullscreen-action[data-v-2149a9f1]:hover {
  background: rgba(0, 0, 0, 0.62);
  border-color: hsla(0, 0%, 100%, 0.42);
}
.window-fullscreen-action svg[data-v-2149a9f1] {
  font-size: var(--app-font-size-card-title);
}
.overlay-layer[data-v-2149a9f1] {
  position: absolute;
  z-index: 4;
  pointer-events: none;
}
.frame-loading[data-v-2149a9f1] {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: grid;
  place-items: center;
  color: hsla(0, 0%, 100%, 0.82);
  background: rgba(0, 0, 0, 0.32);
  font-size: var(--app-font-size-caption);
}
.empty-state[data-v-2149a9f1] {
  display: grid;
  place-items: center;
  gap: 8px;
  color: var(--theme-text-muted);
  text-align: center;
}
.empty-state svg[data-v-2149a9f1] {
  font-size: 44px;
}
.empty-state strong[data-v-2149a9f1] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
}
.namecard-overlay[data-v-2149a9f1],
.subtitle-overlay[data-v-2149a9f1],
.title-overlay[data-v-2149a9f1] {
  position: absolute;
  z-index: 4;
  pointer-events: none;
}
.subtitle-overlay[data-v-2149a9f1] {
  max-width: 88%;
  padding: 0.18em 0.42em;
  border-radius: 0.26em;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  transform: translate(-50%, -50%);
}
.subtitle-highlight[data-v-2149a9f1] {
  color: gold;
}
.title-overlay[data-v-2149a9f1] {
  min-width: 5em;
  padding: 0.16em 0.36em;
  display: grid;
  gap: 2px;
  border-radius: 999px;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}
.title-overlay.template[data-v-2149a9f1] {
  min-width: 0;
  padding: 0;
  display: block;
  border-radius: 0;
}
.namecard-overlay.draggable[data-v-2149a9f1],
.title-overlay.draggable[data-v-2149a9f1],
.title-overlay.template[data-v-2149a9f1] {
  pointer-events: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.title-overlay.draggable[data-v-2149a9f1],
.title-overlay.template[data-v-2149a9f1] {
  cursor: ns-resize;
}
.namecard-overlay.draggable[data-v-2149a9f1] {
  cursor: move;
}

/* 2026-09-20 修：「称呼加粗」开关此前完全无效 ——
   一是 nameBoldWeight 的三元取反了（true 反而给 400），
   二是 --namecard-name-weight 设了却无人消费（全项目、含 global.css 都没有使用者）。
   这里补上唯一消费点，开关才真正生效。 */
.namecard-name[data-v-2149a9f1] {
  font-weight: var(--namecard-name-weight, 700);
}
.title-template-line[data-v-2149a9f1] {
  z-index: 1;
  display: block;
}
.title-custom-line[data-v-2149a9f1] {
  display: block;
  font: inherit;
  color: inherit;
  opacity: 1;
  white-space: nowrap;
}
.subtitle-settings[data-v-400422e9] {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #f3f4f6;
}

/* ===== 设置区块（暗色卡） ===== */
.settings-section[data-v-400422e9] {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.03);
}
.section-header[data-v-400422e9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-title[data-v-400422e9] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #f3f4f6;
}

/* ===== 设置行 ===== */
.setting-row[data-v-400422e9] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.setting-row label[data-v-400422e9] {
  font-size: 13px;
  color: #9ca3af;
  min-width: 70px;
  flex-shrink: 0;
}
.setting-row[data-v-400422e9] .ant-select {
  flex: 1;
  min-width: 80px;
}
.setting-row[data-v-400422e9] .ant-slider {
  flex: 1;
  min-width: 60px;
}
.setting-row[data-v-400422e9] .ant-radio-group {
  flex: 1;
}
.value-text[data-v-400422e9] {
  font-size: 13px;
  color: #f3f4f6;
  min-width: 40px;
  text-align: right;
  font-weight: 600;
  font-family: ui-monospace, SFMono-Regular, monospace;
}

/* ===== 颜色选择器 ===== */
.color-row[data-v-400422e9] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
}
.color-picker[data-v-400422e9] {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 2px;
  cursor: pointer;
  flex-shrink: 0;
  background: transparent;
}
.color-row[data-v-400422e9] .ant-input {
  flex: 1;
}

/* ===== 禁用提示 ===== */
.disabled-hint[data-v-400422e9] {
  font-size: 13px;
  color: #9ca3af;
  padding: 8px 0 2px 0;
  font-style: italic;
  margin-top: 8px;
}

/* ===== 复选框组 ===== */
.setting-row[data-v-400422e9] .ant-checkbox-group {
  display: flex;
  gap: 12px;
}

/* ===== 响应式 ===== */
@media (max-width: 640px) {
.setting-row[data-v-400422e9] {
    flex-wrap: wrap;
    gap: 6px;
}
.setting-row label[data-v-400422e9] {
    min-width: 60px;
    font-size: 12px;
}
.value-text[data-v-400422e9] {
    min-width: 32px;
    font-size: 12px;
}
.settings-section[data-v-400422e9] {
    padding: 10px 12px;
}
}

.subtitle-modal-wrapper .ant-modal-content {
  background: #15152a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 0;
}
.subtitle-modal-wrapper .ant-modal-close {
  color: rgba(255, 255, 255, 0.6);
}
.subtitle-modal-wrapper .ant-modal-close:hover {
  color: #f3f4f6;
  background: rgba(255, 255, 255, 0.08);
}
.subtitle-modal-wrapper .ant-modal-header {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: 16px 20px;
  margin: 0;
}
.subtitle-modal-wrapper .ant-modal-title {
  color: #f3f4f6;
  font-size: 15px;
  font-weight: 600;
}
.subtitle-modal-wrapper .ant-modal-body {
  background: #15152a;
  color: #e5e7eb;
  padding: 20px 24px;
}
.subtitle-modal-wrapper .ant-modal-footer {
  background: #15152a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 12px 20px;
  border-radius: 0 0 14px 14px;
}
.subtitle-modal-wrapper .ant-modal-footer .ant-btn-primary {
  background: linear-gradient(135deg, #F02020 0%, #C00812 100%);
  border-color: transparent;
  box-shadow: none;
}
.subtitle-modal-wrapper .ant-modal-footer .ant-btn-primary:hover {
  background: linear-gradient(135deg, #FF4A44 0%, #E8552F 100%);
  border-color: transparent;
}
.subtitle-modal-wrapper .ant-modal-footer .ant-btn:not(.ant-btn-primary) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
  color: #e5e7eb;
}
.subtitle-modal-wrapper .ant-modal-footer .ant-btn:not(.ant-btn-primary):hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.1);
  color: #f3f4f6;
}
.studio-header[data-v-1bb5cca0] {
  flex-shrink: 0;
  min-height: 66px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 20px;
  border: 1px solid var(--theme-overlay-light);
  background: color-mix(in srgb, var(--theme-overlay-light) 84%, transparent);
}
.source-info[data-v-1bb5cca0] {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 4px;
}
.source-info span[data-v-1bb5cca0] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.source-info b[data-v-1bb5cca0] {
  min-width: 0;
  color: var(--theme-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.source-file-row[data-v-1bb5cca0] {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.source-change-action[data-v-1bb5cca0] {
  flex-shrink: 0;
  height: 24px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-info) 24%, transparent);
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 16%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.source-change-action[data-v-af8b9e72][data-v-1bb5cca0]:hover {
  color: var(--theme-primary-text);
  border-color: color-mix(in srgb, var(--theme-primary) 42%, transparent);
  background: color-mix(in srgb, var(--theme-primary-light) 24%, transparent);
}
.header-actions[data-v-1bb5cca0] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-actions .ant-btn[data-v-1bb5cca0]:not(.ant-btn-primary) {
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-overlay-medium) 80%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 28%, transparent);
  border-radius: 8px;
  font-weight: 600;
}
.header-actions .ant-btn[data-v-1bb5cca0]:not(.ant-btn-primary):hover:not(:disabled) {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-secondary) 55%, transparent);
  background: color-mix(in srgb, var(--theme-secondary) 14%, transparent);
}
.header-actions .ant-btn-primary[data-v-1bb5cca0] {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  border: none;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--theme-secondary) 35%, transparent);
}
.header-actions .ant-btn-primary[data-v-1bb5cca0]:hover:not(:disabled) {
  opacity: 0.88;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-secondary) 50%, transparent);
}
.header-actions .ant-btn.ant-btn-disabled[data-v-1bb5cca0],
.header-actions .ant-btn[data-v-1bb5cca0]:disabled {
  color: var(--theme-text-muted) !important;
  background: color-mix(in srgb, var(--theme-overlay-light) 160%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-overlay-medium) 60%, transparent) !important;
  box-shadow: none !important;
  opacity: 0.55;
  cursor: not-allowed;
}
.viral-studio-step[data-v-3d7819fa] {
  position: relative;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: var(--theme-text-primary);
}
.studio-layout[data-v-3d7819fa] {
  position: relative;
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 208px minmax(300px, 0.9fr) minmax(0, 1.1fr);
  gap: 12px;
}
.module-detail[data-v-3d7819fa] {
  min-height: 0;
  padding: 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid var(--theme-overlay-light);
  background: color-mix(in srgb, var(--theme-overlay-light) 84%, transparent);
}
.detail-head[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.detail-head h3[data-v-3d7819fa] {
  margin: 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.detail-head p[data-v-3d7819fa] {
  margin: 4px 0 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.detail-body[data-v-3d7819fa] {
  flex: 1;
  min-height: 0;
  margin-top: 16px;
  overflow-y: auto;
}

/* ==========================================================================
   画中画编辑器（悬浮层）
   ========================================================================== */
.pip-editor-dialog[data-v-3d7819fa] {
  width: min(1080px, 92vw);
  height: min(720px, 84vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--theme-modal-border);
  background: var(--theme-modal-bg);
  box-shadow: 0 24px 64px var(--theme-shadow-darker);
  color: var(--theme-text-primary);
}
.pip-editor-dialog-header[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--theme-border);
  background: var(--theme-modal-header-bg);
}
.pip-editor-dialog-header h3[data-v-3d7819fa] {
  margin: 0;
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
  color: var(--theme-text-primary);
}
.pip-editor-close[data-v-3d7819fa] {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--theme-border-gray);
  border-radius: 8px;
  background: transparent;
  color: var(--theme-text-muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.15s;
}
.pip-editor-close[data-v-3d7819fa]:hover {
  color: var(--theme-text-primary);
  border-color: var(--theme-border-purple-light);
}
.pip-editor-dialog-body[data-v-3d7819fa] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 14px;
  padding: 16px 20px;
  overflow: hidden;
}

/* ---------- 左右两栏公共 ---------- */
.pip-subtitle-list[data-v-3d7819fa],
.pip-material-pane[data-v-3d7819fa] {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--theme-overlay-light);
  background: color-mix(in srgb, var(--theme-overlay-light) 84%, transparent);
}
.pip-pane-head[data-v-3d7819fa] {
  flex-shrink: 0;
}
.pip-pane-head h4[data-v-3d7819fa] {
  margin: 0;
  font-size: var(--app-font-size-secondary);
  font-weight: 800;
  color: var(--theme-text-primary);
}
.pip-pane-head p[data-v-3d7819fa] {
  margin: 4px 0 0;
  font-size: var(--app-font-size-micro);
  line-height: 1.5;
  color: var(--theme-text-muted);
}

/* ---------- 左栏：字幕片段 ---------- */
.pip-row-actions[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pip-row-list[data-v-3d7819fa] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  padding-right: 4px;
}
.pip-subtitle-row[data-v-3d7819fa] {
  flex-shrink: 0;
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  text-align: left;
  border-radius: 10px;
  border: 1px solid var(--theme-border-gray);
  background: transparent;
  color: var(--theme-text-secondary);
  cursor: pointer;
  transition: all 0.15s;
}
.pip-subtitle-row[data-v-3d7819fa]:hover {
  border-color: var(--theme-border-purple-light);
}
.pip-subtitle-row.selected[data-v-3d7819fa] {
  border-color: var(--theme-secondary);
  background: var(--theme-overlay-purple-strong);
}
.pip-row-check[data-v-3d7819fa] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  border: 1px solid var(--theme-border-gray);
  font-size: 11px;
  line-height: 1;
  color: transparent;
}
.pip-subtitle-row.selected .pip-row-check[data-v-3d7819fa] {
  border-color: var(--theme-secondary);
  background: var(--theme-secondary);
  color: #fff;
}
.pip-row-main[data-v-3d7819fa] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pip-row-time[data-v-3d7819fa] {
  font-size: var(--app-font-size-micro);
  color: var(--theme-text-muted);
  font-variant-numeric: tabular-nums;
}
.pip-row-text[data-v-3d7819fa] {
  font-size: var(--app-font-size-caption);
  line-height: 1.45;
  color: var(--theme-text-primary);
  word-break: break-word;
}
.pip-row-media[data-v-3d7819fa] {
  align-self: flex-start;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: var(--app-font-size-micro);
  color: var(--theme-tag-processing-text);
  background: var(--theme-overlay-purple-strong);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- 右栏：画中画素材 ---------- */
.pip-source-switch[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
}
.pip-source-switch[data-v-3d7819fa] .ant-radio-button-wrapper {
  flex: 1;
  text-align: center;
}
.pip-material-category[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pip-material-category > span[data-v-3d7819fa] {
  flex-shrink: 0;
  font-size: var(--app-font-size-caption);
  color: var(--theme-text-muted);
}
.pip-material-category[data-v-3d7819fa] .ant-select {
  flex: 1;
  min-width: 0;
}
.pip-material-list[data-v-3d7819fa] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(146px, 1fr));
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  padding-right: 4px;
}
.pip-material-list.loading[data-v-3d7819fa] {
  opacity: 0.5;
  pointer-events: none;
}
.pip-material-item[data-v-3d7819fa] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  text-align: left;
  border-radius: 10px;
  border: 1px solid var(--theme-border-gray);
  background: transparent;
  color: var(--theme-text-secondary);
  cursor: pointer;
  transition: all 0.15s;
}
.pip-material-item[data-v-3d7819fa]:hover {
  border-color: var(--theme-border-purple-light);
}
.pip-material-item.selected[data-v-3d7819fa] {
  border-color: var(--theme-secondary);
  background: var(--theme-overlay-purple-strong);
}
.pip-material-thumb[data-v-3d7819fa] {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 7px;
  background: var(--theme-background-lighter);
}
.pip-material-thumb img[data-v-3d7819fa],
.pip-material-thumb video[data-v-3d7819fa] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pip-material-thumb-empty[data-v-3d7819fa] {
  font-size: var(--app-font-size-micro);
  color: var(--theme-text-disabled);
}
.pip-material-info[data-v-3d7819fa] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pip-material-name[data-v-3d7819fa] {
  font-size: var(--app-font-size-micro);
  color: var(--theme-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pip-material-meta[data-v-3d7819fa] {
  font-size: var(--app-font-size-micro);
  color: var(--theme-text-muted);
}
.pip-material-pagination[data-v-3d7819fa] {
  flex-shrink: 0;
  text-align: center;
}
.pip-local-box[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border-radius: 12px;
  border: 1px dashed var(--theme-border-light);
  background: var(--theme-overlay-purple);
}
.pip-local-box p[data-v-3d7819fa] {
  margin: 0;
  font-size: var(--app-font-size-micro);
  color: var(--theme-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- 底部按钮 ---------- */
.pip-editor-dialog-footer[data-v-3d7819fa] {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid var(--theme-border);
  background: var(--theme-modal-footer-bg);
}

.publish-step[data-v-908605a4] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.publish-layout[data-v-908605a4] {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 18px;
}
.glass-card[data-v-908605a4] {
  min-height: 0;
  padding: 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(circle at 18% 0,
      color-mix(in srgb, var(--theme-primary-light) 16%, transparent),
      transparent 28%),
    linear-gradient(145deg, var(--theme-overlay-light), var(--theme-overlay-light));
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 16%, transparent);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--theme-background) 30%, transparent);
}
.card-head[data-v-908605a4] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.card-kicker[data-v-908605a4] {
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-micro);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.card-head h3[data-v-908605a4] {
  margin: 4px 0 0;
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-card-title);
  font-weight: 900;
}
.mini-action[data-v-908605a4] {
  height: 34px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 24%, transparent);
  cursor: pointer;
  font-weight: 900;
}
.account-summary[data-v-908605a4],
.publish-copy-card[data-v-908605a4],
.setting-block[data-v-908605a4],
.video-source-card[data-v-908605a4] {
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--theme-background-light) 48%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  box-shadow: inset 0 1px 0 var(--theme-overlay-light);
}
.copy-row[data-v-908605a4],
.cover-row[data-v-908605a4],
.setting-label[data-v-908605a4],
.source-info[data-v-908605a4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.copy-row span[data-v-908605a4],
.cover-row span[data-v-908605a4],
.setting-label span[data-v-908605a4],
.source-info span[data-v-908605a4] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.copy-row b[data-v-908605a4],
.cover-row b[data-v-908605a4],
.setting-label b[data-v-908605a4],
.source-info b[data-v-908605a4] {
  min-width: 0;
  overflow: hidden;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.setting-label b[data-v-908605a4] {
  color: var(--theme-warning);
}
.video-preview-shell[data-v-908605a4] {
  height: clamp(180px, 42vh, 330px);
  margin-top: 12px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--theme-background);
  border: 1px solid color-mix(in srgb, var(--theme-info) 24%, transparent);
  box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-background) 32%, transparent);
}
.video-preview-shell video[data-v-908605a4] {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  background: var(--theme-background);
}
.account-empty[data-v-908605a4],
.empty-video[data-v-908605a4] {
  flex: 1;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--theme-text-muted);
  text-align: center;
}
.account-empty svg[data-v-908605a4],
.empty-video svg[data-v-908605a4] {
  color: var(--theme-text-gradient-purple);
  font-size: 48px;
}
.account-empty p[data-v-908605a4],
.empty-video p[data-v-908605a4] {
  margin: 0;
  color: var(--theme-text-primary);
  font-weight: 900;
}
.publish-copy-card.compact[data-v-908605a4] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 192px;
  align-items: stretch;
  gap: 12px;
}
.copy-main[data-v-908605a4] {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.edit-field[data-v-908605a4] {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.edit-field span[data-v-908605a4] {
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.tag-input-shell[data-v-908605a4] {
  min-height: 36px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-background-light) 86%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 26%, transparent);
}
.topic-tag[data-v-908605a4] {
  height: 23px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 24%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 24%, transparent);
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.topic-tag button[data-v-908605a4] {
  width: 15px;
  height: 15px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--theme-text-secondary);
  background: var(--theme-overlay-light);
  line-height: 13px;
  cursor: pointer;
}
.tag-input-shell input[data-v-908605a4] {
  flex: 1;
  min-width: 110px;
  height: 23px;
  border: 0;
  outline: none;
  color: var(--theme-text-secondary);
  background: transparent;
  font-size: var(--app-font-size-caption);
}
.cover-row[data-v-908605a4] {
  align-items: stretch;
}
.cover-row.compact[data-v-908605a4] {
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  padding-left: 12px;
  border-left: 1px solid color-mix(in srgb, var(--theme-border-gray) 14%, transparent);
  text-align: center;
}
.cover-row.compact[data-v-908605a4],
.cover-row>div[data-v-908605a4] {
  display: grid;
  align-content: center;
  gap: 6px;
}
.cover-empty[data-v-908605a4],
.cover-preview-trigger[data-v-908605a4],
.cover-row>img[data-v-908605a4] {
  width: 112px;
  aspect-ratio: 9/16;
  border-radius: 12px;
  -o-object-fit: cover;
  object-fit: cover;
  background: color-mix(in srgb, var(--theme-background) 72%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 20%, transparent);
}
.cover-row.compact .cover-empty[data-v-908605a4],
.cover-row.compact .cover-preview-trigger[data-v-908605a4],
.cover-row.compact>img[data-v-908605a4] {
  align-self: center;
  justify-self: center;
}
.cover-preview-trigger[data-v-908605a4] {
  position: relative;
  padding: 0;
  overflow: hidden;
  cursor: zoom-in;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.cover-preview-trigger[data-v-908605a4]:focus-visible,
.cover-preview-trigger[data-v-908605a4]:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--theme-info) 54%, transparent);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--theme-primary) 20%, transparent);
  outline: none;
}
.cover-preview-trigger img[data-v-908605a4] {
  width: 100%;
  height: 100%;
  display: block;
}
.cover-empty[data-v-908605a4] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--theme-text-gradient-purple);
  font-size: var(--app-font-size-section-title);
}
.cover-row.compact b[data-v-908605a4] {
  max-width: 160px;
  color: var(--theme-text-secondary);
  font-size: var(--app-font-size-micro);
  text-align: center;
  white-space: normal;
}
.cover-select-btn[data-v-908605a4] {
  height: 28px;
  padding: 0 12px;
  justify-self: center;
  border: 0;
  border-radius: 999px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 20%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 26%, transparent);
  cursor: pointer;
  font-size: var(--app-font-size-caption);
  font-weight: 900;
}
.cover-select-btn[data-v-908605a4]:hover {
  color: var(--theme-text-primary);
  background: color-mix(in srgb, var(--theme-primary-light) 32%, transparent);
}
.risk-alert[data-v-908605a4] {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--theme-warning);
  background: color-mix(in srgb, var(--theme-warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-warning) 22%, transparent);
  font-size: var(--app-font-size-caption);
  line-height: 1.5;
}
.account-summary[data-v-908605a4] {
  flex: 0 1 auto;
  max-height: clamp(180px, 32vh, 300px);
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.account-summary[data-v-908605a4]::-webkit-scrollbar {
  width: 8px;
}
.account-summary[data-v-908605a4]::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--theme-background-light) 36%, transparent);
  border-radius: 999px;
}
.account-summary[data-v-908605a4]::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--theme-info) 42%, transparent);
  border-radius: 999px;
}
.account-summary[data-v-908605a4]::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--theme-info) 56%, transparent);
}
.account-grid[data-v-908605a4] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.account-card[data-v-908605a4] {
  min-width: 0;
  min-height: 64px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 14px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-background-card) 68%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 14%, transparent);
  cursor: pointer;
  text-align: left;
  transition: all 0.2s ease;
}
.account-card[data-v-908605a4]:hover {
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--theme-primary) 18%, transparent);
  border-color: color-mix(in srgb, var(--theme-info) 34%, transparent);
}
.account-card.selected[data-v-908605a4] {
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--theme-primary) 62%, transparent),
      color-mix(in srgb, var(--theme-secondary-dark) 44%, transparent));
  border-color: color-mix(in srgb, var(--theme-info) 58%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--theme-primary) 18%, transparent);
}
.account-avatar[data-v-908605a4] {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--theme-text-primary);
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  font-weight: 900;
}
.account-card-main[data-v-908605a4] {
  min-width: 0;
  flex: 1;
}
.account-card-main b[data-v-908605a4],
.account-card-main small[data-v-908605a4] {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-card-main b[data-v-908605a4] {
  color: var(--theme-text-primary);
  font-size: var(--app-font-size-meta);
}
.account-card-main small[data-v-908605a4] {
  margin-top: 3px;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
}
.account-check[data-v-908605a4] {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: transparent;
  background: color-mix(in srgb, var(--theme-background-light) 52%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 18%, transparent);
  font-weight: 900;
}
.account-card.selected .account-check[data-v-908605a4] {
  color: var(--theme-text-primary);
  background: var(--theme-success);
  border-color: color-mix(in srgb, var(--theme-success) 80%, transparent);
}
.account-empty button[data-v-908605a4] {
  border: 0;
  color: var(--theme-text-gradient-purple);
  background: transparent;
  cursor: pointer;
  font-weight: 900;
}
.mode-toggle[data-v-908605a4] {
  margin-top: 10px;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-background) 42%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 16%, transparent);
}
.mode-option[data-v-908605a4] {
  height: 34px;
  border: 0;
  border-radius: 999px;
  color: color-mix(in srgb, var(--theme-text-secondary) 74%, transparent);
  background: transparent;
  cursor: pointer;
  font-weight: 900;
}
.mode-option.active[data-v-908605a4] {
  color: var(--theme-text-primary);
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--theme-primary-light) 96%, transparent),
      color-mix(in srgb, var(--theme-info) 86%, transparent));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-primary) 22%, transparent);
}
.auto-close-row[data-v-908605a4] {
  margin-top: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  color: var(--theme-text-muted);
  background: color-mix(in srgb, var(--theme-background) 28%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-border-gray) 12%, transparent);
  font-size: var(--app-font-size-meta);
}
.publish-btn[data-v-908605a4] {
  flex-shrink: 0;
  height: 48px;
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 16px;
  color: var(--theme-text-primary);
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-primary) 28%, transparent);
  cursor: pointer;
  font-size: var(--app-font-size-body);
  font-weight: 900;
}
.publish-btn[data-v-908605a4]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.bottom-progress[data-v-908605a4] {
  margin-top: 10px;
  flex-shrink: 0;
}
.publish-step .ant-checkbox-inner[data-v-908605a4],
.publish-step .ant-input[data-v-908605a4],
.publish-step .ant-select-selector[data-v-908605a4],
.publish-step textarea.ant-input[data-v-908605a4] {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 86%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 26%, transparent) !important;
}
.publish-step .ant-input[data-v-908605a4]::-moz-placeholder,
.publish-step textarea.ant-input[data-v-908605a4]::-moz-placeholder,
.tag-input-shell input[data-v-908605a4]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.publish-step .ant-input[data-v-908605a4]::-moz-placeholder, .publish-step textarea.ant-input[data-v-908605a4]::-moz-placeholder, .tag-input-shell input[data-v-908605a4]::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.publish-step .ant-input[data-v-908605a4]::placeholder,
.publish-step textarea.ant-input[data-v-908605a4]::placeholder,
.tag-input-shell input[data-v-908605a4]::placeholder {
  color: var(--theme-text-muted) !important;
}
.publish-step .ant-select-arrow[data-v-908605a4],
.publish-step .ant-select-selection-item[data-v-908605a4],
.publish-step .ant-select-selection-placeholder[data-v-908605a4] {
  color: color-mix(in srgb, var(--theme-text-secondary) 88%, transparent) !important;
}
.publish-step .ant-select-selection-item[data-v-908605a4] {
  background: color-mix(in srgb, var(--theme-primary-light) 22%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 24%, transparent) !important;
}
.cover-preview-body[data-v-908605a4] {
  display: flex;
  justify-content: center;
  padding: 8px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-background) 72%, transparent);
}
.cover-preview-image[data-v-908605a4] {
  max-width: 100%;
  max-height: 72vh;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 10px;
}
.cover-preview-modal .ant-modal-content[data-v-908605a4] {
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-background-light) 96%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--theme-info) 22%, transparent);
  border-radius: 18px;
  box-shadow: 0 24px 72px color-mix(in srgb, var(--theme-background) 60%, transparent);
}
.cover-preview-modal .ant-modal-header[data-v-908605a4] {
  background: transparent !important;
}
.cover-preview-modal .ant-modal-title[data-v-908605a4] {
  color: var(--theme-text-primary) !important;
  font-weight: 900;
}
.cover-preview-modal .ant-modal-close[data-v-908605a4] {
  color: var(--theme-text-muted) !important;
}
.account-modal-body {
  display: grid;
  gap: 16px;
}
.modal-tip {
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--theme-text-secondary);
  background: color-mix(in srgb, var(--theme-primary-light) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-info) 22%, transparent);
  font-size: var(--app-font-size-caption);
  line-height: 1.5;
}
.account-modal-body .ant-form-item-label > label {
  color: var(--theme-text-muted);
  font-weight: 900;
}
.account-modal-body .ant-input,
.account-modal-body .ant-select-selector {
  color: var(--theme-text-secondary) !important;
  background: color-mix(in srgb, var(--theme-background-light) 78%, transparent) !important;
  border-color: color-mix(in srgb, var(--theme-info) 24%, transparent) !important;
}
.account-modal-body .ant-input::-moz-placeholder {
  color: var(--theme-text-muted) !important;
}
.account-modal-body .ant-input::placeholder,
.account-modal-body .ant-select-arrow,
.account-modal-body .ant-select-selection-placeholder {
  color: var(--theme-text-muted) !important;
}
.account-modal-body .ant-select-selection-item,
.account-modal-body .ant-select-selection-search-input {
  color: var(--theme-text-secondary) !important;
}
.form-help {
  margin-top: 6px;
  color: color-mix(in srgb, var(--theme-text-secondary) 68%, transparent);
  font-size: var(--app-font-size-caption);
  line-height: 1.4;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.modal-btn {
  height: 36px;
  padding: 0 18px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  font-weight: 900;
}
.modal-btn.ghost {
  color: var(--theme-text-secondary);
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-overlay-light);
}
.modal-btn.primary {
  color: var(--theme-text-primary);
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary));
}
.modal-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.publish-account-modal .ant-modal-content {
  padding: 0 !important;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-background-light) 96%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--theme-info) 22%, transparent);
  border-radius: 18px;
  box-shadow: 0 24px 72px color-mix(in srgb, var(--theme-background) 60%, transparent);
}
.publish-account-modal .ant-modal-header {
  margin: 0 !important;
  padding: 18px 22px;
  background: color-mix(in srgb, var(--theme-background-card) 82%, transparent) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-border-gray) 16%, transparent);
}
.publish-account-modal .ant-modal-title {
  color: var(--theme-text-primary) !important;
  font-weight: 900;
}
.publish-account-modal .ant-modal-close {
  color: var(--theme-text-muted) !important;
}
.publish-account-modal .ant-modal-body {
  padding: 20px 22px 22px !important;
}
.publish-account-dropdown {
  padding: 8px !important;
  background: color-mix(in srgb, var(--theme-background) 98%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--theme-info) 26%, transparent) !important;
  box-shadow: 0 22px 60px color-mix(in srgb, var(--theme-background) 56%, transparent) !important;
}
.publish-account-dropdown .ant-select-item {
  min-height: 42px;
  border-radius: 10px;
  color: color-mix(in srgb, var(--theme-text-secondary) 92%, transparent) !important;
  background: transparent !important;
}
.publish-account-dropdown .ant-select-item-group {
  padding: 8px 8px 4px;
  color: var(--theme-text-gradient-purple) !important;
  font-weight: 900;
}
.publish-account-dropdown .ant-select-item-option-active {
  background: color-mix(in srgb, var(--theme-primary-light) 18%, transparent) !important;
}
.publish-account-dropdown .ant-select-item-option-selected {
  background: color-mix(in srgb, var(--theme-primary) 38%, transparent) !important;
}
.publish-account-dropdown .ant-select-item-option-content {
  color: color-mix(in srgb, var(--theme-text-secondary) 94%, transparent) !important;
}
.publish-account-dropdown .ant-select-item-option-state {
  color: var(--theme-info) !important;
}
.home-dashboard[data-v-e458e71a] {
  width: 100%;
  height: calc(100vh - 110px);
  min-height: calc(100vh - 110px);
  overflow: hidden;
  color: var(--theme-text-primary);
}
.workflow-shell[data-v-e458e71a] {
  position: relative;
  height: 100%;
  min-height: 0;
  display: flex;
  gap: 14px;
  padding: 0;
  box-sizing: border-box;
}
.workflow-shell[data-v-e458e71a]::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 24px;
  pointer-events: none;
}
.workflow-left[data-v-e458e71a] {
  width: clamp(240px, 218px * var(--app-font-scale), 292px);
  flex-shrink: 0;
  padding: calc(16px * var(--app-font-scale)) calc(13px * var(--app-font-scale));
  border-radius: 22px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-background-light) 96%, transparent), color-mix(in srgb, var(--theme-background) 96%, transparent));
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 18%, transparent);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.workflow-header[data-v-e458e71a] {
  margin-bottom: 18px;
}
.workflow-title-row[data-v-e458e71a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.workflow-header h1[data-v-e458e71a] {
  margin: 0;
  font-size: var(--app-font-size-page-title);
  line-height: 1.2;
  color: var(--theme-text-primary);
  white-space: nowrap;
}
.clear-workflow-btn[data-v-e458e71a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  padding: 0 10px;
  line-height: 1;
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--theme-secondary) 28%, transparent);
  background: color-mix(in srgb, var(--theme-secondary) 8%, transparent);
  color: var(--theme-text-secondary);
}
.workflow-header p[data-v-e458e71a] {
  margin: 0;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  line-height: 1.75;
}
.step-list[data-v-e458e71a] {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1;
  min-height: 0;
  gap: clamp(10px, 8px * var(--app-font-scale), 18px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}
.step-item[data-v-e458e71a] {
  width: 100%;
  height: clamp(70px, 62px * var(--app-font-scale), 92px);
  flex-shrink: 0;
  display: grid;
  grid-template-columns: clamp(38px, 34px * var(--app-font-scale), 48px) clamp(38px, 34px * var(--app-font-scale), 46px) 1fr;
  -moz-column-gap: clamp(8px, 7px * var(--app-font-scale), 12px);
  column-gap: clamp(8px, 7px * var(--app-font-scale), 12px);
  align-items: center;
  padding: 0 0;
  border: 2px solid transparent;
  border-radius: 16px;
  background: transparent;
  color: var(--theme-text-muted);
  cursor: pointer;
  text-align: left;
  transition: all 0.24s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.step-item.active[data-v-e458e71a] {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-secondary-light) 50%, transparent);
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-secondary) 34%, transparent), color-mix(in srgb, var(--theme-primary-light) 14%, transparent));
  box-shadow: 0 0 28px color-mix(in srgb, var(--theme-secondary) 22%, transparent), inset 0 0 18px var(--theme-overlay-light);
}
.step-icon[data-v-e458e71a] {
  position: relative;
  z-index: 1;
  width: clamp(32px, 28px * var(--app-font-scale), 38px);
  height: clamp(32px, 28px * var(--app-font-scale), 38px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--theme-background-card);
  border: 1px solid var(--theme-overlay-light);
  font-size: var(--app-font-size-section-title);
  transition: all 0.24s;
}
.step-item.active .step-icon[data-v-e458e71a],
.step-item:hover .step-icon[data-v-e458e71a] {
  background: linear-gradient(135deg, var(--theme-secondary), var(--theme-primary));
  transform: scale(1.08);
  box-shadow: 0 0 18px color-mix(in srgb, var(--theme-secondary) 45%, transparent);
}
.step-index[data-v-e458e71a] {
  font-family: DIN Alternate, Arial Black, Impact, sans-serif;
  font-size: clamp(34px, 30px * var(--app-font-scale), 42px);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 1px;
  padding-left: clamp(8px, 8px * var(--app-font-scale), 12px);
  color: var(--theme-text-muted);
}
.step-copy[data-v-e458e71a] {
  display: flex;
  align-items: center;
  height: 100%;
  min-width: 0;
}
.step-text[data-v-e458e71a] {
  min-width: 0;
  font-size: var(--app-font-size-card-title);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.step-list[data-v-e458e71a]:before {
  content: "";
  position: absolute;
  left: clamp(62px, 52px * var(--app-font-scale), 66px);
  top: 34px;
  bottom: 34px;
  width: 2px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-secondary) 45%, transparent), color-mix(in srgb, var(--theme-secondary) 4%, transparent));
}
.workflow-right[data-v-e458e71a] {
  flex: 1;
  min-width: 0;
}
.tab-card[data-v-e458e71a] {
  position: relative;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: 22px;
  background: radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--theme-secondary) 20%, transparent), transparent 30%), radial-gradient(circle at 54% 48%, color-mix(in srgb, var(--theme-secondary-dark) 12%, transparent), transparent 32%), linear-gradient(135deg, color-mix(in srgb, var(--theme-background-light) 96%, transparent), color-mix(in srgb, var(--theme-background) 98%, transparent));
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 16%, transparent);
  overflow: hidden;
  box-sizing: border-box;
}
.tab-card-glow[data-v-e458e71a] {
  position: absolute;
  width: 360px;
  height: 360px;
  right: -120px;
  top: -120px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--theme-secondary) 28%, transparent), transparent 68%);
  pointer-events: none;
}
.tab-card-header[data-v-e458e71a] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  margin-bottom: 10px;
}
.tab-card-header h2[data-v-e458e71a] {
  margin: 0;
  font-size: var(--app-font-size-section-title);
  line-height: 1.2;
  color: var(--theme-text-primary);
}
.tab-content[data-v-e458e71a] {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
}
.tab-content.cover-content[data-v-e458e71a] {
  overflow: hidden;
  padding-right: 0;
}
.tab-content.cover-content .title-cover-step[data-v-e458e71a] {
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.tab-footer[data-v-e458e71a] {
  position: relative;
  z-index: 0;
  padding-top: 18px;
  border-top: 1px solid var(--theme-overlay-light);
}
.single-progress[data-v-e458e71a] {
  position: relative;
  height: 8px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: var(--theme-overlay-light);
  overflow: hidden;
  box-shadow: inset 0 0 10px var(--theme-shadow-dark);
}
.single-progress[data-v-e458e71a]:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, var(--theme-overlay-medium), transparent 58%);
  opacity: 0.45;
  animation: progressGlow-a15f017a 1.6s ease-in-out infinite;
  pointer-events: none;
}
.single-progress-fill[data-v-e458e71a] {
  position: relative;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--theme-secondary), var(--theme-primary), var(--theme-info), var(--theme-secondary));
  background-size: 220% 100%;
  box-shadow: 0 0 18px color-mix(in srgb, var(--theme-secondary) 55%, transparent), 0 0 28px color-mix(in srgb, var(--theme-primary) 28%, transparent);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  animation: progressFlow-e458e71a 2.4s linear infinite;
  overflow: hidden;
}
.footer-actions[data-v-e458e71a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

/* 自动连播开关 */
.auto-chain-toggle[data-v-e458e71a] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 13px;
  color: var(--theme-text-secondary);
  border: 1px solid color-mix(in srgb, var(--theme-secondary) 22%, transparent);
  background: color-mix(in srgb, var(--theme-background-light) 80%, transparent);
  transition: color 0.2s, border-color 0.2s;
}
.auto-chain-toggle input[data-v-e458e71a] {
  display: none;
}
.auto-chain-toggle .auto-chain-dot[data-v-e458e71a] {
  position: relative;
  width: 30px;
  height: 16px;
  flex-shrink: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-text-secondary) 28%, transparent);
  transition: background 0.2s;
}
.auto-chain-toggle .auto-chain-dot[data-v-e458e71a]::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s;
}
.auto-chain-toggle .auto-chain-text[data-v-e458e71a] {
  white-space: nowrap;
}
.auto-chain-toggle.on[data-v-e458e71a] {
  color: var(--theme-text-primary);
  border-color: color-mix(in srgb, var(--theme-primary) 45%, transparent);
}
.auto-chain-toggle.on .auto-chain-dot[data-v-e458e71a] {
  background: var(--theme-primary);
}
.auto-chain-toggle.on .auto-chain-dot[data-v-e458e71a]::after {
  transform: translateX(14px);
}
.footer-btn[data-v-e458e71a] {
  min-width: 128px;
  height: 48px;
  border: none;
  border-radius: 14px;
  color: var(--theme-text-primary);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.footer-btn.secondary[data-v-e458e71a] {
  background: var(--theme-overlay-light);
}
.footer-btn[data-v-e458e71a]:disabled {
  /* 原来只写 opacity: 0.35 —— 白字再乘 0.35 叠在深底上只剩 3.2:1，
     实测整颗按钮"消失"了。改成明确用禁用灰，看得见但一眼知道不能点。 */
  opacity: 1;
  color: var(--theme-text-disabled);
  background: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
}
.footer-btn.primary[data-v-e458e71a] {
  background: linear-gradient(90deg, var(--theme-secondary), var(--theme-primary));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-primary) 28%, transparent);
}
.final-copy-status[data-v-e458e71a] {
  min-width: 0;
  flex: 1;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 12px;
  background: var(--theme-overlay-light);
  border: 1px solid var(--theme-border-light);
  color: var(--theme-text-muted);
  box-sizing: border-box;
}
.status-dot[data-v-e458e71a] {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--theme-text-muted);
  box-shadow: 0 0 10px color-mix(in srgb, var(--theme-text-muted) 35%, transparent);
}
.status-label[data-v-e458e71a],
.status-value[data-v-e458e71a] {
  flex-shrink: 0;
  font-size: var(--app-font-size-caption);
  font-weight: 800;
  line-height: 1;
}
.status-label[data-v-e458e71a] {
  color: var(--theme-text-muted);
}
.status-value[data-v-e458e71a] {
  color: var(--theme-text-secondary);
}
.status-preview[data-v-e458e71a] {
  min-width: 0;
  max-width: 360px;
  overflow: hidden;
  color: var(--theme-text-muted);
  font-size: var(--app-font-size-caption);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.final-copy-status.confirmed[data-v-e458e71a] {
  color: var(--theme-success);
  border-color: var(--theme-alert-success-border);
  background: var(--theme-alert-success-bg);
}
.final-copy-status.confirmed .status-dot[data-v-e458e71a] {
  background: var(--theme-success);
  box-shadow: 0 0 12px color-mix(in srgb, var(--theme-success) 60%, transparent);
}
.final-copy-status.confirmed .status-value[data-v-e458e71a] {
  color: var(--theme-success);
}
.tab-content .benchmark-step[data-v-e458e71a] {
  height: 100%;
  min-height: 620px;
  flex: 1 1 auto;
  overflow: visible;
}
.benchmark-tabs[data-v-e458e71a] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.tab-content .benchmark-tabs[data-v-e458e71a],
.tab-content .ip-brain-layout[data-v-e458e71a],
.tab-content .publish-layout[data-v-e458e71a],
.tab-content .rewrite-layout[data-v-e458e71a],
.tab-content .title-cover-layout[data-v-e458e71a],
.tab-content .video-layout[data-v-e458e71a],
.tab-content .viral-layout[data-v-e458e71a] {
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
}
.tab-content .benchmark-step[data-v-e458e71a],
.tab-content .publish-step[data-v-e458e71a],
.tab-content .rewrite-step[data-v-e458e71a],
.tab-content .title-cover-step[data-v-e458e71a],
.tab-content .video-step[data-v-e458e71a],
.tab-content .viral-edit-step[data-v-e458e71a],
.tab-content .voice-step[data-v-e458e71a] {
  height: auto;
  min-height: 100%;
  flex: 0 0 auto;
  overflow: visible;
}
.tab-content .benchmark-tabs[data-v-e458e71a] {
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
}
@keyframes progressFlow-e458e71a {
0% {
    background-position: 0 50%;
}
to {
    background-position: 220% 50%;
}
}
@keyframes progressPulse-e458e71a {
0% {
    transform: translateX(-180px) skewX(-18deg);
    opacity: 0;
}
25% {
    opacity: 0.9;
}
to {
    transform: translateX(90px) skewX(-18deg);
    opacity: 0;
}
}
@keyframes progressGlow-e458e71a {
0%, to {
    opacity: 0.22;
}
50% {
    opacity: 0.58;
}
}
.workflow-left,
.workflow-right {
  position: relative;
  z-index: 1;
}

.lic-body[data-v-7bd6f78d] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lic-state[data-v-7bd6f78d] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.78);
}
.lic-state.ok[data-v-7bd6f78d] {
  color: #6ee7b7;
}
.lic-mc[data-v-7bd6f78d] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 10px 12px;
}
.lic-mc-label[data-v-7bd6f78d] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.78);
}
.lic-mc code[data-v-7bd6f78d] {
  flex: 1;
  min-width: 150px;
  font-family: ui-monospace, Consolas, monospace;
  letter-spacing: 1px;
  color: #FFD08A;
  font-size: 14px;
}
.lic-err[data-v-7bd6f78d] {
  margin: 0;
  font-size: 13px;
  color: #ff9a8a;
}
.lic-hint[data-v-7bd6f78d] {
  margin: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.64);
  line-height: 1.6;
}
.lic-phone-row[data-v-7bd6f78d] {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}
.lic-phone-row[data-v-7bd6f78d] .ant-input {
  flex: 1;
}
.lic-phone-row[data-v-7bd6f78d] .ant-btn {
  flex-shrink: 0;
  width: 132px;
  white-space: nowrap;
}
